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

声明:

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

知识准备:

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/
建议下载这一个.bag,可以改成简单的名字
在这里插入图片描述

运行:

1.打开ros master
终端输入:

roscore

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

rosbag play  database.bag

(一定要注意终端的路径,否则找不到.bag文件)
ROS入门:IMU&GPS融合定位实例_第2张图片
运行成功后,他会发布很多topic信息,具体类型可以命令进行查询:

rosbag info database.bag

ROS入门:IMU&GPS融合定位实例_第3张图片
3.运行IMU&GPS定位程序:

roslaunch imu_gps_localization imu_gps_localization.launch 

你可能感兴趣的:(ROS,GPS,导航,imu,ros)