ROS2-Beginner:10-记录和播放数据

发布时间 2023-06-01 20:16:42作者: gary_123

目标:记录发布到话题上的数据,可以任何时候回放和检查。

背景

ros2-bag是一个命令行工具,用于记录系统中主题发布的数据。它累积在任意数量的主题上传递的数据,并将其保存在数据库中。然后,您可以回放数据以重现测试和实验的结果。录制主题也是分享你的作品并允许他人重新创作的好方法。

任务

1、运行如下

ros2 run turtlesim turtlesim_node

ros2 run turtlesim turtle_teleop_key

2、ros2 bag record

ros2 bag record <topic_name>
ros2 bag record /turtle1/cmd_vel

3.1、记录多个话题

ros2 bag record -o subset /turtle1/cmd_vel /turtle1/pose

4、ros2 bag info

查看记录的bag的内容

ros2 bag info <bag_file_name>

假设名字为subset

ros2 bag info subset
Files:             subset.db3
Bag size:          228.5 KiB
Storage id:        sqlite3
Duration:          48.47s
Start:             Oct 11 2019 06:09:09.12 (1570799349.12)
End                Oct 11 2019 06:09:57.60 (1570799397.60)
Messages:          3013
Topic information: Topic: /turtle1/cmd_vel | Type: geometry_msgs/msg/Twist | Count: 9 | Serialization Format: cdr
                 Topic: /turtle1/pose | Type: turtlesim/msg/Pose | Count: 3004 | Serialization Format: cdr

5、ros2 bag play

ros2 bag play subset

总结:

您可以使用ros2-bag命令在ros2系统中记录主题传递的数据。无论你是与他人分享你的工作,还是反思自己的实验,它都是一个很好的了解工具。