rosbag的使用

1. 命令行使用,有两个方式:

(1) 记录所有话题:

rosbag record -o

(2) 记录用户自定话题:

rosbag record /temp /accl

默认情况下,当运行前面的命令,rosbag程序会订阅相关节点并开始记录消息,将数据存储在当前目录下以数据内容作为文件名的消息记录包文件中。一旦你完成实验或者想结束记录,只需要点击Ctrl + C。

使用rosbag help record 可以看到更多的选项,其中包括记录包文件的大小、记录的持续时间、分割文件到某个给定大小的选项。或者像前文所提到的那样,使用文件压缩(使用-j参数)。坦率地讲,这只在数据存储速率较低时有用,因为这同时还会消耗大量的CPU时间并可能丢失部分消息。或者,我们可以以MB为单位增加记录缓存(-b)大小。缓存大小默认值是256MB,但在某些数据存储速率特别高的情况下也可能需要GB级的缓存(特别是处理图像时)。

2. 将rosbag命令包含到launch文件中:

"rosbag" type="record" name="bag_record" arg="/temp /accl"/>

需要注意的是主题和其他命令传递的参数会使用args参数。同时,在使用launch文件直接启动记录的时候,记录包文件会默认创建在~/.ros路径下,除非使用-o(前缀)或-O(全名)给文件命名。

你可能感兴趣的:(ROS学习)