Webots is a free and open-source 3D
robot simulator
A robotics simulator is a simulator used to create an application for a physical robot without depending on the physical machine, thus saving cost and time. In some case, such applications can be transferred onto a physical robot (or rebuilt) with ...
used in industry, education and research.
The Webots project started in 1996, initially developed by Dr. Olivier Michel at the Swiss Federal Institute of Technology (
EPFL) in
Lausanne
, neighboring_municipalities= Bottens, Bretigny-sur-Morrens, Chavannes-près-Renens, Cheseaux-sur-Lausanne, Crissier, Cugy, Écublens, Épalinges, Évian-les-Bains (FR-74), Froideville, Jouxtens-Mézery, Le Mont-sur-Lausanne, Lugrin (FR ...
,
Switzerland and then from 1998 by Cyberbotics Ltd. as a proprietary licensed software. Since December 2018, it is released under the free and open-source
Apache 2 license.
Webots includes a large collection of freely modifiable models of robots, sensors, actuators and objects. In addition, it is also possible to build new models from scratch or import them from 3D CAD software. 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 uses a fork of the ODE (
Open Dynamics Engine
The Open Dynamics Engine (ODE) is a physics engine written in C/C++. Its two main components are a rigid body dynamics simulation engine and a collision detection engine. It is free software licensed both under the BSD license and the LGPL.
O ...
) 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.
Webots includes a set of sensors and actuators frequently used in robotic experiments, e.g. lidars, radars,
proximity sensors
A proximity sensor is a sensor able to detect the presence of nearby objects without any physical contact.
A proximity sensor often emits an electromagnetic field or a beam of electromagnetic radiation (infrared, for instance), and looks for ...
, light sensors, touch sensors,
GPS
The Global Positioning System (GPS), originally Navstar GPS, is a satellite-based radionavigation system owned by the United States government and operated by the United States Space Force. It is one of the global navigation satellite sy ...
,
accelerometer
An accelerometer is a tool that measures proper acceleration. Proper acceleration is the acceleration (the rate of change of velocity) of a body in its own instantaneous rest frame; this is different from coordinate acceleration, which is acc ...
s, cameras, emitters and receivers, servo motors (rotational & linear), position and force sensor, LEDs, grippers, gyros, compass, IMU, etc.
The robot controller programs can be written outside of Webots in
C,
C++
C++ (pronounced "C plus plus") is a high-level general-purpose programming language created by Danish computer scientist Bjarne Stroustrup as an extension of the C programming language, or "C with Classes". The language has expanded significan ...
,
Python
Python may refer to:
Snakes
* Pythonidae, a family of nonvenomous snakes found in Africa, Asia, and Australia
** ''Python'' (genus), a genus of Pythonidae found in Africa and Asia
* Python (mythology), a mythical serpent
Computing
* Python (pro ...
,
ROS,
Java
Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's mos ...
and
MATLAB
MATLAB (an abbreviation of "MATrix LABoratory") is a proprietary multi-paradigm programming language and numeric computing environment developed by MathWorks. MATLAB allows matrix manipulations, plotting of functions and data, implementa ...
using a simple API.
Webots offers the possibility to take screenshots and record simulations. Webots worlds are stored in cross-platform *.wbt files whose format is based on the
VRML
VRML (Virtual Reality Modeling Language, pronounced ''vermal'' or by its initials, originally—before 1995—known as the Virtual Reality Markup Language) is a standard file format for representing 3-dimensional (3D) interactive vector graph ...
language. One can also import and export Webots worlds and objects in the VRML format. Users can interact with a running simulation by moving robots and other objects with the mouse. Webots can also stream a simulation on web browsers using
WebGL
WebGL (Short for Web Graphics Library) is a JavaScript API for rendering interactive 2D and 3D graphics within any compatible web browser without the use of plug-ins. WebGL is fully integrated with other web standards, allowing GPU-accelera ...
.
Web interface
Since August 18, 2017, the robotbenchmark.net 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
#include
#include
#define TIME_STEP 64
int main()
Main fields of application
* Fast prototyping of wheeled and legged robots
* Research on robot locomotion
*
Swarm intelligence (Multi-robot simulations)
*
Artificial life
Artificial life (often abbreviated ALife or A-Life) is a field of study wherein researchers examine systems related to natural life, its processes, and its evolution, through the use of simulations with computer models, robotics, and biochemistry ...
and
evolutionary robotics Evolutionary robotics is an embodied approach to Artificial Intelligence (AI) in which robots are automatically designed using Darwinian principles of natural selection. The design of a robot, or a subsystem of a robot such as a neural controller, ...
* Simulation of adaptive behaviour
[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. ][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.]
*
Self-Reconfiguring Modular Robotics
* Experimental environment for
computer vision
* Teaching and robot programming contests
Included robot models
A complete and up-to-date list is provided in the Webots user guide.
*
AIBO
AIBO (''stylized aibo, Artificial Intelligence Robot'', homonymous with , "pal" or "partner" in Japanese) is a series of robotic dogs designed and manufactured by Sony. Sony announced a prototype Aibo in mid-1998, and the first consumer model wa ...
ERS7 and ERS210,
Sony
, commonly stylized as SONY, is a Japanese multinational conglomerate corporation headquartered in Minato, Tokyo, Japan. As a major technology company, it operates as one of the world's largest manufacturers of consumer and professiona ...
Corporation
* BIOLOID (dog), Robotis
[ Bioloid]
* Boe-Bot
* DARwIn-OP, Robotis
*
E-puck
* Hemisson
* HOAP-2,
Fujitsu Limited
*
iCub,
RobotCub Consortium
The Framework Programmes for Research and Technological Development, also called Framework Programmes or abbreviated FP1 to FP9, are funding programmes created by the European Union/European Commission to support and foster research in the Europea ...
*
iRobot Create,
iRobot
iRobot Corporation is an American technology company that designs and builds consumer robots. It was founded in 1990 by three members of MIT's Artificial Intelligence Lab, who designed robots for space exploration and military defense. The com ...
* Katana IPR, Neuronics AG
*
Khepera mobile robot
The Khepera is a small (5.5 cm) differential wheeled mobile robot that was developed at the LAMI laboratory of Professor Jean-Daniel Nicoud at EPFL (Lausanne, Switzerland) in the mid 1990s. It was developed by Edo. Franzi, Francesco Mond ...
I, II, III, K-Team Corporation
* KHR-2HV, KHR-3HV, Kondo
* Koala, K-Team Corporation
*
Lego Mindstorms
Lego Mindstorms is a hardware and software structure which develops programmable robots based on Lego building blocks. Each version includes computer Lego bricks, a set of modular sensors and motors, and Lego parts from the Technic line to ...
(RCX Rover model)
* Magellan
*
Nao V2, V3, Aldebaran Robotics
* MobileRobots Inc Pioneer 2, Pioneer 3-DX, Pioneer 3-AT
* Puma 560,
Unimate
Unimate was the first industrial robot,
which worked on a General Motors assembly line at the Inland Fisher Guide Plant in Ewing Township, New Jersey, in 1961.Mickle, Paul"1961: A peep into the automated future" ''The Trentonian''. Accessed Aug ...
* Scout 2
* Shrimp III, BlueBotics SA
* Surveyor SRV-1, Surveyor Corporation
* youBot,
KUKA
KUKA is a German manufacturer of industrial robots and systems for factory automation. It has been predominantly owned by the Chinese company Midea Group since 2016.
The KUKA Robotics Corporation has 25 subsidiaries, mostly sales and servi ...
Cross compilation and remote control support
*
E-puck
*
DARwIn-OP and Robotis OP2
*
NAO
*
Thymio II
See also
*
ROS
*
E-puck
References
External links
{{Commons category
Cyberbotics
Robotics simulation software
1996 software
1996 in robotics
Driving simulators