Cinemtica de los manipuladores
Robtica
Introduccin
Cinemtica: Estudio del movimiento sin considerar las fuerzas que lo producen
Propiedades geomtricas y temporales Posicin, velocidad, aceleracin, derivadas superiores de la posicin, etc.
Cinemtica de los manipuladores: Propiedades geomtricas y temporales del movimiento.
Aspecto a resolver
Problema:
A partir de los parmetros geomtricos del manipulador. Especificar: Posicin y orientacin del manipulador.
Solucin:
Definir sistemas de referencia en el manipulador y objetos del entorno siguiendo la Notacin de Denavit-Hartenberg (1955).
Los trminos enlace/articulacin
Articulacin: Conexin de dos cuerpos rgidos caracterizados por el movimiento de un slido sobre otro.
Grado de libertad: Circular o prismtico
Enlace: Cuerpo rgido que une dos ejes articulares adyacentes del manipulador.
Posee muchos atributos: Peso, material, inercia,etc.
Parmetros de un enlace
Eje articular: Lnea en el espacio alrededor de la cual el enlace i rota referido al enlace i-1 Longitud del enlace (ai-1): Distancia entre los ejes articulares i e i-1 Nmero de lneas que definen la longitud: Ejes paralelos: Ejes no paralelos: 1 Signo: positivo ngulo del enlace ( i-1): ngulo medido entre los ejes articulares i e i-1. Proyeccin sobre plano Signo: Regla de la mano derecha
perpendicular comn
Ejemplo de parmetros
1.- Se colocan los ejes articulares 2.- Longitud del enlace: 7 3.- ngulo del enlace: 450
Plano
Longitud del enlace
Variables articulares
Desplazamiento del enlace (di): Distancia medida a lo largo del eje de la articulacin i desde el punto donde ai-1 intersecta el eje hasta el punto donde ai intersecta el eje.
di es variable si la articulacin es prismtica di posee signo
ngulo de la articulacin (i): ngulo entre las perpendiculares comunes ai-1 y ai medido sobre el eje del enlace i.
i es variable si la articulacin es
de rotacin i posee signo definido por la regla de la mano derecha
Definicin de Sistemas de Referencia: Enlaces primero y ltimo
Sistema de referencia {0}: Sistema que se adjunta a la base del robot. No se mueve. El Sistema de referencia {1} coincide con la base.
Enlace(i)
a 0 y an 0
0 y n
0
di
Prismtica (di) Rotacional (0)
i
0
1yn
Definicin de Sistemas de Referencia: Enlaces intermedios
Origen del sistema de referencia { i }: Se ubica en el punto creado por la perpendicular de ai y el eje articular i. ) Eje Z: El eje Z i del sistema de referencia { i } se har coincidir con el eje articular i. ) Eje X: El eje X i se hace coincidir con la distancia ai desde la articulacin i hacia i+1. ) Eje Y: Se define a partir del eje X i, tomando como referencia la regla de la mano derecha.
) Yi 1
) Xi
) Zi
Procedimiento general para la definicin de sistemas de referencia
1. 2. Identificar los ejes articulares: De los pasos 2 a 5 utilice dos ejes consecutivos i e i-1. Identifique la perpendicular comn: Identifique la lnea que se intersecta, perpendicularmente, al eje articular i. Defina el sistema de referencia sobre el punto de interseccin. ) Asigne el eje Z i al eje articular i. ) Asigne el eje X i a la perpendicular comn que defini el origen del sistema de referencia i. ) Termine de asignar el sistema de referencia, definiendo el eje Y i segn la ley de la mano derecha. Haga coincidir los sistemas de referencia {0} y {1} cuando la primera variable articular sea cero.
3. 4. 5. 6.
Significado de los parmetros de
Denavit-Hartenberg
Los parmetros de DH tienen el siguiente significado: ) ) El parmetro a i es la distancia entre Z i y Z i 1 medida )
a lo largo de X i . ) ) El parmetro i es el ngulo entre Z i y Z i 1 referido a ) X i. ) ) El parmetro d i es la distancia de X i 1 a X i medida a lo ) largo de Z i. ) ) El parmetro i es el ngulo entre X i 1 y X i referido a ) Zi . Nota: a i es la nica magnitud positiva, las dems tienen signo.
Transformacin homognea de un enlace
Es el resultado de
Al definir tres sistemas de referencia Intermedios {R}, {Q} y {P}, se tiene: {R} difiere de i-1 en la rotacin i 1 {Q} difiere de {R} por la traslacin a i 1 {P} difiere de {Q} por la rotacin i {i} difiere de {P} por la traslacin d i
Transformacin homognea de un enlace (II)
Un punto definido en el sistema de referencia {i} proyectado en el sistema de referencia {i-1} responde a
La transformacin del sistema de referencia {i} en {i-1} responde a
Transformacin homognea de un enlace (III)
Matriz DH
Concatenar transformaciones homogneas de enlaces
Definir el sistema de referencia de los enlaces Definir los parmetros DH de cada enlace Calcular la matriz de transformacin de cada enlace Relacionar el sistema {N} sobre el sistema {0}
Transformacin resultante de todos los enlaces
Despus de medir la posicin, usando sensores, de los enlaces; se calcula la posicin del efector final
Ejemplo RRR (3R)
Ejemplo RRR (II)
Identificar el eje de las articulaciones Identificar la perpendicular comn entre los ejes de las articulaciones
) Asignar el eje Z i
en los ejes articulares
) Z3
) ) Z 0 Z1
) Z2
Ejemplo RRR (III)
Asignar el eje en la perpendicular comn.
) Xi
Utilizando la regla de la mano derecha, ) asignar el eje Yi .
Ejemplo RRR (IV)
i 1 2 3
i-1
0 0 0
ai-1 0 L1 L2
di 0 0 0
i 1 2 3
Ejemplo RRR (V)
i 1 2 3
i-1
0 0 0
ai-1 0 L1 L2
di 0 0 0
i 1 2 3
Ejemplo RRR (Final)
P = 0T 3P 3
Ejemplo RPR
1.- Identificar el eje de las articulaciones
2.- Identificar la perpendicular comn al eje de las articulaciones: Ninguna
Ejemplo RPR (II)
Asignar el eje en los ejes articulares
) Zi
) Si los ejes Z i se intersectan, ) ubicar X i de forma que sea normal al plano que contenga los dos ejes, considere adems que la variable articular {i} proyectada en {i-1} sea cero en el origen
Ejemplo RPR (III)
Completar el sistema de ) referencia colocando Y i aplicando la regla de la mano derecha
Ejemplo RPR (IV)
Parmetros DH
i 1 2 3
i-1
0 900 0
ai-1 0 0 0
di 0 d2 L2
i 1
0
Ejemplo RPR (Final)
i 1 2 3
i-1
0 900 0
ai-1 0 0 0
di 0 d2 L2
i 1
0
0 3 P = 3T P
Puma 560-6R
Asignacin del sistema de referencia 1
Posicin del robot cuando todas las variables articulares son cero. Hacer coincidir los sistemas de referencia {0} y {1}. ) Asignar el eje Z1 en el primer eje articular. ) X Asignar el eje ) 1 a la perpendicular comn al eje Z1. Si los ejes se ) intersectan, asignar X 1 a la normal del plano conteniendo los dos ejes. Completar el sistema de coordenadas ) asignando Y1 por la regla de la mano ) derecha Y2
Asignacin del sistema de referencia 2
) Asignar el eje Z 2 en el segundo eje articular.
2 3
Asignar el eje X 2 a la perpendicular comn a los ejes articulares 2 y 3. Completar el sistema de coordenadas ) asignando Y2 por la regla de la mano derecha
Asignacin del sistema de referencia 3
) Asignar el eje Z 3 en el tercer eje
3
articular.
) Asignar el eje X 3 a la perpendicular
comn a los ejes articulares 3 y 4 o normal al plano.
) Completar el sistema asignando Y3
por la regla de la mano derecha
Asignacin del sistema de referencia 4
) Asignar el eje Z 4 en el cuarto eje articular. ) Asignar el eje X 4 a la perpendicular comn a los ejes articulares 4 y 5 o normal al plano.
Completar el sistema ) asignando Y4 por la regla de la mano derecha
Asignacin del sistema de referencia 5
) Asignar el eje Z 5 en el quinto eje
articular.
) Asignar el eje X 5 a la perpendicular
comn a los ejes articulares 4 y 5 o normal al plano. Completar el sistema ) asignando Y5 por la regla de la mano derecha
Asignacin del sistema de referencia 6 {N}
) Asignar el eje Z 6 en el sexto eje
articular.
) Seleccione libremente el eje X 6
considerando que sean cero la mayor cantidad de parmetros DH. Completar el sistema ) asignando Y6 por la regla de la mano derecha
Parmetros DH
Transformaciones de los enlaces
Simulador PUMA 560
Toolbox Robtica Peter I. Corke >> puma560 >> plot(560,qz) >> drivebot(p560)
Sistemas de referencias con nombres estndar
Cinemtica directa
Cinemtica directa:
Se conocen las variables articulares de una cadena de enlaces de un brazo articulado Clculo sencillo (multiplicacin matricial) 0 Una nica solucin: 0 P = N T NP
Cinemtica inversa
Cinemtica inversa:
Problema difcil de resolver: Obtener los valores de las variables articulares para que el rgano terminal tenga una determinada posicin y orientacin Se deben resolver un conjunto de ecuaciones algebraicas no lineales simultneas Problemas fundamentales:
Ecuaciones no lineales (sen, cos en matrices de rotacin) Existen mltiples soluciones Es posible que no exista una solucin Singularidades.
Espacio alcanzable
Cartesiano
Cilndrico
Esfrico
Espacio alcanzable: Volumen del espacio que el robot puede alcanzar con al menos una orientacin
Scara
Antropomrfico
Existencia de mltiple soluciones
Deben atenderse las mltiples soluciones: Eleccin que minimice los movimientos desde la posicin actual Concepto de solucin ms Cercana Mover los eslabones de menor peso Considerar obstculos (evitar colisiones)
Obstculo
Mtodo de resolucin
Manipulador resoluble: Existe un algoritmo que permite determinar todas las soluciones del modelo inverso (variables articulares) asociadas a una determinada posicin y orientacin. Tericamente es resoluble: todo sistema R y P con 6 grados de libertad. Mtodos numricos iterativos: lentitud. Se prefieren expresiones analticas (soluciones cerradas):
Mtodos algebraicos Mtodos geomtricos
Porqu la cinemtica inversa?
Mtodos de programacin:
Programacin por guiado: Desplazamiento del efector final para que se alcancen las configuraciones deseadas, registrndose los valores (digitalizacin de posiciones). Programacin textual: Programa de ordenador donde existen rdenes para especificar los movimientos del robot, acceder a informacin de sensores, etc.
Cinemtica directa vs inversa
Cinemtica directa
Conocidos: ngulos articulares y geometra de los eslabones Determinar: Posicin y orientacin del elemento terminal referido a la base
B 0 f ( )= H T = N T
{Herramienta}
Cinemtica inversa
Conocidos: Posicin y orientacin del elemento terminal referido a la base Determinar: ngulos articulares y geometra de los eslabones para alcanzar la orientacin y posicin de la herramienta
{Base}
= f
1 B (HT)
= f
1 N ( 0T )
Nmero de soluciones
Se desea: Posicionar el elemento terminal en un punto del plano
Nmero de GDL del manipulador = Nmero de GDL que requiere la tarea Dos soluciones Nmero de GDL del manipulador > Nmero de GDL que requiere la tarea Infinitas soluciones
Tipos de solucin
Solucin: Conjunto de variables articulares que permiten posicionar el elemento terminal en una determinada posicin y orientacin No existen algoritmos generales de solucin al problema de cinemtica inversa Tipos de solucin:
Soluciones cerradas:
Solucin algebraica: Ecuaciones no lineales trigonomtricas Solucin geomtrica: Conjunto de subproblemas geomtricos en el plano
Soluciones numricas (iterativas): No aplicables en tiempo real
Ejemplo de solucin geomtrica (I)
Se conoce:
Geometra del manipulador Punto objetivo: Posicin (x e y) y orientacin elemento terminal en el espacio
del
Problema:
Determinar las variables articulares ( 1 2 3 )
y
Algunas identidades trigonomtricas
Ley de los cosenos para un tringulo general
Suma de ngulos: Identidades:
cos( ) = cos( )
cos( pi ) = cos( pi + )
Ejemplo de solucin geomtrica (II)
La orientacin del ltimo eslabn es la suma de las variables articulares
= 1 + 2 + 3
y
Ejemplo de solucin geomtrica (III)
Clculo de 2 :
Aplicando la ley de los cosenos:
Debido a que
Resulta:
Ejemplo de solucin geomtrica (IV)
Se debe verificar la solucin del algoritmo, el cual debe cumplir:
Espacio alcanzable
Espacio alcanzable
Intervalo de la solucin
Ejemplo de solucin geomtrica (V)
Si se definen dos ngulos se cumple
1 =
El ngulo
sen( ) =
se calcula:
x2 + y2
Y aplicando ley de los cosenos
Ejemplo de solucin geomtrica (VI)
Finalmente
3 = 1 2
Control basado en cinemtica inversa (I)
Seccin de cdigo de la funcin invsurf.m:
for i = 1:length(r), for j = 1:length(theta), xx = r(i)*cos(theta(j)); Cinemtica directa yy = r(i)*sin(theta(j)); c2 = (xx^2 + yy^2 - l1^2 - l2^2)/(2*l1*l2); c2 = min(max(c2, -1), 1); s2 = sqrt(1 - c2^2); th2(i, j) = atan2(s2, c2); k1 = l1 + l2*c2; k2 = l2*s2; th1(i, j) = atan2(yy, xx) - atan2(k2, k1); end end
Condiciones iniciales: l1 = 10; l2 = 7; point = 21; r = linspace(l1-l2, l1+l2, point); theta = linspace(0, 2*pi, 2*point);
Control basado en cinemtica inversa (II)
Resultado de ejecutar la funcin invsurf.m:
Control basado en cinemtica inversa (III)
2
y
1
x
1 2
Modelo del brazo articulado de dos grados de libertad
Control basado en cinemtica inversa (IV)
1 2
Modelo del brazo articulado de dos grados de libertad
x
xd
Modelo inverso del brazo articulado
yd
Control basado en cinemtica inversa (V)
Matrices inversas
invkine1
x1 y1 ; 11 x 2 y 2 ; 12 . . x y ; n n 1n
invkine2
x1 y1 ; 21 x 2 y 2 ; 22 . . x y ; n n 2n
for i = 1:length(x), for j = 1:length(y), xx = x(i); yy = y(j); c2 = (xx^2 + yy^2 - l1^2 - l2^2)/(2*l1*l2); s2 = sqrt(1 - c2^2); th2(i, j) = atan2(s2, c2); k1 = l1 + l2*c2; k2 = l2*s2; th1(i, j) = atan2(yy, xx) - atan2(k2, k1); if abs(c2) < 1; data1(data_n, :) = [xx yy th1(i, j)]; data2(data_n, :) = [xx yy th2(i, j)]; data_n = data_n + 1; end end end invkine1 = data1(1:data_n, :); invkine2 = data2(1:data_n, :);
Control basado en cinemtica inversa (VI)
Obtencin del modelo inverso
Sistema borroso 1: fismat1 [fismat1, error1] = anfis(invkine1, 3, [50, 0, 0.2]);
writefis(fismat1, 'invkine1.fis'); % WRITEFIS (FISMAT,'filename')
1 = f 1 ( x, y )
Sistema borroso 2: fismat2 [fismat2, error2] = anfis(invkine2, 3, [50, 0, 0.2]);
writefis(fismat2, 'invkine2.fis');
2 = f 1 ( x, y )
Control basado en cinemtica inversa (VI)
En el programa invkine.m: fismat1 = readfis('invkine1'); fismat2 = readfis('invkine2');
1 2
Modelo del brazo articulado de dos grados de libertad
xd theta1 = evalfis([x, y], fismat1); yd theta2 = evalfis([x, y], fismat2);
Control basado en cinemtica inversa (VII)
Resultado de ejecutar invkine.m: