LoginSignup
24
18

More than 3 years have passed since last update.

ROS講座12 Rviz概要

Last updated at Posted at 2018-05-20

環境

この記事は以下の環境で動いています。

項目
CPU Core i5-8250U
Ubuntu 16.04
ROS Kinetic

インストールについてはROS講座02 インストールを参照してください。
またこの記事のプログラムはgithubにアップロードされています。ROS講座11 gitリポジトリを参照してください。

概要

ロボットのプログラムでは可視化が大切です。ほかのプログラムと違い3次元座標は値を数値で表示してもわかりにくく、3次元の可視化GUIの実装は多くの手間がかかります。
ROSではRvizが(3次元での)可視化を担当します。今後はこのRvizの使い方を解説していきます。

機能

Rviz上での表示例1

Rvizで出来ることをみてみます。これは私のオリジナルロボットをシミュレーション上で動かしている時のRvizの様子です。
vis_rviz_overall_mod.png

  1. 3DView(ロボットの状態の表示)
    ここがRvizの本領で、ロボットの位置、間接の角度などを表示することができます。ロボット本体を見なくてもロボットの状態を監視することができます。LIDAR等のセンサーの状態を表示することもできます。
  2. OverView(値やエラー情報の表示)
    例えば特定の気になる値があるときにその値をオーバーレイで表示することができます。またハードウェア接続のエラーを表示することもできます。
  3. パネル表示(カメラ画像)
    ロボットのカメラ画像やそれに加工をした画像を表示することができます。
  4. パネル操作(cmd_velの送信)
    パネルのGUI経由でtopicを送信することができます。

Rviz上での表示例2

またこれ以外にも以下のようにロボットの認識状況を表示することができます。この例ではLIDARの認識状況(赤い点)とSLAMにより生成された地図(黒とグレー)がRviz上に表示されています。

viz_rviz_nav.png

制限

ここで注意したいのはRvizはシミュレーターではないことです。ROS用のシミュレーターとしてはgazeboというものがあります。またRvizを使えば自動的にロボットの状態を表示してくれるというものではありません。自分でRviz上の表示を指定するプログラムを書かなければなりません。
つまりRvizというのはprintf("Angle:%f",angle)のように関節の角度をターミナルに表示する代わりにGUI上に表示されたロボットの関節の角度を変更するものです。

使うまでの流れ

  1. URDFファイルを記述してロボットのLinkやjointを定義する。
  2. Rviz上のロボットを動かすROSノードを作成する。
  3. launchファイルを記述してRvizやほかのROSノードを起動する。

目次ページへのリンク

ROS講座の目次へのリンク

24
18
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
24
18