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
  • 5
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值