1. rosbag
# 必要ライブラリinstall sudo apt install ros-${ROS_DISTRO}-plotjuggler-ros sudo apt install sqlite3
rosbagを作ってみる。
ros2 bag record -o all.bag -a # or ros2 bag record -o all.bag /topic_a /topic_b # all.bag directory is created #all.bag #├── all.bag_0.db3 #└── metadata.yaml
dbファイルと metadata.yamlが作成される。
rosbag再生 $ ros2 bag play all.bag $ ros2 bag play <rosdir>/ -r 0.2 -s sqlite3 --clock # -r で倍速指定 # rosbag topic 確認 ros2 bag info <rosbag directry>
・このうちmetadata.yamlはトピック一覧などが書かれた補助情報。
・rosbag本体はall.bag_0.db3。
・この本体がどういった形式になっているかはmetadata.yamlに書かれてる。
sqlite3 で中身を確認
sqlite3 data.bag/data_0.db3 >>> sqlite> .tables # messages metadata schema topics sqlite> .schema
metadata.yamlがない場合
# metadata.yamlを作成 $ ros2 bag reindex <rosbag_dir> -s sqlite3 # >> [INFO] [1737090846.303553233] [rosbag2_cpp]: Reindexing complete.
plotjuggler
PlotJugglerは、データの可視化やリアルタイムモニタリングに特化したros2のツール。簡単に言うと、「データをグラフで見やすく表示し、リアルタイムで観察・分析できるソフトウェア」。
特徴
・リアルタイムモニタリング
データがリアルタイムで変化する様子をその場で観察できるので、ロボットやセンサーの動作確認に便利。
・多くのデータ形式をサポート
CSVファイル、ROS(Robot Operating System)のトピック、JSON形式など、多くのデータ形式を読み込むことができる。
利用シーン
・ロボット開発
センサーや制御システムのデータをリアルタイムで可視化し、動作の改善や問題発見に役立ちます。
・ 機械学習
学習中のデータや予測結果をリアルタイムで確認して、モデルの調整を効率化します。
・実験データの分析
科学や工学の実験結果を手軽に可視化し、分析を行います。
plotjugglerをrosbagで可視化
# download rosbag file from gdown -O ~/autoware_map/ 'https://docs.google.com/uc?export=download&id=1sU5wbxlXAfHIksuHjP3PyI2UVED8lZkP' unzip -d ~/autoware_map/ ~/autoware_map/sample-rosbag.zip
# run plotjuggler
ros2 run plotjuggler plotjuggler
SWAP realse
# 状況確認 free -h #現在のSWAP削除 sudo swapoff /swapfile sudo rm /swapfile # 新しいswapfile作成 sudo fallocate -l 32G /swapfile sudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile # 反映されてるか確認 free -h
・参考サイト
GitHub - facontidavide/PlotJuggler: The Time Series Visualization Tool that you deserve.