ros中有一个模拟器组建,turtlebot_gazebo,上面可以模拟建图和导航的过程。不过由于turtlebot_gazebo中的场景是模拟的,扫描数据(/scan)也是模拟的,雷达/深度摄像头都是虚拟的,生成的scan数据里面有很多的参数可以调试。
在正常场景中,雷达的性能也要考虑进去,扫描的数据也会因为环境变化也发生变化,这里就介绍下如何用现实场景的扫描数据模拟建图场景。
建图使用gmapping算法:
确定gmapping订阅的主题,http://wiki.ros.org/gmapping
然后启动rosbag命令,保存机器人移动过程中的/tf,/scan数据。命令如下
rosbag record -O mylaserdata /scan /tf
模拟建立地图命令如下:
roscore
rosparam set use_sim_time true
rosrun gmapping slam_gmapping scan:=scan
rosbag play --clock <name of the bag that you downloaded / created >
等待rosbag play完成,保存地图。
rosrun map_server map_saver -f <map_name>

本文介绍了如何在ROS环境中使用turtlebot_gazebo模拟器进行建图,分别详细讲解了利用gmapping、hector和cartographer算法进行地图构建的步骤,包括录制真实扫描数据、回放数据以及保存地图的方法。
最低0.47元/天 解锁文章
7869

被折叠的 条评论
为什么被折叠?



