Está en la página 1de 33

Ingeniería de

TEMA 4: CINEMÁTICA DEL Sistemas y


Automática
ROBOT Control de Robots y
Sistemas Sensoriales

Robótica Industrial
ISA.- Ingeniería de Sistemas y Automática
Indice

➊ Introducción
➋ Morfología del robot
➌ Herramientas matemáticas para la localización espacial
➍ Cinemática del robot
➎ Dinámica del robot
➏ Control cinemático
➐ Control dinámico
➑ Programación de robots
➒ Criterios de implantación de un robot
➓ Aplicaciones de los robots
Robotica Industrial- Cinemática del robot 1
Cinemática del robot
Cinemática directa
Cinemática Inversa
Matriz Jacobiana

Robotica Industrial- Cinemática del robot 2


El problema cinemático de un robot
■ 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 Jacobiana): Relaciones entre las velocidades de
movimiento de las articulaciones y las del extremo del robot

Robotica Industrial- Cinemática del robot 3


Relación entre cinemática directa e
inversa

Cinemática Directa
Valor de las Posición y
coordenadas orientación del
articulares extremo del robot
(q1,q2,…,qn) (x,y,z,α,β,γ)
Cinemática Inversa

Robotica Industrial- Cinemática del robot 4


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
x = f x (q1 , q2 , q3 , q4 , q5 , q6 )
y = f y (q1 , q2 , q3 , q4 , q5 , q6 )
z = f z (q1 , q2 , q3 , q4 , q5 , q6 )
α = fα (q1 , q2 , q3 , q4 , q5 , q6 )
β = fβ (q1 , q2 , q3 , q4 , q5 , q6 )
γ = f γ (q1 , q2 , q3 , q4 , q5 , q6 )

Robotica Industrial- Cinemática del robot 5


Modelo cinemático directo de un
robot planar de 2 gdl

x = l1 cos q1 + l 2 cos (q1 + q2 )


y = l1 sen q1 + l 2 sen (q1 + q2 )

Robotica Industrial- Cinemática del robot 6


Las matrices de transformación
AyT
■ 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:
0
A 3 = 0 A11 A 2 2 A 3

■ Matriz T : matriz 0An cuando se consideran todos los


grados de libertad del robot

T= 0 A 6 = 0 A1 1 A 2 2 A 3 3 A 4 4 A 5 5 A 6

Robotica Industrial- Cinemática del robot 7


Convenio de conexión de elementos
contiguos de Denavit-Hartenberg
■ Transformaciones básicas de paso de eslabón:
❶ Rotación alrededor del eje zi-1 un ángulo θi
❷ Traslación a lo largo de zi-1 una distancia di ; vector di (0,0,di)
❸ Traslación a lo largo de xi una distancia ai ; vector ai (0,0,ai)
❹ Rotación alrededor del eje xi un ángulo αi
i-1
A i = T ( z, θ i ) T (0,0, d i ) T (a i ,0,0) T ( x , α i )

Cθ i − Sθ i 0 0 1 00 0  1 0 0 a i  1 0 0 0
 Sθ Cθ i 0 0 0 10 0  0 1 0 0  0 Cα i - Sα i 0
i −1
Ai =     =
i

 0 0 1 0 0 01 d i  0 0 1 0  0 Sα i Cα i 0
    
 0 0 0 1 0 00 1  0 0 0 1  0 0 0 1
Cθi − Cα i Sθi Sα i Sθi ai Cθi 
 Sθ Cα i Cθi − Sα i Cθi ai Sθi 
= 
i

 0 Sα i Cα i di 
 
 0 0 0 1 
Robotica Industrial- Cinemática del robot 8
Parámetros de
Denavit-Hartenberg (I)
■ Definen el paso de un sistema de referencia asociado a una
articulación al siguiente
■ Sólo dependen de las características geométricas de cada
eslabón y de las articulaciones que le unen con el anterior y
siguiente (no dependen de la posición del robot)
■ Definen las matrices A que permiten el paso de un sistema
de referencia asociado a una articulación al siguiente y por
tanto definen las matrices T
■ Son 4:
– Dos ángulos (θi, αi)
– Dos distancias (di, ai)
Robotica Industrial- Cinemática del robot 9
Parámetros de
Denavit-Hartenberg (II)
■ θi: Es el ángulo que forman los ejes xi-1 y xi medido en un plano
perpendicular al eje zi-1, utilizando la regla de la mano derecha. Se trata
de un parámetro variable en articulaciones giratorias.
■ di: Es la distancia a lo largo del eje zi-1 desde el origen del sistema
de coordenadas (i-1)-ésimo hasta la intersección del eje zi-1 con el eje
xi. Se trata de un parámetro variable en articulaciones prismáticas.
■ ai: Es la distancia a lo largo del eje xi que va desde la intersección
del eje zi-1 con el eje xi hasta el origen del sistema i-ésimo, en el caso
de articulaciones giratorias. En el caso de articulaciones prismáticas, se
calcula como la distancia más corta entre los ejes zi-1 y zi.
■ αi: Es el ángulo de separación del eje zi-1 y el eje zi, medido en un
plano perpendicular al eje xi, utilizando la regla de la mano derecha.

Robotica Industrial- Cinemática del robot 10


Parámetros de Denavit-Hartenberg
para un eslabón giratorio

Robotica Industrial- Cinemática del robot 11


Obtención del modelo
cinemático directo de un robot
❶ Establecer para cada elemento del robot un sistema de
coordenadas cartesiano ortonormal (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

Robotica Industrial- Cinemática del robot 12


Algoritmo de Denavit-Hartenberg (I)
■ 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

Robotica Industrial- Cinemática del robot 13


Algoritmo de Denavit-Hartenberg (II)

■ 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 θi 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.

Robotica Industrial- Cinemática del robot 14


Algoritmo de Denavit-Hartenberg (III)

■ 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 αi 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

Robotica Industrial- Cinemática del robot 15


Modelo cinemático directo de un
robot cilíndrico (I)

Articulación θ d a α
1 q1 l1 0 0

2 90º d2 0 90º

3 0 d3 0 0

4 q4 l4 0 0

Robotica Industrial- Cinemática del robot 16


Modelo cinemático directo de un
robot cilíndrico (II)
C1 − S1 0 0 0 0 1 0
S C1 0 0 1 0 0 0
A1 =   A2 =  
0 1 1
0 0 1 l1  0 1 0 d2 
   
0 0 0 1 0 0 0 1
1 0 0 0 C4 − S4 0 0
0 1 0 0 S C4 0 0
A3 =   A4 =  
2 3 4

0 0 1 d3  0 0 1 l4 
   
0 0 0 1 0 0 0 1

− S1C4 S1S 4 C1 C1 ( d3 + l4 )
 CC − C1S4 S1 S1 ( d3 + l4 ) 
T = 0 A11 A 2 2 A 3 3 A 4 =  
1 4

 S4 C4 0 d 2 + l1 
 
 0 0 0 1 

Robotica Industrial- Cinemática del robot 17


Modelo cinemático directo de un
robot ABB IRB 6400C (I)

Articulación θ d a α
1 θ1 0 0 -90
2 θ2 l1 0 90
3 θ3-90 0 -l2 90
4 θ4 l3 0 -90
5 θ5 0 0 90
6 θ6 l4 0 0

Robotica Industrial- Cinemática del robot 18


Modelo cinemático directo de un
robot ABB IRB 6400C (II)
C1 0 − S1 0 C 2 0 S2 0
S 0 C1 0 S 0 − C2 0
A1 =   A2 =  
0 1 1 2

0 − 1 0 0 0 1 0 l1 
   
0 0 0 1 0 0 0 1

 S3 0 − C3 − l2 S3  C4 0 − S4 0
− C 0 − S3 l2C3  S 0 C4 0
A3 =   A4 =  
2 3 3 4

 0 1 0 0  0 −1 0 l3 
   
 0 0 0 1  0 0 0 1

C5 0 S5 0 C6 − S6 0 0
S 0 − C5 0 S C6 0 0
A5 =   A6 =  
4 5 5 6

0 1 0 0 0 0 1 4
l
   
0 0 0 1 0 0 0 1

Robotica Industrial- Cinemática del robot 19


Modelo cinemático directo de un
robot ABB IRB 6400C (III)
 nx ox ax px 
n oy ay py 
T = A1 A 2 A 3 A 4 A5 A 6 =  
0 1 2 3 4 5 y

 nz oz az pz 
 
0 0 0 1
n x = ( C1 C2 S3 + S1C3 )( C4C5C6 − S4 S6 ) + C1S2 ( S 4C5C6 + C4 S6 ) + ( − C1C2C3 + S1S3 ) S5C6
n y = ( − S1C 2 S3 + S1C3 )( C4C5C6 − S4 S6 ) + S1S2 ( S4C5C6 + C4 S6 ) + ( − S1C2C3 − C1S3 ) S5C6
n z = ( − S2 S3 )( C4C5C6 − S 4 S6 ) + C2 ( S4C5C6 + C4 S6 ) + S2C3S5C6
ox = ( C1 C2 S3 + S1C3 )( − C4C5C6 − S4 S6 ) + C1S 2 ( − S4C5C6 + C4 S6 ) + ( − C1C2C3 + S1S3 )( − S5C6 )
oy = ( − S1C2 S3 + S1C3 )( − C4C5C6 − S4 S6 ) + S1S2 ( − S4C5C6 + C4 S6 ) + ( − S1C2C3 − C1S3 )( − S5C6 )
oz = ( − S2 S3 ) ( − C4C5C6 − S4 S 6 ) + C2 ( − S4C5C6 + C4 S6 ) + S 2C3 ( − S5C6 )
p x = ( C1 C 2 S3 + S1C3 )( l4C4 S5 ) + C1S2 ( l4 S4 S5 ) + ( C1 C2C3 + S1S3 )( − l4C5 + l3 ) +
(− l C C S − l S C − l S )
2 1 2 3 2 1 3 1 1

py = ( − S C S − C C )(l C S ) + S S ( l S S ) + ( − C C C − C S )( − l C
1 2 3 1 3 4 4 5 1 2 4 4 5 1 2 3 1 3 4 5 + l3 ) +
(− l S C S − l C C + l C )
2 1 2 3 2 1 3 1 1

pz = (- S S )(l C C ) + C (l S S ) + S C ( − l C + l ) + l S S
2 3 4 4 5 2 4 4 5 2 3 4 5 3 2 2 3

Robotica Industrial- Cinemática del robot 20


Cinemática 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)

Robotica Industrial- Cinemática del robot 21


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,α,β,γ); 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

Robotica Industrial- Cinemática del robot 22


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...
Robotica Industrial- Cinemática del robot 23
Ejemplo de resolución de la cinemática
inversa por métodos geométricos (I)

 py 
q1 = arctg 
 px 

r 2 = px2 + py2 
⇒
r 2 + pz2 = l 22 + l32 + 2l 2l3cos q 3 
px2 + py2 + pz2 − l 22 − l32
cos q 3 =
2l 2 l 3

sen q 3 = ± 1 − cos 2 q 3

 ± 1 − cos2q 
q3 = arctg
3

 cos q3 
px2 + py2 + pz2 − l 22 − l32
con cos q3 =
2l2l3

Robotica Industrial- Cinemática del robot 24


Ejemplo de resolución de la cinemática
inversa por métodos geométricos (II)

q2 = β − α

 
 pz  pz
β = arctg  = arctg  
 r ± 2 
px + py 
2

 l sen q3 
α = arctg 3 
 l 2 + l3 cos q3 

 
q2 = arctg
pz  − arctg l 3 sen q 3 
± px2 + py2   l 2 + l3 cos q3 

Robotica Industrial- Cinemática del robot 25


Ejemplo de resolución de la cinemática inversa a partir
de las matrices de transformación homogénea (I)

A r tic . θ d a α
1 q1 l1 0 90º
2 q2 0 0 -9 0 º
3 0 q3 0 0

C1 0 S1 0 C2 0 − S2 0 1 0 0 0 
S 0 − C1 0 S 0 C2 0 0 1 0 0 
A1 =   A2 =   A3 =  
0 1 1 2 2
0 1 0 l1  0 −1 0 0 0 0 1 q3 
     
0 0 0 1 0 0 0 1 0 0 0 1 
C1C2 − S1 − C1S 2 0 C1C2 − S1 − C1S2 − q3C1S2 
S C C1 − S1S2 0 S C C1 − S1S2 − q3S1S2 
A2 =   T = 0 A3 =  
0 1 2 1 2

 S2 0 C2 l1   S2 0 C2 q3C2 + l1 
   
 0 0 0 1  0 0 0 1 

Robotica Industrial- Cinemática del robot 26


Ejemplo de resolución de la cinemática inversa a partir
de las matrices de transformación homogénea (II)

C1 S1 0 0   nx ox ax px 
0 0 1 − l1   ny oy a y py 
( A1 ) T3 = A2 A3 =  S − C
0 −1 0 1 2 
0 0   nz oz az pz 
=
1 1
  
T = 0 A1 1 A 2 2 A 3 0 0 0 1  0 0 0 1 
( A ) T= A
0
1
−1 1
2
2
A3 C 2 0 − S2 0 1 0 0 0  C2 0 − S2 − S2q3 
S 0 0 0   S2 0 C2q3 
( A) ( A)
1
2
−1 0
1
−1
T= 2 A3 =
2 0 C2

1 0
=
C2

0 −1 0 0 0 0 1 q3   0 − 1 0 0 
    
0 0 0 1  0 0 0 1  0 0 0 1 

 `py   ` py 
S1 px − C1 py = 0 ⇒ tan ( q1 ) =   ⇒ q1 = arctan  
 px   px 
px2 + py2
q2 = arctan
l1 − pz
q3 = C 2 ( pz − l1 ) − S2 px2 + py2

Robotica Industrial- Cinemática del robot 27


Matriz Jacobiana

Jacobiana Directa
Velocidad velocidades
de las del extremo
articulaciones del robot
(q1,q2,…,qn) (x,y,z,α,β,γ)
Jacobiana Inversa

Matriz Jacobiana: permite conocer las velocidades del extremo


del robot a partir de las velocidades de cada articulación

Robotica Industrial- Cinemática del robot 28


Relaciones diferenciales

, q )
x = fx ( q1 , , q )
y = f y ( q1 , , q )
z = f z ( q1 ,
α = f ( q , , q ) β = f ( q , , q ) γ = f ( q , , q )
n n n

α 1 n β 1 n γ 1 n

∂f n
∂f y
n
∂fz n
x = ∑ x qi y = ∑ qi z = ∑ qi
1 ∂qi 1 ∂qi 1 ∂qi
n
∂fα n
∂f β n
∂fγ
α = ∑ q β = ∑ qi
 γ = ∑ qi

1 ∂qi i 1 ∂qi 1 ∂qi

 x   q1   ∂fx ∂fx 


 ∂q 
 y    ∂qn 
     1 
 z    
  = J ⋅   con J =     
α
    
 β     
     ∂fγ ∂fγ 
 ∂q 
γ
  q n   1 ∂qn 

Robotica Industrial- Cinemática del robot 29


Jacobiana de un robot SCARA

x = l3C12 + l 2C1
y = l3S12 + l 2S1
z = l1 − q3

 x  − ( l3S12 + l 2S1 ) − l3S12 0   q1 


    
 y  =  l3C12 + l 2C1 l 3C12 0  q2 
 z   0 0 − 1  q3 

Robotica Industrial- Cinemática del robot 30


Métodos 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
 ∂f1 ∂f1 
 q1   x   ∂x   
  ∂γ 
q1 = f1 ( x , y , z , α , β , γ )  
        
    = J −1    J −1 =     
     
qn = fn ( x , y , z , α , β , γ )       
qn  γ   ∂fn ∂fn 
 ∂x   
 ∂γ 
Robotica Industrial- Cinemática del robot 31
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

Robotica Industrial- Cinemática del robot 32