検証日時
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の使い方についての説明に従ってください。