【ros】4.rosbag的相关用法
原文鏈接
rosbag的使用
1.錄制包
錄制所有的topic: rosbag record -a
錄制指定的topic: rosbag record /topic1 /topic2
2.查看包的信息
rosbag info your.bag
這個命令主要是拿來看一個包里的topic,時長,信息類型等。對于比較小的包,直接rosbag play xx.bag再rostopic list即可。但像KITTI轉出來的,20多G的,打開實在太慢了,相比起來,info足夠。
3.播放包rosbag play
rosbag play xx.bag
-d參數可以用來指定延遲播放的時間(Sec)
-s參數用于指定從幾秒開始:
從10秒開始播放:rosbag play -s 10 xx.bag
-u參數表示僅播放包的前幾秒信息:
僅播放前十秒:rosbag play -u 10 xx.bag
-r 參數用來指定播放速度:
2倍速播放: rosbag play -r 2 xx.bag
從120s開始播放,只播放20s,就是播放120s~140s的時間段:
rosbag play xx.bag -s 120 -u 20
4.包過濾 rosbag filter
rosbag filter命令可以用python指令來過濾包,能夠使用的內置變量為topic, m , t.secs和t.nsecs。
按時間過濾的時候,需要注意的是應該用UNIX時間,這個時間可以用rosbag info來確定。
rosbag filter input.bag output.bag "t.to_sec() <= 1284703931.86"
而如果需要截取一段時間,可以用and來連接:
rosbag filter input.bag output.bag "t.to_sec() <= 1284703931.86 and t.to_sec()>=1284703935.86"
按話題過濾的話,可以這樣寫:
過濾單個topic
rosbag filter input.bag output.bag "topic == '/tf'"
只保留/velodyne_point_cloud和/visensor/imu,使用or和==:
rosbag filter input.bag output.bag "topic == '/velodyne_point_cloud' or topic =='/visensor/imu' "
過濾兩個topic:/velodyne_point_cloud和/visensor/imu,使用and和!=:
rosbag filter input.bag output.bag "topic != '/velodyne_point_cloud' and topic !='/visensor/imu' "
總結
以上是生活随笔為你收集整理的【ros】4.rosbag的相关用法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【ros】2.ros的xx.msg编译
- 下一篇: 【自动驾驶/opencv】32.交通灯颜