V-REP: una plataforma de robomodelado flexible y escalable



Recientemente me encontré con un entretenido artículo sobre una plataforma robomodeling en inglés. Y dado que represento el parque tecnológico de robótica del campus Navigator y nuestras actividades están relacionadas en gran medida con el modelado, la robótica y la electrónica, pensé que sería genial traducir este artículo y llevarlo a las masas. Espero que la traducción sea útil.


Por cierto, ya había una publicación sobre el tema del robosimulador V-REP , por lo que recomiendo leerlo.

Hoy en día, las posibilidades de usar la robótica son enormes, los robots se usan en todas partes, desde explorar planetas hasta limpiar casas. La combinación de tres subsistemas en los robots: el actuador, el sensor y el control los hace efectivos en el mundo real, pero complica la simulación virtual. En este artículo queremos presentarle el marco para simular sistemas robóticos: V-REP.

Introducción
El crecimiento exponencial de la potencia informática de las computadoras (sin mencionar el hardware para gráficos tridimensionales), junto con el advenimiento de una gran cantidad de software de código abierto y electrónica, han cambiado enormemente los sistemas de simulación virtual 3D de robots. Hubo una oportunidad no solo de complicar el entorno de trabajo, sino también de garantizar el lanzamiento de sistemas robóticos físicos en tiempo real, así como de incluir en la simulación sistemas móviles / integrados controlados directamente desde el entorno.

En principio, es posible ensamblar independientemente el simulador de varias bibliotecas cinemáticas, físicas y gráficas, y la arquitectura y la metodología utilizadas serán de importancia decisiva en términos de rendimiento y precisión de la simulación. Un enfoque sistemático robusto requiere el uso de estrategias de modelado universales y escalables.

De hecho, el objetivo principal del simulador es proporcionar una gran cantidad de herramientas y capacidades para la simulación. Hay dificultades con esto, porque la variedad de sistemas robóticos no nos permite prever los detalles del simulador. Además, algunos usuarios necesitan un enfoque flexible que permita trabajar con un lenguaje de programación simple, así como hacer que el simulador sea portátil, adecuado para todo tipo de modelos de robot y, lo más importante, escalable.

Actualmente hay varias plataformas de modelado disponibles, como Open HRP , Gazebo o Webots.. A pesar de que estas plataformas ofrecen una funcionalidad suficiente, no pueden ofrecer una amplia variedad de capacidades y técnicas de programación mutuamente complementarias. Sus modelos y controladores de simulación son solo parcialmente portátiles, tienen varios problemas y, por lo tanto, requieren un procesamiento por separado. Por ejemplo, a menudo es necesario volver a compilar el código en varias plataformas de hardware, o puede ser necesario ajustar cuidadosamente el modelo simulado y el controlador tomado de dos archivos diferentes, o necesita soporte de escalabilidad, y se hace a través de algoritmos codificados poco conocidos.

El simulador V-REP es el resultado de los intentos de cumplir con todos los requisitos de versatilidad y escalabilidad del entorno de modelado. Junto con los enfoques de modelado tradicionales que tienen otros simuladores, V-REP agrega varios enfoques adicionales. También en esta parte del artículo consideraremos la arquitectura de control V-REP, la tecnología de los scripts incorporados que reemplazan varios tipos de controladores en el modelo de simulación, lo que hace que estos modelos sean extremadamente portátiles y escalables.
En la segunda parte del artículo, consideraremos, en general, la funcionalidad del sistema de modelado y su integración en modelos de simulación. Además, como ejemplo, se considerarán tres modelos prácticos de simulación creados en V-REP y su implementación.

Cuando existe la necesidad de construir escenas complejas, entonces no hay mejor opción que usar un sistema de control distribuido. Este enfoque simplifica la tarea al separar la gestión de los sujetos, acelera la simulación, distribuye la carga del procesador en varios núcleos o varias máquinas, y esto le permite controlar la ejecución de algoritmos. Sin embargo, existen requisitos de modelado que no deben olvidarse para lograr este objetivo.

Descripción general de las técnicas de gestión de simulación.

El código de simulación de control se ejecuta utilizando los siguientes tres métodos:

1. El código de control se ejecuta en otra máquina.
El código se puede ejecutar en una máquina separada o en un robot conectado a un simulador de máquina a través de un bus específico (por ejemplo, un conector, un puerto serie, etc.). La principal ventaja de este enfoque es la originalidad del controlador (el código de control es nativo y funcionará en el equipo original). Otra ventaja es la reducción de la carga computacional en la simulación de la máquina. Sin embargo, este enfoque impone serias limitaciones en la sincronización con el ciclo de simulación.

2. El código de control se ejecuta en la misma máquina, pero en un proceso (u otro hilo) que es diferente del ciclo de simulación.
Con este método, también podemos usar una carga reducida y equilibrada en los núcleos del procesador, pero esto irá acompañado de una falta de sincronización con el ciclo de simulación. La mayoría de las veces, este proceso se combinará con retraso de comunicación o demoras en el cambio. Este método a menudo se implementa a través de programas ejecutables externos o complementos cargados en el simulador.

3. El código de control se ejecuta en la misma máquina y en el mismo hilo que el ciclo de simulación.
La principal ventaja de este enfoque es la sincronización con el ciclo de simulación, la ausencia de retrasos. Sin embargo, este método solo es posible con un aumento en la carga computacional en el procesador. Este método a menudo se implementa a través de complementos cargados en el simulador.

Las desventajas más comunes de los métodos anteriores son la mala portabilidad y el escalado escaso de los modelos de simulación: dado que el código de control no está vinculado al modelo de simulación correspondiente, debe distribuirse, compilarse e instalarse por separado. Esto aumenta la cantidad de problemas de compatibilidad en diferentes plataformas, así como la cantidad de conflictos con otras bibliotecas. La flexibilidad también se reduce porque necesita volver a compilar y volver a cargar el ejecutable para cada pequeño código de modificación. Una copia del modelo, como en el caso del modelado multi-robot, será apoyada por mecanismos de cable que lanzan nuevos controles para cada instancia del modelo de simulación.

Implementación de V-REP .

V-REP permite al usuario usar varias posibilidades para modelar: (Tabla. 1 y Fig. 2)





Scripts incorporados Esta
es la característica distintiva más poderosa de V-REP. El bucle principal de simulación lua script ( “ ”) — . , . . , , . , . : , , , , . . 3 II.


, , V-rep lua. ( /), ( ).


V-REP . lua, . . /, . API , ROS (. . ) .

API
API V-REP V-REP . API API . (C/C++, Python, Java, Matlab & Urbi) , , , . , : API , . ( ), ( , / ). API, , , ROS .

ROS
V-REP ROS , ROS V-REP ROS , ROD /. / , .



: marc@coppeliarobotics.com
, ,
, ,
, Coppelia Robotics, .
: , , . .

Source: https://habr.com/ru/post/es383009/


All Articles