Home

Awesome

ros_gz_project_template

A template project integrating ROS 2 and Gazebo simulator.

Included packages

Install

For using the template with Gazebo Fortress switch to the fortress branch of this repository, otherwise use the default branch main for Gazebo Harmonic onwards.

Requirements

  1. Choose a ROS and Gazebo combination https://gazebosim.org/docs/latest/ros_installation

    Note: If you're using a specific and unsupported Gazebo version with ROS 2, you might need to set the GZ_VERSION environment variable, for example:

    export GZ_VERSION=harmonic
    

    Also need to build ros_gz and sdformat_urdf from source if binaries are not available for your chosen combination.

  2. Install necessary tools

    sudo apt install python3-vcstool python3-colcon-common-extensions git wget
    

Use as template

Directly Use this template and create your project repository on Github.

Or start by creating a workspace and cloning the template repository:

mkdir -p ~/template_ws/src
cd ~/template_ws/src
git clone https://github.com/gazebosim/ros_gz_project_template.git

Usage

  1. Install dependencies

    cd ~/template_ws
    source /opt/ros/$ROS_DISTRO/setup.bash
    sudo rosdep init
    rosdep update
    rosdep install --from-paths src --ignore-src -r -i -y --rosdistro <ROS_DISTRO>
    
  2. Build the project

    colcon build --cmake-args -DBUILD_TESTING=ON
    
  3. Source the workspace

    . ~/template_ws/install/setup.sh
    
  4. Launch the simulation

    ros2 launch ros_gz_example_bringup diff_drive.launch.py
    

For a more detailed guide on using this template see documentation.