
検証日時
02/14/2015 (Sat)
概要
Gazeboのチュートリアル第六弾「Connect to ROS」。
ROSはロボットの制御フレームワークです。このチュートリアルでは、GazeboとROSのインターフェースについて説明します。
今回はその「Which combination of ROS/Gazebo Versions to use」編です。
公式サイトを適当に翻訳しただけですので、あしからず。
レベル
INTERMEDIATE
環境
| PC | : | Lenovo ThinkPad X240 |
| Prosessor | : | Intel Core i7-4600U (2.10GHz, 4MB, 1600MHz) |
| RAM | : | PC3-12800 DDR3L (8GB) |
| OS | : | Ubuntu 14.04 LTS 64bit |
| Kernel | : | 3.13.0-44-generic |
| Gazebo | : | Version 5.0.1 |
参考
GAZEBO Tutorial-Connect to ROS
はじめに
このドキュメントでは、ROSとGazeboをそれぞれ異なるバージョンの組み合わせで使うためのオプションについて説明します。Gazebo ROSラッパーをインストールする前に、読んでおくことをおすすめします。
簡単な判断のための短いバージョン
もし、ROSの特定のバージョンを使用しており、Gazeboの特定のバージョンを使用する理由がないなら、gazebo_ros_pkgsをインストールするというチュートリアルへ進むこともできます。
GazeboのバージョンとROSの統合
ROS Hydroまでは、GazeboはROSパッケージの代替とみなされていました。これは、Gazeboのメジャーバージョンの一つ(例えば、ROS Indigo用のgazebo2)はROSリリースサイクルの始まりであり、すべてのROSディストリビューションの間で保たれていたということを意味します。Gazeboの開発はROSから独立しています。なので、Gazeboの新しい各バージョンはROSディストリビューションで使用される前にリリースする必要があります。
Gazebo ABIの安定化ポリシーは、同じメジャーナンバーを持つすべてのバージョン(gazebo_2.0.0,gazebo_2.1.0,gazebo_2.0.1,…etc)はバイナリー互換であり、それ故に同じROSディストリビューションを使用するなら、相互に使用することができるといったような、sematic versioning pholosophyに準拠しているということを覚えておいてください。
Gazeboをインストールする
GazeboのUbuntuパッケージ
Gazeboをインストールする簡単な方法は、パッケージを使うことです。Gazeboパッケージがホストしているレポジトリは主に2つあります。:一つはpackage.ros.orgで、もうひとつは、osrfoundation.packages.orgです。この投稿を行った時点では、ホストの状況は以下のようになっています。
- packages.ros.org
- Hydro: hosts gazebo version 1.x package.
- Indigo: host gazebo version 2.x package.
- packages.osrfoundation.org
- gazebo 1.x series (package name gazebo)
- gazebo 2.x series (package name gazebo-current or gazebo2 in saucy/trusty)
- gazebo 3.x series (package name gazebo3)
- gazebo 4.x series (package name gazebo4)
このことは、osrfoundationレポジトリは必ずしもUbuntuのGazeboパッケージから取得する必要がないということを意味します。ROSのレポジトリからインストールすることができます。
Gazeboをソースからビルドする
ソースコードからGazeboのバージョンをコンパイルしたのなら、あなたのGazeboで使用しているレポジトリのブランチにおける依存関係(gazebo_3.0, gazebo_4.0,…etc)は、メジャー場^ジョンがローカルブランチのレポジトリとROSのディストリビューションで使用しているGazeboのバージョンが一致するときにかぎり、gazebo_ros_pkgs(それとGazeboでコンパイル済みのすべてのROSパッケージも)と共にバイナリコンパイルされます。例えば、もしあなたが、gazebo_2.0のGazeboブランチよりコンパイルをしているのなら、Indigo(Indigoはgazebo2シリーズを使用している)にあるgazebo_ros_pkgsを使用することができます。
もしあなたが、デフォルトのブランチを使用しているなら、大抵のリリースされたパッケージと共にバイナリコンパイルを行うことはできません。なので、gazebo_ros_pkgsを有効にするために、catkinワークスペースが必要となります。
ROSディストリビューションのためにGazeboのデフォルトバージョンを使う
特定のROSディストリビューションを使用する必要があり、out-of-the-boxのパッケージに関連するGazeboやROSを使用したい人にとって、このセクションは重要です。
Indigo
ROS IndigoはGazeboの2.xのバージョンをホストしています。完全に統合されたROSのシステムのためには、Gazeboの2.xバージョンを使用することをおすすめします。適用方法は、ROSレポジトリを使用するということだけで、(自動でgazebo2がインストールされます)osrfoundationレポジトリは必要ありません。
Hydro
ROS HydroはGazeboの1.9.xのバージョンをホストしています。完全に統合されたROSシステムのためには、Gazeboの1.9.xバージョンを使用することをおすすめします。適用する方法は、ROSレポジトリを使用するということだけで、(自動でgazeboがインストールされます)osrfoundationレポジトリは必要ありません。
特定のバージョンのGazeboをROSと使用する
!警告! : このオプションを使うと、ROSのdebレポジトリによるGazeboに関連したいかなるROS Ubuntuパッケージも使用できなくなるかもしれません。gazebo_ros_pkgsと同等のものは、debianパッケージによりインストールすることは可能ですが、その他のすべてのソフトウェア(turtlebot_gazeboなど)はソースコードからビルドしなければなりませんが、catkinワークスペースのおかげで、これを行うのはとても簡単です。
本当に必要であれば、特定のバージョンのGazeboとROSを使用する方法はたくさんあります:
Gazebo 4.x シリーズ
OSRFレポジトリは、gazebo4パッケージの最新をビルドする、-gazebo4-バージョンのROS/IndigoとROS/HydroのGazeboラッパーを提供しています。(`gazebo4_ros_pkgs)これらを使用する手順は以下のとおりです。
osrfoundationレポジトリをソースリストに追加するgazebo4パッケージをインストールするのに使う、ros-distro-gazebo4-ros-pkgsをosrfoundationレポジトリより追加する。- ソースコードから、残りのソフトウェアをコンパイルするために、
catkinワークスペースを使う
Gazebo 3.x シリーズ
OSRFレポジトリは、gazebo3パッケージの最新をビルドする、-gazebo3-バージョンのROS/HydroとROS/GroovyのGazeboラッパーを提供しています。(gazebo3_ros_pkgs)これらを使用する手順は以下のとおりです。
osrfoundationレポジトリをソースリストに追加するgazebo3パッケージをインストールするのに使う、ros-distro-gazebo3-ros-pkgsをosrfoundationレポジトリより追加する。- ソースコードから、残りのソフトウェアをコンパイルするために、
catkinワークスペースを使う
Gazebo 2.x シリーズ
OSRFレポジトリは、gazebo-currentパッケージの最新をビルドする、-current-バージョンのROS/HydroとROS/GroovyのGazeboラッパーを提供しています。(gazebo_ros_pkgs-current)これらを使用する手順は以下のとおりです。
osrfoundationレポジトリをソースリストに追加するgazebo-currentパッケージをインストールするのに使う、ros-distro-gazebo-ros-pkgs-currentをosrfoundationレポジトリより追加する。- ソースコードから、残りのソフトウェアをコンパイルするために、
catkinワークスペースを使う
FAQ
私はDARPAのロボティクスチャレンジ参加者です。どのバージョンを使うのが良いですか?
drcsim-3.2はgazebo3でビルドされています。drcsim-4.0からスタートすると、gazebo4を使うことになります。
私はまだROSを使ったことがありません。どのバージョンを使うのが良いですか?
ROSのサポートが必要ないなら、osrfoundationのレポジトリを利用してインストールできる、最新リリースのバージョンをおすすめします。
bullet/simbody/dart物理エンジンを使いたいのですが、どのバージョンが良いですか?
gazebo4から始めるなら、bulletとsimbodyがUbuntuパッケージでサポートされています。なので、ROSと一緒に、gazebo4を使用するには、上記の説明に従ってください。Dartはソースコードからのインストールも必要とします(gazebo3からはじめるなら)。なので、gazebo3かそれ以外のバージョンを使用することができます。ROSと共に使用するために、このページの上部の説明に従ってください。
ROS-JではどのバージョンのGazeboが動きますか?
まだ決まってません。しかし、予定ではおそらくgazebo5でしょう。
gazebo4とROS Indigoを使う必要があります。どうしたらよいですか?
!警告! : このオプションを使うと、ROSのdebレポジトリから供給されるGazebo関連のROS Indigoパッケージが使えなくなるかもしれません。ソースコードからビルドする必要がありますが、catkinワークスペースのおかげで、これを行うのはとても簡単です。
Gazebo4.xのバージョンにだけある機能を使用する必要があるなら、gazebo4とROS Indigoをインストールするという方法があります。このページ内にあるgazebo4パッケージを使ったROSの使い方についての説明に従ってください。
gazebo3とROS Indigoを使う必要があります。どうしたらよいですか?
!警告! : このオプションを使うと、ROSのdebレポジトリから供給されるGazebo関連のROS Indigoパッケージが使えなくなるかもしれません。ソースコードからビルドする必要がありますが、catkinワークスペースのおかげで、これを行うのはとても簡単です。
Gazebo3.xのバージョンにだけある機能を使用する必要があるなら、gazebo3とROS Indigoをインストールするという方法があります。このページ内にあるgazebo3パッケージを使ったROSの使い方についての説明に従ってください。