2014年11月20日木曜日

6. ARBOTIX  シミュレータのインストールとテスト

6.1 Arbotixシミュレータのインストール
$sudo apt-get install ros-hydro-arbotix-*
$rospack profile
6.2 シミュレータのテスト
下記のコマンドにより、Arbotixシミュレータのテストを行って下さい。

その前に!!!

GazeboやRvizなどの表示系のプログラムとディスプレイドライバの不具合が報告されています。
特に、私のように仮想マシンを使っているとGazeboやRvizが動かない場合が多いようです。
詳しい人が皆さん苦労して、解決方法を探っていますが決定版はありません。
ディスプレイドライバを最新にするとか…
で、*経験的*に以下の二つを実行するとエラーになる確率が減るようです。

mesa-utils をインストールする。
何故かうまく行く様になることが多いです。何故でしょう???
sudo apt-get install mesa-utils

さらに、VMware などの仮想環境をお使いの方は、
「表示」メニューで「シングルウィンドウ」では無く「フルスクリーン」にする。
シングルウィンドウの場合も、出来るだけ大きな画面にドラッグしておく。
画面の解像度も出来るだけ高解像度にしておく。

私の環境では、この二つに注意したところ今のところ問題なくGazeboやRvizが使えています。

ということで、もう一度、Arbotixシミュレータのテストです。
別の記事に書きます…

2014年11月13日木曜日

5. ROS by Exampleのサンプルプログラムを実行するための準備

5.1 必要なROSパッケージをインストールします。

$ sudo apt-get install ros-hydro-turtlebot-* \ros-hydro-openni-camera ros-hydro-openni-launch \ros-hydro-openni-tracker ros-hydro-laser-* \
ros-hydro-audio-common ros-hydro-joystick-drivers \
ros-hydro-orocos-kdl ros-hydro-python-orocos-kdl \ros-hydro-dynamixel-motor-* ros-hydro-pocketsphinx \gstreamer0.10-pocketsphinx python-setuptools python-rosinstall \
ros-hydro-opencv2 ros-hydro-vision-opencv \
ros-hydro-depthimage-to-laserscan ros-hydro-arbotix-* \
git subversion mercurial
これで一気にインストールできるはずです。

5.2 サンプルプログラムのダウンロード
以下のコマンドでgitリポジトリからROS by Exampleのプログラムをダウンロードします。以下のコマンドを順番に実行して下さい。
$cd ~/catkin_ws/src
$git clone https://github.com/pirobot/rbx1.git
$cd rbx1
$git checkout hydro-devel
$cd ~/catkin_ws
$catkin_make
$source ~/catkin_ws/devel/setup.bash




2014年11月12日水曜日

4.12 実機ロボットと制御用PCとのネットワーク

この章は大事です。
ROSではネットワークに接続された複数のPCで分散してプログラムを実行することができます。
そのため、各PCで時刻が揃っていることが必要です。マスタとクライアントのPCで時刻がズレていて思わぬ不具合が生じる例もあります。

4.12.1で説明している時刻の同期は必ず行って下さい。

4.12.1 時刻を同期するツールの chrony  をインストールする
$ sudo apt-get install chrony
再起動するとchronyデーモンが実行され、インターネット上のサーバから正確な時刻を取得します。

この本のサンプルを一台のPCで実行する場合は以降の設定は必要ありません。
5章まで一気に飛んで下さい。
ロボット内蔵のPCと制御用のPCを繋いで実行する場合など、ネットワーク経由でROSを使う場合の設定は別の記事に書きます。

2014年11月4日火曜日

4.3 CatkinによるROSパッケージの作成

このページをよく読んで、ワークスペースの概要を学んで下さい。
次に下記のコマンドでパッケージを管理するワークスペースを作って下さい。

$ source /opt/ros/hydro/setup.bash
ホームディレクトリの直下に catkin_ws という名前でワークスペースを作ります
$ mkdir -p ~/catkin_ws/src
$ cd ~/catkin_ws/src
$ catkin_init_workspace

ワークスペースをビルドします
$ cd ~/catkin_ws/
$ catkin_make

新しい端末を開く度に以下のコマンド実行してください
$ cd ~/catkin_ws
$ source devel/setup.bash


これは少し面倒なので、.bashrc  を変更するのが便利です。
  • $ vi ~/.bashrc
~/.bashrc の最後に以下の一行を加えておく
  • source ~/catkin_ws/devel/setup.bash

2014年11月3日月曜日

4.1 ROSのインストール

ROSのバージョンはHydroです。
インストールのページを見て、以下の順番にコマンドを実行すればほぼ失敗なくインストールができます。
日本語のチュートリアルには「Ubuntuレポジトリを構成する」という項目がありますが、今回は必要ありません。

  • 新しい端末を開く度に以下のコマンド実行してください
    $ cd ~/catkin_ws
    $ source devel/setup.bash

これは少し面倒なので、.bashrc  を変更するのが便利です。
  • $ vi ~/.bashrc
~/.bashrc の最後に以下の一行を加えておく
  • source /opt/ros/hydro/setup.bash
    source ~/catkin_ws/devel/setup.bash
     

2014年10月17日金曜日

3. Linux(Ubuntu)オペレーティングシステムとROSのバージョン

サンプルの実行環境は以下の通りです。
RvizやGazeboの表示系に不具合が報告されている仮想マシン(VMware)をあえて使っています。
ガンバレば何とかなるもんです。

仮想マシン(VMware)に関して

VMware上のROSの動作に関しては、いくつかの問題点が指摘されています。
・RVizやGazeboなどを動かした時のグラフィックスの不具合
グラフィックスの扱いは、ROSだけでなくVMwareでは度々問題になるようです。
もし、グラフィックスがうまく動かないようなら以下のコマンドを試してみてください。
$ sudo apt-get install mesa-utils
経験的にこのコマンドでうまくいく例が報告されています。

・Kinect、Xtionが動かない
私のところでも仮想マシンではKinectが動きませんでした。
今のところ、お手上げ状態です。


「毎日がロボット勉強会」では以下の環境で動作の確認を行っています。


ハードウェア

Mac mini (Late 2012) 

    2.6 GHz Intel Core i7, 16GB 1600 MHz DDR3

MacBook Pro (Retina, 15-inch, Late 2013) 
   2.6 GHzIntel Core i7, 16GB 1600 MHz DDR3

ソフトウェア
OS X 10.9
VMware Fusion Ver. 6.0.5(2209127)
→Kinectを使うサンプルはVMwareは使わない
Ubuntu-12.04.3LTS 64bit(英語版)
ROS Hydro

実機ロボット
Turtlebot(Roomba Create ベース)
Turtlebot2 (Kobukiベース)

Ubuntu-12.04.3LTS 64bit + ROS Hydro

この組み合わせは安定して動くので気に入って使ってます。

2014年10月7日火曜日

2. 実機ロボットとシミュレーション

【シミュレータ】
ROSのシミュレータと言えば、Gazeboが一般的ですがこの本では大半の章でArbotiX というマイナーなシミュレータを使っています。
ArbotiXはGazeboのようにセンサの動的なシミュレーションは苦手ですが、とても軽く動くのでVol.1の前半にあるような経路探索のサンプルなどには十分です。
本格的な動力学のシミュレーションが必要な場合には、Vol.2にGazeboの紹介もあるので比べてみてください。

【実機ロボット】
やはりロボットは実機を動かさないと面白くありません。
ということで、この本では実機を動かすことにも多くのページを割いています。
この本の例題で使われている実機ロボットはTurtleBotとPi Robotです。
TurtleBotはベースがRommbaCreateでKinect for Xbox 360が付いています。RoombaCreateもKinect for Xbox 360も既に販売中止になっているので、これからロボットを購入しようと思っても難しかもしれません。

もう一台は、Pi Robotでこれは著者らが中心になって開発しているロボットで日本での入手は難しいんじゃないでしょうか?
私はPi RobotはYoutubeでしか見たことありません。

ということで、私の研究室にはTurtleBotが5台ほどあるので実機での動作には困らないのですが、このブログの読者???の皆さんの為に、本書のサンプルをKobukiベースのTurtleBot2でも動くようにしながら本を読んでいくことにします。
本書のすべてのサンプルがTurtleBot2で動くかは保証できませんが…


こんな感じでTurtleBot2がArbotiX上で動いています。


TurtleBot2の購入はこちらへどうぞ→→