From d42acc4cbdd3f7543b8ba6a96333013c4883b578 Mon Sep 17 00:00:00 2001 From: "Addisu Z. Taddese" Date: Thu, 4 Jan 2024 13:47:30 -0600 Subject: [PATCH] Add the Humble/Harmonic pairing This also makes other improvments to the ros_installation documentation by removing redundant topics and adding icons to separate sections. Signed-off-by: Addisu Z. Taddese --- ros_installation.md | 68 +++++++++++++++------------------------------ 1 file changed, 23 insertions(+), 45 deletions(-) diff --git a/ros_installation.md b/ros_installation.md index 9b6195dfc..830e45b30 100644 --- a/ros_installation.md +++ b/ros_installation.md @@ -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 @@ -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 @@ -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)** | ✅ | ⚡ | ❌ | ❌ | @@ -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 @@ -74,7 +74,7 @@ installations pathways. We do not recommend the following approaches for new users. -# 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 @@ -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
Warning: Only use this approach if you absolutely need to run a version of Gazebo that is not officially supported by your ROS distro. Using @@ -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*` @@ -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*` @@ -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 @@ -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?