ros2 bag的高频使用形式

目录

写在前面

1. ros2 bag record——记录

2. ros2 bag info——输出到屏幕

3. ros2 bag play——回放

4. 编程形式实现ros2 bag功能(待补充)

4.1 以订阅topic的形式进行record

4.2 在发布topic的同时进行record

4.3 以独立的程序进行record


写在前面

ROS2也有rosbag类似命令,可以记录指定主题的数据到文件中,也可以将.bag文件再以主题形势发布出来,实现数据的回放。除了命令行操作,,也可以编程实现。

本文将总结ROS2的bag相关指令。(请注意区分ROS与ROS2。ROS版本可参考下文。)

ROS:rosbag的简单使用命令https://blog.csdn.net/qq_14977553/article/details/105192156总得来说,ros2 bag有三类指令,分别为info、play和record。其中,info用于将信息打印到屏幕;play用于从bag文件中回放ROS数据;record用于将ROS数据记录到bag文件。

  info    Print information about a bag to the screen
  play    Play back ROS data from a bag
  record  Record ROS data to a bag

1. ros2 bag record——记录

记录指定主题消息,消息数据包可通过play命令回放。

建议:在执行该记录指令之前,先用ros2 topic list查询在线可用的topic名。

#记录单个主题消息
ros2 bag record <topic_name> 

#记录多个主题消息
ros2 bag record -o <file_name> <topic_name_1> <topic_name_2>...<topic_name_n>

# 记录系统内所有主题消息
ros2 bag record -a 

可以看到当前目录下创建了一个以rosbag2+时间戳的目录,目录下有一个metadata.yaml文件,内容是数据记录的相关信息介绍,另外一个db3格式文件,就是我们记录下来的主题数据。

2. ros2 bag info——输出到屏幕

查看主题数据记录文件信息。

ros2 bag info <file_dir_name>

3. ros2 bag play——回放

回放记录下来的主题数据,可通过ros2 topic echo查看回放数据,也可以通过rqt工具查看。

注意:如果记录的主题数据有自定义消息,则需要配置环境变量。

ros2 bag play <file_dir_name>

4. 编程形式实现ros2 bag功能(待补充)

4.1 以订阅topic的形式进行record

4.2 在发布topic的同时进行record

4.3 以独立的程序进行record

猜你喜欢

转载自blog.csdn.net/slampai/article/details/127981192
今日推荐