rvizは、ROSのデータの3次元の可視化を行います。特に、3次元座標は座標値を数値で表示しても分かりにくいため、デバッグ効率は低下してしまいます。3次元で斜め上から見た状態を可視化すれば、ロボットの位置や姿勢が一目で分かります。
rvizでは、URDFを使って作成したロボットのデータの3次元形状を移動、回転した状態で表示することができます。また、レーザーセンサーから取得した壁や障害物までの距離データや、カメラから取得した映像などを表示することもできます。
ROSのWikiページに解説があります。
ターミナルを開き、下記のコマンドを実行すると、rvizを起動できます。
$ rviz
rvizの基本操作のビューの操作は、gazeboとは異なります。
視点を上下左右に移動するパン操作は、Shiftキーを押しながらドラッグするか、マウスホイールを押しながらドラッグすることで行うことができます。
視点を回転し画面上の位置をいろいろな方向から見る操作は、マウスのドラッグ(左ドラッグ)で行うことができます。
視点を近づけたり遠ざけたりするズーム操作は、マウスホイールを回転するか、マウスの右ドラッグで行うことができます。
rvizのメニューは、画面左上に表示されます。
Fileメニューでは、表示状態をファイルに保存したり、読み込んだりすることができます。
Panelsメニューでは、表示するパネルを選択して、画面構成を変えたりすることができます。
3DView画面は、rvizの画面中央に表示されるメイン画面で、ロボットの状態の表示や、センサーの状態の表示など、さまざまなデータを3次元表示するときに使用されます。
Displaysパネルは、画面左側のパネルとして表示され、表示したいTopicなど、3FViewに表示する内容を変更する画面です。
領域下部にあるAddボタンで、表示したい内容を追加できます。
| 表示タイプ名 | 表示内容 |
|---|---|
| Axes | 座標軸を表示 |
| Camera | カメラ視点から表示した画像を別ウィンドウに表示 |
| DepthCloud | 深度画像で表示された点群を表示 |
| Effort | ロボットの各関節に加わる力を表示 |
| FluidPressure | 空気、水などの流体の圧力を表示 |
| Grid | グリッドを表示 |
| GridCells | グリッドの各セルを表示 |
| Group | グループ化 |
| Illuminance | 照度を表示 |
| Image | 画像を別ウィンドウに表示 |
| InteractiveMarkers | インターラクティブマーカーを表示 |
| LaserScan | レーザースキャナーが計測した距離データを表示 |
| Map | ナビゲーション用の地図を表示 |
| Marker | マーカーを表示 |
| MarkerArray | マーカーを複数表示 |
| Odometry | オドメトリの変化を矢印で表示 |
| Path | ロボットの経路を表示 |
| PointCloud | 深度カメラのセンサーデータを点群で表示 |
| PointStamped | 丸型ポイントを表示 |
| Polygon | ポリゴンの外形を表示 |
| Pose | 位置と姿勢を表示 |
| PoseArray | 位置と姿勢を複数表示 |
| Range | 距離センサーの測定範囲などの円錐を表示 |
| RelativeHumidity | 相対湿度を表示 |
| RobotModel | ロボットモデルを表示 |
| TF | 座標変換の相対座標を座標軸を表示 |
| Temperature | 温度を表示 |
| WrenchStamped | ねじれを表示 |
ツールは、画面上部のメニューの下に表示されるボタンで、各種操作をすることができます。
| ボタン名 | 操作内容 |
|---|---|
| Interact | インターラクティブマーカーの操作 |
| Move Camera | カメラの移動 |
| Focus Camera | カメラのピント合わせ(焦点の変更) |
| Measure | 距離測定 |
| 2D Pose Estimate | 2次元の現在位置の設定 |
| 2D Nav Goal | 2次元ナビゲーションの目標位置の設定 |
| Publish Point | パブリッシュする位置の決定 |
Viewsパネルは、画面右側のパネルとして表示され、3次元ビューの視点を設定できます。
| 視点タイプ | 表示方法 |
|---|---|
| FPS(FirstPersonView) | 1人称視点(ユーザが見ているような画像)で表示 |
| Orbit | 指定した地点を中心に、回り込んで表示 |
| ThirdPersonFollower | 3人称視点(俯瞰画像)で表示 |
| TopDownOrtho | 上から正射影して表示 |
| XYOrbit | XY平面上の指定した地点を中心に、回り込んで表示 |
Timeパネルは、画面下側のパネルとして表示され、現在時間(Wall Time)とROS時間(ROS Time)を表示します。Resetボタンで、時間をリセットすることができます。
下記の画像は、rvizに、DisplaysパネルのAddコマンドの「RobotModel」でロボットモデルを表示し、「LaserScan」でレーザースキャナーが計測した距離データを表示し、「Map」で作成中のナビゲーション用の地図データを表示している画面です。
