環境
この記事は以下の環境で動いています。
項目 | 値 |
---|---|
CPU | Core i5-8250U |
Ubuntu | 16.04 |
ROS | Kinetic |
インストールについてはROS講座02 インストールを参照してください。
またこの記事のプログラムはgithubにアップロードされています。ROS講座11 gitリポジトリを参照してください。
概要
ロボットの開発には普通のプログラムの開発とは違う特性があるので、ROSには専用のツールがいくつか存在する。これらのツールの関係性を説明する。
ROSのビルドツール
catkin
ビルド(いわゆるmake
)を行うツールです。ただc++のコンパイルをするだけでなく、リンクしているファイルのパッケージのパスを取得したり、インストールを行うこともできます。
ROSのランタイムツール
実行時のツールです。以下の図にまとめます。
Rviz
ロボットの情報としては単純な値やコマンドではなく3次元座標の位置や姿勢があり、これの数字を見ただけで状況を理解することは容易ではないです。そこでこれらの3次元情報を可視化するのがRvizです。Rvizはロボットに送るデータを可視化することも、ロボットから戻ってくるセンサー情報を可視化することの両方ができます(ここら辺のどちらをどう表示するかのポリシーは決めるのが難しいところ)。
gazebo
ロボットの作業において実機を動かすのは予想以上に大変なことです。また、試してみたい環境があった時にそれを現実で構成するのも難しいことがあります。そこで現実を模擬するのがシミュレーターです。
ROSbag
ROSbagはROSの動作を記録するものです。ロボットを動かしている時は(それがsimであっても)それに手いっぱいで詳しい考察をする暇はありません。記録をとって後で記録を再生することで、詳しい考察や検証をすることができます。
UI
実はROSはあまり人間向けのUIが豊富ではありません。Rvizで足りないところはWebUIや各種ツールを使って補う必要があります。
ROSlaunch
図には入っていませんが、このランタイム環境を起動するのはroslaunchです。実機とsimとの切り替えもroslaunchを使えば簡単に行うことができます。