環境
この記事は以下の環境で動いています。
項目 | 値 |
---|---|
CPU | Core i5-8250U |
Ubuntu | 22.04 |
ROS2 | Humble |
概要
Rvizは元々強力な可視化ツールですが、pluginを使うことで機能を拡張できます。ここではどのようなpluginを使うと何が出来るのかの概要を説明します。
pluginの種類
pluginには3つの種類があります。
- Display(rviz_common::Display, rviz_common::RosTopicDisplay)
- 中央の3D Viewでの描画を行うものです。多くは上図中の矢印のように3次元空間上の位置に紐づく情報を表示します。
- 3D Viewの中の「Test String」の文字のようにオーバーレイで文字などを表示することもできます。
- この部分はOgreという描画ライブラリを用いています。これのAPIを使ってpluginを開発します。
- RosTopicDisplayはこれに色々な便利機能を付けた基本クラスで、左のDisplay部分の「Color」の欄のような実行時に選択できるオプションや設定の保存ロードが簡単に出来るようになっています。
- ただしこのような3D表示のpluginを作りたい場合、開発時間を考えるとvisualization markerを出力するROSノードを作る方が圧倒的に早いです。
- Panel(rviz_common::Panel)
- 画面左下の「StringPanel」のように、UIを表示することが出来ます。
- Qtで実装されていて、このAPIを用いて開発を行います。
- メニューバーの「Panel」から表示の設定が出来ます。
- Tool(rviz_common::Tool)
- 画面上部のツールバーから機能の発動が出来ます。
- 3D view上でクリックしたりドラッグした結果からアクションを行うことが出来ます。
- メニューバー右の「+」ボタンから新しいツールをセットすることが出来ます。
- View Controller
- ここでは解説しませんが、3D viewの視点を変更することが出来ます。