rosbag 初嘗試


overview

ROS (Robot Operating System, 機器人操作系統) 提供一系列程序庫和工具以幫助軟件開發者創建機器人應用軟件。它提供了硬件抽象、設備驅動、函數庫、可視化工具、消息傳遞和軟件包管理等諸多功能。

rosbag 記錄深度相機數據

rosbag package提供了一個命令行工具以及cpp類和python的API, rosbag使用命令行能夠:錄制,從包重新發布,獲取包的概括信息,檢查包的消息類型,使用Python表達式過濾包中信息,壓縮解壓縮包,重新索引包。

rosbag

 rosebag支持的命令列表:

1.查看.bag中包含的信息 : rosbag info 

2.回放.bag中包含的信息: rosbag play 

  2.1以某一頻率發布消息 : rosbag play -r 2 

  2.2從某一時間節點開始發布消息 : rosbag play -s 2 

3.記錄所有topic信息: rosbag record -a

  3.1記錄部分信息 : rosbag record -o subset /turtle1/cmd_vel /turtle1/pose        產生一個名為subset.bag的文件。

4.other command:

  4.1檢查。確定一個.bag是否可以在當前系統中播放,或者是否可以遷移。rosbag check
  4.2修復。修復.bag文件中的消息,以便它可以在當前系統中播放。rosbag fix
  4.3過濾。使用python表達式轉換.bag文件。rosbag filter
  4.4壓縮。壓縮一個或多個.bag文件。rosbag compress
  4.5解壓縮。解壓縮一個或多個.bag文件。rosbag decompress
  4.6重建。重建一個或多個破損的.bag文件。rosbag reindex

5.將.bag記錄的圖像數據輸出為圖片或視頻。  
a.創建文件 export.luach 並寫入一下內容

1 <launch>
2   <node pkg="rosbag" type="play" name="rosbag" args="-d 2 $(find image_view)/test.bag"/>
3   <node name="extract" pkg="image_view" type="extract_images" respawn="false" output="screen" cwd="ROS_HOME">
4 <remap from="image" to="/camera/image_raw"/>
5   </node>
6 </launch>

 

1 $(find image_view)/test.bag" 其中image_view表示package名字,此處改為你的.bag文件所處的package的名字即可,同時test改為對應的名字。
2 <remap from="image" to="/camera/image_raw"/> 此處表示需將你記錄的topic名字覆蓋掉/image 這個原始的topic。

b.運行launch文件,即

1 roslaunch export.launch

此時數據將被分離成一組圖片,並存在“.ros”文件夾中。

c.創建文件夾 /source 
將/.ros中的圖片轉移到/source中,即

1 mv ~/.ros/frame*.jpg source/

d.轉換視頻

1 cd ~/source
2 jpeg2yuv -I p -f 15 -j frame%04d.jpg -b 1 > tmp.yuv
3 //其中-f 15 表示頻率, -b 1 表示起始圖片的編號。

 

如果要產生.ogv文件:

1 ffmpeg2theora --optimize --videoquality 10 --videobitrate 16778 -o output.ogv tmp.yuv

如果要產生mpg文件:

1 mencoder "mf://*.jpg" -mf type=jpg:fps=15 -o output.mpg -speed 1 -ofps 30 -ovc lavc -lavcopts vcodec=mpeg2video:vbitrate=2500 -oac copy -of mpeg

在本步驟中可能會需要安裝部分package,按提示安裝即可:

sudo apt-get install packeage-name


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM