slam_gmapping安装与测试
既然想做一个小车,就干脆把小车做的有趣一点,小车现在已经可以接受键盘的控制实现行走了,下一步就是给它加一个新功能,比如利用激光slam实现定位与导航。
安装
1.直接通过命令安装(前提是安装好了ros kinetic环境)
sudo apt-get install ros-kinetic-slam-gmapping
2.下载用于测试的数据包,这里直接通过网盘下载,因为原链接已经失效
测试
1.运行roscore
roscore
2.新开终端,设置参数,确保在任何节点使用前设定use_sim_time参数为true
rosparam set use_sim_time true
3.新开终端,运行slam_gmapping节点,它将在base_scan主题上收听激光扫描数据
rosrun gmapping slam_gmapping scan:=base_scan
4.新开终端,进入下载的数据的位置,并play,例如我的就是basic_localization_stage_indexed.bag
,把它改成你下载的数据的名字,它的作用是把激光数据发送给slam_gmapping
节点。
rosbag play --clock basic_localization_stage_indexed.bag
5.利用ros的rviz工具可以看到你建立的地图,新开终端,打开rviz。
rviz rviz
点击add,让其topic为/map
,即可看到创建的2D地图。
6.创建的地图。
我们已经成功安装了Gmapping,下一步会介绍如何使用激光传感器,而不是测试数据来实现建图过程。最终实现让ros小车搭载激光传感器自主建图与定位,在这个过程中,我们将会逐渐了解ros机器人系统的工作原理与使用方式,同时学习Gmapping的数学原理。