ros中如何模拟建图(gmapping/hector/cartographer)
2018-01-23 14:19
1756 查看
ros中有一个模拟器组建,turtlebot_gazebo,上面可以模拟建图和导航的过程。不过由于turtlebot_gazebo中的场景是模拟的,扫描数据(/scan)也是模拟的,雷达/深度摄像头都是虚拟的,生成的scan数据里面有很多的参数可以调试。
在正常场景中,雷达的性能也要考虑进去,扫描的数据也会因为环境变化也发生变化,这里就介绍下如何用现实场景的扫描数据模拟建图场景。
建图使用gmapping算法:
确定gmapping订阅的主题,http://wiki.ros.org/gmapping
![](https://oscdn.geek-share.com/Uploads/Images/Content/202006/08/4f37690fadd276dc326e31a6c4435ec9)
然后启动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>
这样就可以调试gmapping参数而不用没有都要移动机器人跑图。
参考链接:http://wiki.ros.org/slam_gmapping/Tutorials/MappingFromLoggedData
建图使用hector算法:
hector算法分成两种,带odom的,和不带odom。这里将带odom的。也就是替换掉gmapping就可以。
在机器人移动过程中rosbag记录
rosbag record -O mylaserdata /scan /tf
模拟建立地图命令如下:
roscore
rosparam set use_sim_time true
roslaunch hector_mapping mapping_default.launch
rosbag play --clock <name of the bag that you downloaded / created >
保存Geo tiff 地图命令:
rostopic pub syscommand std_msgs/String "savegeotiff"
参考链接:http://wiki.ros.org/hector_slam/Tutorials/MappingUsingLoggedData
建图使用cartographer算法:
在正常场景中,雷达的性能也要考虑进去,扫描的数据也会因为环境变化也发生变化,这里就介绍下如何用现实场景的扫描数据模拟建图场景。
建图使用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>
这样就可以调试gmapping参数而不用没有都要移动机器人跑图。
参考链接:http://wiki.ros.org/slam_gmapping/Tutorials/MappingFromLoggedData
建图使用hector算法:
hector算法分成两种,带odom的,和不带odom。这里将带odom的。也就是替换掉gmapping就可以。
在机器人移动过程中rosbag记录
rosbag record -O mylaserdata /scan /tf
模拟建立地图命令如下:
roscore
rosparam set use_sim_time true
roslaunch hector_mapping mapping_default.launch
rosbag play --clock <name of the bag that you downloaded / created >
保存Geo tiff 地图命令:
rostopic pub syscommand std_msgs/String "savegeotiff"
参考链接:http://wiki.ros.org/hector_slam/Tutorials/MappingUsingLoggedData
建图使用cartographer算法:
相关文章推荐
- Gmapping、hector、Cartographer三种激光SLAM算法简单对比
- 菜鸟如何用servlet模拟一个简单的登陆
- [自问自答]Android开发 如何在虚拟机上模拟sim卡?
- 如何判断android页面加载完毕,以及模拟listview点击
- 如何模拟鼠标和键盘
- C语言如何模拟C++实现继承和多态
- 最新的vue没有dev-server.js文件,如何进行后台数据模拟?
- linux下如何模拟按键输入和模拟鼠标
- IOS中如何模拟UINavigationController的Slide动画
- 如何使用谷歌浏览器模拟手机设备
- vue-cli项目如何使用vue-resource获取本地的json数据(模拟服务端返回数据)
- 低配终端环境下如何模拟大规模负载
- ROS Learning-002 beginner_Tutorials 如何添加ROS环境变量 和 如何更新ROS源代码
- C中如何模拟class
- moss如何提升权限或者模拟用户
- java如果模拟请求重启路由器(网络爬虫常用),还有java如何下载图片
- Gem5中如何限制模拟运行的指令数或者周期数
- [转]前端人员如何模拟慢网速环境
- 三种方法教你如何用PHP模拟post提交数据
- [CF Skills]如何编程模拟用户的触屏操作