ROS 消息系列

一、 rostopic 系列

1. rostopic echo /topic_name | grep frame_id  //查看消息的frame_id
2. rostopic bw /topic   //显示主题所使用的带宽
3. rostopic hz /topic  //显示话题的发布频率
4. rostopic info /topic  //输出活动主题、发布的主题、主题订阅者和服务的信息

将数据发布到主题,允许直接从命令行对任意主题进行创建和数据发布:

5. rostopic pub /topic type args 
6. rostopic type /topic 输出主题的类型,或者说明主题中发布的消息类型

二、rosmsg 系列

1. rosmsg show  //显示一条消息的字段
2. rosmsg list  //列出所有消息
3. rosmsg package  //列出功能包的所有消息
4. rosmsg packages //列出所有具有该消息的功能包
5. rosmsg users  //列出所有该消息类型的代码文件

三、rosbag 系列

rosbag 工具可以录制一个包、从一个或多个包中重新发布消息、查看一个包的基本信息、检查一个包的消息定义,基于 Python 表达式过滤一个包的消息,压缩和解压缩一个包以及重建一个包的索引。
rosbag 目前常用的命令如下(fix 和 filter 暂时没有用到):

  • record:用指定的话题录制一个 bag 包
  • info:显示一个 bag 包的基本信息,比如包含哪些话题
  • play:回放一个或者多个 bag 包
  • check:检查一个 bag 包在当前的系统中是否可以回放和迁移
  • compress:压缩一个或多个 bag 包
  • decompress:解压缩一个或多个 bag 包
  • reindex:重新索引一个或多个损坏 bag 包

1. rosbag record

1. rosbag record -a   //录制所有话题
2. rosbag record /topic_name1 /topic_name2  //记录某些话题

上述命令录制的数据包名字为日期加时间,如果要指定生成数据包的名字,则用-O /-o 参数,如下:

3. rosbag record -O filename.bag /topic_name1

其中 -O (大写的 O) 后跟录制数据包的名字。如果用 -o (小写的 o),则只是给数据包的名字加前缀。
如果在 launch 文件中使用 rosbag record 命令,如下

4. <node pkg="rosbag" type="record" name="bag_record" args="/topic1 /topic2"/> 

默认存放路径是 ~/.ros 中。

2. rosbag play

正常播放

1. rosbag play <bagfile>   //播放bag包

如果只播放感兴趣的 topic ,则用命令

2. rosbag play --topic /topic_name1 /topic_name2

倍率播放

3. rosbag play -r 10 <your bagfile name> //(表示10倍速率播放)

延迟播放

4. rosbag play <your bagfile name> -d <delay time> 

循环播放

5. rosbag play -l record.bag 

回放多个 bag,基于全局时间间隔播放:

6. rosbag play record1.bag record2.bag

开始播放立刻暂停,按空格继续:

7. rosbag play --pause record.bag

指定回放频率,默认 100HZ:

8. rosbag play --clock --hz=200 record.bag

4. rosbag info

rosbag info 显示包文件内容的可读摘要,包括开始和结束时间,主题及其类型,消息计数、频率以及压缩统计信息.

1. rosbag info -h
2. rosbag info -y name.bag  //输出 YAML 格式的信息:

输出 bag 中指定域的信息,比如只显示持续时间:

3. rosbag info -y -k duration name.bag

5. rosbag compress

如果录制的 bag 很大,我们可以压缩它,默认的压缩格式是 bz2:

1. rosbag compress xxx.bag 
2. rosbag compress -j xxx.bag //以添加 -j 手动指定压缩格式为 bz2:
rosbag compress --lz4 xxx.bag //使用 LZ4 来压缩数据:

6. rosbag decompress

rosbag decompress xxx.bag  //解压

你可能感兴趣的:(自动驾驶)