Gazebo與ROS版本說明

2022-11-30 15:41:28 浏览数 (1)

使用哪种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。

使用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存储库。

使用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安装的最新发布的版本。

我想使用bullet / simbody / dart物理引擎,我应该使用哪个版本的Gazebo?

从gazebo4开始,bullet和simbody支持内置在Ubuntu包中,因此请按照上述说明使用gazebo4和ROS。 Dart仍然需要从源码安装gazebo(从gazebo3开始),因此您可以使用gazebo3或更高版本,并按照本页上面的说明使其与ROS配合使用。

我需要使用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在同一个文档。

我需要使用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。

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

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.

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.

0 人点赞