在 ROS 系统中,可以使用 bag 文件来保存和恢复系统的运行状态,比如录制雷达和相机话题的 bag 包,然后回放用来进行联合外参标定。
这里记录下我学习官方的 rosbag 教程的笔记:ROS rosbag
我常用的几个操作
虽然命令很多,但是我目前在工作中常用的命令就如下几个:
1. 录包
录制所有话题:
rosbag record -a
录制指定话题,设置 bag 包名:
rosbag record -O bag_name.bag /topic1_name /topic2_name /xxx
有时候我录制包不设置名称,默认按照录制结束时间命名:
rosbag record /topic1_name /topic2_name /xxx
2. 回放
我常用的是以暂停的方式启动,防止跑掉数据:
rosbag play --pause record.bag
你也可以直接回放:
rosbag play record.bag
我建图过程中有时会设置以 0.5 倍速回放,也就是以录制频率的一半回放:
rosbag play -r 0.5 record.bag
回放完后,我一般会用 rostopic list
查看下发布的主题,确保是我需要的:
rostopic list
3. 修复
之前在我们小车的 Intel NUC 上录包拷到台式机上回放会报错,提示需要 reindex,执行一下即可,不过数据好像会少一些:<