ROS系列——ROS中rosbag命令常用方法

录制bag包

rosbag record -a
	-a 选项表示将当前发布的所有 topic 数据都录制保存到一个 rosbag 文件中,录制的数据包名字为日期加时间
rosbag record /topic_name1 /topic_name2 /topic_name3
	录制/topic_name1 /topic_name2 /topic_name3话题
rosbag record -O filename.bag /topic_name1
	-O (大写)参数指定生成数据包的名字
rosbag record -o partFileName /topic_name1
	-o (小写)参数指定生成数据包的前缀名
<node pkg="rosbag" type="record" name="bag_record" args="/topic1 /topic2"/>
	在 launch 文件中使用 rosbag record 命令

播放bag包

rosbag play filename.bag 
	播放名称为filename.bag的bag包
rosbag play -r 2 filename.bag
	-r 后面的数字对应播放速率
rosbag play -l filename.bag
	-l 循环播放
rosbag play filename.bag --topic /topic1
	只播放topic1
rosbag play --pause localization_test_scene_1.bag
	空格控制暂停与播放
rosbag play -s 10 filename.bag
	-s 表示从第几秒开始
rosbag play -u 100 filename.bag
	-u 表示仅use包的前几秒信息

显示信息

rosbag info filename.bag
	显示bag包的信息

bag包恢复

如果在录制bag中出现了异常等情况,在运行bag包时出现类似如下错误:
	运行.bag文件
		rosbag play rotate_platform_s.bag
	出现
		[ INFO] [1632745075.167633711]: Connected to master at [localhost:11311]
		[ INFO] [1632745075.169908499]: Opening rotate_platform_s.bag
		[FATAL] [1632745075.198540194]: Error reading from file: wanted 3173600016 bytes, read 597085 bytes
	修复
		rosbag reindex rotate_platform_s.bag
		
如果在录制bag中出现了异常等情况,生成的是.bag.active文件,则执行下面指令进行修复:
	rosbag reindex rotate_platform_s.bag.active
	rosbag fix rotate_platform_s.bag.active new.bag

launch文件中playbag

launch文件中添加:
<arg name="bag_name" value="/home/test01/media/bagDoc/rosbag/yourbag.bag"/> 
<node pkg="rosbag" type="play" name="rosbag" args="-r 1.0 -s 0.0 $(arg bag_name)"/>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值