finds.dev← search

// the find

gazebosim/ros_gz

★ 525 · C++ · Apache-2.0 · updated Jul 2026

Integration between ROS (1 and 2) and Gazebo simulation

ros_gz is the official bridge between ROS 2 and Gazebo Sim, translating messages bidirectionally between ROS topics/services and Gazebo Transport. It's the mandatory glue layer for anyone doing robot simulation with the modern Gazebo (post-Ignition rename) — there's no real alternative if you're on this stack.

The bridge uses code generation (`.em` templates) to produce per-type factory classes, so adding a new message type doesn't require hand-writing boilerplate for both directions. The version compatibility matrix is explicit and well-maintained — you can see at a glance which ROS/Gazebo pairs have binary packages versus source-only. The `ros_gz_sim_demos` package ships working SDF worlds and launch files for a dozen sensor types, which is genuinely useful for getting oriented. The `gz_simulation_interfaces` addition in `ros_gz_sim` exposes a proper ROS action interface for stepped simulation control, which matters for reinforcement learning pipelines that need deterministic sim steps.

Build times are brutal — the README itself warns you to set `--parallel-workers=1` because template instantiation will OOM your machine, which is a sign the template architecture has scaled past what's practical. The version matrix has multiple 'only from source' entries for recent ROS/Gazebo combinations, meaning you're frequently on your own for the newest pairings. The `ros_gz_point_cloud` package has a `COLCON_IGNORE` file sitting in it, so it's silently excluded from builds without explanation — that's going to confuse anyone who tries to use it. Message conversion is one-to-one and stateless, so anything requiring coordination across message types (e.g., synchronized camera+depth streams) still needs manual handling on the ROS side.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →