# NavigationTool_qt **Repository Path**: casterbn/NavigationTool_qt ## Basic Information - **Project Name**: NavigationTool_qt - **Description**: No description available - **Primary Language**: Unknown - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 3 - **Created**: 2021-12-28 - **Last Updated**: 2021-12-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 导航数据处理工具 本仓库归纳了一年来处理导航数据常用的小工具\数据转换脚本等,旨在避免重复性劳动 依赖: pandas,numpy,matplotlib,scipy,pyqt5,simplekml 因为默认的fixct输入法在qt中不支持中文输入,所以本仓库所有按钮未使用中文 ## LooseCouple ### 松组合解算 对比yaml,json,ini三种格式的描述文件,觉得还是yaml比较方便在C++程序中使用, 程序执行过程:按下start按钮之后,根据界面显示的配置信息生成一个`configure.yml`文件, 如果选择psins引擎,责通过`os.system`命令调用位于`exec/psins`文件执行 ``` psins ../yaml/configure.yml ``` 如果选择python引擎,则调用`loosely_couple.py`中的代码在后台完成解算。 **注意 UI界面上不包含关于IMU的参数,这个参数在`cfg file`中读取,格式也为YAML** 灰色部分还未完成。 ### 编译psins 需要用到gflags,glog和yaml-cpp三个c++库,windows系统下可能需要重新编译。 ## ErrorAnalyse 误差分析对比,统计CDF/PDF分布情况 这部分采用scipy库对数据进行线性插值以对齐时间. 对参考数据进行重新采样,对齐到待测数据。 参数含义 1. target file : 待评估的包含经纬度的本文文件(lla格式) 2. reference : 参考结果 3. column index: 数据所在列标,如纬度在第二列,设置latitude为1即可,如果数据中不存在,将对应index设置为-1或者其他小于0的整数 4. Error Hz: 下采样,因为操作逻辑问题暂未使用此参数 5. skip rows: 很多文件带有文件头,不包含数据,因此跳过开头几行. 6. cdf dense: 在绘制概率密度函数和累计概率密度函数时,以直方图代替密度分布图,dense代表横坐标划分数量,uncheck表示此设置不生效,采用默认值:所有数据的长度/20 7. write2file: 是否讲误差文件写入`targetfile.err` 最终会统计RMS $$1\sigma$$和$2\sigma$误差,在日志中以markdown格式打印表格,可以右键复制。 ## PositionPlot 绘制位置速度姿态结果,默认以第一个点为参考点,将经纬度转换为m为单位 参数含义: 1. column index: 数据列表,不绘制可以设置为-1,不过纬度经度高度需要同时设置,速度和姿态也是类似 2. reference: 参考点,对静态数据可以设置参考值,否则cdf图没有意义 2. max points: 降低内存占用防止程序崩溃用的,最大绘制点数,由于抽取数据,可能存在数据点略大于max points 3. skip_rows: 跳过开头几行(部分文本文件存在头部注释) 4. cdf dense: 同上 5. kml down hz: 下采样点数,防止kml文件太大谷歌地球崩溃 绘制cdf图只在静止状态下才有意义。 导出kml文件支持单独设置点和线的颜色。 ## TPlot 基于`matplotlib`的绘制任意文本或者二进制文件为图形的通用工具 唐海亮学长开发,中文界面图形化界面 ## DataPreProcessing 处理GNSS日志文件和imu文件,支持二进制和ASCII文本文件。 在处理GNSS数据时,一定要选择正确的日期,否则无法计算正确的GPS时间, RMC消息中含有UTC日期,暂时只解析了GGA和ksxt消息中的有用信息 ## Close and Exit 退出所有程序