1. 概述
Gmapping从配置到运行,希望能帮助大家,也给自己留一个笔记,以供复习参考。
2. 安装
必要文件
sudo apt-get install ros-kinetic-hector-slam
ROS下节点程序
git clone https://github.com/tu-darmstadt-ros-pkg/hector_slam.git
官方数据集参考链接
wget https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/tu-darmstadt-ros-pkg/Team_Hector_MappingBox_RoboCup_2011_Rescue_Arena.bag
3. 运行
注意需要更改参数map_update_angle_thresh
- 运行bag文件
rosbag play ./Team_Hector_MappingBox_RoboCup_2011_Rescue_Arena.bag --clock
- 运行hector节点程序的launch文件
roslaunch hector_slam_launch tutorial.launch
在实际运行时,我将launch文件中的map_update_angle_thresh
参数设置为0.9
得到的建图与运动轨迹效果较好,同时将base_frame
设置为base_link
。 - 会自动运行rviz查看建图结果
更改launch文件
中的参数如下,最终的效果建图效果较好。
<arg name="base_frame" default="base_link"/>
<param name="map_update_angle_thresh" value="0.9" />
4. 结果
4.1 未更改参数
开始的结果还比较好,但是当重新回到原来的地方时会出现地图重叠的现象。
第一次经过
开始重叠混乱
4.2 更改参数
更改角度阈值之后效果大大提升
第一次经过
多次经过
完美的结果,首尾呼应,不是每次都会这么完美!!
4.3 TF树关系
5. 特征较少的空间、激光频率较低
第一次经过
时的建图
不能使用,会出现地图重叠,错误建图
Gmapping
建立的地图,差异较大,GMapping安装与配置
6. 官方教程
官方有张图很好,可以看看,说明了几个坐标系之间的关系,简单明了!
7. 重要提示
来自官方的提示
构建时使用命令
catkin_make -DCMAKE_BUILD_TYPE=Release
对于参数设置,很重要,举例
<param name="map_update_angle_thresh" value="0.9" />