Gazebo與ROS版本說明

使用哪一種ROS / Gazebo版本的組合

介紹

本文檔提供了有關將不一樣版本的ROS與不一樣版本的Gazebo結合使用的選項的概述。建議在安裝Gazebo ROS包裝以前閱讀它。
重要!簡單的分析,快速和正確的決定
若是您計劃使用特定版本的ROS,而且沒有理由使用特定版本的Gazebo,那麼您應該繼續安裝gazebo_ros_pkgs教程,該教程解釋瞭如何安裝ROS徹底支持的gazebo版本。
警告:請注意,使用與從ROS存儲庫提供的官方版本不一樣的Gazebo版本可能會致使衝突或其餘與ROS包的集成問題。
Gazebo版本和ROS集成
Gazebo是一個獨立的項目,如boost,ogre或ROS使用的任何其餘項目。一般,在每一個ROS發佈週期開始時提供的最新主要版本的Gazebo(例如ROS Jade的gazebo5)被選爲徹底集成和支持的官方版本,而且將在ROS分發的整個生命期間保持。
Gazebo開發不與ROS同步,所以每一個新的主要版本的Gazebo必須在使用ROS分發以前被釋放。如下部分介紹如何在不一樣版本的Gazebo中使用ROS。
注意,Gazebo ABI穩定性策略遵循語義版本化哲學,其中具備相同主要編號的全部版本(gazebo_6.0.0,gazebo_6.1.0,gazebo_6.0.1,...)是二進制兼容的,所以當使用相同的ROS分佈。

安裝Gazebo

Gazebo Ubuntu包
安裝Gazebo的最簡單的方法是使用軟件包。 Gazebo包有兩個主要的倉庫:一個是packages.ros.org,另外一個是packages.osrfoundation.org。在寫做時:

    packages.ros.org
        Indigo:主機Gazebo版本2.x包。
        Jade:主機Gazebo版本5.x包。
    packages.osrfoundation.org
        gazebo 5.x系列(包名稱gazebo5)
        gazebo 6.x系列(包名稱gazebo6)
        gazebo 7.x系列(包名稱gazebo7)

這意味着,包含osrfoundation存儲庫不是絕對須要獲得Gazebo Ubuntu包。它能夠從ros存儲庫安裝。
Gazebo從源建造
若是你從源碼編譯了Gazebo版本,注意,根據使用的存儲庫分支(gazebo6,gazebo7,...)你的Gazebo將與gazebo_ros_pkgs(和全部其餘ROS包編譯在Gazebo頂部)二進制兼容只有主要版本匹配您的本地分支存儲庫和您的ROS發行版中使用的Gazebo版本。例如,若是您從Gazebo分支gazebo_2.0進行編譯,則可使用Indigo中的gazebo_ros_pkgs(使用gazebo2系列)。

注意,若是你使用默認分支,你可能不是二進制兼容任何發佈的軟件包,因此你須要一個catkin工做區,以得到一個有效的gazebo_ros_pkgs。app


使用ROS分發的默認Gazebo版本

對於須要運行特定版本的ROS並想要使用全部gazebo ROS相關軟件包的用戶,這是推薦的部分:

Jade

ROS Jade託管5.x版本的Gazebo。對於徹底集成的ROS系統,咱們建議使用5.x版本的Gazebo。繼續的方式只是使用ROS存儲庫(它將自動安裝gazebo5),而不使用osrfoundation存儲庫。

Indigo


ROS Indigo主機是2.x版本的Gazebo。對於徹底集成的ROS系統,咱們建議使用2.x版本的Gazebo。繼續的方式只是使用ROS存儲庫(它將自動安裝gazebo2),而且不使用osrfoundation存儲庫。ide

使用ROS的特定Gazebo版本

警告!:使用此選項,您將沒法使用與ROS deb存儲庫中的Gazebo相關的任何ROS Ubuntu軟件包。至關於gazebo_ros_pkgs能夠從debian軟件包安裝,但全部其餘軟件(如turtlebot_gazebo)必須從源代碼構建。感謝catkin工做區,這是很容易作到的。

有一種方法使用任何特定版本的Gazebo和ROS,若是真的須要:
Gazebo 7.x系列
OSRF存儲庫提供了創建在gazebo7軟件包之上的-gazebo7版本的ROS / Indigo和ROS / Jade gazebo包裝器(gazebo7_ros_pkgs)。使用它們的步驟是:

    將osrfoundation存儲庫添加到源列表。
    從osrfoundation倉庫安裝ros- $ ROS_DISTRO-gazebo7-ros-pkgs,它將安裝gazebo7軟件包。
    使用catkin工做區來編譯從源代碼使用的其他軟件。

Gazebo 6.x系列
OSRF存儲庫提供了-gazebo6-版本的ROS / Indigo和ROS / Jade gazebo包裝器(gazebo6_ros_pkgs),它們構建在gazebo6軟件包之上。使用它們的步驟是:

    將osrfoundation存儲庫添加到源列表。
    從osrfoundation倉庫安裝ros- $ ROS_DISTRO-gazebo6-ros-pkgs,它將安裝gazebo6軟件包。
    使用catkin工做區來編譯從源代碼使用的其他軟件。

Gazebo 5.x系列
OSRF存儲庫提供了-gazebo5-版本的ROS / Indigo gazebo包裝器(gazebo5_ros_pkgs),它們構建在gazebo5軟件包的頂部。使用它們的步驟是:

    將osrfoundation存儲庫添加到源列表。
    從osrfoundation倉庫安裝ros-indigo-gazebo5-ros-pkgs,這將安裝gazebo5軟件包。
    使用catkin工做區來編譯從源代碼使用的其他軟件。

常問問題

我根本不使用ROS,我應該使用哪一個版本?

若是您不須要ROS支持,推薦的版本是可使用osrfoundation repo安裝的最新發布的版本。ui


我想使用bullet / simbody / dart物理引擎,我應該使用哪一個版本的Gazebo?

從gazebo4開始,bullet和simbody支持內置在Ubuntu包中,所以請按照上述說明使用gazebo4和ROS。 Dart仍然須要從源碼安裝gazebo(從gazebo3開始),所以您可使用gazebo3或更高版本,並按照本頁上面的說明使其與ROS配合使用。this


我須要使用gazebo5 / gazebo6 / gazebo7和ROSIndigo,我能作什麼?

警告!:使用此選項,您將沒法使用與ROS deb存儲庫中的Gazebo相關的任何ROS Indigo軟件包。方法是從源代碼構建它們。感謝catkin工做區,這是很容易作到的。

若是你須要一些功能只存在於版本5.x,6.x或7.x的Gazebo,有一種方法來安裝gazebo5,gazebo6或gazebo7和ROSIndigo。請按照說明,關於如何使用ROS與gazebo4,gazebo5或gazebo6在同一個文檔。spa


我須要使用gazebo6 / gazebo7和ROSJade,我能作什麼?

警告!:使用此選項,您將沒法使用與ROS deb存儲庫中的Gazebo相關的任何ROS Jade包。方法是從源代碼構建它們。感謝catkin工做區,這是很容易作到的。

若是你須要一些功能只存在於版本6.x / 7.x的Gazebo,有一種方法來安裝gazebo6或gazebo7和ROSJade。請按照同一文檔中關於如何使用ROS與gazebo6軟件包的說明。設計


一些ROS包與GazeboX ROS Wrappers衝突!

注意,每一個ROS分佈被設計爲與特定版本的Gazebo(gazebo5在Jade中)一塊兒使用。當有人選擇使用與ROS發行版中推薦的版本不一樣的Gazebo版本時,可能會出現問題,其中一些可能沒法解決。

若是在嘗試安裝本文檔中描述的某個版本以後發現依賴性衝突(例如使用RVIZ),您將須要從源代碼安裝ROS或Gazebo。rest


官網原文,翻譯爲谷歌翻譯。code

Introduction

This document provides an overview about the options to use different versions of ROSin combination with different versions of Gazebo.It is recommended to read it before installing the Gazebo ROS wrappers.教程

Important! simple analysis for a quick and correct decision

If you are planning on using a specific version of ROS and don't have a reasonto use a specific version of Gazebo, you should proceed with theInstalling gazebo_ros_pkgstutorial which explains how to install the fully supported version of gazeboby ROS.ci

Warning: note that using a different gazebo version than the official version delivered from the ROSrepositories could end up in conflicts or other integration problems with ROS packages.

Gazebo versions and ROS integration

Gazebo is an independent project like boost, ogre orany other project used by ROS. Usually, the latest major version of gazeboavailable at the beginning of every ROS release cycle (for example gazebo5for ROS Jade) is selected as the official one to be fully integrated andsupported and will be kept during the whole life of the ROS distribution.

Gazebo development is not synced with ROS, so each new major version of Gazebomust be released before being used in a ROS distribution. The followingsections cover how to use ROS with different versions of Gazebo.

Note that Gazebo ABI stability policy follows thesemantic versioning philosophy, in which all versionsthat have the same major number (gazebo_6.0.0, gazebo_6.1.0,gazebo_6.0.1, ...) are binary compatible and thus interchangeable when usingthe same ROS distro.

Installing Gazebo

Gazebo Ubuntu packages

The easiest way of installing Gazebo is to use packages. There are two main repositories which host Gazebo packages: one is packages.ros.org and the other is packages.osrfoundation.org. At the time of writing:

  • packages.ros.org
    • Indigo: host gazebo version 2.x package.
    • Jade: host gazebo version 5.x package.
  • packages.osrfoundation.org
    • gazebo 5.x series (package name gazebo5)
    • gazebo 6.x series (package name gazebo6)
    • gazebo 7.x series (package name gazebo7)

This means that including the osrfoundation repository is not strictly needed to get the Gazebo Ubuntu package.It can be installed from the ros repository.

Gazebo built from source

If you have compiled a gazebo version from source, note that depending on therepository branch used (gazebo6,gazebo7,...) your gazebo will bebinary compatible with the gazebo_ros_pkgs (and all other ROS packages compiledon top of gazebo) only if the major version matches your local branchrepository and the gazebo version used in your ROS distro. For example, if youare compiling from gazebo branch gazebo_2.0, you can use the gazebo_ros_pkgspresent in Indigo (which uses gazebo2 series).

Note that if you are using default branch, you are probably not binarycompatible with any of the packages released, so you will need a catkinworkspace for getting a valid gazebo_ros_pkgs.

Using the default Gazebo version for a ROS distribution

For the users that need to run a specific version of ROSand want to use all the gazebo ROS related packages out-of-the-box,this is the recommended section:

Jade

ROS Jade hosts the 5.x version of Gazebo.For a fully-integrated ROS system, we recommend using the 5.x version ofGazebo. The way to proceed is just to use the ROS repository (it willautomatically install gazebo5) and do not use the osrfoundationrepository.

Indigo

ROS Indigo hosts the 2.x version of Gazebo.For a fully-integrated ROS system, we recommend using the 2.x version of Gazebo.The way to proceed is just to use the ROS repository (it will automatically install gazebo2)and do not use the osrfoundation repository.

Using a specific Gazebo version with ROS

Warning!: Using this option, you won't be able to use any ROS Ubuntu packagerelated to Gazebo from ROS deb repository. The equivalent of gazebo_ros_pkgscan be installed from debian packages, but all other software (such asturtlebot_gazebo) must be built fromsource. Thanks to catkin workspacesthis is quite easy to do.

There is a way of using any specific version of gazebo and ROS if really needed:

Gazebo 7.x series

The OSRF repository provides -gazebo7- versions of ROS/Indigo and ROS/Jadegazebo wrappers (gazebo7_ros_pkgs) which are built on top of the gazebo7package. The steps to use them are:

  • Add the osrfoundation repository to your sources list.
  • Install ros-$ROS_DISTRO-gazebo7-ros-pkgs from the osrfoundation repository, which will install the gazebo7 package.
  • Use catkin workspaces to compile the rest of the software used from source.

Gazebo 6.x series

The OSRF repository provides -gazebo6- versions of ROS/Indigo and ROS/Jadegazebo wrappers (gazebo6_ros_pkgs) which are built on top of the gazebo6package. The steps to use them are:

  • Add the osrfoundation repository to your sources list.
  • Install ros-$ROS_DISTRO-gazebo6-ros-pkgs from the osrfoundation repository, which will install the gazebo6 package.
  • Use catkin workspaces to compile the rest of the software used from source.

Gazebo 5.x series

The OSRF repository provides -gazebo5- versions of ROS/Indigo gazebo wrappers(gazebo5_ros_pkgs) which are built on top of the gazebo5 package.The steps to use them are:

  • Add the osrfoundation repository to your sources list.
  • Install ros-indigo-gazebo5-ros-pkgs from the osrfoundation repository, which will install the gazebo5 package.
  • Use catkin workspaces to compile the rest of the software used from source.

FAQ

I am not using ROS at all, which version should I use?

If you don't need ROS support, the recommended version is the latest released version that can beinstalled using the osrfoundation repo.

I want to use the bullet/simbody/dart physics engine, which version of Gazebo should I use?

Starting from gazebo4, bullet and simbody support is built into the Ubuntu package,so please follow the above instructions to use gazebo4 in combination with ROS.Dart still requires gazebo installation from source (starting from gazebo3),so you can use gazebo3 or above and follow the instructions above in this page to make it work with ROS.

I need to use gazebo5/gazebo6/gazebo7 and ROS Indigo, what can I do?

Warning!: Using this option, you won't be able to use any ROS Indigo package related to Gazebo from ROS deb repository. The way to go is to build them from source. Thanks to catkin workspaces this is quite easy to do.

If you need some features only present in version 5.x, 6.x or 7.x of Gazebo,there is a way of installing gazebo5, gazebo6 or gazebo7 and ROS Indigo.Please follow the instructions about how to use ROS with gazebo4, gazebo5 orgazebo6 which are in this same document.

I need to use gazebo6/gazebo7 and ROS Jade, what can I do?

Warning!: Using this option, you won't be able to use any ROS Jade packagerelated to Gazebo from ROS deb repository. The way to go is to build them fromsource. Thanks to catkin workspaces this is quite easy to do.

If you need some features only present in versions 6.x/7.x of Gazebo,there is a way of installing gazebo6 or gazebo7 and ROS Jade. Pleasefollow the instructions about how to use ROS with gazebo6 packagewhich are in this same document.

Some ROS packages conflict with GazeboX ROS Wrappers!

Note that each ROS distribution is designed to be used with an specific versionof Gazebo (gazebo5 in Jade). When someone chooses to use a different versionof Gazebo than the one recommended in the ROS distribution, problems may appearand some of them could be unsolvable.

If you a find a dependency conflict (for example with RVIZ) after trying toinstall one of the versions described in this document, you will need toprobably install ROS or Gazebo from source.

相關文章
相關標籤/搜索