Webots es un simulador de robot 3D gratuito y de código abierto que se utiliza en la industria, la educación y la investigación.
Desarrollador (es) | Cyberbotics Ltd. |
---|---|
Lanzamiento estable | Webots R2021a / 15 de diciembre de 2020 |
Repositorio | GitHub |
Sistema operativo | Windows 10, Linux de 64 bits, Mac OS X 10.14, 10.13 |
Tipo | Simulador de robótica |
Licencia | Apache 2 |
Sitio web | Página web de Cyberbotics |
El proyecto Webots comenzó en 1996, inicialmente desarrollado por el Dr. Olivier Michel en el Instituto Federal Suizo de Tecnología ( EPFL ) en Lausana , Suiza y luego a partir de 1998 por Cyberbotics Ltd. como software propietario con licencia. Desde diciembre de 2018, se lanza bajo la licencia Apache 2 gratuita y de código abierto . [1]
Webots incluye una gran colección de modelos de robots, sensores, actuadores y objetos libremente modificables. Además, también es posible construir nuevos modelos desde cero o importarlos desde el software CAD 3D. Al diseñar un modelo de robot, el usuario especifica las propiedades gráficas y físicas de los objetos. Las propiedades gráficas incluyen la forma, dimensiones, posición y orientación, colores y textura del objeto. Las propiedades físicas incluyen la masa, el factor de fricción, así como las constantes de amortiguación y resorte . La dinámica de fluidos simple está presente en el software.
Webots utiliza una bifurcación del ODE ( Open Dynamics Engine ) para detectar colisiones y simular la dinámica de la carrocería rígida. La biblioteca ODE permite simular con precisión las propiedades físicas de los objetos, como la velocidad, la inercia y la fricción.
Webots incluye un conjunto de sensores y actuadores que se utilizan con frecuencia en experimentos robóticos, por ejemplo, lidares, radares, sensores de proximidad , sensores de luz, sensores táctiles, GPS , acelerómetros , cámaras, emisores y receptores, servomotores (rotativos y lineales), sensor de posición y fuerza. , LED, pinzas, giroscopios, brújula, IMU, etc.
Los programas del controlador del robot se pueden escribir fuera de Webots en C , C ++ , Python , ROS , Java y MATLAB utilizando una API simple.
Webots ofrece la posibilidad de realizar capturas de pantalla y grabar simulaciones. Los mundos de Webots se almacenan en archivos multiplataforma * .wbt cuyo formato se basa en el lenguaje VRML . También se pueden importar y exportar mundos y objetos de Webots en formato VRML. Los usuarios pueden interactuar con una simulación en ejecución moviendo robots y otros objetos con el mouse. Los webots también pueden transmitir una simulación en navegadores web utilizando WebGL .
interfaz web
Desde el 18 de agosto de 2017, el sitio web robotbenchmark.net ofrece acceso gratuito a una serie de pruebas comparativas de robótica basadas en simulaciones de Webots a través de la interfaz web de Webots. Las instancias de Webots se ejecutan en la nube y las vistas 3D se muestran en el navegador del usuario. Desde esta interfaz web, los usuarios pueden programar robots en Python y aprender a controlarlos en un procedimiento paso a paso.
Ejemplo de programación del controlador
Este es un ejemplo simple de programación de controladores C / C ++ con Webots: un comportamiento trivial para evitar colisiones. Inicialmente, el robot corre hacia adelante, luego, cuando se detecta un obstáculo, gira alrededor de sí mismo durante un tiempo y luego reanuda el movimiento hacia adelante.
#include #include #include #define TIME_STEP 64int main () { // inicializar Webots wb_robot_init (); // obtener el identificador y habilitar el sensor de distancia WbDeviceTag ds = wb_robot_get_device ( "ds" ); wb_distance_sensor_enable ( ds , TIME_STEP ); // bucle de control , mientras que ( 1 ) { // sensores de lectura doble v = wb_distance_sensor_get_value ( ds ); // si se detecta un obstáculo if ( v > 512 ) { // girar wb_differential_wheels_set_speed ( -600 , 600 ); } else { // siga recto wb_differential_wheels_set_speed ( 600 , 600 ); } // ejecutar un paso de simulación wb_robot_step ( TIME_STEP ); } return 0 ; }
Principales campos de aplicación
- Creación rápida de prototipos de robots con ruedas y patas
- Investigación sobre la locomoción de robots [2]
- Inteligencia de enjambre (simulaciones de varios robots) [3] [4]
- Vida artificial y robótica evolutiva
- Simulación de comportamiento adaptativo [5] [6]
- Robótica modular autoconfigurable [7]
- Entorno experimental para visión artificial
- Concursos de enseñanza y programación de robots
Modelos de robot incluidos
En la guía del usuario de Webots se proporciona una lista completa y actualizada.
- AIBO ERS7 y ERS210, [8] Sony Corporation
- BIOLOID (perro), Robotis [9]
- Boe-Bot
- DARwIn-OP, Robotis
- Disco electrónico
- Hemisson
- HOAP-2, Fujitsu Limited
- iCub , RobotCub Consortium
- iRobot Create , iRobot
- Katana IPR, Neuronics AG
- Robot móvil Khepera I, II, III, K-Team Corporation
- KHR-2HV, KHR-3HV, Kondo
- Koala, K-Team Corporation
- Lego Mindstorms (modelo RCX Rover)
- Magallanes
- Nao V2, V3, Aldebaran Robotics
- MobileRobots Inc Pioneer 2, Pioneer 3-DX, Pioneer 3-AT
- Puma 560, Unimate
- Explorador 2
- Camarón III, BlueBotics SA
- Surveyor SRV-1, Surveyor Corporation
- youBot, KUKA
Compatibilidad con compilación cruzada y control remoto
- Disco electrónico
- DARwIn-OP y Robotis OP2
- NAO
- Thymio II
Ver también
- ROS
- Disco electrónico
Referencias
- ^ "Versión R2019a - Webots se convierte en código abierto" . Ciberbótica. 2018.
- ^ "Colocación de la mano durante la locomoción cuadrúpeda en un robot humanoide: un enfoque de sistema dinámico" (PDF) . Grupo de robótica de inspiración biológica. 2007.
- ^ "Adaptación distribuida en la búsqueda de varios robots mediante optimización de enjambre de partículas" . Grupo de Sistemas Inteligentes en Enjambre. 2008.
- ^ "Montaje de configuraciones en un sistema robótico en red: un caso de estudio sobre una lámpara de mesa interactiva reconfigurable" (PDF) . DISAL - Laboratorio de Algoritmos y Sistemas Inteligentes Distribuidos. 2008.
- ^ Louis-Emmanuel Martinet, Denis Sheynikhovich, Karim Benchenane y Angelo Arleo (2011) Planificación de acción y aprendizaje espacial en un modelo de red cortical prefrontal, PLoS Comput Biol 7 (5): e1002045. doi : 10.1371 / journal.pcbi.1002045
- ^ Mannella F., Mirolli M., Baldassarre G., Un modelo computacional del papel del núcleo de la amígdala en el condicionamiento de segundo orden. En M. Asada et al. (eds.), From Animals to Animats 10: Actas de la Décima Conferencia Internacional sobre la Simulación del Comportamiento Adaptativo (SAB2008), págs. 321-330. LNAI 5040 Berlín: Springer.
- ^ "Un mecanismo de conexión activa para sistemas robóticos modulares auto reconfigurables basados en enclavamiento físico" (PDF) . Grupo de robótica de inspiración biológica. 2008.
- ^ "Aibo y webots: simulación, control remoto inalámbrico y transferencia de controlador" (PDF) . Grupo de robótica de inspiración biológica. 2006.
- ^ Bioloide
enlaces externos
- Ciberbótica