Webots

Last updated
Developer(s) Cyberbotics Ltd.
Stable release
Webots R2025a / January 31st, 2025
Repository GitHub
Operating system Windows, Linux, macOS
Type Robotics simulator
License Apache 2
Website Cyberbotics Web page

Webots is a free and open-source 3D robot simulator used in industry, education and research.

Contents

The Webots project started in 1996, initially developed by Dr. Olivier Michel at the Swiss Federal Institute of Technology (EPFL) in Lausanne, 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. [1]

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) 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, light sensors, touch sensors, GPS, accelerometers, 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++, Python, ROS, Java and MATLAB 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 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.

Simulation of a Robotis-Op3in Webots Robotisop3.png
Simulation of a Robotis-Op3in Webots
Simulation of a Pioneer 3-AT (Adept Mobile Robots) mounted with a SICK LMS 291 in Webots Pioneer3at.png
Simulation of a Pioneer 3-AT (Adept Mobile Robots) mounted with a SICK LMS 291 in Webots
Simulation of a Pioneer 3-DX (Adept Mobile Robots) in Webots Pioneer3DX.png
Simulation of a Pioneer 3-DX (Adept Mobile Robots) in Webots
A simulation model of the PR2 robot in Webots. Pr2.png
A simulation model of the PR2 robot in Webots.
A simulation model of the Khepera III robot with gripper in Webots. Khepera3.png
A simulation model of the Khepera III robot with gripper in Webots.
A simulation model of a salamander robot in Webots which has a deformable skin. SalamanderSimu.png
A simulation model of a salamander robot in Webots which has a deformable skin.
A simulation model of the Boston Dynamics Atlas robot in Webots. Atlas robot 3D model.png
A simulation model of the Boston Dynamics Atlas robot in Webots.

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<webots/robot.h>#include<webots/motor.h>#include<webots/distance_sensor.h>#define TIME_STEP 64intmain(){// initialize Webotswb_robot_init();// get handle and enable distance sensorWbDeviceTagds=wb_robot_get_device("ds");wb_distance_sensor_enable(ds,TIME_STEP);// get handle and initialize the motorsWbDeviceTagleft_motor=wb_robot_get_device("left_motor");WbDeviceTagright_motor=wb_robot_get_device("right_motor");wb_motor_set_position(left_motor,INFINITY);wb_motor_set_position(right_motor,INFINITY);wb_motor_set_velocity(left_motor,0.0);wb_motor_set_velocity(right_motor,0.0);// control loopwhile(1){// read sensorsdoublev=wb_distance_sensor_get_value(ds);// if obstacle detectedif(v>512){// turn aroundwb_motor_set_velocity(left_motor,-600);wb_motor_set_velocity(right_motor,600);}else{// go straightwb_motor_set_velocity(left_motor,600);wb_motor_set_velocity(right_motor,600);}// run a simulation stepwb_robot_step(TIME_STEP);}wb_robot_cleanup();return0;}

Main fields of application

Included robot models

A complete and up-to-date list is provided in the Webots user guide.

Cross compilation and remote control support

See also

Related Research Articles

<span class="mw-page-title-main">Pointing device</span> Human interface device for computers

A pointing device is a human interface device that allows a user to input spatial data to a computer. Graphical user interfaces (GUI) and CAD systems allow the user to control and provide data to the computer using physical gestures by moving a hand-held mouse or similar device across the surface of the physical desktop and activating switches on the mouse. Movements of the pointing device are echoed on the screen by movements of the pointer and other visual changes. Common gestures are point and click and drag and drop.

AIBO is a series of robotic dogs designed and manufactured by Sony. Sony announced a prototype Aibo in mid-1998, and the first consumer model was introduced on 11 May 1999. New models were released every year until 2006. Although most models were dogs, other inspirations included lion cubs and space explorers. Only the ERS-7, ERS-110/111 and ERS-1000 versions were explicitly a "robotic dog", but the 210 can also be considered a dog due to its Jack Russell Terrier appearance and face. In 2006, AIBO was added into the Carnegie Mellon University Robot Hall of Fame.

<span class="mw-page-title-main">Game controller</span> Device used with games or entertainment systems

A game controller, gaming controller, or simply controller, is an input device or input/output device used with video games or entertainment systems to provide input to a video game. Input devices that have been classified as game controllers include keyboards, mice, gamepads, and joysticks, as well as special purpose devices, such as steering wheels for driving games and light guns for shooting games. Controllers designs have evolved to include directional pads, multiple buttons, analog sticks, joysticks, motion detection, touch screens and a plethora of other features.

<span class="mw-page-title-main">Lego Mindstorms</span> Hardware and software platform by Lego

Lego Mindstorms is a discontinued line of educational kits for building programmable robots based on Lego bricks. It was introduced on 1 September 1998 and discontinued on 31 December 2022.

<span class="mw-page-title-main">Haptic technology</span> Any form of interaction involving touch

Haptic technology is technology that can create an experience of touch by applying forces, vibrations, or motions to the user. These technologies can be used to create virtual objects in a computer simulation, to control virtual objects, and to enhance remote control of machines and devices (telerobotics). Haptic devices may incorporate tactile sensors that measure forces exerted by the user on the interface. The word haptic, from the Ancient Greek: ἁπτικός (haptikos), means "tactile, pertaining to the sense of touch". Simple haptic devices are common in the form of game controllers, joysticks, and steering wheels.

<span class="mw-page-title-main">FANUC</span> Japanese robotics company

FANUC is a Japanese group of companies that provide automation products and services such as robotics and computer numerical control wireless systems. These companies are principally FANUC Corporation of Japan, Fanuc America Corporation of Rochester Hills, Michigan, USA, and FANUC Europe Corporation S.A. of Luxembourg.

i-Cybie Robotic toy dog

i-Cybie (爱赛比) is a robotic pet that resembles a dog. It was manufactured by Silverlit Toys Manufactory Ltd Hong Kong from 2000 to 2006. i-Cybie was developed for commercial distribution by Tiger Electronics. Outrageous International Hong Kong distributed the electronic pet from 2005 to 2006. The i-Cybie robotic dog responds to sound, touch, movement, and voice commands. The toy robot can autonomously recharge its batteries using a special docking station. I-Cybie was the first mass-produced toy that used advanced voice recognition technology.

<span class="mw-page-title-main">Robot kit</span> Construction kit for building robots

A robot kit is a special construction kit for building robots, especially autonomous mobile robots.

Robotics is the branch of technology that deals with the design, construction, operation, structural disposition, manufacture and application of robots. Robotics is related to the sciences of electronics, engineering, mechanics, and software. The word "robot" was introduced to the public by Czech writer Karel Čapek in his play R.U.R., published in 1920. The term "robotics" was coined by Isaac Asimov in his 1941 science fiction short-story "Liar!"

Modular self-reconfiguring robotic systems or self-reconfigurable modular robots are autonomous kinematic machines with variable morphology. Beyond conventional actuation, sensing and control typically found in fixed-morphology robots, self-reconfiguring robots are also able to deliberately change their own shape by rearranging the connectivity of their parts, in order to adapt to new circumstances, perform new tasks, or recover from damage.

iRobot Create Hobbyist robot based on the Roomba vacuum cleaner

iRobot Create is a hobbyist robot manufactured by iRobot that was introduced in 2007 and based on their Roomba vacuum cleaning platform. The iRobot Create is explicitly designed for robotics development and improves the experience beyond simply hacking the Roomba. The Create replaces its Roomba predecessor's vacuum cleaner hardware with a cargo bay that also houses a DB-9 port providing serial communication, digital input & output, analog input & output, and an electric power supply. The Create also has a 7-pin Mini-DIN serial port through which sensor data can be read and motor commands can be issued using the iRobot Roomba Open Interface (ROI) protocol.

Urbi is an open-source cross-platform software computing platform written in C++ used to develop applications for robotics and complex systems. Urbi is based on the UObject distributed C++ component architecture. It also includes the urbiscript orchestration language which is a parallel and event-driven script language. UObject components can be plugged into urbiscript and appear as native objects that can be scripted to specify their interactions and data exchanges. UObjects can be linked to the urbiscript interpreter, or executed as autonomous processes in "remote" mode.

<span class="mw-page-title-main">E-puck mobile robot</span>

The e-puck is a small (7 cm) differential wheeled mobile robot. It was originally designed for micro-engineering education by Michael Bonani and Francesco Mondada at the ASL laboratory of Prof. Roland Siegwart at EPFL. The e-puck is open hardware and its onboard software is open-source, and is built and sold by several companies.

<span class="mw-page-title-main">Robotics simulator</span> Simulator to create applications for physical robots

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 without modification.

<span class="mw-page-title-main">Nao (robot)</span> Small humanoid robot developed by the French company Aldebaran Robotics

Nao is an autonomous, programmable humanoid robot formerly developed by Aldebaran Robotics, a French robotics company headquartered in Paris, which was acquired by SoftBank Group in 2015 and rebranded as SoftBank Robotics. The robot's development began with the launch of Project Nao in 2004. On 15 August 2007, Nao replaced Sony's robot dog Aibo as the robot used in the RoboCup Standard Platform League (SPL), an international robot soccer competition. The Nao was used in RoboCup 2008 and 2009, and the NaoV3R was chosen as the platform for the SPL at RoboCup 2010.

<span class="mw-page-title-main">AnyKode Marilou</span> Software

anyKode Marilou is a modeling and simulation environment for mobile robots, humanoids, articulated arms and parallel robots operating in real-world conditions that respect the laws of physics. This robotics suite is used in research centers and industry for various projects like humanoid architectures, wheeled and multi legged vehicles, and multi-robot systems (Multi-agents).

The following outline is provided as an overview of and topical guide to robotics:

AnimatLab is an open-source neuromechanical simulation tool that allows authors to easily build and test biomechanical models and the neural networks that control them to produce behaviors. Users can construct neural models of varied level of details, 3D mechanical models of triangle meshes, and use muscles, motors, receptive fields, stretch sensors and other transducers to interface the two systems. Experiments can be run in which various stimuli are applied and data is recorded, making it a useful tool for computational neuroscience. The software can also be used to model biomimetic robotic systems.

<span class="mw-page-title-main">ERS-7</span> Entertainment robot

The AIBO ERS-7 is an entertainment robot created for the commercial market. Initially released in 2003, it was the first AIBO installment to be explicitly referred to as a dog and saw adoption in both research and popular culture. It was the last robot developed before the dissolution of Sony's robotics division in 2006 and the eventual release of the ERS-1000 in 2018.

<span class="mw-page-title-main">Asynchronous multi-body framework</span> Robotic simulator

Asynchronous multi-body framework (AMBF) is an open-source 3D versatile simulator for robots developed in April 2019. This multi-body framework provides a real-time dynamic simulation of multi-bodies such as robots, free bodies, and multi-link puzzles, paired with real-time haptic interaction with various input devices. The framework integrates a real surgeon master console, haptic or not, to control simulated robots in real-time. This feature results in the simulator being used in real-time training applications for surgical and non-surgical tasks. It offers the possibility to interact with soft bodies to simulate surgical tasks where tissues are subject to deformations. It also provides a Python Client to interact easily with the simulated bodies and train neural networks on real-time data with in-loop simulation. It includes a wide range of robots, grippers, sensors, puzzles, and soft bodies. Each simulated object is represented as an afObject; likewise, the simulation world is represented as an afWorld. Both utilize two communication interfaces: state and command. Through the State command, the object can send data outside the simulation environment, while the Command allows to apply commands to the underlying afObject.

References

  1. "Version R2019a - Webots Goes Open Source". Cyberbotics. 2018.
  2. "Hand placement during quadruped locomotion in a humanoid robot: A dynamical system approach" (PDF). Biologically Inspired Robotics Group. 2007.
  3. "Distributed Adaptation in Multi-Robot Search using Particle Swarm Optimization". Swarm-Intelligent Systems Group. 2008.
  4. "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.
  5. 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
  6. 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.
  7. "An active connection mechanism for modular self-reconfigurable robotic systems based on physical latching" (PDF). Biologically Inspired Robotics Group. 2008.
  8. "Aibo and webots: Simulation, wireless remote control and controller transfer" (PDF). Biologically Inspired Robotics Group. 2006.
  9. Bioloid