ROS建图参数调试小技巧——rosbag的使用

  不知道大家有没有碰到这样的情况,拿小车在建图的时候不管是gmapping算法也好,还是cartographer算法,拿默认参数进行建图的时候往往达不到我们预期的效果,需要进行参数调整,但是每修改一次参数进行调整,我们就要拿键盘开一次车,费时费力费功夫,也不知道还会开几次,所以就想到能不能有什么工具能够记录下我们每次开车的路径或者是发布的速度指令?很幸运的是ROS有rosbag这么一个包,不由的敬佩ROS开发者。不仅仅是发布的速度指令可以记录,能够保存一次完整的小车运行过程数据,方便大家进行复盘分析。

  本文只是记录自己使用所需的几个指令,具体的完整的rosbag包用法参考ros官方wiki:http://wiki.ros.org/rosbag/Commandline

录制

  录制全部话题:

rosbag record -a

  录制指定话题,设置 bag 包名:

rosbag record -O bag_name.bag /topic1_name /topic2_name /xxx

  如果不设置名称的话,默认按照录制结束时间命名(我自己也非常偷懒不设置名字):

rosbag record /topic1_name /topic2_name /xxx

回放

  想要结束录制的时候,直接ctrl c终止就好了,然后就会在当前路径中生成一个xxxx.bag文件,这个就是保存的录制文件。

  以暂停的方式启动的话似乎可以防止跑掉数据:

rosbag play --pause record.bag

  我一般选的就是直接回放:

rosbag play record.bag

  -r后面跟一个数值,表示倍速回放,就和平时看视频时候的倍速一样,如果有时候车开太快了影响建图效果了,就稍微减慢一些:

rosbag play -r 0.5 record.bag

  回放过程中可以使用rostopic list 查看下发布的话题,验证是否正常保存了所需的话题:

rostopic list

  当然这种记录键盘发布的速度指令的方式,我觉得只适用于在较为封闭的环境和静态的环境中,不会有过多的外界因素影响小车的行驶,才能按照预设的路线走,比如说在赛道上或者是房间里。

参考教程:https://zhuanlan.zhihu.com/p/151444739

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值