No version for distro humble. Known supported distros are highlighted in the buttons above.
No version for distro jazzy. Known supported distros are highlighted in the buttons above.
No version for distro kilted. Known supported distros are highlighted in the buttons above.
No version for distro rolling. Known supported distros are highlighted in the buttons above.
![]() |
ardupilot_gz repositorysimulation gazebo ros2 gazebo-simulator ros2-humble ardupilot_gz_application ardupilot_gz_bringup ardupilot_gz_description ardupilot_gz_gazebo |
Repository Summary
Description | Tools for ArduPilot ROS2 integration and testing on ROS 2 humble |
Checkout URI | https://github.com/ardupilot/ardupilot_gz.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-05-12 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | simulation gazebo ros2 gazebo-simulator ros2-humble |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
Name | Version |
---|---|
ardupilot_gz_application | 0.0.0 |
ardupilot_gz_bringup | 0.0.0 |
ardupilot_gz_description | 0.0.0 |
ardupilot_gz_gazebo | 0.0.0 |
README
ardupilot_gz
This project contains ROS 2 packages for simulating models controlled by ArduPilot SITL with DDS support in Gazebo.
The project is adapted from the ros_gz_project_template
project.
Included packages
-
ardupilot_gz_description
- Contains the SDFormat description of the simulated system. -
ardupilot_gz_gazebo
- Contains Gazebo specific code such as system plugins. -
ardupilot_gz_application
- Contains ROS 2 specific code and configuration. -
ardupilot_gz_bringup
- Contains launch files and high level utilities.
Prerequisites
- Install ROS 2 Humble
- Install Gazebo Harmonic (recommended) or Gazebo Ionic
- Follow the
Installing Build Dependencies
section ofAP_DDS
’s README
Install
1. Create a workspace folder
mkdir -p ~/ros2_ws/src
2. Get the project source
cd ~/ros2_ws
vcs import --input https://raw.githubusercontent.com/ArduPilot/ardupilot_gz/main/ros2_gz.repos --recursive src
3. Set the Gazebo version to Harmonic or Ionic
It is recommended to put this in your ~/.bashrc
or equivalent file.
export GZ_VERSION=harmonic
4. Update ROS dependencies
cd ~/ros2_ws
source /opt/ros/humble/setup.bash
sudo apt update
rosdep update
rosdep install --from-paths src --ignore-src -y
5. Build
cd ~/ros2_ws
colcon build
6. Test
source ./install/setup.bash
colcon test --packages-select ardupilot_sitl ardupilot_dds_tests ardupilot_gazebo ardupilot_gz_applications ardupilot_gz_description ardupilot_gz_gazebo ardupilot_gz_bringup
colcon test-result --all --verbose
Usage
1. Source the workspace
source ~/ros2_ws/install/setup.sh
2. Launch the simulation
ros2 launch ardupilot_gz_bringup iris_runway.launch.py rviz:=true use_gz_tf:=true
3. Launch a GCS (MAVPorxy)
mavproxy.py --master udp:127.0.0.1:14550 --console --map
4. Inspect topics
```bash $ ros2 topic list /ap/battery/battery0 /ap/clock /ap/navsat/navsat0
File truncated at 100 lines see the full file
CONTRIBUTING
No version for distro galactic. Known supported distros are highlighted in the buttons above.
No version for distro iron. Known supported distros are highlighted in the buttons above.
No version for distro melodic. Known supported distros are highlighted in the buttons above.
No version for distro noetic. Known supported distros are highlighted in the buttons above.