ROS入门:IMU&GPS融合定位实例

    技术2023-10-26  76

    声明:

    1.本文主要针对IMU&GPS融合定位仿真环境的搭建过程进行讲解,而没有对具体原理的介绍 2.本人作为技术小白,完全参考了https://zhuanlan.zhihu.com/p/152662055的内容(其对环境的搭建讲的较少),对原理感兴趣的童鞋可以参考;若搭建环境的过程中遇到任何问题,也随时欢迎与本人交流。 先放一张运行结果:

    知识准备:

    1.电脑装有ubuntu系统, 2.已经安装了ROS何Eigen库,了解ROS的基本使用,并已经创建了工作空间catkin_ws 参考博文:https://blog.csdn.net/qinqinxiansheng/article/details/106768491

    环境搭建及代码下载:

    1.安装GPS驱动。 为了能够让程序读取GPS数据,需要安装nmea_navsat_driver,下载链接:https://github.com/ros-drivers/nmea_navsat_driver 将下载好的压缩包解压catkin_ws/src文件夹下(如果直接下载,其名字会是nmea_navsat_driver-master,记得把-master去掉,否则会影响后续程序运行) 把它作为一个功能包进行编译,具体做法为在catkin_ws路径下运行命令

    catkin_make

    2.安装nmea_msgs 安装nmea_msgs的原因是我在运行程序的过程中提示找不到nmea_msgs,具体原因我也不清楚orz 下载并编译nmea_msgs,做法与nmea_navsat_driver类似,也要放到catkin_ws/src目录下 附下载链接:https://github.com/ros-drivers/nmea_msgs 3.下载IMU&GPS融合定位源码: 它本质上也是一个ROS的功能包,解压后放到catkin_ws/src目录编译 下载链接:https://github.com/ydsf16/imu_gps_localization 4.下载仿真需要的数据集; 官方下载链接:https://epan-utbm.github.io/utbm_robocar_dataset/ 百度网盘链接:链接:https://pan.baidu.com/s/1S6SebTcRsIvmHSZllahQJg 提取码:5dic 建议下载这一个.bag,可以改成简单的名字

    运行:

    1.打开ros master 终端输入:

    roscore

    2.运行数据集 在数据集文件的目录下新打开一个终端,运行

    rosbag play database.bag

    (一定要注意终端的路径,否则找不到.bag文件) 运行成功后,他会发布很多topic信息,具体类型可以命令进行查询:

    rosbag info database.bag

    3.运行IMU&GPS定位程序:

    roslaunch imu_gps_localization imu_gps_localization.launch
    Processed: 0.009, SQL: 9