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.

Screenshot of Webots 5.7.0, showing a walking HOAP-2 simulation
Screenshot of Webots 5.7.0, showing a walking HOAP-2 simulation
Screenshot of Webots 5.7.0 property editor
Screenshot of Webots 5.7.0 property editor
Screenshot of an e-puck robot simulated with Webots
Screenshot of an e-puck robot simulated with Webots

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

[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

[edit] See also

[edit] References

[edit] External links