rosbag相关操作

文章目录

一、rosbag转txt格式
二、rosbag截取
三、查看rosbag中某一topic话题
四、.bag文件生成失败
五、录制rosbag
六、倍速播放rosbag


一、rosbag转txt格式

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

二、rosbag截取

下面是两种截取方式。
第一种是截取1284703931.86(机器时间)之前时刻
第二种是截取所设置的时间范围内rosbag

rosbag filter input.bag output.bag "t.secs <= 1284703931.86"
rosbag filter input.bag output.bag "t.secs >= 1531425960 and t.secs <= 1531426140"

三、查看rosbag中某一topic话题

rostopic echo /rbg_image0 --noarr

其中 --noarr是用来简化topic的输出;删除时,将对topic展开输出


四、.bag文件生成失败

未生成rosbag,生成.bag.active文件。出现这情况是因为电脑在记录消息时卡掉了,没有完成最终的录制。可以转换成.bag文件,但是消息有丢失(即卡掉后的消息丢失)

①切换到”xxx.bag.active”文件所在的目录下;
②命令行输入“rosbag reindex xxx.bag.active”; 或者是rosbag reindex xxx.bag
③输入”rosbag fix xxx.bag.active outfile_name.bag”;

注意的是:如果损坏的rosbag包后缀名,是.bag结尾,那么不需要运行后面第三条命令

第二条生成的两个bag包,其中含有.orig.bag名字的是没有恢复的,没加的是恢复好的


五、录制rosbag

1、全话题录制

rosbag record -a test.bag

2、部分话题录制

rosbag record /topic1 /topic2 -o text.bag

3、record时,出现内存空间不足
即出现如下提示:rosbag record buffer exceeded. Dropping oldest queued message
方法一:提高内存空间

rosbag record -o  -b 4096 /topic1 /topic2 text.bag

方法二:压缩图像话题

rosbag record -o  -b 4096 /topic1/compressed /topic2/compressed

六、倍速播放rosbag

rosbag play text.bag -r 5

七、ros抛出escalating to SIGTERM问题

运行ros节点执行ctrl+c后进程会转而执行rosspin()后面的程序,但是如果在一定时间内程序没有执行完毕,进程会强制退出,并抛出”escalating to SIGTERM“错误,为了解决此问题,可以修改ros配置文件

sudo gedit /opt/ros/melodic/lib/python2.7/dist-packages/roslaunch/nodeprocess.py

将该文件中的_TIMEOUT_SIGINT = 15.0 #seconds”中的15秒改为期望运行的最大时间。

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值