在使用ROS系统的时候,我们可能会遇到这样的需求——重现机器人在的运行状况或者分析机器人的某些运行数据。这时候我们就十分需要对数据进行记录和备份的功能,好在ROS提供了非常方便的这样的功能。
一、记录数据(通过创建bag文件)
这一节里介绍的是在一个运行中的ROS系统中记录某一个话题的信息,我们以小海龟节点为例,介绍如何在一个bag文件里记录话题发布的信息。
首先运行ROS:
roscore
然后在另一个终端里启动小海龟节点:
rosrun turtlesim turtlesim_node
再在另一个终端里启动小海龟键盘键盘控制节点:
rosrun turtlesim turtle_teleop_key
启动这个节点后我们会得到这样的信息:
Reading from keyboard
---------------------------
Use arrow keys to move the turtle.
就像命令行提示的一样,我们按方向键就可以控制海龟移动了。
1、记录当前存在的所有话题
首先在一个新的终端里使用以下命令查看当前存在的所有话题:
rostopic list -v
输出类似于:
Published topics:
* /turtle1/color_sensor [turtlesim/Color] 1 publisher
* /turtle1/cmd_vel [geometry_msgs/Twist] 1 publisher
* /rosout [rosgraph_msgs/Log] 2 publishers
* /rosout_agg [rosgraph_msgs/Log] 1 publisher
* /turtle1/pose [turtlesim/Po