Webots is a free and open-source 3D robot simulator.
It allows you to create 3D simulation models of robots interacting with their
environment through sensors and actuators. Libraries of robots, sensors,
actuators and objects are provided, but you can create your own. Collision
detections, rigid body dynamics and fluid dynamics rely on a modified version
of the ODE physics engine. The robot controller programs can be written
outside of Webots in C, C++, Python, ROS, Java or MATLAB using a simple API.
Webots features a 3D web interface allowing you to publish simulations online.