Fundamentos de Robótica: 2017-I
Cinemática Diferencial de
Robots Manipuladores
Prof. Oscar E. Ramos, Ph.D.
Temas
1. Introducción
2. Velocidad de Cuerpos Rígidos
3. Jacobiano Geométrico
4. Jacobiano Analítico
5. Singularidades Cinemáticas
6. Cinemática Diferencial Inversa
7. El Jacobiano y la Estática
2
Introducción
¿Por qué es importante la Cinemática Diferencial?
• A nivel de posición/orientación, las relaciones son no lineales
x f (q)
• A nivel de velocidades las relaciones son lineales
f (q) v
x q ω J (q) q
q
- Estas relaciones lineales de velocidad se dan mediante los Jacobianos
- Es una ventaja con respecto a la cinemática directa/inversa (que es no lineal)
• Se puede usar métodos de álgebra lineal
• Los Jacobianos también relacionan fuerzas espaciales con torques articulares
(útil en estática/dinámica)
3
Introducción
• ¿Por qué “diferencial”?
- Relaciona las velocidades de las articulaciones con las velocidades del efector final
(o de algún punto operacional)
• La velocidad instantánea puede ser obtenida mediante:
1. Diferenciación en el tiempo
→ Obtiene derivada de la posición (velocidad lineal) y derivada de la representación de
posición (NO es la velocidad angular)
→ Usa: Jacobiano analítico
2. Análisis geométrico
→ Obtiene velocidad lineal y velocidad angular del efector final
→ Usa: Jacobiano geométrico
4
Cinemática Diferencial
• Formulaciones: directa e inversa
Cinemática diferencial
Velocidad de algún
Velocidad directa
punto
articular
x ( x , y , z , , , )
q (q1 , , q n )
Cinemática v, ω
diferencial inversa
- Cinemática diferencial directa
Dadas las velocidades articulares, halla la velocidad lineal y la velocidad angular (o
la derivada de la orientación) de alguna parte del robot (ejm. efector final)
- Cinemática diferencial inversa
Halla las velocidades articulares necesarias para que alguna parte del robot obtenga
una velocidad instantánea (lineal/angular) determinada
5
Temas
1. Introducción
2. Velocidad de Cuerpos Rígidos
3. Jacobiano Geométrico
4. Jacobiano Analítico
5. Singularidades Cinemáticas
6. Cinemática Diferencial Inversa
7. El Jacobiano y la Estática
6
Velocidad de Cuerpos Rígidos
Velocidad Angular
k̂
• Velocidad
angular
: Ángulo de giro
ω kˆ : Vector unitario en la dirección del
eje de rotación
• Matrices antisimétricas (skew-symmetric)
- Definición: ω ˆ ω
ˆT
- Para la velocidad angular:
x 0 z y
ω y ˆ z
ω 0 x
z y x 0
- Propiedades:
ˆ ωp
ωp
• Para todo vector p:
ω ) ( Rω )
ˆ RT ( R
Rω
• Para R SO(3):
ˆ 0
xT ωx
• Para cualquier vector x :
7
Velocidad de Cuerpos Rígidos
Velocidad Angular
• Derivada de la Matriz de Rotación
R ω
ˆR ω̂ : representa la velocidad angular
- Ejemplo:
Encontrar la velocidad angular asociada con la matriz de rotación de θ alrededor del
eje y variante en el tiempo
T dR d RT
ˆ RR
ω
d dt
sin 0 cos cos 0 sin 0 0 1 0 0
0 0 0 0 1 0 0 0 0 0 0 0
cos 0 sin sin 0 cos 1 0 0 0 0
0
ω
Velocidad angular a partir
(solo hay componente en y)
de la matriz antisimétrica:
0
8
Velocidad de Cuerpos Rígidos
Velocidad Angular
• Notación de velocidad angular
Sistema de referencia k en el que
k Vel. ang. del sistema n con respecto al
se expresa la velocidad ω m,n sistema m (asociada con la matriz de
rotación mRn)
- Derivada de la matriz de rotación
Matriz antisimétrica en el mismo
m
R n m ω
ˆ m ,n m Rn sistema de referencia de R
• Suma de velocidades angulares
- En un sistema multicuerpo (con varios sistemas de referencias), las velocidades angulares
se suman (pero expresadas en el mismo sistema de referencia)
- Ejemplo: n cuerpos rígidos (de 0 a n):
0
ω 0,n 0 ω 0,1 0 ω1,2 0 ω n1, n Velocidad del cuerpo n al 0
0
ω 0,n 0 ω 0,1 0 R1 1ω1,2 0 Rn1 n 1ω n1, n
9
Velocidad de Cuerpos Rígidos
Velocidad Lineal
• Velocidad lineal cuando hay rotación y traslación simultáneos
P
p - En punto P está fijo en el cuerpo rígido:
ω
vb
- El cuerpo rígido tiene una velocidad lineal vb
y una velocidad angular ω
{0}
- La velocidad lineal del punto P es:
v p ω p vb
10
Velocidad de Cuerpos Rígidos
Twist
• Es un vector 6x1 que contiene las velocidades lineal y angular
v
ω
• Transformaciones de velocidad:
- Para la velocidad angular: A
ω A RB B ω
v A RB B v B ω B p A RB B v A RB B p B ω
- Para la velocidad lineal: A
A RB B v A RB B pˆ B ω
- Transformación general:
A v A RB A RB B pˆ B v
A A
ω 0 RB B ω
A
A
XB
B
Transformación adjunta
11
Velocidad de Cuerpos Rígidos
Velocidad Angular y Ángulos de Rotación
• Ángulos roll (ϕr), pitch (ϕp), yaw (ϕy): R Rz (r ) Ry ( p ) Rx ( y )
• Derivadas de roll, pitch, yaw: r , p , y
- ¿Son la velocidad angular? No, pero cada uno aporta a ω
ω ωr ω p ω y
debido a debido a debido a
roll pitch yaw
• Relación RPY con la velocidad angular
- Componente debido al ángulo de roll:
z
r 0
ω r 0 r
1
y
12
Velocidad de Cuerpos Rígidos
Velocidad Angular y Ángulos de Rotación
• Relación RPY con la velocidad angular z
- Componente debido al ángulo de pitch:
p
cos r sin r 0 sin r y'
Rz (r ) sin r cos r 0 ω p cos r p r
y
0 0 1 0
x r
- Componente debido al ángulo de yaw:
z cos r cos p sin r cos r sin p
Rz (r ) Ry ( p ) sin r cos p cos r sin p sin r
p
sin p 0 cos p
y
cos r cos p
x p
ω y sin r cos p y
y sin p
x ''
13
Velocidad de Cuerpos Rígidos
Velocidad Angular y Ángulos de Rotación
• Relación RPY con la velocidad angular
ω ωr ω p ω y
0 sin r cos r cos p
ω 0 r cos r p sin r cos p y
1 0 sin p
0 sin r cos r cos p r
ω 0 cos r sin r cos p p
1
0 sin p y
Eo x o
ω Eo x o
14
Velocidad de Cuerpos Rígidos
Velocidad Angular y Ángulos de Rotación
• Método 2:
1. Calcular la matriz de rotación equivalente R
2. Encontrar: ˆ RR T
3. Obtener ωx, ωy, ωz de la matriz resultante
Ejercicio
Usando este método calcular la relación entre las derivadas de los ángulos de roll, pitch,
yaw, con la velocidad angular
15
Temas
1. Introducción
2. Velocidad de Cuerpos Rígidos
3. Jacobiano Geométrico
4. Jacobiano Analítico
5. Singularidades Cinemáticas
6. Cinemática Diferencial Inversa
7. El Jacobiano y la Estática
16
Jacobiano Geométrico
Introducción
• Esquema de velocidades en un robot manipulador:
ω 2 z1q 2 ω n z n 1q n
ω1 z 0 q1
v 3 z 2 q 3
ωi z i 1q i
- El Jacobiano geométrico relaciona la velocidad lineal y angular (del efector final) con
la velocidad de las articulaciones
v J 6n
ω J q q n Si n grados de libertad
17
Jacobiano Geométrico
Estructura
• Jacobiano geométrico:
v v Jv J v 3n Jacobiano lineal o de posición (JL, Jp)
ω J q ω J q J 3n Jacobiano angular o de orientación (JA, Jo)
• Estructura detallada:
q 1
v
v J v1 J v2 J vn q 2
ω J ω
1 J 2 J n
q n
Contribución a velocidad
lineal debida a
1
v J v1 q1 J v2 q 2 J vn q n Relación lineal
ω J 1 q1 J 2 q 2 J n q n
Superposición
18
Jacobiano Geométrico
Articulación Prismática
• Objetivo: encontrar velocidad lineal y angular originadas por una articulación
prismática
• Suposición: las otras articulaciones no se mueven
Eje de zˆ i1
desplazamiento {N}
v J vi q i
ω J i q i
Desplazamiento: qi di
v q i zˆ i 1
ω0
ción i
J vi zˆ i 1
ti cu l a
ar
{0} J i 0
Para una articulación prismática
19
Jacobiano Geométrico
Articulación de Revolución
• Objetivo: encontrar velocidad lineal y angular originadas por una articulación de
revolución
• Suposición: las otras articulaciones no se mueven
Eje de rotación zˆ i1
{N}
v J vi q i
ω J i q i
Ángulo de giro: qi i p i-1,N
v q i zˆ i 1 pi 1, N
ω q i zˆ i 1
l a ción i
arti cu
J vi zˆ i 1 pi 1, N
{0}
J i zˆ i 1
Para una articulación de revolución
20
Jacobiano Geométrico
Elementos de la Estructura
• Estructura:
J v1 J v2 J vn
J
J 1 J 2 J n
• Para la columna i:
Articulación Articulación de
prismática revolución
J vi zˆ i1 zˆ i 1 pi 1, N
J i 0 zˆ i1
0
Obtención de zˆ i1: tercera columna de 0 Ri 1 zˆ i 1 0 Ri 1 0
1
Obtención de p i 1, N : p N p i1
0 0
Nota: todo está en el
sistema de referencia {0}
21
Jacobiano Geométrico
Ejemplo y2 x2
Calcular el Jacobiano geométrico del efector final del
robot manipulador RR
y1 l2
Jacobiano: q2
x1
y0 l1
J v1 J v2 z 0 p 0,2 z1 p1,2
J q1
J 1 J 2 z 0 z1 x0
donde:p 0,2 p 2 p 0 y p1,2 0 p 2 0p1
0 0
0
z 0 0
Cinemática directa: 1
0
z1 0 p1 p2
c1 s1 0 l1c1 c12 s12 0 l1c1 l2 c12 0
s c1 0 l1s1 s c12 0 l1s1 l2 s12
0
p 0 0
0
T1 1 0
T2 12
0 0 1 0 0 0 1 0 0
0 0 0 1 0 0 0 1
22
Jacobiano Geométrico
Ejemplo y2 x2
Calcular el Jacobiano geométrico del efector final del
robot manipulador RR
y1 l2
l1s1 l2 s12 l2 s12 q2
x1
l c l c l2 c12 y0 l1
1 1 2 12
z 0 p 0,2 z1 p1,2 0 0 q1
J
z0 z1 0 0 x0
0 0
1 1
Rango máximo del Jacobiano: 2 (tiene 2 columnas)
A lo más, 2 componentes de velocidad
lineal/angular son independientes
23
Jacobiano Geométrico
Transformaciones
{N }
{0}
{ A}
• Transformación de velocidades: 0
Jq
A
v ( A R0 )0 v A v A R0 0 0v
A
ω ( A R0 )0 ω A A
ω 0 R0 0 ω
A R0 0 0
J
• Transformación de Jacobianos: Cambio del Jacobiano de un
A
J A sistema 0 a un sistema A
0 R0
24
Jacobiano Geométrico
Resumen
• El Jacobiano geométrico:
- Se construye determinando las contribuciones de cada velocidad articular (qi) en
la velocidad lineal/angular del efector final (v, ω).
- Varía según el sistema de referencia utilizado
- NO depende de la representación: es el mismo para un robot,
independientemente de cómo se representa la posición y orientación
• Notar: el Jacobiano geométrico ¡no incluye derivadas en su cálculo!
25
Temas
1. Introducción
2. Velocidad de Cuerpos Rígidos
3. Jacobiano Geométrico
4. Jacobiano Analítico
5. Singularidades Cinemáticas
6. Cinemática Diferencial Inversa
7. El Jacobiano y la Estática
26
Jacobiano Analítico
• Se obtiene mediante diferenciación temporal
- Cinemática directa: x f (q )
- Jacobiano analítico:
Jacobiano analítico
f (q)
x q f (q)
q J A (q)
q
J A (q)
• Componentes de posición y orientación:
x p posición (Cartesiana, cilíndrica, …) x p
x x
xo orientación (ángulos Euler, RPY, cuaternión, …) x o
x p J p
x J q
o o
Jacobiano analítico depende de la representación
(ángulos RPY, Euler, cuaterniones, etc.)
27
Jacobiano Analítico
Ejemplo
Calcular el Jacobiano analítico del efector final del
y
robot manipulador RR l2
q2
x l1 c1 l2 c12 l1
Cinemática q1
y l1 s1 l2 s12
directa x
q1 q2
x x
q1 q2
l1s1 l2 s12 l2 s12
y y
Jacobiano JA l1c1 l2c12 l2c12
analítico: q1 q2
1 1
q1 q2
28
Jacobiano Analítico
Ejemplo
Calcular el Jacobiano analítico del efector final del z
robot manipulador RRP q3
x q3 c 2 c1 q2
Cinemática y q3 c 2 s1 d1
directa y
z d1 q3 s 2
q1
x
x x x
q1 q2 q3
q3c2 s1 q3 s2 c1 c2c1
y y y
q3 s2 s1 c2 s1
Jacobiano
JA qcc
analítico: q1 q2 q3 3 2 1
0 q3c2 s2
z z z
q1 q2 q3
29
Jacobiano Analítico
Relación Jacobiano Analítico con Geométrico
• Jacobianos
x p v
x J Aq ω Jq
o
• Relación: velocidad lineal/angular con derivada de orientación
ω Eo x o v Ep 0 x p
v E p x p ω 0 Eo x o
• Relación entre Jacobianos:
v Ep 0
ω 0 J q
Eo A
E
J EJ A J A E 1 J
30
Jacobiano Analítico
Relación Jacobiano Analítico con Geométrico
• Nota importante
- Si se usa coordenadas Cartesianas para la posición, la parte correspondiente a la
posición es la misma para el Jacobiano analítico y para el geométrico
I 0
J EJ A E
0 Eo
31
Temas
1. Introducción
2. Velocidad de Cuerpos Rígidos
3. Jacobiano Geométrico
4. Jacobiano Analítico
5. Singularidades Cinemáticas
6. Cinemática Diferencial Inversa
7. El Jacobiano y la Estática
32
Singularidades Cinemáticas
• En singularidades cinemáticas:
- Se pierde la habilidad de moverse o de rotar en alguna dirección (dirección singular)
No puede moverse en
esta dirección
• En estas configuraciones el Jacobiano (geométrico) pierde rango
- Caso particular: si J es una matriz cuadrada, el determinante es cero.
• Problemas:
- En una singularidad, no hay que obtenga arbitrario del efector final
- En la cercanía de la singularidad, altas pueden ser requeridas para pequeños
movimientos
33
Singularidades Cinemáticas
Ejemplo
Encontrar las singularidades cinemáticas asociadas al
robot RR
y
l2
Jacobiano (solo parte de posición): q2
l1
l1s1 l2 s12 l2 s12
J q1
l1c1 l2 c12 l2c12 x
Cálculo del determinante: det( J ) l1l2 sin(q2 )
Singularidad cuando det sea 0:
q2 = 0 (estirado) o q2 = π (encogido)
34
Singularidades Cinemáticas
Ejemplo
Encontrar las singularidades cinemáticas asociadas al z
robot RRP q3
Jacobiano (solo parte de posición): q2
d1
q3c2 s1 q3 s2c1 c2c1 y
J q3c2 c1 q3 s2 s1 c2 s1
0 q1
q3c2 s2 x
Cálculo del determinante: det( J ) q3 sin(q 2 )
2
Singularidad cuando det sea 0:
- Cuando q2 = 90, -90 (a lo largo del eje z)
- Cuando q3 = 0 (completamente retraído)
35
Temas
1. Introducción
2. Velocidad de Cuerpos Rígidos
3. Jacobiano Geométrico
4. Jacobiano Analítico
5. Singularidades Cinemáticas
6. Cinemática Diferencial Inversa
7. El Jacobiano y la Estática
36
Cinemática Diferencial Inversa
• Objetivo:
Encontrar la velocidad articular () para obtener una determinada velocidad de algún
punto del robot (como el efector final)
• ¿Cómo?
- Se “invierte” la relación directa del Jacobiano
v v
ω Jq q J 1
Si J es cuadrado
e invertible
ω
• Se puede invertir el Jacobiano geométrico o el analítico
- Depende de lo que se quiera hacer
v
- El “procedimiento” es el mismo ν
ω
37
Cinemática Diferencial Inversa
Solución de Norma Mínima
• Problema de minimización:
1
min ‖ q ‖ 2
‖ q ‖ 2 q T q
q 2
sujeto a
ν Jq 0
• Solución:
1
L(q , ) q T q T ( ν Jq )
2
L
0 q J T 0 q J T
q
L
0 ν Jq 0 ν Jq ν JJ T
T
( JJ T ) 1 ν
q J T J T ( JJ T ) 1 ν
q J # ν J # J T ( JJ T ) 1
38
Cinemática Diferencial Inversa
Pseudo-inversa
• Pseudo-inversa de Moore-Penrose:
Es la única matriz J# que satisface las siguientes 4 propiedades
JJ # J J ( J # J )T J # J J mn
J JJ J
# # #
( JJ ) JJ
# T # J # nn
• Casos especiales:
- Si rango(J) = n = m: J # J 1
- Si rango(J) = m < n: J # J T ( JJ T ) 1
• La pseudo-inversa siempre está definida
- Se puede calcular con las expresiones anteriores
- Es más eficiente (computacionalmente) calcularla usando la descomposición de valor
singular (SVD: singular value decomposition)
39
Cinemática Diferencial Inversa
Solución de dos objetivos
• Problema de minimización:
1
min ‖ q q 0‖ 2
q 2
sujeto a
ν Jq 0
• Solución:
1
L(q , ) (q q 0 )T (q q 0 ) T ( ν Jq )
2
L
0 q q 0 J T 0 q J T q 0
q
L
0 ν Jq 0 ν Jq ν JJ T Jq 0
T
( JJ T )1 ( ν Jq 0 )
q J # ν (I J # J ) q 0
: puede usarse para “hacer” una segunda tarea
40
Cinemática Diferencial Inversa
Solución de dos objetivos
• Funciones típicas para el segundo objetivo:
- Expresadas como un gradiente (maximizado localmente)
• Ejemplos:
- Medida de Manipulabilidad
- Distancia de límites articulares
- Distancia de un obstáculo
41
Cinemática Diferencial Inversa
Mínimos Cuadrados Amortiguados
• Problema de minimización:
1 1
min k‖ q ‖ 2
‖ ν Jq ‖
q 2 2
• Solución:
q J T (JJT k 2 I ) 1 ν
• Ventaja:
- Evita las singularidades (el factor k “actúa” en las singularidades)
• Otros nombres:
- “Damped least-squares”
- Método de Levenberg-Marquadt
42
Temas
1. Introducción
2. Velocidad de Cuerpos Rígidos
3. Jacobiano Geométrico
4. Jacobiano Analítico
5. Singularidades Cinemáticas
6. Cinemática Diferencial Inversa
7. El Jacobiano y la Estática
43
El Jacobiano y la estática
Fuerzas y Torques generalizados
• Fuerzas y torques en un manipulador:
fuerza
f
F
m
torque
(momento)
¿Relación entre τ y F?
τi: torques o fuerzas ejercidos por los motores de las articulaciones
F : fuerzas generalizadas equivalentes en el efector final
Fe: fuerzas generalizadas ejercidos por el entorno sobre el efector final
(en equilibrio estático: Fe = F)
44
El Jacobiano y la estática
Principio de Trabajo Virtual
• Fuerzas y torques en un manipulador:
f
F
m
- Relación mediante el Jacobiano (usando principio de trabajo virtual):
1
τ JTF τ 2
Jacobiano geométrico calculado en el n
punto donde se aplica la fuerza F
45
El Jacobiano y la estática
Dualidad entre Velocidad y Fuerza
ν Jq
Velocidad en el espacio Velocidad en el espacio
articular () Cartesiano (v, ω)
Fuerzas y torques en las Fuerzas generalizadas en el
articulaciones (τ) espacio Cartesiano (f, m)
τ JTF
46
El Jacobiano y la estática
Transformaciones de Fuerza
• Transformación entre sistemas A y B:
A f A RB 0 Bf
A B A A
m pˆ RB RB B m
• Ejemplo
47
Conclusiones
• La cinemática diferencial está basada en el uso del Jacobiano
• Existen dos tipos de Jacobianos: geométrico (que relaciona
velocidad lineal y angular) y analítico (que relaciona derivadas
temporales)
• La cinemática diferencial puede utilizarse para controlar la
posición del robot a través de su velocidad articular
• El Jacobiano también relaciona las fuerzas/torques en el efector
final con los torques ejercidos por los motores
Referencias
• B. Siciliano, L. Sciavicco, L. Villani, y G. Oriolo. Robotics: modelling,
planning and control. Springer Science & Business Media, 2010 (Capítulo 3)
• M.W. Spong, S. Hutchinson, y M. Vidyasagar. Robot Modeling and Control.
John Wiley & Sons, 2006 (Capítulo 4)
• R. Murray, Z. Li, Z, S. Sastry. A Mathematical Introduction to Robotic
Manipulation. CRC press, 1994 (Capítulo 2)
49