8.15-ros-bag使用


rosbag-數據記錄工具

TOC

參考

使用示例
rosbag-wiki
Bag file format
MATLAB working with bag file
Bag file
rqt_bag
rosgab/migration
Python 分析rosbag files
How to extract data from bag file
Matlab: transform quaternion to rotation

前言

  • 因實驗,需要將機器人坐標記錄下來,在matlab上做對比實驗
  • 需要學習,rosbag的基本使用,bag文件的處理,matlab上ROS工具箱使用

記錄

rosbag基本使用

  • bag實際上是將一個node的行為錄制下來,然后可以重新播放
  • 使用命令行能夠:錄制,從包重新發布,獲取包的概括信息,檢查包的消息類型,使用Python表達式過濾包中信息,壓縮解壓縮包,重新索引包
  • 如果錄制高帶寬的東西,例如圖像信息,建議在本地錄制和存放文件
  • bag文件默認名字為日期,可以添加前綴
  • 基本命令包括
    • record:制定主題來錄制
rosbag record rosout tf cmd_vel
rosbag record -a #所有
rosbag record --duration=30 /chatter #持續30s,5m,2h
rosbag record --split --size=1024 /chatter #空間達到1024M后分文件存儲
rosbag record --split --duration=30 /chatter #持續時間到30s后分文件存儲
rosbag record -o session1 /chatter #為文件名字做前綴
rosbag record -O session2_090210.bag /chatter #為文件命名
rosbag record --node=/joy_teleop #錄制該節點左右消息
rosbag record -l 1000 /chatter  # 錄制該主題1000個消息限制
  • info
  • play
    • 注意:如果兩個包被播放,它們將作為一個包對待。比如你錄制一個包,在一個小時之后再錄制一個包,然后同時播放,這個時候你會經歷1個小時的空白。
rosbag play recorede1.bag
rosbag play --clock recorded1.bag #發布時鍾時間
rosbag play --clock --hz=200 recorded1.bag #時鍾頻率默認100
rosbag play -r 10 recorded1.bag # 發布速度翻倍
rosbag play -d 5 recorded1.bag #每一次advertise后等待5秒
rosbag play -u 240 recorded1.bag #只播放240s
rosbag play -l recorded1.bag # 循環播放
  • check
rosbag check old.bag
rosbag check -g diagnostics.bmr diag.bag #生成一個移植規則文件migration rule file
  • fix
rosbag fix old.bag repaired.bag myrules.bmr #使用規則文件恢復包文件內容
  • filter
filter <in-bag> <out-bag> <expression> # 詳情請訪問網頁,可以使用topic, m, t, 等要素,分別是主題,消息,時間
rosbag filter input.bag output.bag "t.to_sec() <= 1284703931.86"
  • compress
  • decompress
  • reindex
    • 修復包的命令

rqt_bag

  • 提供全方位的圖形化界面,具有錄制,播放,顯示,保存,加載文件,暫停等功能

數據修改

  • 請參考migration網頁

數據導出到matlab分析

  • 先導出為CSV文件,逗號分隔值文件格式
rostopic echo -b log_file.bag /topic_name
rostopic echo -p /topic_name #使用matlab友好格式進行顯示
  • 再存為文件
rostopic echo -b file.bag -p /topic > data.txt


免責聲明!

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



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