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.