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 输出主题的类型,或者说明主题中发布的消息类型
1. rosmsg show //显示一条消息的字段
2. rosmsg list //列出所有消息
3. rosmsg package //列出功能包的所有消息
4. rosmsg packages //列出所有具有该消息的功能包
5. rosmsg users //列出所有该消息类型的代码文件
rosbag 工具可以录制一个包、从一个或多个包中重新发布消息、查看一个包的基本信息、检查一个包的消息定义,基于 Python 表达式过滤一个包的消息,压缩和解压缩一个包以及重建一个包的索引。
rosbag 目前常用的命令如下(fix 和 filter 暂时没有用到):
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 中。
正常播放
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
rosbag info 显示包文件内容的可读摘要,包括开始和结束时间,主题及其类型,消息计数、频率以及压缩统计信息.
1. rosbag info -h
2. rosbag info -y name.bag //输出 YAML 格式的信息:
输出 bag 中指定域的信息,比如只显示持续时间:
3. rosbag info -y -k duration name.bag
如果录制的 bag 很大,我们可以压缩它,默认的压缩格式是 bz2:
1. rosbag compress xxx.bag
2. rosbag compress -j xxx.bag //以添加 -j 手动指定压缩格式为 bz2:
rosbag compress --lz4 xxx.bag //使用 LZ4 来压缩数据:
rosbag decompress xxx.bag //解压