2. Introducción
• Cinemática: Estudio del movimiento sin considerar
las fuerzas que lo producen
Propiedades geométricas y temporales
Posición, velocidad, aceleración, derivadas superiores de
la posición, etc.
• Cinemática de los manipuladores: Propiedades
geométricas y temporales del movimiento.
3. Aspecto a resolver
• Problema:
A partir de los parámetros
geométricos del manipulador.
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).
4. 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.
Grado de libertad: Circular o prismático
• Enlace: Cuerpo rígido que une dos ejes
articulares adyacentes del manipulador.
Posee muchos atributos: Peso, material, inercia,etc.
5. 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: ∞
Ejes paralelos: perpendicular común
Ejes no paralelos: 1
Signo: positivo
• Ángulo del enlace ( αi-1): Ángulo
medido entre los ejes articulares i e
i-1. Proyección sobre plano
Signo: Regla de la mano derecha
6. Ejemplo de parámetros
1.- Se colocan los Plano
ejes articulares
2.- Longitud del
enlace: 7
3.- Ángulo del
enlace: 450
Longitud
del enlace
7. 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.
di es variable si la articulación es
prismática
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.
θi es variable si la articulación es
de rotación
θi posee signo definido por la regla de la mano
derecha
8. 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
9. 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.
10. 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.
11. Significado de los parámetros de
Denavit-Hartenberg
Los parámetros de DH tienen el siguiente
significado:
) )
El parámetro a i es la distancia entre Z i y Z i −1 medida
)
a lo largo de X i .
) )
El parámetro α i es el ángulo entre Z i y Z i −1 referido a
)
X i.
) )
El parámetro d i es la distancia de X i −1 a X i´ medida a lo
)
largo de Z i.
) )
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.
12. Transformación homogénea
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 rotación α i −1
{Q} difiere de {R} por la traslación a i −1
{P} difiere de {Q} por la rotación θ i
{i} difiere de {P} por la traslación d i
13. 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
15. 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
17. 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
18. Ejemplo RRR (III)
)
• Asignar el eje X i • Utilizando la regla de
en la perpendicular la mano derecha,)
común. asignar el eje Yi .
22. Ejemplo RPR
1.- Identificar el eje de las articulaciones
2.- Identificar la perpendicular común al eje de las articulaciones: Ninguna
23. 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
24. Ejemplo RPR (III)
• Completar el sistema de)
referencia colocando Y i
aplicando la regla de la
mano derecha
28. 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. )
• X
Asignar el eje ) 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
29. 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
30. 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
31. 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
32. 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
33. 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
38. 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 = N T NP
0
39. 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.
40. 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
41. 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)
42. 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
43. ¿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.
44. 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 (θ )= H T = N T
B 0
• 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 )
45. 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
46. 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
47. 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
48. Algunas identidades
trigonométricas
• Ley de los cosenos para un triángulo general
• Suma de ángulos:
• Identidades: cos(θ ) = cos(−θ )
cos( pi − θ ) = cos( pi + θ )
49. 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
50. Ejemplo de solución geométrica (III)
• Cálculo de θ 2 :
• Aplicando la ley de los cosenos:
• Debido a que
• Resulta:
51. 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
52. 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
54. 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
55. Control basado en cinemática
inversa (II)
Resultado de ejecutar la función invsurf.m:
56. Control basado en cinemática
inversa (III)
θ2
y
θ1
x
x
θ1
Modelo del brazo articulado
θ2 de dos grados de libertad y
57. 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
58. 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 ⎦
59. 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 )
60. 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);
61. Control basado en cinemática
inversa (VII)
Resultado de ejecutar invkine.m: