ROS系列:第五章常用组件rosbag

五、ROS常用组件

2.rosbag

在ROS中关于数据的留存以及读取实现,提供了一个专门的工具:rosbag;

概念:

用于录制和回放ROS主题的一个工具集。

作用:

实现了数据的复用,方便调试、测试

本质:

rosbag本质也是ros的节点,当录制时,rosbag是一个订阅节点,可以订阅话题消息并将订阅的数据写入磁盘文件;当回放时,rosbag是一个发布节点,可以读取磁盘文件,发布文件中的话题消息;

2.1 rosbag使用——命令行


需求:ROS内置的乌龟,操作过程使用rosbag录制,录制结束后,实现重放。

实现:

1、创建目录保存录制的文件

mkdir ./bags
cd bags

2、开始录制

roscore 
rosrun turtlesim turtlesim_node
rosrun turtlesim turtle_teleop_key

启动乌龟GUI以及键盘控制节点;

rosbag record -a -o bags/hello

操作小乌龟运行一段时间,结束录制使用ctrl+c,,在创建的目录中会生成bag后缀文件;

3、查看文件

rosbag info bags/hello_2022-11-16-21-32-41.bag 
path:        bags/hello_2022-11-16-21-32-41.bag
version:     2.0
duration:    21.3s
start:       Nov 16 2022 21:32:41.60 (1668605561.60)
end:         Nov 16 2022 21:33:02.89 (1668605582.89)
size:        216.7 KB
messages:    2902
compression: none [1/1 chunks]
types:       geometry_msgs/Twist [9f195f881246fdfa2798d1d3eebca84a]
             rosgraph_msgs/Log   [acffd30cd6b6de30f120938c17c593fb]
             turtlesim/Color     [353891e354491c51aabe32df673fb446]
             turtlesim/Pose      [863b248d5016ca62ea2e895ae5265cf9]
topics:      /rosout                    3 msgs    : rosgraph_msgs/Log  
             /turtle1/cmd_vel         265 msgs    : geometry_msgs/Twist
             /turtle1/color_sensor   1317 msgs    : turtlesim/Color    
             /turtle1/pose           1317 msgs    : turtlesim/Pose

4、回放文件

rosbag play bags/hello_2022-11-16-21-32-41.bag 

重启乌龟节点,此时可以看见乌龟按照bag文件录制的轨迹运行

注:rosbag也是一个节点,因此也可使用rosrun操作。

2.2 rosbag使用——编码

命令行不够灵活,,因此使用编码的模式加强灵活性

1、写bag

实现流程:

初始化;
创建rosbag对象;
打开文件流;
写数据;
关闭文件流;

代码:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

不会是要长脑子了吧

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

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

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

打赏作者

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

抵扣说明:

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

余额充值