Está en la página 1de 61

Cinemática de los

manipuladores

Robótica
Introducción
• Cinemática: Estudio del movimiento sin considerar
las fuerzas que lo producen
9 Propiedades geométricas y temporales
9 Posición, velocidad, aceleración, derivadas superiores de
la posición, etc.

• Cinemática de los manipuladores: Propiedades


geométricas y temporales del movimiento.
Aspecto a resolver
• Problema:
9 A partir de los parámetros
geométricos del manipulador.
9 Especificar: Posición y orientación
del manipulador.

• Solución:
Definir sistemas de referencia
en el manipulador y objetos del entorno siguiendo la
Notación de Denavit-Hartenberg (1955).
Los términos enlace/articulación
• Articulación: Conexión de dos
cuerpos rígidos caracterizados
por el movimiento de un sólido
sobre otro.
9 Grado de libertad: Circular o prismático

• Enlace: Cuerpo rígido que une dos ejes


articulares adyacentes del manipulador.
9 Posee muchos atributos: Peso, material, inercia,etc.
Parámetros de un enlace
• Eje articular: Línea 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
Número de líneas que definen la
longitud: ∞
9 Ejes paralelos: perpendicular común
9 Ejes no paralelos: 1
9 Signo: positivo
• Ángulo del enlace ( αi-1): Ángulo
medido entre los ejes articulares i e
i-1. Proyección sobre plano
9 Signo: Regla de la mano derecha
Ejemplo de parámetros

1.- Se colocan los Plano


ejes articulares
2.- Longitud del
enlace: 7
3.- Ángulo del
enlace: 450
Longitud
del enlace
Variables articulares
• Desplazamiento del enlace (di):
Distancia medida a lo largo del eje
de la articulación i desde el punto
donde ai-1 intersecta el eje hasta el
punto donde ai intersecta el eje.
9 di es variable si la articulación es
prismática
9 di posee signo

• Ángulo de la articulación (θi):


Ángulo entre las perpendiculares comunes ai-1 y ai
medido sobre el eje del enlace i.
9 θi es variable si la articulación es
de rotación
9 θi posee signo definido por la regla de la mano
derecha
Definición 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 y αn di θi
Prismática (di) 0
1yn 0 0 Rotacional (0) θn
Definición 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 Yi −1
referencia { i } se hará coincidir )
Xi
con el eje articular i.
)
• Eje X: El eje X i se hace coincidir
con la distancia ai desde la )
Zi
articulación i hacia i+1.
)
• Eje Y: Se define a partir del eje X i,
tomando como referencia la regla
de la mano derecha.
Procedimiento general para la
definición de sistemas de referencia

1. Identificar los ejes articulares: De los pasos 2 a 5 utilice dos ejes


consecutivos i e i-1.
2. Identifique la perpendicular común: Identifique la línea que se
intersecta, perpendicularmente, al eje articular i. Defina el sistema
de referencia sobre el punto de intersección.
)
3. Asigne el eje Z i al eje articular i.
)
4. Asigne el eje X i a la perpendicular común que definió el origen del
sistema de referencia i. )
5. Termine de asignar el sistema de referencia, definiendo el eje Y i
según la ley de la mano derecha.
6. Haga coincidir los sistemas de referencia {0} y {1} cuando la
primera variable articular sea cero.
Significado de los parámetros de
Denavit-Hartenberg
Los parámetros de DH tienen el siguiente
significado:
) )
9 El parámetro a i es la distancia entre Z i y Z i −1 medida
)
a lo largo de X i .
) )
9 El parámetro α i es el ángulo entre Z i y Z i −1 referido a
)
X i.
) )
9 El parámetro
)
d i es la distancia de X i −1 a X i´ medida a lo
largo de Z i.
) )
θ
9 El parámetro i es el ángulo entre X i −1 y X i referido a
)
Zi .

Nota: a i es la única magnitud positiva, las demás tienen


signo.
Transformación homogénea
de un enlace
Es el resultado de

Al definir tres sistemas de referencia


Intermedios {R}, {Q} y {P}, se tiene:

9{R} difiere de i-1 en la rotación α i −1

9{Q} difiere de {R} por la traslación a i −1

9{P} difiere de {Q} por la rotación θ i

9{i} difiere de {P} por la traslación d i


Transformación homogénea
de un enlace (II)
Un punto definido en el sistema de
referencia {i} proyectado en el
sistema de referencia {i-1}
responde a

La transformación del sistema de


referencia {i} en {i-1} responde a
Transformación homogénea
de un enlace (III)

Matriz DH
Concatenar transformaciones
homogéneas de enlaces
• Definir el sistema de referencia de los enlaces
• Definir los parámetros DH de cada enlace
• Calcular la matriz de transformación de cada enlace
• Relacionar el sistema {N} sobre el sistema {0}

Transformación resultante de todos los enlaces


• Después de medir la posición, usando sensores, de los
enlaces; se calcula la posición del efector final
Ejemplo RRR (3R)
Ejemplo RRR (II)
• Identificar la )
• Identificar el • Asignar el eje Z i
perpendicular
eje de las común entre los en los ejes
articulaciones ejes de las articulares
articulaciones
)
Z3

)
) ) Z2
Z 0 ≡ Z1
Ejemplo RRR (III)
)
• Asignar el eje X i • Utilizando la regla de
en la perpendicular la mano derecha,)
común. asignar el eje Yi .
Ejemplo RRR (IV)

i αi-1 ai-1 di θi
1 0 0 0 θ1
2 0 L1 0 θ2
3 0 L2 0 θ3
Ejemplo RRR (V)
i αi-1 ai-1 di θi
1 0 0 0 θ1
2 0 L1 0 θ2
3 0 L2 0 θ3
Ejemplo RRR (Final)

0
P = 03T 3P
Ejemplo RPR

1.- Identificar el eje de las articulaciones

2.- Identificar la perpendicular común al eje de las articulaciones: Ninguna


Ejemplo RPR (II)
)
• Si los ejes Z i se intersectan,
) )
• Asignar el eje Zi ubicar X i de forma que sea
normal al plano que contenga
en los ejes articulares
los dos ejes, considere
además 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)

Parámetros DH

i αi-1 ai-1 di θi
1 0 0 0 θ1
2 900 0 d2 0
3 0 0 L2 θ3
Ejemplo RPR (Final)
i αi-1 ai-1 di θi
1 0 0 0 θ1
2 900 0 d2 0
3 0 0 L2 θ3

0
P = 03T 3P
Puma 560-6R
Asignación del sistema
de referencia 1
• Posición 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. )
• Asignar el eje )X 1 a la perpendicular
común 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
Asignación del sistema
de referencia 2
)
• Asignar el eje Z 2 en el segundo eje 2

articular. 3

)
• Asignar el eje X 2 a la perpendicular
común a los ejes articulares 2 y 3.

• Completar el) sistema de coordenadas


asignando Y2 por la regla de la mano
derecha
Asignación del sistema
de referencia 3
) 3
• Asignar el eje Z 3 en el tercer eje
articular.

)
• Asignar el eje X 3 a la perpendicular
común a los ejes articulares 3 y 4 o 4

normal al plano.
)
• Completar el sistema asignando Y3
por la regla de la mano derecha
Asignación del sistema
de referencia 4
)
• Asignar el eje Z 4 en el cuarto eje
articular.
)
• Asignar el eje X 4 a la perpendicular
común a los ejes articulares 4 y 5 o
normal al plano.

• Completar el sistema
)
asignando Y4 por la
regla de la mano derecha
Asignación del sistema
de referencia 5
)
• Asignar el eje Z 5 en el quinto eje
articular.

)
• Asignar el eje X 5 a la perpendicular
común a los ejes articulares 4 y 5 o
normal al plano.

• Completar el sistema
)
asignando Y5 por la
regla de la mano derecha
Asignación 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 parámetros DH.

• Completar el sistema
)
asignando Y6 por la
regla de la mano derecha
Parámetros DH
Transformaciones de los enlaces
Simulador PUMA 560
Toolbox Robótica
Peter I. Corke
>> puma560
>> plot(560,qz)
>> drivebot(p560)
Sistemas de referencias con
nombres estándar
Cinemática directa
• Cinemática directa:
¾ Se conocen las variables articulares de una cadena de
enlaces de un brazo articulado
¾ Cálculo sencillo (multiplicación matricial)
¾ Una única solución: 0 P = N0T NP
Cinemática inversa
• Cinemática inversa:
¾ Problema difícil de resolver: Obtener los valores de las
variables articulares para que el órgano terminal tenga
una determinada posición y orientación
¾ Se deben resolver un conjunto de ecuaciones
algebraicas no lineales simultáneas

¾ Problemas fundamentales:
ƒ Ecuaciones no lineales (sen, cos en matrices de rotación)
ƒ Existen múltiples soluciones
ƒ Es posible que no exista una solución
ƒ Singularidades.
Espacio alcanzable

Cartesiano Cilíndrico Esférico

Espacio alcanzable:
Volumen del
espacio que el robot
puede alcanzar
con al menos una
orientación Scara Antropomórfico
Existencia de múltiple soluciones

Deben atenderse las múltiples


soluciones:

¾Elección que minimice los


movimientos desde la posición
actual
¾Concepto de solución más
Cercana
¾ Mover los eslabones de menor
peso
¾Considerar obstáculos (evitar Obstáculo

colisiones)
Método de resolución
• Manipulador resoluble: Existe un algoritmo que
permite determinar todas las soluciones del
modelo inverso (variables articulares) asociadas
a una determinada posición y orientación.
• Teóricamente es resoluble: todo sistema R y P
con 6 grados de libertad.
• Métodos numéricos iterativos: lentitud.
• Se prefieren expresiones analíticas (soluciones
cerradas):
¾ Métodos algebraicos
¾ Métodos geométricos
¿Porqué la cinemática inversa?
• Métodos de programación:
¾Programación por guiado: Desplazamiento
del efector final para que se alcancen las
configuraciones deseadas, registrándose los
valores (digitalización de posiciones).
¾Programación textual: Programa de
ordenador donde existen órdenes para
especificar los movimientos del robot,
acceder a información de sensores, etc.
Cinemática directa vs inversa
• Cinemática directa
¾ Conocidos: Ángulos articulares y {Herramienta}
geometría de los eslabones
¾ Determinar: Posición y orientación
del elemento terminal referido a la base
f (θ )= HB T = N0 T
• Cinemática inversa {Base}

¾ Conocidos: Posición y orientación


del elemento terminal referido a la base
¾ Determinar: Ángulos articulares y
geometría de los eslabones para alcanzar
la orientación y posición de la herramienta
−1 B −1 N
θ= f (HT) = f ( 0T )
Número de soluciones
• Se desea: Posicionar el elemento
terminal en un punto del plano

• Número de GDL del manipulador


= Número de GDL que requiere la tarea
¾ Dos soluciones

• Número de GDL del manipulador


> Número de GDL que requiere la tarea
¾ Infinitas soluciones
Tipos de solución
• Solución: Conjunto de variables articulares que permiten
posicionar el elemento terminal en una determinada
posición y orientación

• No existen algoritmos generales de solución al


problema de cinemática inversa

• Tipos de solución:
¾ Soluciones cerradas:
¾ Solución algebraica: Ecuaciones no lineales trigonométricas
¾ Solución geométrica: Conjunto de subproblemas geométricos en el
plano
¾ Soluciones numéricas (iterativas): No aplicables en tiempo real
Ejemplo de solución geométrica (I)
• Se conoce:
¾ Geometría del manipulador
¾ Punto objetivo: Posición (x e y) y orientación θ del
elemento terminal en el espacio
• Problema:
¾ Determinar las variables y
articulares ( θ 1 θ 2 θ 3 )

x
Algunas identidades
trigonométricas
• Ley de los cosenos para un triángulo general

• Suma de ángulos:

• Identidades: cos(θ ) = cos(−θ )


cos( pi − θ ) = cos( pi + θ )
Ejemplo de solución geométrica (II)
• La orientación del último eslabón es la suma de
las variables articulares

θ = θ1 + θ 2 + θ 3
y

θ θ

x
Ejemplo de solución geométrica (III)
• Cálculo de θ 2 :

• Aplicando la ley de los cosenos:

• Debido a que

• Resulta:
Ejemplo de solución geométrica (IV)
• Se debe verificar la solución del algoritmo, el
cual debe cumplir:

• Espacio alcanzable
Espacio
alcanzable

• Intervalo de la solución

θ2
Ejemplo de solución geométrica (V)
• Si se definen dos ángulos se cumple

θ 1 = β −ψ
¾ El ángulo β se calcula:
y
sen( β ) =
x2 + y2

¾ Y aplicando ley de los cosenos


Ejemplo de solución geométrica (VI)
• Finalmente
θ 3 = θ − θ1 − θ 2

θ θ

x
Control basado en cinemática
inversa (I)
¾Sección de código de la función invsurf.m:

for i = 1:length(r),
for j = 1:length(theta),
¾Condiciones iniciales: xx = r(i)*cos(theta(j)); Cinemática directa
yy = r(i)*sin(theta(j));
l1 = 10; c2 = (xx^2 + yy^2 - l1^2 - l2^2)/(2*l1*l2);
l2 = 7; c2 = min(max(c2, -1), 1);
point = 21; s2 = sqrt(1 - c2^2);
th2(i, j) = atan2(s2, c2);
r = linspace(l1-l2, l1+l2, point);
theta = linspace(0, 2*pi, 2*point); k1 = l1 + l2*c2;
k2 = l2*s2;
th1(i, j) = atan2(yy, xx) - atan2(k2, k1);
end
end
Control basado en cinemática
inversa (II)
¾Resultado de ejecutar la función invsurf.m:
Control basado en cinemática
inversa (III)
θ2
y
θ1

x
x
θ1
Modelo del brazo articulado
θ2 de dos grados de libertad y
Control basado en cinemática
inversa (IV)
x
θ1
Modelo del brazo articulado
θ2 de dos grados de libertad y

xd

Modelo inverso del brazo


yd
articulado
Control basado en cinemática
inversa (V)
for i = 1:length(x),
Matrices inversas for j = 1:length(y),
xx = x(i);
yy = y(j);
invkine1 c2 = (xx^2 + yy^2 - l1^2 - l2^2)/(2*l1*l2);
⎡ x1 y1 ; θ 11 ⎤ s2 = sqrt(1 - c2^2);
⎢ ⎥ th2(i, j) = atan2(s2, c2);
⎢ x 2 y 2 ; θ 12 ⎥
⎢. ⎥ k1 = l1 + l2*c2;
⎢ ⎥ k2 = l2*s2;
⎢. ⎥ th1(i, j) = atan2(yy, xx) - atan2(k2, k1);
⎢ x y ;θ ⎥
⎣ n n 1n ⎦ if abs(c2) < 1;
data1(data_n, :) = [xx yy th1(i, j)];
data2(data_n, :) = [xx yy th2(i, j)];
invkine2
data_n = data_n + 1;
⎡ x1 y1 ; θ 21 ⎤ end
⎢ ⎥
⎢ x 2 y 2 ; θ 22 ⎥ end
⎢. ⎥ end
⎢ ⎥
⎢. ⎥ invkine1 = data1(1:data_n, :);
⎢ x y ;θ ⎥ invkine2 = data2(1:data_n, :);
⎣ n n 2n ⎦
Control basado en cinemática
inversa (VI)
Obtención 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 cinemática
inversa (VI)
¾En el programa invkine.m:
fismat1 = readfis('invkine1');
fismat2 = readfis('invkine2');

x
θ1
Modelo del brazo articulado
θ2 de dos grados de libertad y

xd

theta1 = evalfis([x, y], fismat1);


yd

theta2 = evalfis([x, y], fismat2);


Control basado en cinemática
inversa (VII)
¾Resultado de ejecutar invkine.m:

También podría gustarte