利用rosbag中的数据创建地图

本文介绍了如何使用rosbag中的数据进行地图创建,详细讲述了gmapping、Hector和Cartographer三种算法的建图过程,包括依赖、输入数据、地图保存及rosbag数据的记录。通过播放rosbag包并结合相关工具,可以生成并转换地图文件。
摘要由CSDN通过智能技术生成

rosbag来源:roswiki教程、Cartographer官方数据
basic_localization_stage.bag
rosbag_info1
德意志博物馆2d
rosbag_info2
依赖:ros、gmapping、map-server(如果你的ROS安装的是desktop-full版本,应该默认会带gmappinghe和map-server)
一、gmapping算法建图
gmappingIO输入
/tf以及/tf_static: 坐标变换,类型为第一代的tf/tfMessage或第二代的tf2_msgs/TFMessage 其中一定得提供的有两个tf,一个是base_frame与laser_frame之间的tf,即机器人底盘和激光雷达之间的变换;一个是base_frame与odom_frame之间的tf,即底盘和里程计原点之间的坐标变换。odom_frame可以理解为里程计原点所在的坐标系。
/scan:激光雷达数据,类型为sensor_msgs/LaserScan
/scan很好理解,即Gmapping SLAM所必须的激光雷达数据,而/tf是一个比较容易忽视的细节。尽管/tf这个Topic听起来很简单,但它维护了整个ROS三维世界里的转换关系,而slam_gmapping要从中读取的数据是base_frame与laser_frame之间的tf,只有这样才能够把周围障碍物变换到机器人坐标系下,更重要的是base_frame与odom_frame之间的tf,这个tf反映了里程计(电机的光电码盘、视觉里程计、IMU)的监测数据,也就是机器人里程计测得走了多少距离,它会把这段变换发布到odom_frame和laser_frame之间。
因此slam_gmapping会从/tf中获

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值