gz-ros2-bridge

Bridge Gazebo Transport topics to ROS 2 DDS with ros_gz_bridge.

18|2|Updated Apr 20, 2026
One-click install
npx skills add https://github.com/wimblerobotics/ros2-copilot-skills --skill gz-ros2-bridge
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: gz-ros2-bridge
Source: https://github.com/wimblerobotics/ros2-copilot-skills/tree/main/gz-ros2-bridge
Command: npx skills add https://github.com/wimblerobotics/ros2-copilot-skills --skill gz-ros2-bridge

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Gazebo simulations often run with Gazebo Transport, which is not directly readable by ROS 2 nodes. This skill provides a reliable bridge between Gazebo and ROS 2 using the ros_gz_bridge package so that simulated sensors, odometry, and control commands can be consumed by ROS 2 ecosystems.

Core Features & Use Cases

  • Bidirectional topic bridging between Gazebo and ROS 2 for common data like /clock, /cmd_vel, /odom, sensor topics, and TF transforms.
  • Flexible direction control to support GZ→ROS, ROS→GZ, or bidirectional setups, with clear mapping rules and timing considerations.
  • Use Case: Run a Gazebo simulation of a mobile robot and verify navigation stacks by exchanging velocity commands and odometry with ROS 2 controllers.

Quick Start

Start a Gazebo simulation and configure ros_gz_bridge mappings to connect Gazebo topics to ROS 2 topics during runtime.

Frequently Asked Questions about gz-ros2-bridge

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I bridge Gazebo Transport topics to ROS 2 DDS?▼

You can bridge Gazebo Transport topics to ROS 2 DDS using ros_gz_bridge, which maps simulated sensor data, odometry, and control commands so they can be consumed by ROS 2 ecosystems during runtime.

Why are my ROS 2 nodes not reading Gazebo simulation sensors and odometry?▼

ROS 2 nodes cannot read Gazebo sensors and odometry directly because Gazebo uses Gazebo Transport; ros_gz_bridge is required to bridge the communication and make simulated data available to ROS 2.

What's the best way to control topic direction between Gazebo and ROS 2?▼

The best way to control topic direction between Gazebo and ROS 2 is using ros_gz_bridge's flexible direction control, which supports GZ→ROS, ROS→GZ, or bidirectional setups with clear mapping rules for data flow.

Does ros_gz_bridge support bidirectional communication for cmd_vel and TF transforms?▼

Yes, ros_gz_bridge supports bidirectional topic bridging for cmd_vel and TF transforms, allowing velocity commands and coordinate transforms to be exchanged seamlessly between Gazebo simulations and ROS 2 controllers.

Can I use Gazebo simulation to verify a ROS 2 mobile robot navigation stack?▼

Yes, you can verify a ROS 2 mobile robot navigation stack using Gazebo simulation by bridging velocity commands and odometry with ros_gz_bridge, enabling ROS 2 controllers to exchange data with the simulated environment.

How do I synchronize the clock between Gazebo and ROS 2?▼

To synchronize the clock between Gazebo and ROS 2, apply ros_gz_bridge to map the /clock topic, ensuring correct time synchronization between Gazebo Transport and ROS 2 DDS during simulation runtime.