ROS学习笔记-rosbag数据记录包的使用-记录和回放小海龟历程

Posted 殇堼

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ROS学习笔记-rosbag数据记录包的使用-记录和回放小海龟历程相关的知识,希望对你有一定的参考价值。

rosbag的作用:提供数据记录和回放的功能包。
以小乌龟历程为例

1.启动键盘控制乌龟历程所需的所有节点

终端1

roscore

终端2

rosrun turtlesim turtlesim_node 

终端3

rosrun turtlesim turtle_teleop_key 

启动完成后,在可视化界面中可以看到小乌龟。

2.跑小乌龟并记录数据

首先创建一个用于存放数据的文件夹,例如命名为bagfiles。
终端4

mkdir ~/bagfiles
cd bagfiles
rosbag record -a

在这里插入图片描述

rosbag record -a
1.意为记录所有数据的命令,从在运行这个命令后,将自动记录所有发布的数据
2.订阅所有正在发布的话题
以记录小乌龟运动轨迹的数据为例,控制小乌龟移动一段距离,然后在数据记录运行的终端输入“ctrl+c”终止记录数据。即:
终端4

ctrl+c

进入刚才创建的文件夹可以发现存在一个以创建的时刻命名的文件,这就是记录了小乌龟运动轨迹数据的记录文件了。
在这里插入图片描述

3.查看数据

在创建的bagfiles文件夹中打开终端,即
终端4

rosbag info <your bagfile>

可以查看之间生成的数据记录文件的详细信息
发现数据记录包件中能完全记录话题列表中的所有话题。
在这里插入图片描述
在这里插入图片描述

4.回放数据

在回放数据之间先
1.关闭小乌龟键盘控制节点
2.重启小乌龟显示节点,不然回放的时候没有显示窗口。

回放所记录的话题数据的命令如下,在此之前,
3.一定要先启动ros master

4.1默认情况下回放数据

同样在创建的bagfiles文件夹中打开终端,即
终端4

rosbag play <your bagfile>

1.回放数据的实质是发布之前所有订阅的话题。
2.发布话题前需要等待0.2秒,这是为了在发布信息之前通知所有订阅信息的节点,以使它们能够及时地接收到rosbag play发布的信息,
在这里插入图片描述
在这里插入图片描述

4.2快速回放数据

rosbag play -r  倍数  <your bagfile>

虽然提高了数据回放的速度,但是小海龟的运行轨迹会失真,而且倍数越大,失真越明显。
2倍速:
在这里插入图片描述

4倍速
在这里插入图片描述
6倍数
在这里插入图片描述

以上是关于ROS学习笔记-rosbag数据记录包的使用-记录和回放小海龟历程的主要内容,如果未能解决你的问题,请参考以下文章

ROS学习笔记-rosbag数据记录包的使用-记录和回放Spark机器人建图过程

ROS学习记录8——RosBag的使用

ROS进二阶学习笔记 -- ROS Bag

ROS进二阶学习笔记 -- ROS Bag

8.15-ros-bag使用

rosbag使用--记录深度相机数据