声明:

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
1


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