Se utiliza un simulador de robótica para crear aplicaciones para un robot físico sin depender de la máquina real, ahorrando así costos y tiempo. En algunos casos, estas aplicaciones pueden transferirse al robot físico (o reconstruirse) sin modificaciones.
El término simulador de robótica puede referirse a varias aplicaciones de simulación de robótica diferentes. Por ejemplo, en las aplicaciones de robótica móvil, los simuladores de robótica basados en comportamiento permiten a los usuarios crear mundos simples de objetos rígidos y fuentes de luz y programar robots para interactuar con estos mundos. La simulación basada en el comportamiento permite acciones de naturaleza más biológica en comparación con simuladores más binarios o computacionales. Además, los simuladores basados en el comportamiento pueden «aprender» de los errores y son capaces de demostrar la calidad antropomórfica de la tenacidad.
Una de las aplicaciones más populares para simuladores de robótica es para el modelado 3D y la renderización de un robot y su entorno. Este tipo de software de robótica tiene un simulador que es un robot virtual, que es capaz de emular el movimiento de un robot real en una envoltura de trabajo real. Algunos simuladores de robótica utilizan un motor de física para la generación de movimiento más realista del robot. Se recomienda el uso de un simulador de robótica para el desarrollo de un programa de control de robótica, independientemente de si un robot real está disponible o no. El simulador permite que los programas de robótica se escriban y depuren cómodamente fuera de línea con la versión final del programa probado en un robot real. Esto se aplica principalmente para aplicaciones robóticas industriales,
Las acciones del robot basadas en sensores son mucho más difíciles de simular y / o programar fuera de línea, ya que el movimiento del robot depende de las lecturas instantáneas del sensor en el mundo real.
Características
Los simuladores modernos tienden a proporcionar las siguientes características:
Robot de prototipado rápido
utilizando el propio simulador como herramienta de creación (Virtual Robot Experimentation Platform, Webots, R-Station, Marilou, 4DV-Sim).
Utilizando herramientas externas.
Motores de física para movimientos realistas. La mayoría de los simuladores utilizan ODE (Gazebo, LpzRobots, Marilou, Webots) o PhysX (Microsoft Robotics Studio, 4DV-Sim).
Representación realista en 3d. Se pueden utilizar herramientas de modelado 3D estándar o herramientas de terceros para construir los entornos.
Robots dinámicos de cuerpos con scripting. C, C ++, Perl, Python, Java, URBI, lenguajes MATLAB utilizados por Webots, Python utilizado por Gazebo.
Simuladores
Entre las tecnologías más nuevas disponibles en la actualidad para la programación están aquellas que utilizan una simulación virtual. Las simulaciones con el uso de modelos virtuales del entorno de trabajo y los propios robots pueden ofrecer ventajas tanto a la empresa como al programador. Al usar una simulación, los costos se reducen y los robots pueden programarse fuera de línea, lo que elimina cualquier tiempo de inactividad para una línea de montaje. Las acciones del robot y las piezas de ensamblaje se pueden visualizar en un entorno virtual tridimensional meses antes de que se produzcan los prototipos. Escribir código para una simulación también es más fácil que escribir código para un robot físico. Si bien el paso a simulaciones virtuales para robots de programación es un paso adelante en el diseño de la interfaz de usuario, muchas de estas aplicaciones solo están en su infancia.
Información general
Software | Desarrolladores | Estado del desarrollo | Licencia | Motor de renderizado 3D | Motor de fisica | Modelador 3D | Plataformas soportadas |
---|---|---|---|---|---|---|---|
Actin | Tecnologías energidas | Activo | Propiedad | OpenGL | Propiedad | Propiedad | Windows, macOS, Linux, RTLinux, VxWorks, RTOS-32 y RTX. (QNX planeado) |
ARS | RAL | Inactivo | BSD | VTK | ODA | Ninguna | Linux, macOS, Windows |
AUTOMAPPPS | Tecnologías de la Información Convergentes GmbH | Activo | Propiedad | OpenGL | desconocido | Interno | Linux, Windows |
Mirador | Fundación de robótica de código abierto (OSRF) | Activo | Apache 2.0 | OGRO | ODE / Bullet / Simbody / DART | Interno | Linux |
MORSE | Comunidad académica | Activo | BSD | Motor de juego de blender | Bala | Licuadora | Linux, BSD *, macOS |
OpenHRP | AIST | Activo | Eclipse | Java3D | ODE / Internal | Interno | Linux, Windows |
RoboDK | RoboDK | Activo | Propiedad | OpenGL | ninguna | Interno | Linux, macOS, Windows, Android |
SimSpark | O. Obst et al. (+26) | Activo | GNU GPL (v2) | Interno | ODA | Ninguna | Linux, macOS, Windows |
V-Rep | Robótica coppelia | Activo | Propietario / GNU GPL | Interno | ODE / Bullet / Vortex / Newton | Interno | Linux, macOS, Windows |
Webots | Cyberbotics Ltd. | Activo | Propiedad | Propiedad | Propiedad(basado en ODE) | Propiedad | Linux, macOS, Windows |
4DV-Sim | 4D Virtualiz | Activo | Propiedad | OGRO | Fisico | Interno | Linux |
OpenRAVE | Comunidad OpenRAVE | Activo | GNU LGPL | Coin3D / OpenSceneGraph | ODE / Bullet | Interno | Linux, macOS, Windows |
Software | Desarrolladores | Estado del desarrollo | Licencia | Motor de renderizado 3D | Motor de fisica | Modelador 3D | Plataformas soportadas |
Información técnica
Software | Lenguaje de programación principal | Formatos de soporte | Extensibilidad | APIs externas | Soporte de middleware robótica | Interfaz de usuario principal | Simulación sin cabeza |
---|---|---|---|---|---|---|---|
Actin | C ++ | SLDPRT, SLDASM, STEP, OBJ, STL, 3DS, Collada, VRML, URDF, XML, ECD, ECP, ECW, ECX, ECZ, | Plugins (C ++), API | Desconocido | ROS | GUI | Sí (ActinRT) |
ARS | Pitón | Desconocido | Pitón | Desconocido | Ninguna | Desconocido | Desconocido |
AUTOMAPPPS | C ++, Python | STEP, IGES, STL | Complementos (C), API | XML, C | Enchufe | GUI | Sí |
Mirador | C ++ | SDF / URDF, OBJ, STL, Collada | Plugins (C ++) | C ++ | ROS, Player, Sockets (mensajes protobuf) | GUI | Sí |
MORSE | Pitón | Desconocido | Pitón | Pitón | Zócalos, YARP, ROS, Pocolibs, MOOS | Línea de comando | Sí |
OpenHRP | C ++ | VRML | Plugins (C ++), API | C / C ++, Python, Java | OpenRTM-aist | GUI | Desconocido |
RoboDK | Pitón | PASO, IGES, STL, WRML | Plugins (C ++), API | C / C ++, Python, Matlab | Enchufe | GUI | Desconocido |
SimSpark | C ++, Ruby | Gráficos de escena de rubí | Mods (C ++) | Red (sexpr) | Enchufes (sexpr) | GUI, Sockets | Desconocido |
V-Rep | LUA | OBJ, STL, DXF, 3DS, Collada, URDF | API, complementos, complementos | C / C ++, Python, Java, Urbi, Matlab / Octave | Zócalos, ROS | GUI | Sí |
Webots | C ++ | WBT, VRML, X3D | API, PROTOs, Complementos (C / C ++) | C, C ++, Python, Java, Matlab, ROS | Zócalos, ROS, NaoQI | GUI | Sí |
4DV-Sim | C ++ | 3DS, OBJ, Malla | Plugins (C ++), API | FMI / FMU, Matlab | Interfaces ROS, Sockets, Plug & Play | GUI | Sí |
OpenRAVE | C ++, Python | XML, VRML, OBJ, Collada | Plugins (C ++), API | C / C ++, Python, Matlab | Zócalos, ROS, YARP | GUI, Sockets | Sí |
Software | Lenguaje de programación principal | Formatos de soporte | Extensibilidad | APIs externas | Soporte de middleware robótico. | Interfaz de usuario principal | Simulación sin cabeza |
Soporte de infraestructura
Software | Lista de correo | Documentación API | Foro Público / Sistema de Ayuda | Manual de usuario | Rastreador de problemas | Wiki |
---|---|---|---|---|---|---|
Actin | No | Sí | No | Sí | Si (interno) | No |
ARS | Desconocido | Desconocido | Desconocido | Desconocido | Desconocido | Desconocido |
AUTOMAPPPS | Sí | Sí | No | Sí | Sí | No |
Mirador | Sí | Sí | Sí | Sí | Sí | Sí |
MORSE | Sí | Sí | No | Sí | Sí | No |
OpenHRP | Sí | Sí | No | Sí | Sí | No |
RoboDK | Sí | Sí | No | Sí | No | No |
SimSpark | Sí | Sí | No | Sí | Sí | Sí |
V-Rep | No | Sí | Sí | Sí | Desconocido | No |
Webots | No | Sí | Sí | Sí | Sí | Sí |
4DV-Sim | Sí | No | Sí | Sí | Sí | No |
OpenRAVE | Sí | Sí | Sí | Sí | Sí | Sí |
Software | Lista de correo | Documentación API | Foro Público / Sistema de Ayuda | Manual de usuario | Rastreador de problemas | Wiki |
Código de Calidad
Software | Comprobador de código estático | Comprobador de estilo | Sistema de prueba (s) | Cobertura de la función de prueba | Cobertura de la rama de prueba | Líneas de código | Lineas de comentarios | Integración continua |
---|---|---|---|---|---|---|---|---|
Actin | Desconocido | Desconocido | Desconocido | Desconocido | Desconocido | Desconocido | Desconocido | Jenkins |
ARS | Desconocido | Desconocido | Desconocido | Desconocido | Desconocido | Desconocido | Desconocido | Desconocido |
AUTOMAPPPS | Desconocido | Desconocido | Desconocido | Desconocido | Desconocido | Desconocido | Desconocido | Desconocido |
Mirador | cppcheck | cpplint | gtest y qtest | 46.1% | 34.3% | 190.7k | 60.45k | Jenkins |
MORSE | N / A | pylint | Pruebas de unidad de Python | Desconocido | Desconocido | 31.4k | 9.0k | Jenkins, Travis |
OpenHRP | Desconocido | Desconocido | Desconocido | Desconocido | Desconocido | Desconocido | Desconocido | Desconocido |
RoboDK | Desconocido | Desconocido | Desconocido | Desconocido | Desconocido | Desconocido | Desconocido | Desconocido |
SimSpark | Desconocido | Desconocido | Desconocido | Desconocido | Desconocido | Desconocido | Desconocido | Desconocido |
V-Rep | Desconocido | Desconocido | Desconocido | Desconocido | Desconocido | Desconocido | Desconocido | Desconocido |
Webots | Desconocido | Desconocido | Desconocido | Desconocido | Desconocido | Desconocido | Desconocido | Desconocido |
4DV-Sim | Desconocido | Desconocido | Desconocido | Desconocido | Desconocido | Desconocido | Desconocido | Desconocido |
OpenRAVE | Desconocido | Desconocido | Nariz de pitón | Desconocido | Desconocido | Desconocido | Desconocido | Jenkins |
Software | Comprobador de código estático | Comprobador de estilo | Sistema de prueba (s) | Cobertura de la función de prueba | Cobertura de la rama de prueba | Líneas de código | Lineas de comentarios | Integración continua |
Caracteristicas
Software | CAD a Motion | Evitación dinámica de colisiones | Efectores Finales Relativos | Programación fuera de línea | Control de transmisión de hardware en tiempo real |
---|---|---|---|---|---|
Actin | Sí (Trayectorias de herramientas) | Sí | Sí | Sí | Sí |
ARS | Desconocido | No | Desconocido | No | No |
Mirador | Desconocido | Sí | Sí | Sí | Sí |
MORSE | Desconocido | No | Desconocido | No | No |
OpenHRP | Desconocido | No | Desconocido | No | No |
RoboDK | Desconocido | No | Desconocido | Sí | No |
SimSpark | Desconocido | No | Desconocido | No | No |
V-Rep | Desconocido | No | Desconocido | No | No |
Webots | Desconocido | Sí | Sí | Sí | Sí |
4DV-Sim | Desconocido | No | Desconocido | No | No |
OpenRAVE | Desconocido | No | Desconocido | No | No |
Software | CAD a Motion | Evitación dinámica de colisiones | Efectores Finales Relativos | Programación fuera de línea | Control de transmisión en tiempo real |
Familias de robots
Software | UGV (robot móvil de tierra) | UAV (robots aéreos) | AUV (robots submarinos) | Brazos robóticos | Manos robóticas (simulación de agarre) | Robots humanoides | Avatares humanos | Lista llena |
---|---|---|---|---|---|---|---|---|
Actin | Sí (puede incluir manipuladores) | Sí (puede incluir manipuladores) | Sí (puede incluir manipuladores) | Sí | Sí | Sí | Sí | |
ARS | Desconocido | Desconocido | Desconocido | Desconocido | Desconocido | Desconocido | Desconocido | |
Mirador | Sí | Sí | Sí | Sí | Sí | Sí | Sí | |
MORSE | Sí | Sí | Parcial | Algunos | No | No | Sí | |
OpenHRP | Sí | No | No | Sí | Sí | Sí | Sí | |
RoboDK | No | No | No | Sí | No | No | No | |
SimSpark | Sí | No | No | Tal vez | Tal vez | Sí | No | |
V-Rep | Sí | Sí | No | Sí | Sí | Sí | Sí | |
Webots | Sí | Sí | Sí | Sí | Sí | Sí | Sí | Modelos de robot webots |
4DV-Sim | Sí | Sí | No | Sí | Tal vez | No | Sí | |
OpenRAVE | Sí | Desconocido | Desconocido | Sí | Sí | Sí | Sí | |
Software | UGV (robot móvil de tierra) | UAV (robots aéreos) | AUV (robots submarinos) | Brazos robóticos | Manos robóticas (simulación de agarre) | Robots humanoides | Avatares humanos | Lista llena |
Actuadores soportados
Software | Cadenas cinemáticas genéricas | Movimiento controlado por la fuerza | Lista llena | Cadenas cinemáticas circulares. | Cadenas cinemáticamente redundantes | Cadenas cinemáticas bifurcadas. |
---|---|---|---|---|---|---|
Actin | Sí | Sí | Restricciones de movimiento | Sí | Sí | Sí |
ARS | Desconocido | Desconocido | Desconocido | Desconocido | Desconocido | |
Mirador | Sí | Sí | Sí | Sí | Sí | |
MORSE | Sí | Sí | Actuadores morse | Desconocido | Desconocido | Desconocido |
OpenHRP | Sí | Sí | Desconocido | Desconocido | Desconocido | |
RoboDK | Desconocido | Desconocido | Desconocido | Desconocido | Desconocido | |
SimSpark | Sí | No | Simspark effectors | Desconocido | Desconocido | Desconocido |
V-Rep | Sí | Sí | Desconocido | Desconocido | Desconocido | |
Webots | Sí | Sí | Actuadores webots | Sí | Sí | Sí |
4DV-Sim | Sí | Sí | Desconocido | Desconocido | Desconocido | |
OpenRAVE | Sí | Sí | Juntas, Actuadores Extra | Sí | Sí | Sí |
Software | Cadenas cinemáticas genéricas | Movimiento controlado por la fuerza | Lista llena | Cadenas cinemáticas circulares. | Cadenas cinemáticamente redundantes | Cadenas cinemáticas bifurcadas. |
Sensores soportados
Software | Odometría | IMU | Colisión | GPS | Camaras monoculares | Camaras estereo | Cámaras de profundidad | Camaras omnidireccionales | Escáneres láser 2D | Escáneres láser 3D | Lista llena |
---|---|---|---|---|---|---|---|---|---|---|---|
Actin | Sí | Sí | Sí | Desconocido | Sí | Sí | Sí | Sí | Sí | Sí | |
ARS | Desconocido | Desconocido | Desconocido | Desconocido | Desconocido | Desconocido | Desconocido | Desconocido | Desconocido | Desconocido | |
AUTOMAPPPS | Desconocido | Desconocido | Desconocido | Desconocido | Sí | Sí | Sí | Desconocido | Sí | Sí | |
Mirador | Sí | Sí | Sí | Sí | Sí | Sí | Sí | Sí | Sí | Sí | |
MORSE | Sí | Sí | Sí | Sí | Sí | Desconocido | Sí | Desconocido | Sí | Sí | Sensores morse |
OpenHRP | Desconocido | Sí | Sí | Desconocido | Sí | Desconocido | Sí | Desconocido | Sí | Sí | Sensores OpenHRP |
RoboDK | Desconocido | Desconocido | Desconocido | Desconocido | Desconocido | Desconocido | Desconocido | Desconocido | Desconocido | Desconocido | |
SimSpark | Sí | Sí | Sí | Parcial | Sí | Parcial | Desconocido | Desconocido | No | No | Perceptores SimSpark |
V-Rep | Desconocido | Sí | Sí | Sí | Sí | Sí | Sí | Desconocido | Sí | Sí | |
Webots | Sí | Sí | Sí | Sí | Sí | Sí | Sí | Sí | Sí | Sí | Sensores webots |
4DV-Sim | Sí | Sí | Sí | Sí | Sí | Sí | Sí | Sí | Sí | Sí | |
OpenRAVE | Sí | Sí | Sí | Sí | Sí | Sí | Sí | Desconocido | Sí | Sí | |
Software | Odometría | IMU | Colisión | GPS | Camaras monoculares | Camaras estereo | Cámaras de profundidad | Camaras omnidireccionales | Escáneres láser 2D | Escáneres láser 3D | Lista llena |
Otros simuladores
Simuladores de código abierto
breve: un simulador multiagente del mundo 3D en Python.
EZPhysics: Combinación de física de Ogre3D y ODE, la GUI expone todos los datos de objetos de ODE, el control remoto de bucle cerrado de red opcionalmente a través de Matlab / Simulink.
Khepera Simulator es un simulador de Windows de código abierto para el robot Khepera que se precede a Webots.
Klamp’t: un simulador introducido en 2013 que se especializa en el contacto estable de trimesh-trimesh. Apoya la locomoción y la manipulación de las patas.
LpzRobots: un simulador de robot de física 3D desarrollado en la Universidad de Leipzig.
miniBloq: este software de programación de robots para placas Arduino tiene un nuevo simulador.
Moby: una biblioteca de dinámica de cuerpo rígido escrita en C ++.
OpenSim Simulator para robots articulados y con ruedas con una amplia gama de características. El desarrollo adicional se detuvo en el año 2006.
Robotics Toolbox para MATLAB es un software gratuito que proporciona funcionalidad para representar posturas (transformaciones homogéneas, ángulos de Euler y RPY, cuaterniones), robots de brazo (cinemática, dinámica, simulación, animación) y robots móviles (control, localización, planificación y animación).
ARTE A Robotics Toolbox for Education (ARTE) es una herramienta educativa de software libre basada en Matlab. Proporciona funciones para representar posición y orientación. Además, incluye funciones para simular brazos robóticos (cinemática directa / inversa, dinámica, planificación de rutas y más). La caja de herramientas incluye un gran conjunto de modelos robóticos en 3D que se pueden ver y simular dentro de una celda robótica.
Simbad 3d Robot Simulator Simulador basado en Java
SimRobot: un paquete de software de simulador de robot desarrollado en la Universität Bremen y el Centro Alemán de Investigación de Inteligencia Artificial.
Etapa: simulador 2.5D a menudo utilizado con Player para formar el sistema Player / Stage. Parte del proyecto jugador
Simulador STDR Un simulador de robot múltiple 2D simple, flexible y escalable para usar dentro del sistema operativo de robot.
UCHILSIM: un simulador basado en la física para robots AIBO introducido en RoboCup 2004.
UWSim: un simulador de agua subterránea para la investigación y el desarrollo de la robótica marina que incorpora simulación de sensores, dinámica y física.
Simuladores de código cerrado y propietario
anyKode Marilou
ORCA-Sim: un simulador de robot (Windows) 3D que utiliza el motor de física de Newton Game Dynamics.