ROSBAG2の記録や再生をする時、RViz2とターミナルを行ったり来たり……面倒ではないですか?
ということで、RViz2上でROSBAG2を記録・再生するプラグインを作ってみました。
インストール方法
cd (ROS2のワークスペース)/src
git clone https://github.com/shikishima-TasakiLab/rviz2_bag.git
cd ..
colcon build
source ./install/setup.bash
RViz2へのパネル追加
-
RViz2を起動する
rviz2 -
Panels→Add New Panelからパネル追加のダイアログを開く -
rviz2_bag/Playerまたはrviz2_bag/Recorderを選択する
Player
Player UIの各機能と、標準の ros2 bag play CLIコマンドとの対応表です。
Recorder
![]() |
![]() |
Recorder UIの各設定項目と、標準の ros2 bag record CLIコマンドとの対応表です。
Record タブ (基本設定)
Setting タブ (詳細設定)
| GUIコントロール | 概要 | 対応する ros2 bag record 引数 |
|---|---|---|
| Storage | 使用するストレージ形式(デフォルトは 'sqlite3') |
-s, --storage
|
| Serialization Format | メッセージのシリアル化形式(デフォルトは使用中のRMW形式) |
-f, --serialization-format
|
| No Discovery | 録画中のトピック自動検知を無効化。開始時に存在するトピックのみ録画。 | --no-discovery |
| Polling Interval | 新規トピックを確認する間隔(ms)。No Discovery有効時は無視されます。 |
-p, --polling-interval
|
| Max Bag Size | バッグファイルの最大分割サイズ(bytes)。0は分割なし。 |
-b, --max-bag-size
|
| Max Bag Duration | バッグファイルの最大録画時間(秒)。0は分割なし。 |
-d, --max-bag-duration
|
| Max Cache Size | メモリ上のキャッシュ最大サイズ(bytes)。ダブルバッファのため最大で設定値の2倍を消費。 | --max-cache-size |
| Compression Mode | 圧縮単位('file' または 'message') | --compression-mode |
| Compression Format | 圧縮アルゴリズム(zstd等) | --compression-format |
| Compression Queue Size | 圧縮待ちキューの最大数。 | --compression-queue-size |
| Compression Threads | 並列圧縮に使用するスレッド数。0は全CPUコアを使用。 | --compression-threads |
| Log Level | ログ出力レベル(debug, info, warn, error, fatal) | --log-level |
| Name Delimiter | 出力名(Prefix/Timestamp/Suffix)の区切り文字。 | - |









