【ROS基础】rosbag记录和回放小海龟历程

📢:如果你也对机器人、人工智能感兴趣,看来我们志同道合✨
📢:不妨浏览一下我的博客主页【https://blog.csdn.net/weixin_51244852
📢:文章若有幸对你有帮助,可点赞 👍 收藏 ⭐不迷路🙉
📢:内容若有错误,敬请留言 📝指正!原创文,转载注明出处


前言

以小乌龟历程为例。这是一个简单的示例,可供我们开始学习和探索ROS中乌龟运动的功能。通过深入了解ROS中的消息通信和相关工具,我们可以实现更复杂的乌龟活动和路径规划。
在这里插入图片描述

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

终端1:

roscore

终端2:
rosrun turtlesim turtlesim_node 是在 ROS)中运行 turtlesim_node 节点的命令。

turtlesim_node 是一个仿真节点,它模拟了一个简单的乌龟机器人,可以通过发布 ROS 消息来控制乌龟机器人的移动和绘制路径。

通过运行 rosrun turtlesim turtlesim_node 命令,我们将启动 turtlesim_node 节点,并打开一个名为 “turtlesim” 的图形窗口。在该窗口中,您可以使用键盘控制乌龟机器人的移动和绘制路径,或者使用其他节点发布相关的控制指令来实现自动控制。

rosrun turtlesim turtlesim_node 

终端3:

rosrun turtlesim turtle_teleop_key 

启动完成后,在可视化界面中可以看到小乌龟。现在,可以使用键盘上的箭头键来控制乌龟的前进、后退、旋转等操作,观察乌龟在窗口中的移动。

2、跑小乌龟并记录数据

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

mkdir ~/bagfiles
cd bagfiles
rosbag record -a

在这里插入图片描述
rosbag的作用:提供数据记录和回放的功能包。
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倍数:
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嵌小超

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值