V-REP es una plataforma flexible y escalable para el robomodelado. Continuación del artículo.

imagen
Les presento la traducción de la segunda parte del artículo, cuya primera parte ya hemos publicado, se puede encontrar aquí .
En la primera parte, nos familiarizamos con el entorno de modelado V-REP, examinamos los métodos de control de modelado y las posibilidades de implementar V-REP en el modelado.
Ahora estudiaremos las funciones de modelado en V-REP y consideraremos varios ejemplos de uso de la plataforma V-REP.

Funciones de modelado de
V-REP V-REP se desarrolla sobre la base de una arquitectura universal y no tiene un módulo principal o central. En cambio, V-REP consiste en grupos funcionales relativamente separados que pueden activarse o desactivarse según sea necesario.

Imagine un escenario de simulación en el que un robot industrial tiene que recoger cajas y moverlas a otra ubicación. V-REP calcula la dinámica de capturar y mantener la caja, y para otras partes del ciclo, cuando los efectos dinámicos son insignificantes, realiza un modelado cinemático. Este enfoque le permite calcular los movimientos de un robot industrial de forma rápida y precisa, lo que no funcionaría si la simulación completa utilizara bibliotecas dinámicas complejas. El uso de una simulación híbrida de este tipo se justifica cuando el robot está rígidamente fijo y no está bajo la influencia del entorno.

Además de la inclusión selectiva adaptativa de varias funcionalidades, V-REP puede usarlas juntas, lo que obliga a una a interactuar con otra. Por ejemplo, al modelar un robot humanoide, V-REP puede procesar los movimientos de las piernas de la siguiente manera: primero, se calcula la cinemática inversa para cada pierna (es decir, la posición total de la pierna entera se calcula a partir de la posición y orientación del pie deseadas); entonces las posiciones de las articulaciones se calculan como objetivos para el módulo de dinámica. Esto le permite establecer los movimientos humanoides de una manera muy universal, porque para cada pierna se asignará un movimiento de repetición de la ruta de 6 dimensiones: los cálculos restantes se realizan automáticamente.

La funcionalidad se refiere a objetos de script específicos o módulos de cálculo específicos, cada uno de los cuales se describe a continuación.

Simulación de objetos .

Los modelos de simulación V-REP contienen varios objetos o elementos que se ensamblan en una jerarquía de árbol. V-REP admite las siguientes escenas de simulación:

Articulaciones : elementos que unen dos o más objetos de escena, proporcionando de uno a tres grados de libertad (prismáticos, rotacionales, helicoidales o esféricos). Pueden funcionar en varios modos (por ejemplo, en modo de potencia / rotación, cinemática inversa, etc.)

Formas : mallas triangulares poligonales utilizadas para modelar y visualizar un cuerpo sólido.

Sensores sin contacto (Figura 3): Calculan la distancia mínima exacta a la parte de la figura que está dentro del rango de detección. Esto proporciona una simulación continua y más realista que la detección basada en una gran cantidad de rayos direccionales.

Sensores visuales: los sensores visuales le permiten extraer imágenes complejas e información de escenas de modelado (colores, tamaño de objetos, profundidad del mapa, etc.). La función incorporada de filtrado y procesamiento de imágenes lanza un bloque de elementos de filtrado. Los sensores visuales usan aceleración de hardware para obtener imágenes RAW (soporte OpenGL).

sensores de fuerza: son enlaces duros entre las figuras que pueden registrar las fuerzas y los pares aplicados, y que pueden romperse cuando se excede un umbral dado.

Gráficos : los gráficos pueden grabar una amplia variedad de flujos de datos predefinidos o de usuario. Las secuencias de datos se pueden mostrar directamente (línea de tiempo de un tipo de datos determinado), o en combinación entre sí para mostrar gráficos X / Y o curvas 3D.

Cámaras : le permiten visualizar escenas que dependen del punto de vista.

Iluminación : ilumina la escena u objetos individuales en la escena y afecta a las cámaras o sensores visuales.

Formas: determinan un movimiento complejo en el espacio (una secuencia de traslaciones, rotaciones y / o pausas combinadas libremente), y se utilizan, por ejemplo, para dirigir la antorcha de soldadura del robot a lo largo de un camino determinado o le permiten especificar el movimiento de la cinta transportadora.

Puntos de material : son sistemas de referencia auxiliares que se pueden utilizar para diversas tareas. Se utiliza principalmente en combinación con otros objetos en la escena.

Fresas : se pueden utilizar para imitar la superficie de las operaciones de corte en el formulario (por ejemplo, fresado, corte por láser, etc.).



Módulos computacionales

Los objetos de simulación rara vez se usan de forma independiente, sino que funcionan en conjunto con otros objetos (por ejemplo, el sensor de proximidad detecta formas). Además, V-REP ofrece varios módulos de cálculo que pueden funcionar directamente en una o más escenas de simulación. Los siguientes son los principales módulos de cálculo:

Módulo cinemático : le permite realizar cálculos cinemáticos (directos e inversos) para cualquier tipo de mecanismo (ramificado, cerrado, redundante, que contiene bucles anidados, etc.). El módulo se basa en el cálculo de los cuadrados de menor desvanecimiento.

módulo dinámico: le permite ajustar la dinámica de cálculo de sólidos e interacciones (colisión, aferramiento, etc.) utilizando la Biblioteca de Física de Bala y el Motor de Dinámica Abierta. Las simulaciones de sistemas dinámicos todavía están en la etapa inicial y a menudo se basan en indicadores aproximados. Para confirmar los resultados, es importante confiar no solo en un motor físico.

Módulo de detección de colisión: le permite verificar rápidamente las colisiones entre cualquier forma o conjunto de formas. Este módulo es completamente independiente de la respuesta de los algoritmos para calcular la dinámica del módulo. Las estructuras de datos basadas en el árbol binario de cajas rectangulares se utilizan para la aceleración. Se logra una optimización adicional a través de técnicas de almacenamiento en caché.

Módulo de cálculo de distancia (módulo Mech-mech) : le permite minimizar rápidamente la distancia de cálculo entre cualquier forma (convexa, cóncava, abierta, cerrada, etc.) o un conjunto de formas. El módulo usa las mismas estructuras de datos que el módulo de detección de colisión.

Módulo de planificación de movimiento : planificación manual de tareas holonómicas y no holonómicas utilizando un enfoque basado en el algoritmo de árbol aleatorio de exploración rápida (RRT) . Las tareas de planificación de ruta cinemática también son compatibles.

Para mayor versatilidad, los módulos anteriores se implementan en forma general. Los objetivos de su integración con V-REP son algo similares a la integración de los scripts integrados, que se describen en la primera parte del artículo. La gran mayoría de las simulaciones o modelos de simulación no requieren herramientas específicas, un conjunto suficientemente bueno de herramientas básicas. Si las herramientas se integran en el simulador y se definen sus tareas que se relacionan directamente con el modelo de simulación, el modelo se vuelve extremadamente fácil de transportar. El modelo de simulación se inicia en otra máquina o plataforma utilizando un archivo de modelo: no es necesario volver a compilar, instalar o reiniciar el complemento. Del mismo modo, esto hace que los modelos sean altamente escalables: la duplicación del modelo conserva la funcionalidad sin la necesidad de cambiar el código fuente.El proceso de duplicación puede llevarse a cabo incluso durante el proceso de simulación.

El enfoque tradicional para expandir la funcionalidad con complementos para admitir un modelo de simulación específico también es compatible con V-REP.

Ejemplo
En algunos casos, es imposible usar el controlador por separado de la entidad simulada. Como regla, esto sucede cuando se trabaja con el controlador principal del robot, que incluye elementos muy complejos. O cuando el controlador debe ejecutarse de forma nativa. Pero, por otro lado, ¿es realmente necesario crear su propio complemento para cada sensor pequeño, nueva característica adicional o función pequeña? Los siguientes tres ejemplos ilustran la atractiva versatilidad y portabilidad de los modelos de simulación ofrecidos en V-REP.

1) modelo de escáner láser

La Figura 4 muestra un modelo de escáner láser en V-REP. El modelo consta de una carcasa o carcasa, una bisagra, un sensor de proximidad instalado en la bisagra.
La secuencia de comandos secundaria de interrupción se adjunta al cuerpo del sensor y es responsable de mover la articulación a un ángulo determinado, leer el sensor de proximidad, generar líneas primitivas en la escena de modelado (y puntos de contacto) y luego pasar a la siguiente posición angular. Dado que el script secundario se ejecuta en el subproceso principal, procesa exactamente tantas posiciones angulares de la unión como esta se movió durante la simulación.

Puede arrastrar el modelo a la escena de simulación y comenzará a funcionar de inmediato. Todo el modelo se coloca en un archivo, también es adecuado para su uso directo en otras plataformas y es compatible con los V-REP actuales y futuros. Un modelo se puede duplicar tantas veces como sea necesario, y su código de control se puede cambiar si es necesario.

imagen

Se pueden crear otros modelos de la misma manera, ya sea un bolígrafo para pintar, una boquilla para pintar, una empuñadura, una cámara de detección de manchas o un robot completo.

2) Modelo de simulación de manipulador paralelo

La Figura 5 muestra un modelo de un manipulador paralelo controlado en modo cinemático directo desde una aplicación externa que se conecta a través de una API remota. Para manejar correctamente todas las restricciones, el modelo funciona a través del módulo cinemático V-REP. Dado que todos los problemas cinemáticos asociados con esto están vinculados a un modelo, este modelo es autosuficiente, se duplica fácilmente y se ejecuta en otras plataformas. El escalado físico del modelo, que es otra característica compatible con V-REP, ajustará automáticamente todas las tareas cinemáticas (entre otras) y dejará la cinemática interna consistente sin la necesidad de cambiar el código.

imagen

3) Un modelo de simulación de una persona inteligente.

La Figura 6 muestra un modelo de simulación de una persona que realiza las tareas de planificar una trayectoria entre su posición actual y la posición final deseada. Mientras que la tarea de planificación de ruta en sí se realiza en el módulo de planificación de ruta V-REP, un script secundario que se adjunta al modelo activa el cálculo de las acciones de los brazos y las piernas, los pone en acción y mueve correctamente el modelo a lo largo de la ruta calculada. En este caso, el modelo también es totalmente autónomo y totalmente portátil.

imagen

Conclusión

V-REP es un entorno de modelado versátil y escalable. Al ofrecer muchas técnicas de programación diferentes para controladores, así como la capacidad de integrar controladores y funciones en modelos de simulación, facilita la tarea de los programadores y reduce la complejidad de implementación para los usuarios.

Hasta la fecha, V-REP se ha convertido en un robusto y ampliamente utilizado simulador de robot y controlador ampliamente utilizado en los campos científico e industrial. Realiza una variedad de tareas: desde verificar el sistema, optimizar algoritmos, modelar complejos circuitos de ensamblaje en automatización industrial, hasta programar tareas para robots y controladores.

Autor del artículo: marc@coppeliarobotics.com
Eric Romer, profesor, Universidad Estatal de Campinas, Brasil
Surya Singh, profesor de la Universidad de Queensland, Australia
Mark Frieze, CEO de Coppelia Robotics, Suiza.

Traducción: Ales Khanieva, campus Robotnopark Navigator, Kazan.

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


All Articles