ROS2 学习笔记10:使用ros2 bag进行数据录制和回放
Background 背景
ros2 bag
是一款命令行工具,用于记录系统中主题发布的数据。它可以累积在任意数量的主题上传递的数据,并将其保存到数据库中。然后,您就可以重放这些数据,重现测试和实验结果。记录主题也是分享您的工作成果并允许他人重现的好方法
Prerequisites 前提
已安装ros2 bag
Tasks 任务
1 Setup
您将在 turtlesim
系统中记录您的键盘输入,以便以后保存和重放,所以从启动 /turtlesim
和 /teleop_turtle
节点开始
在两个终端中分别输入:
ros2 run turtlesim turtlesim_node
ros2 run turtlesim turtle_teleop_key
创建一个目录用来存储记录数据:
mkdir bag_files
cd bag_files
2 Choose a topic
ros2 bag
只能记录从话题发布出来的数据.查看话题清单,打开终端输入:
ros2 topic list
返回:
/parameter_events
/rosout
/turtle1/cmd_vel
/turtle1/color_sensor
/turtle1/pose
在话题课程中,已经知道/turtle_teleop
节点发布指令到话题/turtle1/cmd_vel
,使得小乌龟在仿真窗口运动
为了查看/turtle1/cmd_vel
正在发布的数据,输入指令:
ros2 topic echo /turtle1/cmd_vel
一开始什么数据都没有,因为teleop
没有发布任何数据.返回运行teleop
的终端,键入指定的字母来移动小乌龟,终端使用ros2 topic echo
指令的话,你会看到有数据发布了
linear:
x: 2.0
y: 0.0
z: 0.0
angular:
x: 0.0
y: 0.0
z: 0.0
---
3 ros2 bag record
3.1 Record a single topic
记录话题发布的数据命令:
ro