Webots est un simulateur open-source de robotique. Il est utilisé dans l'industrie, dans la recherche et l'enseignement.
Le projet Webots a commencé en 1996, initialement développé par le Dr Olivier Michel à l'Ecole polytechnique fédérale de Lausanne (EPFL) à Lausanne, en Suisse. Depuis , Webots distribué en open-source sous licence Apache 2.0..
Webots utilise la bibliothèque ODE (Open Dynamics Engine) pour détecter des collisions et simuler la dynamique des corps rigides et des fluides. La bibliothèque ODE permet de simuler avec précision les propriétés physiques des objets tels que la vitesse, l'inertie et le frottement.
Une large collection de modèles de robots librement modifiables est disponible avec le logiciel. En outre, il est également possible de construire de nouveaux modèles à partir de zéro. Lors de la conception d'un modèle de robot, l'utilisateur spécifie à la fois les propriétés graphiques et les propriétés physiques des objets. Les propriétés graphiques comprennent la forme, les dimensions, la position et l'orientation, les couleurs et la texture de l'objet. Les propriétés physiques comprennent la masse, le facteur de friction, ainsi que les constantes de ressort et d'amortissement.
Webots comporte un ensemble de capteurs et d'actionneurs fréquemment utilisés dans des expériences robotiques, par exemple capteurs de proximité, capteurs de lumière, capteurs tactiles, GPS, accéléromètres, des caméras, des émetteurs et des récepteurs, des servomoteurs (rotation et linéaire), des capteurs de position et de force, des LED, des pinces, des gyroscopes, des compas, etc.
Les programmes de contrôle du robot peuvent être écrites en C, C++, Java, Python et MATLAB au travers d'une API simple et complète.
Webots offre la possibilité de prendre des captures d'écran PNG et d'enregistrer les simulations sous la forme de films MPEG (Mac / Linux) ou AVI (Windows) films. Webots mondes sont stockés dans multiplate-forme. WBT fichiers dont le format est basé sur le langage VRML. Il est également possible d'importer et d'exporter des mondes Webots ou des objets dans le format VRML. Une autre caractéristique intéressante est que l'utilisateur peut interagir avec une simulation en cours à tout moment. Il a ainsi la possibilité de déplacer les robots et d'autres objets avec la souris. Une simulation peut être envoyé sur des navigateurs Web clients.
Webots est utilisé dans plusieurs concours de programmation en ligne de robots. La compétition Robotstadium est une simulation de la RoboCup Standard Platform League. Dans cette simulation, deux équipes de Nao jouent au football avec des règles similaires au football classique. Les robots utilisent des caméras simulées, des capteurs ultrasons et de pression. Dans le concours Rat's Life (La vie du Rat) deux robots E-Puck simulés robots entrent en compétition pour les ressources énergétiques dans une labyrinthe construit en Lego. Les matchs se pratiquent tous les jours et les résultats peuvent être observés dans des vidéos en ligne.
vignette|230px|Simulation d'un iRobot créé dans Webots
vignette|230px|Simulation d'un Robotis DARwIn-OP dans Webots
vignette|230px|Simulation d'un Pioneer 3-AT (Adept Mobile Robots) doté d'un télémètre laser SICK LMS 291 dans Webots
Interface Web Depuis le 18 août 2017, https://robotbenchmark.net offre un accès en ligne et gratuitement à une série de benchmarks basés sur des simulations de Webots à travers l'interface web de Webots. Des instances de Webots sont exécutés sur le cloud et l'utilisateur peut les voir et interagir avec celles-ci grâce à son navigateur internet. Les utilisateurs peuvent programmer des robots célèbres en Python et y apprendre les bases de la robotique.vignette|230px|Simulation d'un Pioneer 3-DX (Adept Mobile Robots) dans Webots
Exemple de programmation du contrôleur Voici un exemple simple de programmation en C/C++ du contrôleur avec Webots : un comportement trivial d'évitement de collision. Au départ, le robot se dirige en avant, puis quand un obstacle est détecté, il tourne autour de lui pendant un moment, puis reprend le mouvement en avant.
#include <webots/robot.h> #include <webots/differential_wheels.h> #include <webots/distance_sensor.h>
#define TIME_STEP 64
int main() { // initialize Webots wb_robot_init();
// get handle and enable distance sensor WbDeviceTag ds = wb_robot_get_device("ds"); wb_distance_sensor_enable(ds, TIME_STEP);
// control loop while (1) { // read sensors double v = wb_distance_sensor_get_value(ds);
// if obstacle detected if (v > 512) { // turn around wb_differential_wheels_set_speed(-600, 600);
else { // go straight wb_differential_wheels_set_speed(600, 600);
// run a simulation step wb_robot_step(TIME_STEP);
return 0; }
Principaux domaines d'application Prototypage rapide des robots à roues et à jambes Recherche sur le déplacement de robots. Intelligence en essaim (Simulations multi-robots).. vie artificielle et robotique évolutive en Simulation du comportement adaptatifLouis-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. Robot modulaire auto-reconfigurable en. Environnement expérimental pour la vision par ordinateur Enseignement et concours de programmation de robots
Modèles de robots inclus Aibo ERS7 and ERS210., Sony Corporation
Boe-Bot DARwIn-OP, Robotis E-Puck Hemisson HOAP-2, Fujitsu Limited iCub, RobotCub Consortium iRobot Create, iRobot Katana IPR, Neuronics AG Khepera mobile robot , , , K-Team Corporation KHR-2HV, KHR-3HV, Kondo Koala, K-Team Corporation Lego Mindstorms (RCX Rover model) Magellan Nao V2, V3, Aldebaran Robotics MobileRobots Inc Pioneer 2, Pioneer 3-DX, Pioneer 3-AT Puma 560, Unimate Scout 2 Shrimp , BlueBotics SA Surveyor SRV-1, Surveyor Corporation youBot, Kuka
Support de compilation croisée AIBO ERS7 and ERS210 E-puck Khepera en Lego Mindstorms RCX (en utilisant LeJOS en
Articles connexes Simbad URBI E-Puck Player Project
Références
Liens externes Cyberbotics Robot Curriculum Wikibook Open Dynamics Engine Robotstadium - un concours de programmation gratuit basé sur Webots et le robot humanoïde Nao Rat's Life - concours de programmation
Catégorie:Robotique Catégorie:Logiciel de simulation