Webots
From Wikipedia, the free encyclopedia
| Webots 5 | |
|---|---|
| Developed by | Cyberbotics Ltd. |
| Latest release | Webots 5.9.0 / April 23, 2008 |
| OS | Windows 2000, Windows XP, Windows Vista, Mac OS X 10.4 "Tiger" and 10.5 "Leopard" (Universal binary), and most Linux distributions: Ubuntu, Fedora, SUSE, Debian, etc. (x86 and x86-64 packages) |
| Genre | Robotics suite |
| License | Proprietary |
| Website | Cyberbotics Web page |
Webots is a professional robot simulator widely used in academic and education. 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 for simulating the rigid body dynamics. The ODE library allows to accurately simulate the physical properties of objects, such as velocity, inertia, friction, etc.
A large collection of robot models comes in the software distribution, these models can be modified whenever needed. 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 are: the shape, the dimensions, the position and orientation, the colors, the texture, etc. of the object. The physical properties are: the mass, the friction factor, the spring and damping constants, etc.
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, etc.
The robot controller programs can be written in C, C++ and Java or interfaced with other languages. The AIBO and Nao robot models can also be programmed with the URBI language (URBI license required).
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 .wbt files which have a format very similar to VRML. 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 possible to move the robots and other object with the mouse.
Contents |
[edit] 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 <device/robot.h>
#include <device/differential_wheels.h>
#include <device/distance_sensor.h>
DeviceTag ds; // distance sensor
// controller initialization
static void reset(void) {
ds = robot_get_device("ps0"); // get handle
distance_sensor_enable(ds, 64);
}
// control loop
static int run(int ms) {
int v = distance_sensor_get_value(ds); // read sensor
// if obstacle detected:
if (v > 512) {
differential_wheels_set_speed(400, -400); // turn around
return 1280; // for 1280 milliseconds
}
// otherwise
differential_wheels_set_speed(600, 600); // go straight
return 64; // for 64 milliseconds
}
int main() {
robot_live(reset); // initialization
robot_run(run); // start control loop
return 0;
}
[edit] Main Fields of Application
- Fast prototyping of wheeled and legged robots
- Research on robot locomotion[1]
- Swarm intelligence (Multi-agent simulations)
- Artificial life and evolutionary robotics
- Self-Reconfiguring Modular Robotics[2]
- Experimental environment for computer vision
- Teaching and robot programming contests
[edit] Included Robots Models
- AIBO ERS7 and ERS210, Sony Corporation
- Bioloids (dog), Robotis
- Boe-Bot
- E-puck
- Hemisson
- HOAP-2, Fujitsu Limited
- iCub, RobotCub Consortium
- Katana IPR, Neuronics AG
- Khepera mobile robot I, II, III, K-Team Corporation
- KHR-2HV, Kondo
- Koala, K-Team Corporation
- Lego Mindstorms (RCX Rover model)
- Magellan
- Nao, Aldebaran Robotics
- Pioneer 2
- Scout 2
- Shrimp III, BlueBotics SA
- Surveyor SRV-1, Surveyor Corporation
[edit] Cross Compilation Support
- AIBO ERS7 and ERS210
- E-puck
- Khepera mobile robot
- Lego Mindstorms RCX (using leJOS)
[edit] See also
[edit] References
- ^ Hand placement during quadruped locomotion in a humanoid robot: A dynamical system approach (PDF). Biologically Inspired Robotics Group (2007).
- ^ An active connection mechanism for modular self-reconfigurable robotic systems based on physical latching (PDF). Biologically Inspired Robotics Group (2008).

