ROS学习(一):Navigation中GNSS与IMU数据融合定位

1  参考博客

主要参考以下博客,感谢各位博主的分享

[link]https://blog.csdn.net/qinqinxiansheng/article/details/107108475?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-3.channel_param&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-3.channel_param#commentBox

[link]https://blog.csdn.net/u011178262/article/details/107596285?utm_medium=distribute.pc_relevant.none-task-blog-baidulandingword-9&spm=1001.2101.3001.4242

[link]https://www.freesion.com/article/97281285214/#1_9

2  实操分析

按照第一个博客所述,运行imu_gps_localization.launch后,使用rqt_graph工具得到以下节点图:

使用rostopic echo /fused_path命令可以显示topic的内容

/fix的数据

/nmea_sentence的数据

/imu/data的数据

补充:imu and gnss 融合节点,需要订阅/imu/data与/nmea_sentence两个话题.

想要知道这两个话题发布的频率,以便在实际使用中调节imu和bds的频率.

使用rosbag info filename.bag, 如下图:

duration可知这个回放包,总共记录了1019s的数据,记录了topics  /imu/data的数据量为101985 msgs

根据公式:

话题发布频率=话题总数据量/总时间

可知/imu/data的发布频率约为100Hz,/nmea_sentence的发布频率约为15Hz.

3  学习使用

3.1  试验室有的设备是星网宇达(5610),输出格式为GPFPD格式,需要将GPFPD信息使用ROS节点进行解析,并发布/fix话题,以供imu_gps_localization_node订阅使用.通过对nmea_sentence的源码进行修改,修改成适用GPFPD信息格式的节点.节点包名为bds_driver.程序链接[link:https://download.csdn.net/download/weixin_41857013/12742693]

3.2  imu使用的是razor-imu-9dof.可以参考[link:https://www.ncnynl.com/archives/201904/2951.html].通过运行

roslaunch razor_imu_m0_driver driver_node.launch 

启动节点解析IMU数据,并发布/imu/data话题.

3.3  从新编写imu_gps_localization的launch文件启动以上节点.

注:本博客供学习记录使用,转载请声明,如有错误,欢迎指正.

### KF-GINS 数据集介绍 KF-GINS 是种用于惯性导航系统的开源软件包,旨在处理来自不同传感器的数据并提供高精度的位置估计。对于 KF-GINS 的数据集,通常包含了多种类型的传感器数据以及真值轨迹,这些数据被用来评估验证算法性能。 #### 数据集结构 数据集中般会包含以下几种主要文件: - **IMU (Inertial Measurement Unit)** 测量数据:记录加速度计、陀螺仪读数。 - **GNSS (Global Navigation Satellite System)** 接收机输出:包括伪距、载波相位等信息。 - **视觉里程计** 或其他辅助定位源的结果。 - **真值轨迹** 文件(如 `truth.nav`),提供了精确的时间戳位置信息以便后续对比分析[^2]。 #### 使用方法 为了利用 KF-GINS 处理上述提到的数据集,在实际操作前需完成几个准备工作: 安装依赖项构建项目环境后,应按照官方文档指示设置好参数配置文件。当采用预定义好的 dataset 进行实验时,建议优先选用该数据集中自带的相应 .yaml 配置模板,并依据个人需求调整保存路径等相关选项[^3]。 启动 ROS 节点来加载指定 launch 文件可以执行类似下面命令: ```bash roslaunch kf_gins f9p_D435i.launch ``` 此命令将会调用名为 `f9p_D435i.launch` 的脚本,它负责初始化整个系统并将自定义硬件所收集到的数据流导入至 KF-GINS 中进行融合计算[^1]。 最后步是从生成的日志文件里提取有用信息来进行可视化展示或进步的研究工作。可以通过解析由程序运行期间产生的 `.nav` 结果文件实现这点,具体做法可参照随附的手册说明了解各字段含义从而绘制图表。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值