2018年9月24日月曜日

UWSimで遊ぶ日々 開発環境の準備

***CAUTION!!!***
新しく水中ロボットのシミュレーションを始める方には、UUV Simulatorをお勧めします。
UWSimはロボットのモデルを1つの剛体として登録するので、後々アームを使ったり合体分離をしたいときに対応できません。
***CAUTION!!!***

前回でハードウェアが準備できましたので、ソフトウェアのインストールを進めていきます。
公式ページのこちらに該当する内容です。(英語です)

UWSimを動作させるために必ず必要になるソフトは以下の3種です。
 1. Ubuntu Linux
 2. ROS
 3. UWSim
では1つずつ見ていきましょう。

1. Ubuntu Linux 
UWSimはLinux 環境で動作します。公式ではUbuntu 9.10から14.04で動作させていますが、それより新しくても問題なく動作しました。私はUbuntu 16.04 64bit版を使用しています。
インストールは色々な所で詳しく説明されていますので、ここでは簡単な手順と注意事項だけ触れます。

!!!注意!!!
インストールは英語環境で行ってから日本語化することをおすすめします。
ROSやUWSimはGUIでなくコマンドラインからの入力を多用し、フォルダーの移動などをします。日本語でインストールをすると、主要なフォルダーが日本語で用意されてしまうため、コマンドラインで英数字と日本語を入力しないといけません。コマンドラインでの操作に慣れてきたときに大変不便な思いをします。
同様の理由で、ファイル名も半角英数字だけでつけることをおすすめします。

○インストール手順
1.公式ページからUbuntu のイメージファイルをダウンロードする。
2.USBまたはCDでインストールイメージを作る。
3.インストールするPCのBIOS画面で、作成したインストールメディアからブートを行う設定をする。
4.メディアを接続してインストールを開始する。
5.インストール完了まで待つ。
6.日本語化する。

以上でUbuntu Linuxのインストールは完了です。

2.ROS
Ubuntu Linuxをインストールしたら、その次はROSのインストールを行います。UWSimはROSでメッセージをやり取りするロボットを使うことを前提にして作られています。
こちらも様々なバージョンがあります。UWSimを簡単にインストールしたい場合はgroovy、それ以外の場合はROSの公式がサポートしているLinux のバージョンとの組み合わせがありますので、そちらを選ぶのが良いでしょう。私はUbuntu16.04に合わせてKinetic Kameをインストールしました。

インストールはバージョンによって少しずつ入力が異なりますので、ご自身のインストールしたいバージョンに合わせて下記を参考に進めてください。
Kinetic Kameの場合
groovyの場合

3.UWSim
ここでやっとUWSimのインストールになります。
インストールしたROSのバージョンにより、apt-getが使える場合と、自分でコンパイルをかける場合があります。

○apt-getの場合
ROSのバージョンがgroovyの場合、公式がapt-getパッケージを用意してくれています。
ターミナルから以下のコマンドを入力するとインストールが完了します。
apt-get install ros-groovy-uwsim

○apt-get以外のインストール手順
ここではROSのバージョンがKineticの場合で進めていきます。
他のバージョンの方は、コマンドのkineticの部分を自身が使うバージョンに変えて進めてください。

1.ワークスペースを作成し、パッケージのダウンロードをします。
- other: {local-name: /opt/ros/kinetic/share/ros}
- other: {local-name: /opt/ros/kinetic/share}
- other: {local-name: /opt/ros/kinetic/stacks}
- setup-file: {local-name: /opt/ros/kinetic/setup.sh}
- git: {local-name: src/underwater_simulation,
        uri: 'https://github.com/uji-ros-pkg/underwater_simulation.git', version: kinetic-devel}
rosws update

2.コンパイルをします。
rosdep install --from-paths src --ignore-src --rosdistro kinetic -y
catkin_make install

インストールが終わったら、UWSimを起動してみましょう。
ターミナルを2つ用意し、先に片方でroscoreを動作させてからもう片方でUWSimを起動します。
・ターミナル1
roscore
・ターミナル2
rosrun uwsim uwsim

プールの中に黄色いロボットが入っているウィンドウが立ち上がれば成功です。

中央のプールの中の黄色いのが水中ロボットです。

2回目以降に起動するときは、uwsimが格納されている場所へのパスが通っていない場合があります。
以下のコマンドを入力し、パスを通します。
cd catkin_ws
source devel/setup.bash

今日はここまで。