Gazebo

Gazebo is an open-source 3D simulator for robots. Its documentation introduces it as “a 3D robotics simulator,” and the getting-started material expands on that: Gazebo Sim “is an open source robotics simulator that provides users access to high fidelity physics, rendering, and sensor models.” For roboticists it fills a specific and expensive gap, the ability to run a robot’s actual software against a simulated body and world instead of risking real hardware on every untested idea.

What makes simulation useful is fidelity in three areas, and Gazebo addresses each. It offers “multiple high-performance physics engines” so contacts, joints, and gravity behave realistically; advanced 3D rendering so cameras see plausible images; and synthetic sensors. The documentation notes it “generates sensor data from laser range finders, cameras, Kinect sensors, contact sensors, force-torque, IMU, GPS, and more.” A mapping or navigation algorithm cannot tell whether a laser scan came from a real lidar or from Gazebo, which is exactly the point.

Gazebo’s place in the ecosystem comes from its tight coupling with ROS. The same node-and-topic interfaces a robot exposes on real hardware can be driven by a simulated robot in Gazebo, so the ROS documentation carries dedicated tutorials for “Setting up a robot simulation (Gazebo).” A team can develop against the simulator, watch the robot publish sensor topics and consume command topics exactly as it would in the lab, and only then move to physical trials.

The combination of ROS and Gazebo became a standard teaching and research setup. It lowered the cost of robotics experimentation to a laptop, let many people share and reproduce experiments without owning a robot, and let developers run regression tests, hard scenarios, and dangerous edge cases over and over in a world where a crash costs nothing.