Webots: Difference between revisions
Line 136: | Line 136: | ||
== External links == |
== External links == |
||
* [http://www.cyberbotics.com Cyberbotics Official Webpage] |
* [http://www.cyberbotics.com Cyberbotics Official Webpage] |
||
* [http://tech.groups.yahoo.com/group/webots-users Yahoo Tech Group about Webots] |
|||
* [http://www.ode.org Open Dynamics Engine] |
* [http://www.ode.org Open Dynamics Engine] |
||
* [http://robotstadium.org Robotstadium - a free programming contest based on Webots and the Nao humanoid robot] |
* [http://robotstadium.org Robotstadium - a free programming contest based on Webots and the Nao humanoid robot] |
Revision as of 11:04, 12 October 2008
Developer(s) | Cyberbotics Ltd. |
---|---|
Stable release | Webots 5.9.2
/ June 19, 2008 |
Repository | |
Operating system | Windows 2000, Windows XP, Windows Vista, Mac OS X 10.4 and 10.5 (Universal binary), and most Linux distributions: Ubuntu, Fedora, SUSE, Debian, etc. (x86 and x86-64 packages) |
Type | 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++, Java and Python or interfaced with other languages. The AIBO, Nao_(robot) and E-puck 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.
Controller Programming Example
This is a simple example of C/C++ controller programming with Webots: a trivial collision avoidance behaviour. 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;
}
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 Robots Models
- AIBO ERS7 and ERS210[7], 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
Cross Compilation Support
- AIBO ERS7 and ERS210
- E-puck
- Khepera mobile robot
- Lego Mindstorms RCX (using leJOS)
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, Benjamin Fouque, Jean-Baptiste Passot, Jean-Arcady Meyer, and Angelo Arleo, Modelling the Cortical Columnar Organisation for Topological State-Space Representation, and Action Planning, In M. Asada et als (Eds.): SAB 2008, LNAI 5040, pp. 137-147, 2008, Springer-Verlag Berlin Heidelberg 2008.
- ^ 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.