rosbag是指命令行中数据包相关命令,主要用于记录、回放、分析rostopic中数据记录到.bag后缀的数据包中。
在了解了rosbag命令的含义后,我们接下来直接进入实战,看看怎么使用rosbag,以及rosbag各个命令的使用情况。
首先,在本次实验中,需要四个终端,分别设置环境变量,在第一个终端里打开roscore,在第二个终端里运行turtlesim(小乌龟),第三个终端打开turtle_teleop_key(小键盘),如下图所示:
最后在第四个终端中,输入以下命令,记录所有话题中的数据:
rosbag record -a
然后,在键盘上控制小乌龟运动,接着退出rosbag record命令,刚刚变化的数据包就会自动存储,我们使用以下命令运行刚刚保存的数据包:
rosbag play 2024-07-12-07-21-04.bag
通过上面命令,我们可以看到小乌龟重复了刚刚的轨迹我们手动的控制的轨迹。
当然,我们不仅可以记录所有话题中的数据,还可以针对某个话题进行记录。
首先,使用rostopic命令查看所有的话题:
rostopic list
可以看到如下的话题:
其中,/turtle1/cmd_vel是小键盘发布的话题,因此,我们要记录小键盘的控制,只需要针对小键盘上的话题,因此,我们输入以下命令,针对记录小键盘的数据:
rosbag record /turtle1/cmd_vel
这样,我们又获得了一个数据包,接着,我们还像上面一样使用rosbag play命令重复运动轨迹,就行啦!!
这样我们已经初步掌握了rosbag的使用la!!!( ̄▽ ̄)"