bag录制
录制所有话题,这里没有指定bag名,会在当前路径生成一个当前时间戳命名的bag
rosbag record -a
录制指定话题
rosbag record <topic_name1> <topic_name2> ...
录制指定话题,并指定bag名称,arg
为大写的英文字母O
rosbag record -O <bagname> <topic_name1> <topic_name2> <topic_name3> ...
查看bag信息
rosbag info <bagname>
该命令可以查看话题时长,消息数量,数据类型和话题名称等
使用rqt_bag
工具可以播放bag并可视化数据
rqt_bag <bagname>
bag播放
播放的时候会产生一个对应的node和topic,node名称为/play_<timestamp>
,topic名称和bag中的相同。
rosbag play <bagname> # 播放指定名称bag
rosbag play * # 播放当前目录所有bag
rosbag play <bagname> --topic /topic1 /topic2 ... # 播放指定topic
rosbag play -l <bagname> # 循环播放指定bag
rosbag play -r 2 <bagname> # 指定播放速度倍率,r后参数为速度倍率
bag修复
rosbag录制时,如果异常中断,会生成一个bag.active
为后缀的文件,不能正常播放。
先运行
rosbag reindex xxx.bag.active
会生成一个org.active
后缀的中间文件,再运行
rosbag fix xxx.bag.active rename.bag
rename.bag
为修复后的bag
plotjuggler
推荐一个非常好用的ROS bag可视化工具。
安装命令:
sudo apt-get install ros-noetic-plotjuggler
sudo apt-get install ros-noetic-plotjuggler-ros
第一个命令是安装本体,第二个命令是为了能够支持ROS bag导入,注意换成你的ROS版本。
安装完成后,使用命令启动:
rosrun plotjuggler plotjuggler