Robot articulado de 2 ejes

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

Pere Garriga nos explica en este nuevo artículo lo imprescindible para poder realizar el control de un robot articulado de dos ejes

Robot articulado de 2 ejes

El propósito de este artículo es dar a conocer lo imprescindible para poder realizar el control de un robot articulado de dos ejes, las ecuaciones inversas para transformar el movimiento del plano cartesiano al movimiento de las juntas del robot, J1 y J2 o ángulos Alfa y Beta. Así como las ecuaciones directas para transformar los valores de las juntas a posición en el plano cartesiano.

Croquis de esta geometría.

Se llama articulado de dos ejes porque dispone de dos articulaciones, cada una accionada por un servomotor, llamadas J1 y J2. En la siguiente figura se muestra un simple croquis.

Se trata de una cinemática serie, puesto que, al mover solo la junta más próxima a la base del robot, j1, el resto del robot a partir de este punto se podrá mover. Lo mismo si se acciona j2, el resto del robot a partir de este punto se podrá mover. Dicho de otra forma, las juntas del robot se pueden mover de forma independiente.

En este gráfico se muestra lo que sería un robot serie de tres juntas, A, B y C



Esta cinemática se emplea mucho en aplicaciones de Pick & Place y de forma muy habitual en el sector de Alimentación y bebidas. P.ej: para coger agrupaciones de un producto e introducirlas en cajas, la posición de carga (Pick) suele ser la misma, la de descarga (Place) suele ir variando para formar filas o columnas en el interior de la caja. En el gráfico se muestra una secuencia de “fotogramas” para entender el movimiento.

El punto rojo en la base del robot indica el eje de rotación de la junta 1 y el punto azul corresponde al eje de rotación de la junta 2. Al final del brazo B2 está la ventosa que sujeta el producto, lo que sería la posición del TCP (Tool Center Point) El producto está representado por el rectángulo verde.

Calculo de la transformada.

En el siguiente croquis de muestra esta cinemática, en color rojo está todo lo referido al brazo 1 y en azul al brazo 2.



J1 es la primera junta o articulación del robot, que mueve el brazo 1, de radio r1 y por ser un robot serie, también se moverá el brazo 2, de radio r2. La posición absoluta de j1 va en sentido anti horario, es decir, en posición horizontal está en 0 grados y en posición vertical a 90 grados.

J2 es la segunda junta o articulación del robot, que mueve el brazo 2, de radio r2, sin afectar al brazo 1. La posición absoluta de j2 va en el mismo sentido, de forma que los valores de beta normalmente serán negativos, aunque también funciona con grados positivos.

H, en verde, es la hipotenusa que va desde la junta j1 a la posición X, Y deseada, que corresponde con el TCP (Tool Center Point), es solo para efectos de cálculo, no corresponde con nada físico del robot.

A modo de comprobación, si Alfa = 90° y Beta = 0°; X = r2, Y = r1. Si Alfa = 0° y Beta = 0°; X = r1 + r2, Y = 0. O si Alfa = 90° y Beta =-90°; X = 0, Y = r1-r2.

Visto esto se entiende fácilmente el hecho de que la posición del TCP (X, Y) está en función de la posición angular de las juntas J1 y j2.

Para poder mover el TCP a una determinada posición X, Y en el plano cartesiano, necesitaremos las ecuaciones para transformar los valores de X e Y a las correspondientes posiciones angulares de Alfa y Beta, dicho de otra forma, necesitamos conocer la cinemática o transformada inversa.
Hay que decir que siempre que se trabaja con transformadas, se necesitan ejes virtuales en el plano cartesiano, en esta ocasión un eje X y un eje Y, o un X, Z según se mire. De ahora en adelante se da por sabido que al hacer referencia a los ejes cartesianos se trata de ejes virtuales.

Seguidamente se muestran las ecuaciones de las transformadas:

Supongamos que, al dar tensión al robot, la lectura de la posición que nos dan sus encoders absolutos, es de j1 = 38.4° y j2 = -12.8°, necesitamos conocer las coordenadas de X e Y; para ello calculamos la transformada directa, con r1 = 800 mm y r2 = 600 mm y obtenemos que la coordenada del eje X será = 1212.04 e Y = 363.99 mm.

La transformada directa solo se emplea durante la inicialización del robot para conocer su posición en el plano cartesiano, es como si fuese el referenciado, de los ejes X e Y.

Supongamos que queremos mover el robot a X = 920 e Y = 1000 mm, ¿a qué posición tengo que mover j1 y j2? Calculamos la transformada inversa y obtenemos que Alfa (j1) = 59,41° y Beta (j2) = 31,26°

La transformada inversa es la que nos da la posición a la que mover los ejes j1 y j2, continuamente para conseguir la posición deseada del TCP.

Formas de implementación.

En este caso se muestra una arquitectura de control integrada con un PAC (Programable Automation Controller) y servodrives en bus SERCOS III. Esta arquitectura 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 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 j1 y j2 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 j1 y j2 para que el TCP esté en todo momento en la posición marcada por X e Y. Esta es la forma en que funcionan un robot delta, un antropomórfico o una plataforma Steward.

De esta manera se puede realizar cualquier tipo de movimiento en los ejes X e Y, el más simple sería el de encadenar simples posicionados para conseguir la trayectoria en U invertida redondeada o se puede mejorar con interpolaciones tipo Splines, para conseguir mayor velocidad y suavidad.

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 j1 y para j2 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.
    Ejes preparados = TRUE; // Ya se pueden mover los ejes X e Y
 Fin de bloque

// Programa principal, tarea cíclica a 10 mseg.
Si se ha seleccionado modo MANUAL, entonces ejecuta
    Consultar pulsadores de avance manual X_JogFwd, XJogRew, Y_JogFwd
    e YJogRew y Programar los movimientos en JOG correspondientes
    para cada eje.

Fin de bloque

Si se ha seleccionado modo AUTOMATICO, entonces ejecuta

// Aquí es donde se programará la secuencia del ciclo automático
Mediante una máquina de estados u otra técnica se programará la
secuencia de movimientos del ciclo automático. Pongamos un ejemplo
de una pick & place, empleando la trayectoria de U invertida más
básica, con los puntos P0, P1, P2, P3.

Estado 00: Ir a la posición de Pick P0, al alcanzar la posición
                ir al siguiente estado.
Estado 10: Activar el vacío para coger la pieza y esperar 60 mseg,
                ir al siguiente estado
Estado 20: Subir a la posición P1, al alcanzar la posición ir al
                siguiente estado.
Estado 30: Desplazar a la posición P2, al alcanzar la posición ir
                al siguiente estado.
Estado 40: Bajar a la posición de Place P3, al alcanzar la posición
                ir al siguiente estado.
Estado 50: Desactivar el vacío para soltar la pieza y esperar
                100 mseg, ir al siguiente estado
Estado 60: Subir a la posición P2, al alcanzar la posición ir al
                siguiente estado.
Estado 70: Desplazar a la posición P1, al alcanzar la posición
                volver al estado 0.
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 j1 y otro para el j2 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 j1 y j2 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 j1 y para j2 con las ecuaciones de la cinemática inversa

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

Si la posición de j2 ha cambiado, entonces
    Posicionado absoluto de j2 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 j1 y j2 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 articulado de dos ejes 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, muchos controladores PAC ya incorporan su cinemática. Se emplea mucho en el sector de alimentación y bebidas o Food & Beverage en inglés.

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 matemáticas.

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 otro de fabricació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