Webots
![]() Autonomous car in Webots | |
Developer(s) | Cyberbotics Ltd. |
---|---|
Stable release | Webots R2018a revision2
/ April 18th, 2018 |
Repository | |
Operating system | Windows 10, Linux 64 bit, Mac OS X 10.13, 10.12 |
Type | Robotics simulator |
License | Proprietary, with contributions from the community |
Website | Cyberbotics Web page |
Webots is a professional robot simulator widely used for educational purposes. The Webots project started in 1996, initially developed by Dr. Olivier Michel at the Swiss Federal Institute of Technology (EPFL) in Lausanne, Switzerland.
Webots uses the ODE (Open Dynamics Engine) for detecting of collisions and simulating rigid body dynamics. The ODE library allows one to accurately simulate physical properties of objects such as velocity, inertia and friction.
A large collection of freely modifiable robot models comes in the software distribution. In addition, it is also possible to build new models from scratch. When designing a robot model, the user specifies both the graphical and the physical properties of the objects. The graphical properties include the shape, dimensions, position and orientation, colors, and texture of the object. The physical properties include the mass, friction factor, as well as the spring and damping constants. Simple fluid dynamics is present in the software.
Webots includes a set of sensors and actuators frequently used in robotic experiments, e.g. proximity sensors, light sensors, touch sensors, GPS, accelerometers, cameras, emitters and receivers, servo motors (rotational & linear), position and force sensor, LEDs, grippers, gyros, compass, etc.
The robot controller programs can be written in C, C++, Python, ROS, Java and MATLAB using a simple API.
Webots offers the possibility to take PNG screen shots and to record the simulations as MPEG (Mac/Linux) and AVI (Windows) movies. Webots worlds are stored in cross-platform .wbt files which format is based on the VRML language. It is also possible to import and export Webots worlds or objects in the VRML format. Another useful feature is that the user can interact with a running simulation at any time, i.e., it is possible to move the robots and other object with the mouse. Webots can stream a simulation on web browsers using WebGL.
Webots is used in several online robot programming contests. The Robotstadium competition is a simulation of the RoboCup Standard Platform League. In this simulation two teams of Nao play soccer with rules similar to regular soccer. The robots use simulated cameras, ultrasound and pressure sensors. In the Rat's Life competition two simulated e-puck robots compete for energy resources in a Lego maze. Matches are run on a daily basis and the results can be watched in online videos.
![](http://upload.wikimedia.org/wikipedia/commons/thumb/4/45/Simulation_of_a_KUKA_youBot_mounted_with_a_Microsoft_Kinect_device_in_Webots.png/230px-Simulation_of_a_KUKA_youBot_mounted_with_a_Microsoft_Kinect_device_in_Webots.png)
![](http://upload.wikimedia.org/wikipedia/commons/thumb/6/64/Simulation_of_an_iRobot_Create_in_Webots.png/230px-Simulation_of_an_iRobot_Create_in_Webots.png)
![](http://upload.wikimedia.org/wikipedia/commons/thumb/7/70/Simulation_of_a_Robotis_DARwIn-OP_in_Webots.png/230px-Simulation_of_a_Robotis_DARwIn-OP_in_Webots.png)
![](http://upload.wikimedia.org/wikipedia/commons/thumb/0/0d/Pioneer3AT.png/230px-Pioneer3AT.png)
![](http://upload.wikimedia.org/wikipedia/commons/thumb/0/0a/Pioneer3DX.png/230px-Pioneer3DX.png)
![](http://upload.wikimedia.org/wikipedia/commons/thumb/6/66/Atlas_robot_3D_model.png/220px-Atlas_robot_3D_model.png)
Web interface
Since August 18, 2017, the Robot Benchmark website has offered free access to a series of robotics benchmarks based on Webots simulations through the Webots web interface. Webots instances are running in the cloud and the 3D views are displayed in the user browser. From this web interface, users can program robots in Python and learn robot control in a step-by-step procedure.
Controller programming example
This is a simple example of C/C++ controller programming with Webots: a trivial collision avoidance behavior. Initially, the robot runs forwards, then when an obstacle is detected it rotates around itself for a while and then resumes the forward motion.
#include <webots/robot.h>
#include <webots/differential_wheels.h>
#include <webots/distance_sensor.h>
#define TIME_STEP 64
int main() {
// initialize Webots
wb_robot_init();
// get handle and enable distance sensor
WbDeviceTag ds = wb_robot_get_device("ds");
wb_distance_sensor_enable(ds, TIME_STEP);
// control loop
while (1) {
// read sensors
double v = wb_distance_sensor_get_value(ds);
// if obstacle detected
if (v > 512) {
// turn around
wb_differential_wheels_set_speed(-600, 600);
}
else {
// go straight
wb_differential_wheels_set_speed(600, 600);
}
// run a simulation step
wb_robot_step(TIME_STEP);
}
return 0;
}
Main fields of application
- Fast prototyping of wheeled and legged robots
- Research on robot locomotion[1]
- Swarm intelligence (Multi-robot simulations)[2][3]
- Artificial life and evolutionary robotics
- Simulation of adaptive behaviour[4][5]
- Self-Reconfiguring Modular Robotics[6]
- Experimental environment for computer vision
- Teaching and robot programming contests
Included robot models
- AIBO ERS7 and ERS210,[7] Sony Corporation
- BIOLOID (dog), Robotis[8]
- Boe-Bot
- DARwIn-OP, Robotis
- E-puck
- Hemisson
- HOAP-2, Fujitsu Limited
- iCub, RobotCub Consortium
- iRobot Create, iRobot
- Katana IPR, Neuronics AG
- Khepera mobile robot I, II, III, K-Team Corporation
- KHR-2HV, KHR-3HV, Kondo
- Koala, K-Team Corporation
- Lego Mindstorms (RCX Rover model)
- Magellan
- Nao V2, V3, Aldebaran Robotics
- MobileRobots Inc Pioneer 2, Pioneer 3-DX, Pioneer 3-AT
- Puma 560, Unimate
- Scout 2
- Shrimp III, BlueBotics SA
- Surveyor SRV-1, Surveyor Corporation
- youBot, KUKA
Cross compilation support
See also
References
- ^ "Hand placement during quadruped locomotion in a humanoid robot: A dynamical system approach" (PDF). Biologically Inspired Robotics Group. 2007.
- ^ "Distributed Adaptation in Multi-Robot Search using Particle Swarm Optimization". Swarm-Intelligent Systems Group. 2008.
- ^ "Assembly of Configurations in a Networked Robotic System: A Case Study on a Reconfigurable Interactive Table Lamp" (PDF). DISAL - Distributed Intelligent Systems and Algorithms Laboratory. 2008.
- ^ Louis-Emmanuel Martinet, Denis Sheynikhovich, Karim Benchenane, and Angelo Arleo (2011) Spatial Learning and Action Planning in a Prefrontal Cortical Network Model, PLoS Comput Biol 7(5): e1002045. doi:10.1371/journal.pcbi.1002045
- ^ Mannella F., Mirolli M., Baldassarre G., A computational model of the amygdala nuclei's role in second order conditioning. In M. Asada et al. (eds.), From Animals to Animats 10: Proceedings of the Tenth International Conference on the Simulation of Adaptive Behavior (SAB2008), pp. 321-330. LNAI 5040 Berlin: Springer.
- ^ "An active connection mechanism for modular self-reconfigurable robotic systems based on physical latching" (PDF). Biologically Inspired Robotics Group. 2008.
- ^ "Aibo and webots: Simulation, wireless remote control and controller transfer" (PDF). Biologically Inspired Robotics Group. 2006.
- ^ Bioloid
External links
![](http://upload.wikimedia.org/wikipedia/en/thumb/4/4a/Commons-logo.svg/30px-Commons-logo.svg.png)