Articulo de referencia

Webots

Webots es un simulador de robots 3D gratuito y de código abierto que se utiliza en la industria, la educación y la investigación. El proyecto Webots comenzó en 1996, desarrollad...

Webots es un simulador de robots 3D gratuito y de código abierto que se utiliza en la industria, la educación y la investigación.

El proyecto Webots comenzó en 1996, desarrollado inicialmente 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 distribuye bajo la licencia libre y de código abierto Apache 2. [ 1 ]

Webots incluye una amplia colección de modelos de robots, sensores, actuadores y objetos que se pueden modificar libremente. Además, también es posible crear nuevos modelos desde cero o importarlos desde software CAD 3D. Al diseñar un modelo de robot, el usuario especifica tanto las propiedades gráficas como las físicas de los objetos. Las propiedades gráficas incluyen la forma, las dimensiones, la posición y la orientación, los colores y la textura del objeto. Las propiedades físicas incluyen la masa, el factor de fricción, así como las constantes de elasticidad y amortiguación . El software incorpora dinámica de fluidos básica.

Webots utiliza una bifurcación de ODE ( Open Dynamics Engine ) para la detección de colisiones y la simulación de la dinámica de cuerpos rígidos. La biblioteca ODE permite simular con precisión 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, como lidars, radares, sensores de proximidad , sensores de luz, sensores táctiles, GPS , acelerómetros , cámaras, emisores y receptores, servomotores (rotacionales y lineales), sensores de posición y fuerza, LED, pinzas, giroscopios, brújula, IMU, etc.

Los programas de control del robot se pueden escribir fuera de Webots en C , C++ , Python , ROS , Java y MATLAB utilizando una API sencilla.

Webots ofrece la posibilidad de tomar capturas de pantalla y grabar simulaciones. Los mundos de Webots se almacenan en archivos *.wbt multiplataforma 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 ratón. Webots también puede transmitir una simulación en navegadores web mediante WebGL .

Simulación de un robot Op3 en Webots
Simulación de un Pioneer 3-AT (Adept Mobile Robots) equipado con un SICK LMS 291 en Webots.
Simulación de un Pioneer 3-DX (Adept Mobile Robots) en Webots
Un modelo de simulación del robot PR2 en Webots.
Modelo de simulación del robot Khepera III con pinza en Webots.
Un modelo de simulación de un robot salamandra en Webots que posee una piel deformable.
Un modelo de simulación del robot Atlas de Boston Dynamics en Webots.

Interfaz web

Desde el 18 de agosto de 2017, el sitio web robotbenchmark.net ofrece acceso gratuito a una serie de pruebas de rendimiento robótico 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 paso a paso.

Ejemplo de programación de controlador

Este es un ejemplo sencillo de programación de controladores en C/C++ para Webots: un comportamiento trivial para evitar colisiones. Inicialmente, el robot avanza; luego, al detectar un obstáculo, gira sobre sí mismo durante un tiempo y después retoma el movimiento hacia adelante.

#include <webots/robot.h> #include <webots/motor.h> #include <webots/distance_sensor.h>#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 ); // Obtener el identificador e inicializar los motores WbDeviceTag left_motor = wb_robot_get_device ( "left_motor" ); WbDeviceTag right_motor = wb_robot_get_device ( "right_motor" ) ; wb_motor_set_position ( left_motor , INFINITY ); wb_motor_set_position ( right_motor , INFINITY ); wb_motor_set_velocity ( left_motor , 0.0 ); wb_motor_set_velocity ( right_motor , 0.0 );// bucle de control while ( 1 ) { // leer sensores double v = wb_distance_sensor_get_value ( ds );// Si se detecta un obstáculo if ( v > 512 ) { // girar wb_motor_set_velocity ( left_motor , -600 ); wb_motor_set_velocity ( right_motor , 600 ); } else { // ir recto wb_motor_set_velocity ( left_motor , 600 ); wb_motor_set_velocity ( right_motor , 600 ); } // ejecutar un paso de simulación wb_robot_step ( TIME_STEP ); }wb_robot_cleanup (); return 0 ; }

Principales campos de aplicación

Modelos de robots incluidos

En la guía del usuario de Webots se incluye una lista completa y actualizada.

Compilación cruzada y compatibilidad con control remoto

Véase también

Referencias

  1. "Versión R2019a - Webots se vuelve de código abierto" . Cyberbotics. 2018.
  2. "Posició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. Archivado del original (PDF) el 6 de julio de 2011. Consultado el 8 de mayo de 2008 .
  3. Pugh, Jim; Martinoli, Alcherio (2008). "Adaptación distribuida en la búsqueda multi-robot mediante optimización por enjambre de partículas" . From Animals to Animats 10. Lecture Notes in Computer Science. Vol. 5040. Swarm-Intelligent Systems Group. pp. 393–402 . doi : 10.1007/978-3-540-69134-1_39 . ISBN   978-3-540-69133-4.
  4. "Ensamblaje de configuraciones en un sistema robótico en red: un estudio de caso sobre una lámpara de mesa interactiva reconfigurable" (PDF) . DISAL - Laboratorio de Sistemas Inteligentes Distribuidos y Algoritmos. 2008.
  5. Louis-Emmanuel Martinet, Denis Sheynikhovich, Karim Benchenane y Angelo Arleo (2011) Aprendizaje espacial y planificación de acciones en un modelo de red cortical prefrontal, PLoS Comput Biol 7(5): e1002045. doi : 10.1371/journal.pcbi.1002045
  6. Mannella F., Mirolli M., Baldassarre G., Un modelo computacional del papel de los núcleos de la amígdala en el condicionamiento de segundo orden. En M. Asada et al. (eds.), De animales a animats 10: Actas de la Décima Conferencia Internacional sobre la Simulación del Comportamiento Adaptativo (SAB2008), pp. 321-330. LNAI 5040 Berlín: Springer.
  7. "Un mecanismo de conexión activa para sistemas robóticos modulares autorreconfigurables basado en enclavamiento físico" (PDF) . Grupo de Robótica de Inspiración Biológica. 2008. Archivado del original (PDF) el 6 de julio de 2011. Consultado el 8 de mayo de 2008 .
  8. "Aibo y webots: Simulación, control remoto inalámbrico y transferencia de controlador" (PDF) . Grupo de Robótica de Inspiración Biológica. 2006. Archivado del original (PDF) el 11 de abril de 2007. Consultado el 27 de agosto de 2008 .
  9. Bioloide
  • Ciberrobótica