// the find
cyberbotics/webots
Webots Robot Simulator
Webots is a cross-platform robot simulator originally built at EPFL in 1996, open-sourced in 2018. It covers the full simulation stack: physics, sensors (lidar, camera, GPS, etc.), actuator models, and a built-in IDE with controllers in C/C++/Python/Java/MATLAB. Aimed at academics and robotics researchers who need a free alternative to Gazebo or MATLAB/Simulink for prototyping robot behaviors before hardware.
Native ROS/ROS2 integration is first-class, not an afterthought — the ros2_supervisor and webots_ros2 package are maintained by the same team. The PROTO node system lets you define parametric robot models that reuse geometry and physics without duplicating definitions, which keeps complex multi-robot worlds manageable. Nightly CI across Linux/Windows/macOS with a real test suite is rare for a simulator of this age and signals genuine maintenance discipline. The webots.cloud platform lets you run and share simulations in-browser without a local install, which is genuinely useful for teaching.
Large-scale multi-robot simulations hit a wall fast — Webots is single-threaded per simulation world, so 50+ robots with active sensors will choke even beefy hardware. The physics engine (ODE under the hood) is showing its age: soft-body simulation is absent, contact stability at high speeds is finicky, and fluid dynamics is decorative rather than physically accurate. The PROTO system, while powerful, has a steep learning curve with minimal tooling — debugging a broken PROTO inheritance chain means reading raw .wbt XML, there's no visual schema editor. Controller development happens in a separate process with a timestep-locked API, which means you can't use standard async or threading patterns in your robot code without fighting the simulation loop.