ROS:rosbag的简单使用命令

rosbag的简单使用命令

1、在终端或者sh脚本中启动数据录制功能

rosbag record -O subset /turtle1/cmd_vel /turtle1/pose

2、如果在 launch 文件中使用 rosbag record 命令,如下:

<node pkg="rosbag" type="record" name="bag_record" args=" -O temp /topic1 /topic2"/>

记录/topic1 /topic2名字为temp.bag,录制的包放在home文件夹的.ros文件夹中。

3、如果想改变消息的发布速率,可以用下面的命令,-r 后面的数字对应播放速率。

rosbag play -r 2 temp.bag

4、如果希望 rosbag 循环播放,可以用命令

rosbag play -l  temp.bag  # -l== --loop

5、如果只播放感兴趣的 topic ,则用命令

rosbag play temp.bag --topic /topic1

6、在上述播放命令执行期间,空格键可以暂停播放

7、将file_name.bag文件中topic_name话题的消息转换到Txt_name.txt文件中

rostopic echo -b file_name.bag -p /topic_name > Txt_name.txt

8、过滤,生成temp1.bag只保留/odom,/tf数据

rosbag filter temp.bag temp1.bag "topic=='/odom' or topic=='/tf'"

9、过滤,保留某个时间段的数据

rosbag filter my.bag out.bag "t.to_sec() >= 123564.77 and t.to_sec() <= 794545.88"

10、如果播放两个及以上bag包,那么他们会第一帧对其,后面根据第一帧时间戳的时间差播放。
```yaml
rosbag play recorded1.bag recorded2.bag

11、启动5秒进入包中。

rosbag play -s 5 recorded1.bag

12、启动时暂停按空格键开始回放

rosbag play --pause record.bag

13、修复xxx.bag.active

修复方法:

rosbag reindex xxx.bag.active

此时会生成一个 .bag.org.active 后缀的中间文件,不用管。然后运行:

rosbag fix xxx.bag.active rename.bag

rename.bag 为输出的修复rosbag

版权声明:本文为qq_14977553原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
THE END
< <上一篇
下一篇>>