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数据记录包的使用-记录和回放小海龟历程的主要内容,如果未能解决你的问题,请参考以下文章