Robot Delta de 2 ejes

Fecha de publicación
Cateogría del artículo Motion Control
Visualizaciones del artículo Leído  4713  veces
Tags del artículo

Pere Garriga nos explica los aspectos imprescindible para poder realizar el control de un robot delta de dos ejes

Robot Delta de 2 ejes

El propósito de este artículo es dar a conocer lo imprescindible para poder realizar el control de un robot delta de dos ejes, las ecuaciones inversas para transformar el movimiento del plano cartesiano al movimiento de las juntas del robot, J1 y J2 o posiciones angulares de los motores M1 y M2.

Así como las ecuaciones directas para transformar los valores de las juntas a posición en el plano cartesiano.

Croquis de esta geometría

El robot delta de dos ejes es un robot paralelo, por lo que no se puede mover ninguna junta de forma independiente, se emplea mucho en aplicaciones de picking, en esta geometría los motores están fijos en la parte superior y lo que se mueve es el paralelogramo inferior, ocupan poco espacio en la zona de trabajo.

Cálculo de la transformada inversa

Puesto que se trata de un robot paralelo, hay que mover los motores M1 y M2 de forma sincronizada, no se puede mover solamente un motor.

Partiendo de las coordenadas X, Y del plano cartesiano hay que calcular en tiempo real el valor de la posición angular de M1 y M2 y para ello necesitamos las ecuaciones que nos permitirán realizar dicho cálculo.



Nota: Prestar atención a las unidades angulares, la mayoría de sistemas trabajan en radianes, por lo que probablemente se tendrá que añadir alguna conversión de radianes a grados y/o viceversa.

Cálculo de la transformada directa

Al inicializar el sistema, la única forma de saber dónde está el robot, es leyendo los encoders absolutos de M1 y M2 y transformar su posición angular a las correspondientes coordenadas cartesianas. Para ello necesitamos conocer las ecuaciones de la transformada directa. Se muestran seguidamente:



Nota: Prestar atención a las unidades angulares, la mayoría de sistemas trabajan en radianes, por lo que probablemente se tendrá que añadir alguna conversión de radianes a grados y/o viceversa.

Formas de implementación

Para el control de robots paralelo siempre se necesita una arquitectura de control integrada con un PAC (Programable Automation Controller). En función del fabricante del PAC quedará determinado el bus de campo para los servodrives, que probablemente será SERCOS III, EtherCAT, PowerLink o EtherNet/IP.

Esta arquitectura, la de un PAC, es la que ofrece mayores prestaciones y por otra parte es la mínima necesaria para que el robot pueda seguir en todo momento la trayectoria.



En la mayoría de los controladores PAC se puede tomar el control de la referencia de posición que se envía a los ejes, en tal caso la idea es la de crear dos ejes virtuales, el X y el Y. En una tarea rápida se calcula la transformada inversa de las posiciones de X e Y para obtener los valores de posición donde deben estar M1 y M2 en todo momento, estas referencias de posición son las que se envían a los servodrives a través del bus, en este caso, SERCOS III y estos se encargan de conseguir que la posición real de cada eje siga con la máxima precisión al valor de referencia, con el mínimo error de seguimiento. Por tanto, cualquier movimiento en los ejes cartesianos, X, Y se transformará al movimiento adecuado en M1 y M2 para que el TCP esté en todo momento en la posición marcada por X e Y.

El siguiente pseudocódigo pretende clarificar lo explicado:

// Tarea cíclica rápida, de 1 a 4 mseg., para el cálculo de la
// transformada inversa y envió de posición de referencia
    Calcular la posición de referencia para M1 y para M2 con las ecuaciones de la cinemática inversa
    Transferir posiciones de referencia de los ejes a los servodrives

// Función para inicializar las posiciones de los ejes virtuales X e Y
Si es el primer escan, entonces ejecuta
    Calcular las posiciones de X e Y con las ecuaciones de la cinemática directa.
    Asignar a los ejes los valores de posición obtenidos.
    Ejes preparados = TRUE; // Ya se pueden mover los ejes X e Y
Fin de bloque

En caso de que el PAC no permita tomar el control de la referencia de posición para los servodrives, se puede optar por la técnica de realizar un posicionado absoluto para el eje M1 y otro para el M2 en una tarea rápida, de forma que cada vez que se modifica el valor de la posición, el que se obtiene del cálculo de la transformada inversa, se vuelva a ejecutar el posicionado. De esta forma M1 y M2 estarán siguiendo continuamente las posiciones transformadas de X e Y y el TCP del robot siempre estará en la posición física X e Y correspondientes.

Sería como se muestra en el siguiente pseudocódigo:
//-------------------------------------------------------------------
// Tarea cíclica rápida, de 1 a 4 mseg., para el cálculo de la
// transformada inversa y posicionado de los ejes

Calcular la posición de referencia para M1 y para M2 con las ecuaciones de la cinemática inversa

Si la posición de M1 ha cambiado, entonces
    Posicionado absoluto de M1 a la nueva posición
Fin de bloque

Si la posición de M2 ha cambiado, entonces
    Posicionado absoluto de M2 a la nueva posición
Fin de bloque

// ------------------------------------------------------------------

En todos los casos se pueden emplear, posicionados, interpolaciones lineales y circulares, movimientos en manual, interpolaciones mediante Splines, para generar la trayectoria del robot en X, Y. Según sea el PAC empleado se tendrá más o menos funcionalidad para programar la trayectoria, o el Motion Path en inglés.

Un punto importante en todos los casos es que durante la inicialización y antes de realizar ningún movimiento, hay que calcular la transformada directa con los
valores de posición que se obtienen de los encoders absolutos de M1 y M2 y traspasar los valores obtenidos de X e Y a los ejes virtuales.

No es nada aconsejable, aunque es posible, el empleo de encoders incrementales puesto que el proceso de referenciado requiere algunas líneas de código y en caso de parada, la re-inicialización del trabajo puede requerir más tiempo e incluso la intervención del operari@.

Resumen / Conclusión

El robot delta 2 X, Y o X, Z es muy interesante para aplicaciones de Pick & Place, su diseño mecánico es relativamente fácil y no es difícil de controlar, la inmensa mayoría de controladores PAC ya incorporan su cinemática. Se emplea mucho en el sector de alimentación y bebidas o Food & Beverage en inglés.

A diferencia de los robots delta 3, que se emplean en aplicaciones de mucha velocidad (>70 ppm) y poca carga, las aplicaciones típicas del delta 2 suelen ser de menor velocidad y mayor carga puesto que no suelen coger piezas unitarias, sino agrupaciones de varios productos.

Agradecimientos

Quiero agradecer la colaboración de Pere Garriga Sánchez, en la creación de este artículo, en todo lo referente a las ecuaciones de las transformadas.

Pere es estudiante de 2º curso de Ingeniería mecánica en la UPC y tiene un grado superior en diseño mecánico y en fabricación y programación de la producción, por el IPESS.

Linkedin Pere Garriga

/blogs-automatizacion/marcas/498-motion-control

Motion Control

Blog dedicado a la introducción en los conceptos de Motion Control (Control de movimiento) en sistemas de automatización




Descargas