[ROS-1]0から始めるROS+MoveIt on Indigo


最近研究でROSに触れているので、よく仕組みとか分からなくても使えちゃった!みたいな記事を書きたいと思います。
今回は、ROSをインストールしてロボットのシミュレータで遊べるようになるまでを説明します。説明というよりは作業記録&勉強したことのまとめです。

ROSって何ですか

ロボットをいい感じに使えるようにするためのミドルウェア。ミドルウェアってのはハードをいい感じに使えるようにするためのフレームワークみたいなもの…だと思ってるけどよく知らないです。
ロボットってリアルタイム処理とかセンサー情報のやり取りとか非常にシビア&機器間の通信がたくさんあるわけです。例えば、カメラ、赤外線距離センサー、マイクから情報をリアルタイムにもらって、もし人間にぶつかりそうになったらよけるみたいな。
センサーごとに独自のアプリケーション開発してたらキリがないんで、全部同じ枠組みで開発&連携できるようにしたい。という需要が背景にある(と理解しています)。
ROSを使うと、そういう分散システムが構築しやすくなります。ドローンとかもこれで動いていたりします。非力なマシンを複数繋げて分担作業、といったことも出来ます。
が、初心者としてはけっこう難しい。
以下初心者がお送りするんで細かいところは飛ばして、とりあえず遊べる環境作りをします。基本的にはほとんどコピペしてれば終わりました。

用意するもの

・Ubuntu 14.04 LTSがインストールされたPC。3Dのシミュレータを動かすので描画に対してパワフルなものが望ましい。低スペックでも動くことは動くらしい。
・最低限のLinuxの知識。ディレクトリ移動できる、パッケージのインストールできる、とか。

ROSのインストール

今回はIndigoで話を進めます。基本的にはチュートリアルの通りに従えばOK。以下チュートリアルより抜粋。
やることとしては、

1,ソフトウェアセンターの設定の変更

ソフトウェアセンターを開いて、edit > software sourcesを開く。インターネットからダウンロードできるソースの中でmain、restricted, universe, multiverseにチェックを入れる。ちょっと怪しいパッケージもダウンロードできるようにする手続き。

2,ROSのパッケージをダウンロードできるように設定

以下、コピペしてEnterとyを入力し続ければOK。

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu trusty main" > /etc/apt/sources.list.d/ros-latest.list'

3,鍵の設定

wget http://packages.ros.org/ros.key -O - | sudo apt-key add -

なんの鍵かは知らない…。

4,ROS本体のインストール+初期化

sudo apt-get update
sudo apt-get install ros-indigo-desktop-full

ROSを使うのに必要になるパッケージをインストールする。面倒なので全部入りを選択。

sudo rosdep init
rosdep update

パッケージ間の紐付けとかを簡単にしてくれる処理らしい。よく知らない。

5,ショートカット的な作業

echo "source /opt/ros/indigo/setup.bash" >> ~/.bashrc
source ~/.bashrc

これを登録しないと、「ROSを使わせてくれ!」っていう宣言をターミナルを立ち上げる毎に必要が出てくる。

6,パッケージのインストーラーを入れる

sudo apt-get install python-rosinstall

パッケージのインストールを簡単にしてくれるコマンドを打てるようにする。

MoveItとデモ用のロボットを導入

ここまででROSのシステムを使えるようにする環境が整いました。もっといろいろ知りたい方は是非ROSのチュートリアルへ。日本語版はちょっと昔のHydro対応なので、英語版チュートリアルでIndigoを使って学ぶと良いです。コマンドとかけっこう違うようですし。

ここからは、ROSのシステムを使ってロボットのシミュレータで遊べるようにします。
MoveItとは、ロボットの運動を簡単に出来るようにするパッケージです。ロボットの腕動かすのって実は計算が非常に複雑で大変なんですが、このパッケージを使えばマウスでぐりぐり腕動かして遊べるようになります。
以下、MoveItチュートリアルより抜粋。

1,MoveItをインストール

sudo apt-get install ros-indigo-moveit-full
source /opt/ros/indigo/setup.bash

二つ目のコマンドは何かしらセットアップしているらしい。

2,MoveItで動かすデモロボットをインストール

sudo apt-get install ros-indigo-moveit-pr2

ROSのスタンダードロボットとも言えるPR2を今回はインストールします。

3,ロボットを起動

roslaunch pr2_moveit_config demo.launch

new

こんなんが出て来たらOKです。

こんな感じで、手先のボールをドラッグしてやると腕が自由に動かせます。腕を動かす->planningタブのplanをクリック->軌道が計画できたらExecuteをクリック->ロボットの腕が移動する、という流れ。

MoveItの詳しい使い方、およびこれを使って遊びながら学んでいく過程をまとめていきたいところです。以上、かなりいい加減でしたが、ロボットで遊ぶのは意外と簡単だと思って頂けたら幸いです。

[11/02追記]
なんか変だとかあればご指摘頂ければ!

シェアする

  • このエントリーをはてなブックマークに追加

フォローする