Webots

Webots

Descrizione di questa immagine, commentata anche di seguito Robot E-puck in Webots Informazione
Creatore Olivier Michel
Sviluppato da Cyberbotics Ltd.
Prima versione 1996
Ultima versione R2019b revisione 1 (3 ottobre 2019)
Depositare GitHub
Scritto in C ++
Ambiente Windows 10 e 8 a 64 bit, Linux a 64 bit, Mac OS X 10.14 e 10.13
genere Suite robotica
Licenza Apache 2.0
Sito web Sito Web di Cyberbotics

Webots è un simulatore di robotica open source. È utilizzato nell'industria, nella ricerca e nell'istruzione.

Il progetto Webots è iniziato nel 1996, inizialmente sviluppato dal dottor Olivier Michel presso l' Istituto Federale Svizzero di Tecnologia (EPFL) a Losanna , Svizzera . Da dicembre 2018, Webots distribuito in open-source con licenza Apache 2.0.

Webots utilizza la libreria ODE ( Open Dynamics Engine ) per rilevare le collisioni e simulare le dinamiche di corpi rigidi e fluidi. La libreria ODE permette di simulare accuratamente le proprietà fisiche di oggetti come velocità, inerzia e attrito.

Con il software è disponibile un'ampia raccolta di modelli di robot liberamente modificabili. Inoltre, è anche possibile costruire nuovi modelli da zero. Quando si progetta un modello di robot, l'utente specifica sia le proprietà grafiche che le proprietà fisiche degli oggetti. Le proprietà grafiche includono la forma, le dimensioni, la posizione e l'orientamento, i colori e la consistenza dell'oggetto. Le proprietà fisiche includono la massa, il fattore di attrito, nonché la molla e le costanti di smorzamento .

Webots comprende una serie di sensori e attuatori utilizzati frequentemente in esperimenti robotici, ad esempio sensori di prossimità , sensori di luce , sensori tattili, GPS , accelerometri , fotocamere, trasmettitori e ricevitori, servocomandi (rotativi e lineari), sensori di posizione e forza, LED , pinze , giroscopi , bussole , ecc.

I programmi di controllo robot possono essere scritti in C , C ++ , Java , Python e MATLAB tramite un'API semplice e completa.

Webots offre la possibilità di acquisire schermate PNG e salvare le simulazioni come filmati MPEG (Mac / Linux) o AVI (Windows). I mondi Webots sono archiviati in multipiattaforma. File WBT il cui formato è basato sul linguaggio VRML . È anche possibile importare ed esportare mondi o oggetti Webots in formato VRML. Un'altra caratteristica interessante è che l'utente può interagire con una simulazione in esecuzione in qualsiasi momento. Ha così la possibilità di muovere robot e altri oggetti con il mouse. È possibile inviare una simulazione ai browser Web del client.

Webots è utilizzato in diversi concorsi di programmazione di robot online. La competizione Robotstadium [1] è una simulazione della RoboCup Standard Platform League. In questa simulazione, due squadre di Nao giocano a calcio con regole simili al calcio classico. I robot utilizzano telecamere simulate, sensori a ultrasuoni e di pressione. Nel concorso Rat's Life “  http://www.ratslife.org/  ” ( ArchiveWikiwixArchive.isGoogle • Cosa fare? ) Due robot simulati da E-Puck competono per le risorse energetiche in un labirinto integrato Lego . Le partite si giocano ogni giorno ei risultati possono essere visti in video online.

interfaccia web

Dal 18 agosto 2017, https://robotbenchmark.net  offre l'accesso online gratuito a una serie di benchmark basati su simulazioni Webots tramite l'interfaccia Web Webots. Le istanze di Webots vengono eseguite sul cloud e l'utente può visualizzarle e interagire con esse tramite il proprio browser web. Gli utenti possono programmare famosi robot in Python e apprendere le basi della robotica lì.

Esempio di programmazione del controller

Ecco un semplice esempio di programmazione del controller in C / C ++ con Webots: banale comportamento per evitare le collisioni. Inizialmente, il robot si sposta in avanti, quindi quando viene rilevato un ostacolo, ruota attorno ad esso per un po ', quindi riprende il movimento in avanti.

#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; }

Principali campi di applicazione

  • Prototipazione rapida di robot con ruote e gambe
  • Ricerca sui robot in movimento
  • Swarm intelligence (simulazioni multi-robot)
  • vita artificiale e robotica evolutiva in
  • Simulazione del comportamento adattivo
  • Robot modulare auto-riconfigurabile in formato
  • Ambiente sperimentale per la visione artificiale
  • Concorso di insegnamento e programmazione robotica

Modelli di robot inclusi

  • Aibo ERS7 e ERS210, Sony Corporation
  • Bioloid  (en)
  • Boe-Bot
  • DARwIn-OP, Robotis
  • E-Puck
  • Hemisson
  • HOAP -2, Fujitsu Limited
  • iCub , RobotCub Consortium
  • iRobot Crea , iRobot
  • Katana IPR, Neuronics AG
  • Robot mobile Khepera I , II , III , K-Team Corporation
  • KHR-2HV, KHR-3HV, ​​Kondo
  • Koala, K-Team Corporation
  • Lego Mindstorms (modello Rover RCX)
  • Magellan
  • Nao V2, V3, Aldebaran Robotics
  • MobileRobots Inc Pioneer 2, Pioneer 3-DX, Pioneer 3-AT
  • Puma 560, Unimate
  • Scout 2
  • Gamberetto III , BlueBotics SA
  • Surveyor SRV-1, Surveyor Corporation
  • youBot, Kuka

Supporto per la compilazione incrociata

Articoli Correlati

Riferimenti

  1. (in) "  Webots Goes Open Source  " su https://www.cyberbotics.com ,18 dicembre 2018
  2. (in) "  Posizionamento delle mani durante la locomozione quadrupede in un robot umanoide: un approccio di sistema dinamico  " [PDF] , Biologically Inspired Robotics Group,2007
  3. (in) "  Adattamento distribuito nella ricerca multi-robot utilizzando l'ottimizzazione dello sciame di particelle  " , Swarm-Intelligent Systems Group,2008
  4. (in) "  Assembly of Configurations in a Networked Robotic System: A Case Study was Reconfigurable Interactive Table Lamp  " [PDF] , DISAL - Distributed Intelligent Systems and Algorithms Laboratory,2008
  5. Louis-Emmanuel Martinet, Denis Sheynikhovich, Karim Benchenane e 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. (a cura di), From Animals to Animats 10: Atti della decima conferenza internazionale sulla simulazione del comportamento adattivo (SAB2008), pp. 321-330. LNAI 5040 Berlino: Springer.
  7. (in) "  Connessione Un meccanismo attivo per sistemi robotici modulari auto-riconfigurabili basati sull'aggancio fisico  " [PDF] , Biologically Inspired Robotics Group,2008
  8. (in) "  Simulazione Aibo e Webots, telecomando wireless e controller di trasferimento  " [PDF] , Biologically Inspired Robotics Group,2006

link esterno