声明
本文演示的是对于ros中rosbag的使用与演示。将以rosbag来记录小乌龟的运动路径以及复现过程。
1.启动相关节点
首先要启动roscore,并且把小乌龟的节点,小乌龟的键盘控制节点打开,这样后面就可以在记录时使用键盘控制小乌龟的运动。
roscore
rosrun turtlesim turtlesim_node
rosrun turtlesim turtle_teleop_key
注意:以上要分别使用三个终端。
2.rosbag的录制
我们需要新建一个文件夹,我将它命名为bagzero,然后在这个文件夹内打开终端运行这行命令:
rosbag record -a
这行命令的意思是,在运行后将会记录这个包内所有正在发布的数据,切订阅这个包内的话题。
此时我们就可以使用键盘使小乌龟进行运动,并使用ctrl+c来结束录制。
3.rosbag的录制文件的的复现与数据查看
注意:接下来我们的操作都在bagzero这个包内。
首先,我们需要打开先前创建的名为bagzero这个文件夹,在这个文件夹中,有一个更具时刻命名的bag文件。
3.1 数据查看
这行命令的本质是查看当时在这个包里面的所有话题
rosbag info yourbag.bag
3.2 数据回放
注意关闭先前打开的小乌龟,现在只需要重新打开小乌龟的节点即可。(roscore不要忘记了)
在bagzero文件夹下,使用
rosbag play yourbag.bag
这个相当于是原速复现你的文件。
运行后,小乌龟就会经行复现了。
rosbag play -r 倍数 yourbag.bag
这行命令可是使你快速复现小乌龟的运动情况,但是需要注意的是,小乌龟在复现的时候会出现失真的情况,即会丢失部分消息,这样小乌龟的路线就无法走的和之前一样。