22
2010 *Elihu Henri Ostos García Universidad tecnológica de Altamira Ingeniería en Mecatrónica 8°B 12/11/2010 Cinemática del robot y control cinemático.

Cinematic A Del Robot y Control Cinematico

Embed Size (px)

Citation preview

2010

*Elihu Henri Ostos García

Universidad tecnológica de Altamira

Ingeniería en Mecatrónica 8°B

12/11/2010

Cinemática del robot y control cinemático.

TIPOS DE TRAYECTORIAS

Para realizar una tarea determinada el robot debe moverse desde un punto inicial un punto

final. Este movimiento puede ser realizado según infinitas trayectorias espaciales. De todas

ellas hay algunas que, bien por su sencillez de implementación por parte del control

cinemático o bien por su utilidad y aplicación a diversas tareas, son las que en la práctica

incorporan los robots comerciales. De este modo, puede encontrarse que los robots

dispongan de trayectorias punto a punto, coordinadas y continúas.

TRAYECTORIAS PUNTO A PUNTO

En este tipo de trayectorias cada articulación evoluciona desde su posición inicial a la final

sin realizar consideración alguna sobre el estado o evolución de las demás articulaciones.

Normalmente, cada actuador trata de llevar a su articulación al punto destino en el menor

tiempo posible, pudiéndose distinguir dos casos; movimiento eje a eje y movimiento

simultaneo de ejes.

MOVIMIENTO EJE A EJE

Solo se mueve un eje cada vez. Comenzara a moverse la primera articulación, y una vez

que hay alcanzado su punto final lo hará la segunda, y así sucesivamente este tipo de

movimiento da obviamente como resultado un mayor tiempo de ciclo, teniendo como

única ventaja un menor consumo de potencia instantánea por parte de los actuadores.

MOVIMIENTO SIMULTÁNEO DE EJES

En este caso todos los actuadores comienzan simultáneamente a mover las articulaciones

del robot a una velocidad específica para cada una de ellas. Dado que la distancia a recorrer

y la velocidades será en general diferentes, cada una acabara su movimiento en un instante

diferente.

El movimiento del robot no acabara hasta que se alcance definitivamente el punto final, lo

que se producirá cuando el eje que más tarde concluya su movimiento. De esta manera, el

tiempo total invertido en el movimiento coincidirá con el eje que más tiempo emplee en

realizar su movimiento a una velocidad y aceleración elevada, viéndose obligados

finalmente a esperar a la articulación más lenta.

Por los motivos expuestos, las trayectorias punto a punto están implementadas salvo en

robots muy simples o con unidades de control muy simples.

TRAYECTORIAS COORDINADAS O ISOCRONICAS

Para evitar que algunos actuadores trabajen forzando sus velocidades y aceleraciones,

teniendo que esperar después de la conclusión del movimiento de la articulación más lenta,

puede hacerse un cálculo previo, averiguando cual es esta articulación y que tiempo

invertirá. Se ralentizara entonces el movimiento del resto de los ejes para que inviertan el

mismo tiempo en su movimiento acabando su movimiento a la vez, adaptándose todas a la

más lenta.

El tiempo total invertido en el movimiento es el menor posible y no se piden aceleraciones

y velocidades elevadas a los actuadores de manera inútil. Desde el punto de vista del

usuario la trayectoria que describe el extremo del robot no es significativa, siendo esta

imprescindible, aunque como es obvio, un conocimiento del modelo y control cinemático

del robot que permitirá su cálculo.

TRAYECTORIAS CONTINUAS

Cuando se pretende que la trayectoria que sigue el extremo del robot sea conocida por el

usuario (trayectoria en el espacio cartesiano o de la tarea), es preciso calcular de manera

continua las trayectorias articulares.

Típicamente, las trayectorias que el usuario pretende que el robot describa son trayectorias

en línea recta o en arco de círculo. Para conseguirlo habrá que seguir los pasos indicados en

el epígrafe 6.1. El resultado será de cada articulación sigue un movimiento aparentemente

caótico con posibles cambios de dirección y velocidad y sin coordinación con el resto de la

articulación. Sin embargo, el resultado conjunto será que el extremo del robot describirá la

trayectoria deseada.

La figura 6.3 representa la trayectorias articulaciones q1(t) y q2(t) y el resultado final en el

espacio n de la tarea (x,y) para un robot tipo SCARA correspondientes a los cuatro tipos de

trayectorias indicadas.

GENERACION DE TRAYECTORIAS CARTESIANAS

Normalmente el usuario del robot indica el movimiento que este debe realizar

especificando las localizaciones espaciales por las que debe pasar el extremo, junto con

otros datos, como instantes de paso, velocidades o tipos de trayectoria. Así, por ejemplo, es

frecuente especificar que el robot debe ir de un punto inicial hasta otro final, siguiendo en

cartesianas una línea recta a velocidad constante.

Puesto que esos puntos están excesivamente separados (salvo tal vez la excepción de

algunos robots de pintura programados por guiado) es preciso seleccionar puntos

intermedios suficientemente cercanos como para que el control del robot consiga ajustar

no solo el punto final al especificado, sino también la trayectoria seguida a la indicada en el

programa.

Para ello es preciso establecer un interpolador entre localizaciones expresadas en el

espacio de la tarea que dará como resultado una expresión analítica de la evolución de cada

coordenada. La interpolación más frecuente es la lineal, en la que cada coordenada

evoluciona a velocidad constante desde su valor inicial ji hasta el final jf:

donde ti y tf son los instantes de tiempo en los que se pretende alcanzar la localización

inicial y final, respectivamente.

Para evitar las discontinuidades de velocidad en el caso de paso por varios puntos, pueden

utilizarse las técnicas de interpoladores a tramos o interpoladores a tramos o

interpoladores cúbicos que se describen en el epígrafe 6.4 para el caso de variables

articulares.

INTERPOLACION DE TRAYECTORIAS

Como se ha indicado, una de las funciones del control cinemático es la de unir sucesión de

puntos en el espacio n articular por los que quiere que pasen las articulaciones del robot en

un instante determinado. Además, junto con las condiciones de posición-tiempo, es

conveniente añadir restricción en la velocidad y aceleración de paso por los puntos, de

manera que se asegure la suavidad de la trayectoria y se limiten las velocidades y

aceleraciones máximas. Estas restricciones garantizaran que los actuadores están

capacitados para implementar la trayectoria final.

Para ello deberá seleccionar algún tipo de función (frecuentemente polinómica) cuyos

parámetros o coeficientes se ajustaran al imponer las condiciones se ajustaran al imponer

las condiciones de contorno: posiciones, velocidades y aceleraciones. En la selección de

esta función debe considerarse que tanto calculo de sus parámetros, como su posterior

utilización para generar puntos de consigna al control dinámico, debe hacerse en tiempo

real, por lo que la simplicidad de la función será un factor a valorar.

Se van a presentar a continuación las funciones interpoladas utilizadas con mayor

frecuencia. Cada una de ellas ha sido desarrollada para un solo grado de libertad, debiendo

quedar claro que el mismo cálculo deberá repetirse para cada uno de los grados de libertad

del robot. Cabe indicar que si bien las técnicas de interpolación que a continuación se

describen están planteadas para el espacio articular son igualmente aplicables para el

espacio de la tarea.

INTERPOLADORES LINEALES

Supóngase que se pretende que una de las articulaciones q del robot, pase sucesivamente

por los valore q en los instantes t. Una primera solución a este problema consistiría en

mantener constante la velocidad de movimiento entre cada 2 valores sucesivos (q1,qi) de la

articulación.

La trayectoria entre dos puntos qi-1, qi seria entonces:

Como es obvio, esta trayectoria asegura la continuidad de la posición, pero origina saltos

bruscos en la velocidad q de la articulación, y consecuentemente precisa de aceleraciones

q¨ de valor infinito (ver figura 6.4), lo que en la práctica no es posible.

La selección de los instantes de paso t por los puntos q podrá haberse hecho según los

diferentes criterios expuestos en el epígrafe 6,2 esto es:

1. Intentando que cada articulación q alcance el punto de destino en el menor tiempo

posible sin considerar las demás articulaciones, lo que resultara en velocidades q

constantes e iguales a la máxima.

2. Ajustando los instantes de paso a los de la articulación que más tiempo precise,

resultado movimientos coordinados.

3. Seleccionando los tiempos a partir de las especificaciones dadas en el espacio de la

tarea de modo que el extremo del robot describa una trayectoria predeterminada.

INTERPOLACION CUBICOS

Para asegurar que la trayectoria que une los puntos por los que tiene que pasar la

articulación considerada presente continuidad en velocidad, puede recurrirse a utilizar un

polinomio de grado 3 que cada pareja de puntos adyacentes. De este modo, al tener cuatro

parámetros disponibles se podrán imponer cuatro condiciones de contorno, dos de

posición y dos de velocidad. Los valores de las velocidades de paso por cada punto deben

por tanto ser conocidas a priori. Esta selección no es obvia y se tratara posteriormente.

Se consigue así una trayectoria compuesta por una serie de polinomios cúbicos, cada uno

valido entre dos puntos consecutivos. Este conjunto de polinomios concatenados,

escogidos de modo que exista continuidad en la posición y velocidad, se denominan splines

(cúbicos, por ser de tercer grado).

Una exposición detallada de los mismos puede encontrarse en [ANAND-93].

La expresión de la trayectoria que une dos puntos adyacentes (qi-1,qi) será:

Para poder calcular los valores de los coeficientes del polinomio cubico de la expresión [6.7]

es preciso conocer los valores de las velocidades de paso qi. Para ello existirían diferentes

alternativas.

Un primer criterio para seleccionar las velocidades de paso [CRAIG-89] podría ser:

Esta selección es de sencilla realización y da como resultado una continuidad razonable en

la velocidad. Sin embargo, no establece ninguna condición sobre la continuidad de la

aceleración.

Como alternativa pueden escogerse las velocidades de paso de modo que cada spline

cubico sea continuo en posición, velocidad y aceleración con los dos polinomios

adyacentes. De esta forma, los coeficientes k-l polinomios de tipo spline cubico que pasan

por los puntos q (i E[l,k]), asegurando la continuidad en posición, velocidad y aceleración de

la trayectoria global, serán los dados por la expresión [6.7],donde las velocidades de paso

por los puntos se obtienen de resolver el siguiente sistema de ecuaciones lineales de

diagonal dominante [ROGERS-76]:

Como se observa, el sistema tiene k-2 ecuaciones y k incógnitas, que son las distintas

velocidades de paso por los k puntos. Para completar el número de ecuaciones de modo

que el sistema este definido, se pueden añadir las siguientes condiciones:

Es decir, que la articulación parte de y llega a una situación d reposo por lo tanto, las k

ecuaciones lineales definidas en [6.9] y [6.10] permiten obtener las k velocidades de paso

necesarias para poder aplicar la expresión [6.7] de los splines cúbicos, asegurando la

continuidad hasta la segunda derivada de la trayectoria global.

Una última alternativa para obtener las velocidades de paso q1 seria partir de las

velocidades de paso deseadas en el espacio de la tarea. De este modo, lo mismo que el

modelo geométrico del robot permite obtener las coordenada articulares q a partir de las

cartesianas j, el modelo cinemática (mediante el uso de la Jacobina) permitiría obtener las

velocidades articulares q a partir de las cartesianas j. Sin embargo, es preciso en este caso

considerar los problemas derivados de la posible existencia de puntos singulares en la

trayectoria cartesiana escogida, que darían lugar a velocidades articulares infinitas no

realizables por los actuadores.

INTERPOLADORES A TRAMOS

En los interpoladores vistos hasta el momento, se utiliza un polinomio de un grado

determinado (1 o 3) para unir dos puntos consecutivos de la trayectoria. El uso de los

polinomios de tercer grado permite imponer los valores de velocidad de paso por lo mismo.

Sin embargo, al contrario de lo que ocurre con el interpolador de primer grado (lineal), la

velocidad de la articulación durante el recorrido esta variando continuamente, lo que exige

un control continuo de la misma.

Una alternativa que proporciona una solución intermedia consiste en descomponer en 3

tramos consecutivos la trayectoria que une dos puntos q°, q1. En el tramo central se utiliza

un interpolador lineal, y por lo tanto la velocidad se mantiene constante, no siendo preciso

imprimir aceleración alguna la actuador. En los tramos inicial y final se utiliza un polinomio

de segundo grado, de modo que en el tramo 1 la velocidad varié linealmente desde la

velocidad de la trayectoria anterior a la de la presente, y en el tramo 3 varié desde la

velocidad de la trayectoria presente hasta la de la siguiente. Se tiene entonces que son los

tramos inicial y final la aceleración toma valores constantes distintos de cero, mientras que

en el tramo intermedio la aceleración es nula.

En el caso simple de una trayectoria con dos únicos puntos de velocidad inicial y final nula,

se tiene (6.5) que las ecuaciones de los 3 tramos serian:

Siendo:

En el caso de tener un trayectoria formada por varios puntos, la velocidad de paso por los

puntos intermedios no debería ser nula, puesto que esto daría lugar a un movimiento

discontinuo del robot. Esta situación puede ser evitada si se permite que la trayectoria no

pase exactamente por los puntos. La trayectoria final coincidiría con las trayectorias

rectilíneas que unen los puntos dos a dos salvo en las cercanías de los mismos, donde un

polinomio de 2° grado permitiría variar progresivamente la velocidad, evitando los valores

infinitos de la aceleración que han sido descritos en el apartado 6.4.1 ver figura 6.6.

Esta técnica, denominada ajuste parabólico, se aproxima al interpolador lineal tanto más

cuanto mayor sea la aceleración permitida, coincidiendo con aquel en el caso de

aceleración infinita. Así, si se quiere pasar por los puntos q°, q1, q2 en los instantes t=0,

t=T1 y t=T1+T2, respectivamente, se tendría que la ecuación de los 3 tramos que componen

la trayectoria que une dos puntos consecutivos seria:

Donde a es la aceleración constante que permite cambiar la velocidad de un tramo al

siguiente, siendo su valor:

Y 2t es el tiempo utilizado en variar la velocidad del movimiento, estando repartido

simétricamente respecto al instante T1. Lógicamente, cuanto mayor sea la aceleración a

permitida menor será el tiempo de transición t.

Asimismo, es fácil obtener el máximo error cometido entre la trayectoria ideal (pasando por

q1) y la real con el segmento parabólico. Este se produce en t=T1 y toma valor:

Este error disminuye al permitir tiempos de cambio de trayectoria t más pequeños, siendo

nulo si no se utilizase tramo parabólico (t=0) y la aceleración a pudiese tomar el valor

infinito.

CINEMATICA DIRECTA E INVERSA Cinemática del robot : Estudio de su movimiento con respecto a un sistema de referencia – Descripción analítica del movimiento espacial en función del tiempo – Relaciones localización del extremo del robot-valores articulares Problema cinemático directo: Determinar la posición y orientación del extremo final del robot, con respecto a un sistema de coordenadas de referencia, conocidos los ángulos de las articulaciones y los parámetros geométricos de los elementos del robot. Problema cinemático inverso: Determinar la configuración que debe adoptar el robot para una posición y orientación del extremo conocidas. Modelo diferencial (matriz Jacobina): Relaciones entre las velocidades de movimiento de las articulaciones y las del extremo del robot. RELACION ENTRE CINEMATICA DIRECTA E INVERSA

RESOLUCIÓN DEL PROBLEMA CINEMÁTICO DIRECTO CON MATRICES DE TRANSFORMACIÓN HOMOGÉNEAS Objetivo: Encontrar una matriz de transformación homogénea T que relacione posición y orientación del extremo del robot con respecto a un sistema de referencia fijo situado en su base.

MODELO CINEMÁTICO DIRECTO DE UN ROBOT PLANAR DE 2 GDL

LAS MATRICES DE TRANSFORMACIÓN A Y T Matriz i-1Ai : matriz de transformación homogénea que representa la posición y orientación relativa entre los sistemas asociados a dos eslabones consecutivos del robot. Conexión de matrices A:

Matriz T : matriz 0An cuando se consideran todos los grados de libertad del robot.

OBTENCIÓN DEL MODELO CINEMÁTICO DIRECTO DE UN ROBOT Establecer para cada elemento del robot un sistema de coordenadas cartesiano orto normal (xi,yi,zi) donde i=1,2,…,n (n=número de gdl). Cada sistema de coordenadas corresponderá a la articulación i+1 y estará fijo en el elemento i. -Encontrar los parámetros D-H de cada una de las articulaciones -Calcular las matrices Ai -Calcular la matriz Tn = 0A1 1A2 ... n-1An ALGORITMO DE DENAVIT-HARTENBERG D-H 1.- Numerar los eslabones comenzando con 1 (primer eslabón móvil de la cadena) y acabando con n (último eslabón móvil). Se numerará como eslabón 0 a la base fija del robot. D-H 2.- Numerar cada articulación comenzando por 1 (la correspondiente al primer grado de libertad) y acabando en n. D-H 3.- Localizar el eje de cada articulación. Si ésta es rotativa, el eje será su propio eje de giro. Si es prismática, será el eje a lo largo del cual se produce el desplazamiento. D-H 4.- Para i de 0 a n-1 situar el eje zi sobre el eje de la articulación i+1. D-H 5.- Situar el origen del sistema de la base {S0} en cualquier punto del eje z0. Los ejes x0 e y0 se situarán de modo que formen un sistema dextrógiro con z0. D-H 6.- Para i de 1 a n-1, situar el sistema {Si} (solidario al eslabón i) en la intersección del eje zi con la línea normal común a zi-1 y zi. Si ambos ejes se cortasen se situaría {Si} en el punto de corte. Si fuesen paralelos {Si} se situaría en la articulación i+1

D-H 7.- Situar xi en la línea normal común a zi-1 y zi D-H 8.- Situar yi de modo que forme un sistema dextrógiro con xi y zi . D-H 9.- Situar el sistema {Sn} en el extremo del robot de modo que zn coincida con la dirección de zn-1 y xn sea normal a zn-1 y zn . D-H 10.- Obtener qi como el ángulo que hay que girar en torno a zi-1 para que xi-1 y xi queden paralelos. D-H 11.- Obtener di como la distancia, medida a lo largo de zi-1, que habría que desplazar {Si-1} para que xi y xi-1 quedasen alineados. DH 12.- Obtener ai como la distancia medida a lo largo de xi (que ahora coincidiría con xi-1) que habría que desplazar el nuevo {Si-1} para que su origen coincidiese con {Si}. DH 13.- Obtener ai como el ángulo que habría que girar entorno a xi (que ahora coincidiría con xi-1), para que el nuevo {Si-1} coincidiese totalmente con {Si}. DH 14.- Obtener las matrices de transformación i-1Ai DH 15.- Obtener la matriz de transformación entre la base y el extremo del robot T = 0A1 1A2 ... n-1An. DH 16.- La matriz T define la orientación (submatriz de rotación) y posición (submatriz de traslación) del extremo referido a la base en función de las n coordenadas articulares. MODELO CINEMATICO DIRECTO DE UN ROBOT CILINDRICO

MODELO CINEMÁTICO DIRECTO DE UN ROBOT ABB IRB 6400C

CINEMATICA INVERSA

Objetivo: encontrar los valores que deben adoptar las coordenadas articulares del robot para que su extremo se posicione y oriente según una determinada localización espacial - La resolución no es sistemática - Depende de la configuración del robot (soluciones múltiples) No siempre existe solución en forma cerrada. – Condiciones suficientes para que exista: < Tres ejes de articulación adyacentes interseccionan en un punto (robot PUMA y robot Stanford) < Tres ejes de articulación adyacentes son paralelos entre sí (robot Elbow) POSIBILIDADES DE SOLUCIÓN DEL PROBLEMA CINEMÁTICO INVERSO

Procedimiento genérico a partir de los parámetros D-H < Método iterativo < Problemas de velocidad y convergencia

Búsqueda de solución cerrada: qk = fk (x,y,z,a,b,g); k = 1,…,n < Posibilidad de resolución en tiempo real < Posibilidad de selección de la solución más adecuada < Posibilidad de simplificaciones < No siempre es posible

MÉTODOS DE SOLUCIÓN DEL PROBLEMA CINEMÁTICO INVERSO Métodos geométricos – Se suele utilizar para las primeras variables articulares – Uso de relaciones geométricas y trigonométricas (resolución de triángulos) Resolución a partir de las matrices de transformación

homogénea – Despejar las n variables qi en función de las componentes de los vectores n, o, a y p. Desacoplamiento cinemático – En robots de 6 GDL – Separación de orientación y posicionamiento Otros: álgebra de tornillo, cuaterniones duales, métodos iterativos... EJEMPLO DE RESOLUCIÓN DE LA CINEMÁTICA INVERSA POR MÉTODOS GEOMÉTRICOS

EJEMPLO DE RESOLUCIÓN DE LA CINEMÁTICA INVERSA A PARTIR DE LAS MATRICES DE

TRANSFORMACIÓN HOMOGÉNEA

MATRIZ JACOBIANA Matriz Jacobiana: permite conocer las velocidades del extremo del robot a partir de las velocidades de cada articulación.

RELACIONES DIFERENCIALES

JACOBIANA DE UN ROBOT SCARA

METODOS DE CÁLCULO DE LA JACOBIANA INVERSA

Inversión simbólica de la matriz jacobiana – Gran complejidad (matriz 6x6)

Evaluación numérica de J e inversión numérica – Necesidad de recómputo continuo – En ocasiones J no es cuadrada matriz pseudoinversa – En ocasiones | J | = 0

A partir del modelo cinemático inverso

CONFIGURACIONES SINGULARES

Aquellas en las que | J | = 0 (Jacobiano nulo)

Incremento infinitesimal coordenadas cartesianas implica incremento infinito coordenadas articulares

Implica pérdida de algún grado de libertad

Tipos – Singularidades en los límites del espacio de trabajo del robot – Singularidades en el interior del espacio de trabajo del robot

Requieren su estudio y eliminación

PREGUNTAS:

¿Cuáles son los tipos de trayectorias de un robot? -Trayectorias punto-punto, coordinadas y continuas. ¿Definir la trayectoria punto a punto? En este tipo de trayectorias cada articulación evoluciona desde su posición inicial a la final sin realizar consideración alguna sobre el estado o evolución de las demás articulaciones. Tipos de trayectoria punto a punto? -Movimiento eje a eje -Movimiento simultaneo de ejes ¿Cómo generar trayectorias cartesianas? -Es preciso seleccionar puntos intermedios suficientemente cercanos como para que el control del robot consiga ajustar no solo el punto final al especificado, sino también la trayectoria seguida a la indicada en el programa. ¿Tipos de interpolación de trayectorias? -Interpoladores lineales -Interpoladores cúbicos -Interpoladores a tramos ¿Definir la cinemática del robot? -Estudio de su movimiento con respecto a un sistema de referencia ¿Qué es el problema cinemático directo? -Determinar la posición y orientación del extremo final del robot, con respecto a un sistema de coordenadas de referencia, conocidos los ángulos de las articulaciones y los parámetros geométricos de los elementos del robot. ¿Qué es el problema cinemático inverso? -Determinar la configuración que debe adoptar el robot para una posición y orientación del extremo conocidas. ¿Qué podemos conocer a partir de la matriz jacobiana? -Permite conocer las velocidades del extremo del robot a partir de las velocidades de cada articulación.

BIBLIOGRAFIA:

Fundamentos de Robótica Antonio Barrientos

http://www.google.com.mx