Home

Awesome

Build Status

ROS 2 versionGazebo versionBranchBinaries hosted at
FoxyCitadelfoxyhttps://packages.ros.org
FoxyEdificefoxyonly from source
GalacticEdificegalactichttps://packages.ros.org
GalacticFortressgalacticonly from source
HumbleFortresshumblehttps://packages.ros.org
HumbleGardenhumblegazebo packages1
HumbleHarmonichumblegazebo packages1
IronFortresshumblehttps://packages.ros.org
IronGardenhumbleonly from source
IronHarmonichumbleonly from source
JazzyGardenros2only from source
JazzyHarmonicjazzyhttps://packages.ros.org
RollingFortresshumblehttps://packages.ros.org
RollingGardenros2only from source
RollingHarmonicros2only from source

For information on ROS(1) and Gazebo compatibility, refer to the noetic branch README

Please ticket an issue if you'd like support to be added for some combination.

Details about the renaming process from ign to gz .

Note: The ros_ign prefixed packages are shim packages that redirect to their ros_gz counterpart. Under most circumstances you want to be using the ros_gz counterpart.

Integration between ROS and Gazebo

Packages

This repository holds packages that provide integration between ROS and Gazebo:

Install

This branch supports ROS Rolling. See above for other ROS versions.

Binaries

Rolling binaries are available for Fortress. They are hosted at https://packages.ros.org.

  1. Add https://packages.ros.org

     sudo sh -c 'echo "deb [arch=$(dpkg --print-architecture)] http://packages.ros.org/ros2/ubuntu $(lsb_release -cs) main" > /etc/apt/sources.list.d/ros2-latest.list'
     curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -
     sudo apt-get update
    
  2. Install ros_gz

     sudo apt install ros-rolling-ros-gz
    

From source

ROS

Be sure you've installed ROS Rolling (at least ROS-Base). More ROS dependencies will be installed below.

Gazebo

Install either Fortress, Garden, or Harmonic.

Set the GZ_VERSION environment variable to the Gazebo version you'd like to compile against. For example:

export GZ_VERSION=harmonic # IMPORTANT: Replace with correct version

You only need to set this variable when compiling, not when running.

Compile ros_gz

The following steps are for Linux and OSX.

  1. Create a colcon workspace:

    # Setup the workspace
    mkdir -p ~/ws/src
    cd ~/ws/src
    
    # Download needed software
    git clone https://github.com/gazebosim/ros_gz.git -b ros2
    
  2. Install dependencies (this may also install Gazebo):

    cd ~/ws
    rosdep install -r --from-paths src -i -y --rosdistro rolling
    

    If rosdep fails to install Gazebo libraries and you have not installed them before, please follow Gazebo installation instructions.

  3. Build the workspace:

    # Source ROS distro's setup.bash
    source /opt/ros/<distro>/setup.bash
    
    # Build and install into workspace
    cd ~/ws
    colcon build
    

[!TIP] The ros_gz library makes heavy use of templates which causes compilers to consume a lot of memory. If your build fails with c++: fatal error: Killed signal terminated program cc1plus try building with colcon build --parallel-workers=1 --executor sequential. You might also have to set export MAKEFLAGS="-j 1" before running colcon build to limit the number of processors used to build a single package.

ROSCon 2022

Project Template

A template project integrating ROS and Gazebo simulator

Footnotes

  1. Binaries for these pairings are provided from a the packages.osrfoundation.org repository. Refer to https://gazebosim.org/docs/latest/ros_installation for installation instructions. 2