Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add the Humble/Harmonic pairing #420

Merged
merged 1 commit into from
Jan 4, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
68 changes: 23 additions & 45 deletions ros_installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ This document provides guidance on using different versions
of ROS in combination with different versions of Gazebo. We recommend reading
it before installing [ros_gz](https://github.com/gazebosim/ros_gz).

# Picking the "Correct" Versions of ROS & Gazebo
## Picking the "Correct" Versions of ROS & Gazebo

If this is your first time using ROS and Gazebo, and you are not following
specific instructions or tutorials, we recommend using the latest long term
Expand All @@ -30,7 +30,7 @@ At the time of writing, our recommendation is that new users install:
* [ROS 2 Humble Hawksbill](https://www.ros.org/reps/rep-2000.html#humble-hawksbill-may-2022-may-2027)
* [Gazebo Fortress](https://gazebosim.org/docs/fortress/install)

# Summary of Compatible ROS and Gazebo Combinations
## Summary of Compatible ROS and Gazebo Combinations

This table includes all currently supported versions of ROS and Gazebo. All
other ROS and Gazebo releases are end of life and we do not recommend their
Expand All @@ -41,7 +41,7 @@ continued use.
|------------------------ |---------------------- |----------------------- |--------------- | ---------------------- |
| **ROS 2 Rolling** | ❌ | ✅ | ⚡ | ⚡ |
| **ROS 2 Iron** | ❌ | ✅ | ⚡ | ⚡ |
| **ROS 2 Humble (LTS)** | ❌ | ✅ | ⚡ | |
| **ROS 2 Humble (LTS)** | ❌ | ✅ | ⚡ | |
| **ROS 2 Foxy (LTS)** | ✅ | ❌ | ❌ | ❌ |
| **ROS 1 Noetic (LTS)** | ✅ | ⚡ | ❌ | ❌ |

Expand All @@ -52,14 +52,14 @@ continued use.
be made to work together, but some effort is required.


## Installing Gazebo with Older Versions of ROS
## Installing the Default Gazebo/ROS Pairing

If you are planning on using a specific version of ROS and don't have a reason
to use a specific version of Gazebo, we recommend using the default version of
Gazebo available from the ROS repository when installing `ros_gz`. The following
command will install the correct version of Gazebo and `ros_gz` for your ROS
installation on a Linux system. You should replace `${ROS_DISTRO}` with your ROS
distribution (e.g. `humble`, `rolling`,`foxy`, etc).
distribution (e.g. `humble`, `rolling`,`foxy`, `noetic`, etc).

```bash
sudo apt-get install ros-${ROS_DISTRO}-ros-gz
Expand All @@ -74,7 +74,7 @@ installations pathways. We do not recommend the following approaches for new
users.
</div>

# Specific ROS and Gazebo Pairings
## Specific ROS and Gazebo Pairings

Gazebo is an independent project like Boost, Ogre, and many other projects used
by ROS. Usually, the latest version of Gazebo is available at the beginning of
Expand Down Expand Up @@ -116,41 +116,7 @@ This means that including the `osrfoundation.org` repository is not strictly nee
to get the Gazebo binary packages, as it can be installed from the ROS
repository.

## Installing the default Gazebo version for a ROS distribution using binary installations

For users that need to run a specific version of ROS and want to use all
the Gazebo ROS related packages out-of-the-box, taking
the following approach is recommended:

### ROS 2 Humble and ROS 2 Rolling

* ROS 2 Humble and ROS 2 Rolling officially support Gazebo Fortress, meaning
Fortress is the recommended version of Gazebo to use.
* To install this combination of ROS and Gazebo first install ROS and then
install either `ros-humble-ros-gz` and `ros-rolling-ros-gz` from
`packages.ros.org`.
* These packages will automatically install both Gazebo Fortress and the ros-gz
bridge.

### ROS 2 Foxy

* ROS 2 Foxy officially supports Gazebo Citadel, meaning the recommended version
of Gazebo for ROS 2 Foxy is Citadel.
* To install Gazebo Citadel with Foxy simply
install `ros-foxy-ros-gz` from `packages.ros.org`.
* This package will automatically install both Gazebo Citadel and the ros-gz
bridge.

### ROS 1 Noetic

* ROS Noetic officially supports Gazebo Citadel, meaning the recommended version
of Gazebo for ROS Noetic is Citadel.
* To install Gazebo Citadel with Noetic simply
install `ros-noetic-ros-gz` from `packages.ros.org`.
* This package will automatically install both Gazebo Citadel and the ros-gz
bridge.

## Using a specific and unsupported Gazebo version with ROS 2
## Installing Non-Default Gazebo/ROS 2 Pairings
<div class="warning">
<strong>Warning:</strong> Only use this approach if you absolutely need to run a
version of Gazebo that is not officially supported by your ROS distro. Using
Expand All @@ -176,7 +142,19 @@ every ROS package that uses a Gazebo library):

Both approaches may also require that you modify your ROS or Gazebo source code to support this compilation.

### Gazebo Harmonic with ROS 2 Iron or Rolling (Use with caution)
### 📦 Gazebo Harmonic with ROS 2 Humble, Iron or Rolling (Use with caution)

Gazebo Harmonic can be used with ROS 2 Humble and non ROS official binary packages hosted
in `packages.osrfoundation.org`. These packages conflict with `ros-humble-ros-gz*`
packages (Humble officially supports Gazebo Fortress).

To install the binary Gazebo Harmonic/ROS 2 Humble packages:

* Folow [these instruction to install gz-harmonic](https://gazebosim.org/docs/harmonic/install_ubuntu#binary-installation-on-ubuntu)
from [`packages.osrfoundation.org`](https://packages.osrfoundation.org/gazebo/ubuntu/)
repository.
* Install `ros_gz` from the non official binary packages from apt:
* `apt-get install ros-humble-ros-gzharmonic`

Gazebo Harmonic can be used with ROS 2 Iron and non ROS official binary packages hosted
in `packages.osrfoundation.org`. These packages conflict with `ros-iron-ros-gz*`
Expand All @@ -202,7 +180,7 @@ from source.
* [ROS 2 Rolling](https://github.com/gazebosim/ros_gz/tree/ros2#from-source)
* Be sure of using `export GZ_VERSION=harmonic`

### Gazebo Garden with ROS 2 Humble, Iron or Rolling (Use with caution)
### 📦 Gazebo Garden with ROS 2 Humble, Iron or Rolling (Use with caution)

Gazebo Garden can be used with ROS 2 Humble and non ROS official binary packages hosted
in `packages.osrfoundation.org`. These packages conflict with `ros-humble-ros-gz*`
Expand Down Expand Up @@ -240,7 +218,7 @@ from source.
* [ROS 2 Rolling](https://github.com/gazebosim/ros_gz/tree/ros2#from-source)
* Be sure of using `export GZ_VERSION=garden`

### Gazebo Fortress with ROS 2 Galactic or ROS 1 Noetic (Not Recommended)
### 📦 Gazebo Fortress with ROS 2 Galactic or ROS 1 Noetic (Not Recommended)

Gazebo Fortress can be used with ROS 2 Galactic and ROS 1 Noetic by compiling
[`ros_gz`](https://github.com/gazebosim/ros_gz) from source
Expand Down Expand Up @@ -286,7 +264,7 @@ other ROS packages that depend on Gazebo-classic.
| | **Gazebo Garden** | **Gazebo Harmonic (LTS)** |
|------------------------ |----------------------------- | -------------------------- |
| **ROS 2 Iron** | `ros-iron-ros-gzgarden` | `ros-iron-ros-gzharmonic` |
| **ROS 2 Humble (LTS)** | `ros-humble-ros-gzgarden` | |
| **ROS 2 Humble (LTS)** | `ros-humble-ros-gzgarden` | `ros-humble-ros-gzharmonic` |

#### Where I can find the different features implemented on each Gazebo version?

Expand Down
Loading