RTKPLOT在QT下的扩展

0 引言

在绘图轨迹啊、速度、姿态、陀螺零偏、加计零偏及误差曲线时,我经常使用自己用matlab写的小工具GINavPlot,但做数据分析时读取数据的速度很慢,因此考虑扩展一下RTKPLOT。GINavPlot读取数据慢,但数据量较大时放缩图像无卡顿;RTKPLOT读取数据很迅速,但数据量很大时,放缩操作会有卡顿(因为数据量太大,刷新会有延迟)
RTKPLOT的用法,rtkplot功能相当齐全!!!

1 扩展方法

仅仅简单介绍一下想要绘制INS输出的速度、姿态、陀螺零偏和加计零偏等相关曲线,这与rtkplot中Position、Velocity和Accel可视化效果一样。

1.1 修改读数据的函数

1、修改rtklib.h中sol_t结构体,添加姿态、零偏这些变量,修改后生成静态库libRTKLib.a
2、把rtklib.h中放到rtkplot_qt文件夹下,把../app/qtapp/appcmn_qt/appcmn_qt中的文件复制到../app/qtapp/appcmn_qt
3、在rtklib_qt.pro中修改静态库libRTKLib.a的路径
4、修改读取文件的函数
可以选择修改rtklib的源代码readsolt函数,MenuOpenSol1Click->ReadSol->readsolt;
也可以直接在rtkplot工程中新建头文件和源文件,创建新的解析函数,比如创建plotextend.h和plotextend.cpp,新函数名为readInsSol,用readInsSol替换readsolt

1.2 添加画图选项名

1、添加菜单下拉时的选项名
plotcmn.cpp->PTypes中增加选项名,比如:QT_TR_NOOP("InsVel")

1.3 修改宏的位置

1、添加 PLOT_INSV PLOT_INSA PLOT_INSBg PLOT_INSBa 的宏定义
plotmain.h->比如:#define PLOT_INSV 1
2、添加选项名到UI中
plotinfo.cpp->UpdatePlotType->PlotTypeS->262行 addItem(PTypes[PLOT_INSA]) 
3、修改PLOT_SOLA为PLOT_INSBa
plotdata.cpp->ReadSol->115行  AutoScale旁 
4、添加PLOT_INSA选项
plotdraw.cpp->UpdateDisp->58行 switch增加PLOT_INSA的case 
5、修改PLOT_SOLA为PLOT_INSBa
plotmain.cpp->UpdateType->2000行  AutoScale旁 
6、修改PLOT_SOLA为PLOT_INSBa
plotmain.cpp->FitRange->25747、添加 PLOT_INSV PLOT_INSA PLOT_INSBg PLOT_INSBa 相关的开关 
plotmain.cpp->UpdateEnable->只要有PLOT_SOLP的地方都添加

1.4 绘图相关修改

1、修改type
plotdraw.cpp->UpdateDisp->DrawSol的type变量要修改
2、修改label和unit
plotdraw.cpp->DrawSol->label变量要根据type修改
plotdraw.cpp->DrawSol->unit变量要修改
3、扩展画图所用的数据
plotcmn.cpp->Sol2Pos->根据type做扩展,首先分配内存,然后存数据

1.5 拖入文件解析数据

plotmain.cpp->plot构造函数->this->setAcceptDrops(true)
plotmain.cpp->dropEvent->files.append(url.toLocalFile()),然后修改读取文件的逻辑
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值