• Stars
    star
    224
  • Rank 177,792 (Top 4 %)
  • Language
    C++
  • License
    Apache License 2.0
  • Created over 6 years ago
  • Updated 3 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Integration between ROS (1 and 2) and Gazebo simulation

Build Status

ROS 2 version Gazebo version Branch Binaries hosted at
Foxy Citadel foxy https://packages.ros.org
Foxy Edifice foxy only from source
Galactic Edifice galactic https://packages.ros.org
Galactic Fortress galactic only from source
Humble Fortress humble https://packages.ros.org
Humble Garden humble only from source
Iron Fortress iron https://packages.ros.org
Iron Garden iron only from source
Rolling Edifice ros2 only from source
Rolling Fortress humble https://packages.ros.org
Rolling Garden ros2 only 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 Edifice, Fortress, or Garden.

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

export GZ_VERSION=edifice

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 humble
    

    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
    

ROSCon 2022

Project Template

A template project integrating ROS and Gazebo simulator

More Repositories

1

gazebo-classic

Gazebo classic. For the latest version, see https://github.com/gazebosim/gz-sim
C++
1,183
star
2

gz-sim

Open source robotics simulator. The latest version of Gazebo.
C++
674
star
3

sdformat

Simulation Description Format (SDFormat) parser and description files.
C++
165
star
4

gz-omni

Connnects Gazebo to Isaac Sim
C++
118
star
5

ros_gz_project_template

A template project integrating ROS and Gazebo simulator
C++
116
star
6

gz-gui

Builds on top of Qt to provide widgets which are useful when developing robotics applications, such as a 3D view, plots, dashboard, etc, and can be used together in a convenient unified interface.
C++
72
star
7

gz-physics

Abstract physics interface designed to support simulation and rapid development of robot applications.
C++
64
star
8

gz-rviz

ROS 2 visualization using Gazebo Libraries
C++
57
star
9

gz-sensors

Provides numerous sensor models designed to generate realistic data from simulation environments.
C++
57
star
10

gz-math

General purpose math library for robot applications.
C++
54
star
11

gz-rendering

C++ library designed to provide an abstraction for different rendering engines. It offers unified APIs for creating 3D graphics applications.
C++
54
star
12

docs

High-level Gazebo documentation that gets published to https://gazebosim.org/docs/
Python
50
star
13

gz-plugin

Cross-platform C++ library for dynamically loading plugins.
C++
31
star
14

gz-transport

Transport library for component communication based on publication/subscription and service calls.
C++
29
star
15

sdf_tutorials

SDFormat documentation and proposals.
27
star
16

gz-mujoco

Python
26
star
17

gz-cmake

A set of CMake modules that are used by the C++-based Gazebo projects.
CMake
24
star
18

gz-msgs

Messages for Gazebo robot simulation.
C++
21
star
19

gz-usd

Command line tools to convert SDFormat to USD and viceversa
C++
19
star
20

gz-tools

Command line tools for the Gazebo libraries.
C++
14
star
21

gz-fuel-tools

A client library and command line tools for interacting with Gazebo Fuel servers.
C++
12
star
22

gz-launch

Run and manage programs and plugins.
JavaScript
11
star
23

gz-common

An audio-visual library supports processing audio and video files, a graphics library can load a variety 3D mesh file formats into a generic in-memory representation, and the core library of Gazebo Common contains functionality that spans Base64 encoding/decoding to thread pools.
C++
11
star
24

design

Design documents and proposals for Gazebo.
7
star
25

gz-bazel

gz-bazel provides a set of Bazel build rules that are used by the Gazebo projects.
Python
6
star
26

gz-utils

Classes and functions for robot applications
C++
6
star
27

gz-rndf

An RNDF parser.
C++
3
star
28

gz-garden

Garden, Gazebo's 7th named release
CMake
3
star
29

gz-fortress

Fortress, Gazebo's 6th named release
CMake
3
star
30

gazebo_test_cases

TypeScript
3
star
31

.github

Default Ignition health files such as issue and PR templates
2
star
32

garden-tutorial-party

1
star
33

gz-edifice

Edifice, Gazebo's 5th named release
CMake
1
star
34

gz-chrono

Connects Gazebo with the Project Chrono Physics Engine
CMake
1
star
35

gz-citadel

Citadel, Gazebo's 3rd named release
CMake
1
star
36

gz-harmonic

Harmonic, Gazebo's 8th named release
CMake
1
star
37

gz_pkg_create

A tool for setting up gazebo related projects.
Ruby
1
star
38

gz-omni-meta

1
star