アプリとサービスのすすめ

アプリやIT系のサービスを中心に書いていきます。たまに副業やビジネス関係の情報なども気ままにつづります

ros2のツール一覧まとめ[2025/01/16]

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.