A template project integrating ROS 2 and Gazebo simulator.
- 
ros_gz_example_description- holds the sdf description of the simulated system and any other assets.
- 
ros_gz_example_gazebo- holds gazebo specific code and configurations. Namely this is where systems end up.
- 
ros_gz_example_application- holds ros2 specific code and configurations.
- 
ros_gz_example_bringup- holds launch files and high level utilities.
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.
- 
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_VERSIONenvironment variable, for example:export GZ_VERSION=harmonicAlso need to build ros_gzandsdformat_urdffrom source if binaries are not available for your chosen combination.
- 
Install necessary tools sudo apt install python3-vcstool python3-colcon-common-extensions git wget 
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- 
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> 
- 
Build the project colcon build --cmake-args -DBUILD_TESTING=ON 
- 
Source the workspace . ~/template_ws/install/setup.sh 
- 
Launch the simulation ros2 launch ros_gz_example_bringup diff_drive.launch.py 
For a more detailed guide on using this template see documentation.