Lock Gazebo's Physics Clock for Repeatable Robot Tests
Control how Gazebo advances simulation time so robot control-loop tests produce repeatable results across different machines.
ReadMeFeed / Community knowledge
Real questions. Useful conversations. Find the people who know your stack.
Control how Gazebo advances simulation time so robot control-loop tests produce repeatable results across different machines.
ModelPlugins let you run custom C++ logic inside Gazebo's simulation loop. This guide covers the Load/Init/Update lifecycle, a differential-drive plugin example, and trade‑offs versus ROS 2 control — including ABI version locking, joint authority conflicts, and Transport topic mismatches.
Learn how to load a custom URDF robot into Gazebo Classic using the ROS 2 /spawn_entity service, including prerequisites, the exact service call, verification steps, and recovery options for common mesh and naming failures.
Learn how a Gazebo System plugin can coordinate multiple robots more efficiently than per‑model plugins, with a complete build‑and‑run example and performance tips.
Decide whether to load a C++ system plugin into Gazebo Sim or drive your robot from an external process over Gazebo transport, with headless CI in mind.
A decision guide for choosing and tuning Gazebo physics engines (ODE, Bullet, DART, Simbody) to resolve jitter and instability in contact-rich robot simulations.
Select the right Gazebo physics engine—ODE, Bullet, Simbody, or DART—by editing the SDF <code><physics></code> block. Learn how each engine differs, how to tune key parameters, and common pitfalls to avoid for realistic, high‑performance robot simulations.
Gazebo’s native camera sensor can publish RGB images directly to ROS2, eliminating custom plugins. This guide walks through wiring a UR5 robot’s camera to a ROS2 node, highlights trade‑offs, and offers a quick checklist to keep your simulation real‑time.
Wiring ros2_control into Gazebo lets you command simulated manipulators with standard ROS 2 controllers. This post walks through the plugin architecture, a minimal two-link arm example, version compatibility, and the three most common misconfiguration traps.