Vous êtes sur la page 1sur 86

Robótica y Laboratorio

Emerson Jassan Olaya


Lección 3
CINEMÁTICA

1
Avances del Proyecto Integrador
• Seguimiento: Lun Mar Mie Jue
• Equipo1 Alvaro, andrea, sebastián. 7
• Equipo2 Sharif 7
• Camila, wilson.7

• Tareas:
• Importación de CAD a Matlab
• Cinemática Inversa 3DoF

2
Cinemática del robot
Para que un robot ejecute una tarea específica, primero que nada
deberá establecerse la posición y la orientación del efector final,
es decir, su posición o configuración en relación con su base.

Resolver problemas de posicionamiento

Análisis de la velocidad y aceleración necesarios para el control


de movimientos uniformes del efector final, así como el análisis
dinámico del robot en cuestión.

Encontrar una relación entre las coordenadas cartesianas: la


posición de un punto en el efector final y su orientación con los
ángulos de las articulaciones.
Cinemática del robot
Existen dos tipos de problemas:

La cinemática directa: las posiciones de las


articulaciones ya están determinadas y el problema
radica en encontrar la configuración del efector final
(solución única).

La cinemática inversa: se resuelve inverso, es


decir, la posición del efector final está determinada
y el problema radica en encontrar los ángulos de
las articulaciones (varias posibles soluciones).
Método iterativo, convergencia no garantizada
Cinemática del robot

CINEMÁTICA
DIRECTA

Valor de las Posición y


articulaciones orientación del
efector final
(q1 , q2 , q3 ,..., qn ) ( Px , Py , Pz , n, o, a )
CINEMÁTICA
INVERSA
Cinemática directa
Un manipulador robótico consiste en varios eslabones, usualmente conectados por
articulaciones.

• Se busca controlar el efector final respecto a un sistema fijo asociado a la base del
robot.

• Cada eslabón tiene su propio sistema de coordenadas adjunto.

• Es necesario encontrar la relación entre los sistemas de coordenadas adjuntos al


efector final y la base. Esto a partir de un cálculo recursivo mediante las
transformaciones de coordenadas adjuntadas a todos los eslabones.

• Deberá derivarse un método sistemático general para definir la posición y


orientación relativa de los dos eslabones consecutivos.
DH1: numerar los eslabones comenzando con 1 (primer eslabón móvil de la cadena) y acabando con n (ultimo eslabón
móvil). Se numerará como eslabón 0 a la base fija del robot.

DH2: numerar cada articulación comenzando por 1 (la correspondiente al primer grado de libertad y acabando en n).

DH3: 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.

DH4: para i de 0 a n-1, situar el eje Zi, sobre el eje de la articulación i+1.

DH5: situar el origen del sistema de la base S0 en cualquier punto conocido del eje Z0. Los ejes X0 e Y0 se situarán de
modo que formen un sistema dextrógiro con Z0.

DH6: para i de 1 a n-1, origen del sistema Si (solidario al eslabón i. Es decir, Si está anclado al eslabón i, y se mueve
junto con éste) de acuerdo a la posición de los ejes Zi-1 y Zi:
• Caso 1: si ambos ejes se cortasen se situaría Si en el punto de corte.
• Caso 2: si fuesen paralelos Si se situaría en un lugar conocido de la articulación i.
• Caso 3: en la intersección del eje Zi con la línea normal común a Zi-1 y Zi.

DH7: situar Xi en la línea normal común que corta a Zi-1 y Zi. En caso de que se pueda poner Xi en la misma dirección
de Xi-1.

DH8: situar Yi de modo que forme un sistema dextrógiro con Xi y Zi.

DH9: Situar el sistema Sn en un punto conocido del extremo del robot de modo que Zn coincida con la dirección de Zn-
1 y Xn sea normal a Zn-1 y Zn que los corta.
DH10: obtener ɵi como el ángulo que hay que girar Si-1 en torno a Zi-1 para que Xi-1 y Xi queden
paralelos.

DH11: obtener di como la distancia, medida a lo largo de Zi-1 del nuevo sistema Si-1, que habría que
desplazar Si-1 para que Xi y Xi-1 quedasen alineados.

DH12: 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 sistema Si-1 para que su origen coincidiese con Si.

DH13: obtener αi como el ángulo que habría que girar el nuevo sistema Si-1 entorno a Xi (que ahora
coincidiría con Xi-1), para que coincidiese totalmente con Si.

DH14: obtener las matrices de transformación que representa la posición y orientación del
eslabón i respecto al eslabón i-1.
i 1
Ai
DH15: obtener la matriz de transformación que relaciona el sistema asociado al extremo del robot
con el sistema de la base:

T  A 1 A 2y A
DH16: la matriz T define la orientación (submatriz de rotación)
0 1
posición
3 ...
2
A n (submatriz de traslación)
n 1

del extremo referido a la base en función de las n coordenadas articulares.


Los pasos DH1 al DH9 consisten en la ubicación de los sistemas Si asociados
a cada eslabón. Si el eslabón i se mueve, su sistema Si asociado se moverá
junto con él.

Los pasos DH10 al DH13 buscan encontrar la configuración relativa del


eslabón i respecto al eslabón i-1, mediante la relación entre sus sistemas
asociados i e i-1 respectivamente, y la articulación i que los une.

Los pasos DH14 al DH16 logran una expresión que representa la posición y
orientación del sistema de coordenadas Sn asociado al efector final,
respecto al sistema de coordenadas S0 de la base del robot.
EJEMPLO 1: Robot de 6 GDL
L2

L3

L4

L1

L5
DH1: numerar los eslabones comenzando con 1 (primer eslabón móvil de la cadena) y acabando con n
(ultimo eslabón móvil). Se numerará como eslabón 0 a la base fija del robot.

L2

L3

5
2
4

L4
6
L1

L5

0
DH2: numerar cada articulación comenzando por 1 (la correspondiente al primer grado de libertad y
acabando en n).

L2

L3

q3 2
4
5

q4
q2 L4
6
L1
q5 q6

L5

0 q1
DH3: 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.

L2

L3

q3 2
4
5

q4
q2 L4
6
L1
q5 q6

L5

0 q1
DH4: para i de 0 a n-1, situar el eje Zi, sobre el eje de la articulación i+1.

L2
Z2
3

L3

q3 2
4
5

Z1 Z3 q4
q2 L4
6
L1
q5 Z4 Z5 q 6

L5
Z0

0 q1
DH5: situar el origen del sistema de la base S0 en cualquier punto conocido del eje Z0. Los ejes X0 e Y0
se situarán de modo que formen un sistema dextrógiro con Z0.

L2
Z2
3

L3

q3 2
4
5

Z1 Z3 q4
q2 L4
6
L1
q5 Z4 Z5 q 6

1 Y0

L5
Z0
X0

0 q1
DH6: para i de 1 a n-1, origen del sistema Si (solidario al eslabón i. Es decir, Si está anclado
al eslabón i, y se mueve junto con éste) de acuerdo a la posición de los ejes Zi-1 y Zi.

Caso 1: si ambos ejes se cortasen se situaría Si en el punto de corte.

Caso 2: en la intersección del eje Zi con la línea normal común a Zi-1 y Zi.
Caso 3: si fuesen paralelos Si se situaría en un lugar conocido de la articulación i.
DH6: para i de 1 a n-1, origen del sistema Si (solidario al eslabón i. Es decir, Si está anclado al eslabón i, y se mueve
junto con éste) de acuerdo a la posición de los ejes Zi-1 y Zi:
Caso 1: si ambos ejes se cortasen se situaría Si en el punto de corte.
Caso 2: en la intersección del eje Zi con la línea normal común a Zi-1 y Zi.
Caso 3: si fuesen paralelos Si se situaría en un lugar conocido de la articulación i.

L2

L3
Z3 Z4
q3 2
4
5

q4
q 2 Z2 L4
6
L1
q5 q6
Z5
1 Y0

L5
Z0 Z1
X0

0 q1
DH7: situar Xi en la línea normal común que corta a Zi-1 y Zi. En caso de que se pueda poner Xi en la
misma dirección de Xi-1

L2

3
X4 L3
Z3 Z4
q3 2
4
5

X3
q4
q 2 Z2 X5 L4
6
L1 X2 q5 q6
Z5
1 Y0

L5
Z0 Z1
X0

0 q1 X1
DH8: situar Yi de modo que forme un sistema dextrógiro con Xi y Zi.

L2

3
X4 L3
Y3 Y4
Z3 Z4
q3 2
4
5

X3
q4
q 2 Z2 X5 L4
Y2
6
L1 X2 q5 Y5 q6
Z5
1 Y0

L5
Z0 Z1 Y1
X0

0 q1 X1
DH9: Situar el sistema Sn en un punto conocido del extremo del robot de modo que Zn coincida con la
dirección de Zn-1 y Xn sea normal a Zn-1 y Zn que los corta.

L2

3
X4 L3
Y3 Y4
Z3 Z4
q3 2
4
5

X3
q4
q 2 Z2 X5 L4
Y2
6
L1 X2 q5 Y5 q6 Y6
Z5
1 Y0
X6
Z6 L5
Z0 Z1 Y1
X0

0 q1 X1
Para cada articulación qi y los sistemas Si y Si-1 asociados a los eslabones i e i-1
respectivamente:

DH10: obtener ɵi como el ángulo que hay que girar Si-1 en torno a Zi-1 para que Xi-
1 y Xi queden paralelos.

DH11: obtener di como la distancia, medida a lo largo de Zi-1 del nuevo sistema Si-
1, que habría que desplazar Si-1 para que Xi y Xi-1 quedasen alineados.

DH12: 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 sistema Si-1 para que su origen
coincidiese con Si.

DH13: obtener αi como el ángulo que habría que girar el nuevo sistema Si-1
entorno a Xi (que ahora coincidiría con Xi-1), para que coincidiese totalmente con
Si.
L1 1

Z1 Y1
X1 Z'' ''0
Y''''0
Y'''0
X''''0
Y''0
0 q1 Y'0
Z'''0 X'''0

Y0 Z''0 X''0
Z'0 X'0
Z0 X0

Articulación
Ɵi di ai αi
qi
q1 0 0+q1 0 -π/2
Z'' ''1
2
Y'' ''1
X'' ''1
q 2 Z2 Z'''1
Y'''1
Y2
L1 X2 X'''1
Z''1
1 Z1 Y''1
Y1 X''1
X1 Z'1
Y'1
X'1

Articulación
Ɵi di ai αi
qi
q1 0 0+q1 0 -π/2

q2 0+q2 L1 0 0
L2

3 Y''''2

Y3 Z''''2 X'' ''2


Z3
q3 2 Z'''2
X3 Y'''2
Z2 X'''2
Y2 Z''2
Y''2
X2 X''2
Z'2
Y'2
X'2
Articulación
Ɵi di ai αi
qi
q1 0 0+q1 0 -π/2

q2 0+q2 L1 0 0

q3 0 q3 L2 π/2
3

X4
Z4
Y4 4
q4

Y3 X'3 X''3 X'''3 X''''3


Y'3 Y''3 Y'''3

Z3 X3 Z'3 Z''3 Z'''3 Y'' ''3 Z''''3

Articulación
Ɵi di ai αi
qi
q1 0 0+q1 0 -π/2

q2 0+q2 L1 0 0

q3 0 q3 L2 π/2

q4 π/2+q4 0 0 π/2
X4 L3

Y4 5
4
Z4
X5

q 5 Y5
Z5
X'4 X'''4
X''4
X''''4
Y''''4
Y'4 Z'4 Y''4 Z''4 Y'''4 Z'''4 Z'' ''4

Articulación
Ɵi di ai αi
qi
q1 0 0+q1 0 -π/2

q2 0+q2 L1 0 0

q3 0 q3 L2 π/2

q4 π/2+q4 0 0 π/2

q5 0+q5 L3 0 -π/2
5

L4
X5
6
Y5 q6 Y6
Z5
X6
Z6 L5

Y'5 Y''5 Y'''5 Y''''5

Z'5 X'5 Z''5 X''5 Z'''5 X'''5 Z'' ''5 X''''5


Articulación
Ɵi di ai αi
qi
q1 0 0+q1 0 -π/2

q2 0+q2 L1 0 0

q3 0 q3 L2 π/2

q4 π/2+q4 0 0 π/2

q5 0+q5 L3 0 -π/2

q6 -π/2+q6 -L5 L4 0
Articulación
Ɵi di ai αi
qi
q1 0 0+q1 0 -π/2
DH9: Situar el sistema Sn en un punto conocido del extremo del robot de modo que Zn coincida con la
q2
dirección de Zn-1 y Xn sea normal a Zn-1 y Zn que los corta. 0+q2 L1 0 0

q3 0 q3 L2 π/2

q4 π/2+q4 0 0 π/2

L2 q5 0+q5 L3 0 -π/2

q6 -π/2+q6 -L5 L4 0
3
X4 L3
Y3 Y4
Z3 Z4
q3 2
4
5

X3
q4
q 2 Z2 X5 L4
Y2
6
L1 X2 q5 Y5 q6 Y6
Z5
1 Y0
X6
Z6 L5
Z0 Z1 Y1
X0

0 q1 X1
DH14: obtener las matrices de transformación
i 1
A i  TrZ θ i TtZ d ique
TtX representan
a i TrX α i  la posición y orientación del
eslabón i respecto al eslabón i-1.
0
A 1  TrZ 0 TtZ 0  q1 TtX 0 TrX  π 2 
1
A 2  TrZ 0  q 2 TtZ L1 TtX 0 TrX 0 
2
A 3  TrZ 0 TtZ q 3 TtX L 2 TrX π 2 
3
A 4  TrZ π 2  q 4 TtZ 0TtX 0 TrX π 2 
4
A 5  TrZ 0  q 5 TtZ L 3 TtX 0 TrX  π 2 
5
A 6  TrZ  π 2  q 6 TtZ  L 5 TtX L 4 TrX 0 

DH15: obtener la matriz de transformación que relaciona el sistema asociado al extremo del robot con el sistema de la
base 0
T A 1 A 2 A 3 A 4 A 5 A 6
1 2 3 4 5

DH16: 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.
¿ Cómo Verificar si la matriz T quedó bien?
EJEMPLO 2: Robot de 6 GDL
DH1: numerar los eslabones comenzando con 1 (primer eslabón móvil de la cadena) y acabando con n
(ultimo eslabón móvil). Se numerará como eslabón 0 a la base fija del robot.

• ddd
DH2: numerar cada articulación comenzando por 1 (la correspondiente al primer grado de libertad y
acabando en n).

q3

q4

q2

q5
q6

q1
DH3: 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.

q3

q4

q2

q5
q6

q1
DH4: para i de 0 a n-1, situar el eje Zi, sobre el eje de la articulación i+1.

q3
Z3
Z2
q4
Z1
q2
Z5
q5
Z4
q6
Z0

q1
DH5: situar el origen del sistema de la base S0 en cualquier punto conocido del eje Z0. Los ejes X0 e Y0
se situarán de modo que formen un sistema dextrógiro con Z0.

q3
Z3
Z2
q4
Z1
q2
Z5
q5
Y0 Z4
q6
Z0 X0
1

q1
DH6: para i de 1 a n-1, origen del sistema Si (solidario al eslabón i. Es decir, Si está anclado al eslabón i, y se mueve
junto con éste) de acuerdo a la posición de los ejes Zi-1 y Zi:
Caso 1: si ambos ejes se cortasen se situaría Si en el punto de corte.
Caso 2: en la intersección del eje Zi con la línea normal común a Zi-1 y Zi.
Caso 3: si fuesen paralelos Si se situaría en un lugar conocido de la articulación i.

Z2
q3 Z3

q4

q2 Z4 Z5
q5
Y0
q6
Z0 X0
1

Z1
q1
DH7: situar Xi en la línea normal común que corta a Zi-1 y Zi. En caso de que se pueda poner Xi en la
misma dirección de Xi-1

X3
Z2 X2
q3 Z3

q4 X5
X4
q2 Z4 Z5
q5
Y0
q6
Z0 X0
1

Z1
q1
X1
DH8: situar Yi de modo que forme un sistema dextrógiro con Xi y Zi.

Y2
X3
Z2 X2
q3 Y3 Z3

q4 X5
X4
Y4
q2 Z4
Y5 Z5
q5
Y0
q6
Z0 X0
1

Z1
Y1
q1
X1
DH9: Situar el sistema Sn en un punto conocido del extremo del robot de modo que Zn coincida con la
dirección de Zn-1 y Xn sea normal a Zn-1 y Zn que los corta.

Y2
X3
Z2 X2
q3 Y3 Z3

q4 X5
X4
Y4
q2 Z4
Y5 Z5
q5 X6
Y0
q6
Z0 X0
1 Y6 Z6
Z1
Y1
q1
X1
Para cada articulación qi y los sistemas Si y Si-1 asociados a los eslabones i e i-1
respectivamente:

DH10: obtener ɵi como el ángulo que hay que girar Si-1 en torno a Zi-1 para que Xi-
1 y Xi queden paralelos.

DH11: obtener di como la distancia, medida a lo largo de Zi-1 del nuevo sistema Si-
1, que habría que desplazar Si-1 para que Xi y Xi-1 quedasen alineados.

DH12: 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 sistema Si-1 para que su origen
coincidiese con Si.

DH13: obtener αi como el ángulo que habría que girar el nuevo sistema Si-1
entorno a Xi (que ahora coincidiría con Xi-1), para que coincidiese totalmente con
Si.
Y2
X3 Pasos DH10 al DH13
Z2 X2
q3 Y3 Z3

q4 X5
X4
Y4
q2 Z4
Y5 Z5
q5 X6
Y0
q6
Z0 X0
1 Y6 Z6
Z1 Articulación
Y1 Ɵi (Rz) Di (Tz) Ai (Tx) Αi (Rx)
q1 qi
X1 q1 0 0+q1 0 -π/2

q2 0+q2 L1 0 π/2

q3 π/2+q3 (L2+L3)/2 0 π/2

q4 0+q4 L4 0 -π/2

q5 0+q5 0 0 π/2

q6 0+q6 L5 0 0
DH14: obtener las matrices de transformación
i 1
A i  TrZ θ i TtZ que
d i Trepresentan
tX a i TrX α i  la posición y orientación

del eslabón i respecto al eslabón i-1.


0
A 1  TrZ 0TtZ 0  q1 TtX 0TrX  π 2 
1
A 2  TrZ 0  q 2 TtZ L1 TtX 0TrX π 2 
2
A 3  TrZ π 2  q 3 TtZ L 2  L3 2 TtX 0TrX π 2 
3
A 4  TrZ 0  q 4 TtZ L 4 TtX 0 TrX  π 2 
4
A 5  TrZ 0  q 5 TtZ 0TtX 0 TrX π 2 
5
A 6  TrZ 0  q 6 TtZ L 5 TtX 0TrX 0 

DH15: obtener la matriz de transformación que relaciona el sistema asociado al extremo del robot con el sistema
de la base 0
T A 1 A 2 A 3 A 4 A 5 A 6
1 2 3 4 5

DH16: 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.
¿ Cómo Verificar si la matriz T quedó bien?
EJEMPLO 3: Robot de 4 GDL
DH2: numerar cada articulación comenzando por 1 (la correspondiente al primer grado de libertad y
acabando en n).
DH3: 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.

DH4: para i de 0 a n-1, situar el eje Zi, sobre el eje de la articulación i+1.
DH5: situar el origen del sistema de la base S0 en cualquier punto conocido del eje Z0. Los ejes X0 e Y0
se situarán de modo que formen un sistema dextrógiro con Z0.

DH6: para i de 1 a n-1, origen del sistema Si (solidario al eslabón i. Es decir, Si está anclado al eslabón i, y
se mueve junto con éste) de acuerdo a la posición de los ejes Zi-1 y Zi (según caso 1, 2 ó 3).
DH7: situar Xi en la línea normal común que corta a Zi-1 y Zi. En caso de que se pueda poner Xi en la
misma dirección de Xi-1.

DH8: situar Yi de modo que forme un sistema dextrógiro con Xi y Zi.


DH9: Situar el sistema Sn en un punto conocido del extremo del robot de modo que Zn coincida con la
dirección de Zn-1 y Xn sea normal a Zn-1 y Zn que los corta.
Para cada articulación qi y los sistemas Si y Si-1 asociados a los eslabones i e i-1
respectivamente:

DH10: obtener ɵi como el ángulo que hay que girar Si-1 en torno a Zi-1 para que Xi-
1 y Xi queden paralelos.

DH11: obtener di como la distancia, medida a lo largo de Zi-1 del nuevo sistema Si-
1, que habría que desplazar Si-1 para que Xi y Xi-1 quedasen alineados.

DH12: 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 sistema Si-1 para que su origen
coincidiese con Si.

DH13: obtener αi como el ángulo que habría que girar el nuevo sistema Si-1
entorno a Xi (que ahora coincidiría con Xi-1), para que coincidiese totalmente con
Si.
Pasos DH10 al DH13

Articulación
Ɵi di ai αi
qi
q1 0+q1 L1 0 0

d2 π/2 d2 0 π/2

d3 0 d3 0 0

q4 0+q4 L4 0 0
DH14: obtener las matrices de transformación
i 1
A i  TrZ θ i TtZ que
d i Trepresentan
tX a i TrX α i  la posición y orientación

del eslabón i respecto al eslabón i-1.


0
A 1  TrZ 0  q1 TtZ L1 TtX 0 TrX 0 
1
A 2  TrZ π 2 TtZ d 2 TtX 0TrX π 2 
2
A 3  TrZ 0TtZ d 3 TtX 0 TrX 0
3
A 4  TrZ 0  q 4 TtZ L 4 TtX 0 TrX 0 

DH15: obtener la matriz de transformación que relaciona el sistema asociado al extremo del robot con el sistema
de la base T 0 A 1 1 A 2 2 A 3 3 A 4

DH16: 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.
¿ Cómo Verificar si la matriz T quedó bien?
Ejercicio

articulación theta d a alfa


Ejercicio
Ejercicio
X
Y
Z

articulación theta d a alfa

1
2
3
4
5
6
articulación theta d a alfa
articulación theta d a alfa
• Obtener el valor de las articulaciones en
términos de las dimensiones y configuración
final del robot

X
Y
Z

articulación theta d a alfa


X
Y
Z

articulación theta d a alfa


Cinemática inversa
se resuelve inverso, es decir, la posición del efector final está
determinada y el problema radica en encontrar los ángulos de las
articulaciones.

Métodos basados en modelo cinemático (parámetros de D.H.)


• Método iterativo, convergencia no garantizada

Buscar una solución cerrada:

• Varias posibles soluciones


• Solución debe ser rápida en tiempo real (seguimiento de trayectorias)
• Inclusión de restricciones en las articulaciones.
Varias posibles soluciones
Cinemática inversa
Solución por métodos geométricos.

Adecuado para robots con pocos grados de libertad


Se basa en encontrar relaciones en función de las coordenadas articulares,
dimensiones del robot y coordenadas del extremo de éste.

Puede considerar coordenadas de orientación pero el problema se torna


complejo.
Solución por métodos geométricos.
Ejemplo: robot con
tres articulaciones
Solución por métodos geométricos.
Por inspección:

Aplicando el teorema del coseno:

Expresando q3 en términos de atan:

Dos posibles soluciones par q3


- Codo arriba
- Codo abajo
Solución por métodos geométricos.
Cálculo para la segunda articulación:

Dos posibles valores para q2:


Solución a partir de la matriz de
transformación homogénea
• Uso de modelo cinemático directo

• Uso complejo y poco práctico

• 12 ecuaciones (matriz T)
Solución a partir de la matriz de
transformación homogénea
Solución a partir de la matriz de
transformación homogénea

C1C2  S1  C1S 2  q3C1S 2 


S C C1  S1S 2  q3 S1S 2 
T  1 2
 S2 0 C2 L1  q3C2 
 
 0 0 0 1 

 nx ox ax Px 
n oy ay Py 
En la cinemática inversa se supone T conocida: T  y
 nz oz az Pz 
 
0 0 0 1
Solución a partir de la matriz de transformación homogénea
• Se toman las tres primeras posiciones de las últimas columnas de las matrices de
transformación T  q C S  P  (1)
3 1 2 x

 q3 S1S 2  Py  (2)
L1  q3C2  Pz
q3C2  Pz  L1  (3)
q3 C1 S 2  Px  (4)
2 2 2 2

• Elevando al cuadrado las expresiones anteriores: q3 S1 S 2  Py  (5)


2 2 2 2

q3 C2  Pz  L1  2 Pz L1  (6)
2 2 2 2

• Y sumándolas se tienen dos posibles valores para q3 q3   Px  Py  Pz  L1  2 Pz L1


2 2 2 2

Px  Py
2 2

• Sumando las ecuaciones 4 y 5, y despejando sen(q2): S2  


q3
2

Pz  L1
• Despejando cos(q2) de la ecuación 3: C2 
q3

• Finalmente se tienen dos posibles soluciones para q2:


 Px  Py Pz  L1 

2 2

q2  a tan 2( S 2 , C2 )  a tan 2  ,
 q3
2
q3 
 
Solución a partir de la matriz de
transformación homogénea
Tomando las ecuaciones 1 y 2, y despejando c1 y s1 respectivamente:
Px
C1  
q3 S 2
Py
S1  
q3 S 2
 Py P 
q1  a tan 2( S1 , C1 )  a tan 2  Un valor
, xposible
 para q1
q
 3 2 S q S
3 2 

Posibles soluciones:
• Las soluciones sólo dependen
q1 Solución 1 de la posición del efector
final, es decir no toma en
q2 cuenta su orientación.
q3 q1 Solución 2
• A veces es necesario el uso
q1
q2 Solución 3 de restricciones para cada
solución (q3 puede ser sólo
positiva)
q1 Solución 4
Desacoplo cinemático
No sólo basta con posicionar el robot en (px, py, pz), es necesario que el efector
tenga una orientación deseada.

Generalmente para brazos robóticos de 6GDL

El problema se divide en dos partes:


- En la primera se calculan las primeras tres articulaciones en términos de Px,
Py y Pz, es decir ¡se posiciona al robot!

- En la segunda se calculan las demás articulaciones en términos de las


orientaciones deseadas o, n y a ó U, V y W, es decir ¡se le da orientación al
robot!

- El lugar físico del robot donde para realizar el desacoplo es en el punto


(muñeca del robot) de corte de los ejes de los tres últimos grados de libertad
del robot
Desacoplo cinemático
Ejemplo: Robot de 6GDL Parámetros de
Denavit Hartenberg

q i θi di a i αi

1 q1 L1 0  π/ 2

2 q2 0 L2 0

3 q3 0 0 π/ 2

4 q 4 L 3 0  π/ 2

5 q5 0 0 π/ 2

6 q6 L 4 0 0

C1 0  S1 0   C 2  S2 0 L 2 C 2  C3 0 S3 0
S 0 C1 0  S C 2 0 L 2S2  S 0  C 0
0
A1   1 1
A2   2 2
A3   3 3

 0  1 0 L1  0 0 1 0  0 1 0 0
     
0 0 0 1 0 0 0 1  0 0 0 1
 C 4 0  S4 0  C5 0 S5 0 C6  S6 0 0
S 0 C4 0   S 0  C 0 S C6 0 0 
3
A4   4 4
A5   5 5  5
A6   6
 0 1 0 L3  0 1 0 0 0 0 1 L4 
     
0 0 0 1 0 0 0 1 0 0 0 1
Desacoplo cinemático

Modelo cinemático directo:


ThSimb  0 A1 1 A 2 2 A 3 3 A 4 4 A 5 5 A 6
ThSimb es la matriz que determina la configuración del sistema S6 asociado a la
herramienta respecto al sistema de la base del robot S0 y es de carácter simbólica.

es la matriz de configuración objetivo o final deseada para el robot. De


Tmanera
hObj que ésta es conocida:

n hx o hx a hx Phx 
n o hy a hy Phy  Q hObj Ph 
ThObj   hy 
 n hz o hz a hz Phz   0 1 
 
 0 0 0 1
Ambas matrices son equivalentes, de manera que:

ThObj  ThSimb
ThObj  0 A11 A 2 2 A 3 3 A 4 4 A 5 5 A 6
Desacoplo cinemático
Muñeca del robot es el punto físico donde se
cortan los ejes de las tres últimas articulaciones:

 P P 
Pm  O 0O 5  Pmx
Vector de posición deseada para el robot:my mz
T

 P P
Ph  O 0O6  Phx
Vector distancia entre la muñeca y el extremo del
hy hz
T

robot:
Pd  O 5O 6

 
Como es conocido, entonces:
Z 6  a h  a hx a hy a hz
T

Pd  O 5O 6  L 4 a hx a hy a hz 
Mediante una suma de lazo vectorial T se puede

obtener el vector posición de la muñeca en


función de términos conocidos:

Pm  Pd  Ph  0
Pm  Ph  Pd
Pmx  Phx  a hx   Phx  L 4 a hx 
       
Pm  Pmy   Phy   L 4 a hy    Phy  L 4 a hy 
P  P  a  P  L a 
 mz   hz   hz   hz 4 hz 
Desacoplo cinemático
PARTE 1: OBTENCIÓN DE q1 , q 2 , q 3

- Físicamente se toma el robot desde su base hasta la muñeca.


- Sólo se consideran las primeras tres articulaciones.
- Como q4 no es tomada en cuenta, el eslabón 4 (que se movía con q4) se
unirá al eslabón 3.
- Se obtienen los parámetros de Denavit Hartenberg para el nuevo robot.

Observar que S0, S1 y S2 son los mismos sistemas del robot completo, pero
S3 (S3aux) sí ha cambiado. Esto quiere decir que para este robot, sólo basta
con obtener los parámetros de la última fila.

C1 0  S10  C 2  S2 0 L 2 C 2   S3 C3 0 L3S3 


S 0 
C1 0  1  S C 2 0 L 2S2  2  C S 0  L C 
0
A1   1 A2   2 A 3 aux   3 3 3
0  1 0 L1  0 0 
3
0 1  0 0 1 0 
Se puede
0 obtener
0 0 una
1  matriz

 0 simbólica

0 0 1  que describe
 
 0 0la 0configuración
1 
 del
Parámetros de
sistema asociado a la muñeca: Denavit Hartenberg
TmSimb
qi θi di ai αi
1 q1 L1 0  π/ 2
 Q
0
PmSimb 
TmSimb  0 A1 1 A 2 2 A 3aux   3aux 
2 q2 0 L2 0
 0 1  3 q 3  π/ 2 0 L3 0
Desacoplo cinemático
PARTE 1: OBTENCIÓN DE q1 , q 2 , q 3

Como la posición de la muñeca es conocida


Pmx  Phx  L 4 a hx 
   
Pm  Pmy   Phy  L 4 a hy 
P  P  L a 
 mz   hz 4 hz 

Igualando la matriz TmSimb con una matriz objetivo equivalente para


simbólica
la muñeca de la cual únicamenteTse conoce su vector de posición que es
mObj
Pm:

n m x om x a mx Pm x 
n om y amy Pm y 
TmSimb  TmObj
donde TmObj   my
n m z omz a mz Pm z 
 
 0 0 0 1 

Parámetros de
Denavit Hartenberg
Tomando únicamente los vectores de posición de ambas matrices:
qi θi di ai αi
PmSimb  Pm q1 L1 0  π/ 2
1
 L 2C1C 2  L 3C1C 2S3  L3C1S2C3   Pm x  q2
 L S C  L S C S  L S S C   P  2 0 L2 0
 2 1 2 3 1 2 3 3 1 2 3   my  3 q 3  π/ 2 0 L3 0
 L1  L 2S2  L 3S2S3  L3C 2C3   Pm z 
Desacoplo cinemático
PARTE 1: OBTENCIÓN DE q1 , q 2 , q 3

C1 L3C3 S2  L 2  L3S3 C 2   Pm x


S1 L3C3 S2  L 2  L3S3 C 2   Pm y
 L 2  L3S3 S2  L3C3 C 2  Pm z  L1

Es necesario resolver el sistema de tres ecuaciones con tres incógnitas (ver documento cinemática
inversa ejemplo 1):

Dos soluciones para q1


q1 I  atan 2Phy  L 4 a hy , Phx  L 4a hx 
q1 II  atan 2 Phy  L 4a hy ,  Phx  L 4 a hx 

Dos soluciones para q3 Phx  L 4 a hx 2  Phy  L 4 a hy 2  Phz  L 4a hz  L1 2  L 2 2  L 3 2


S3 

 
2 L2L3

 atan 2S 1 S 
q 3 I  atan 2 S3 ,  1  S3 2
q 3 II 3 ,  3
2

Una solución para q2, la cual depende de q1 y q3



q 2  atan 2 L 2  L3S3 L1  L 4a hz  Phz  
L 3C3 (Phx  L 4a hx ) L  L3S3 Phx  L 4a hx  
, L 3C3 Phz  L 4a hz  L1   2
C1 C1 
 
Desacoplo cinemático
PARTE 2: OBTENCIÓN DE q4 , q5 , q6

Se suponen conocidas q1, q2 y q3

Retomando la matriz simbólica para la posición del efector final del robot completo:

ThSimb  0 A 1 1 A 2 2 A 3 3 A 4 4 A 5 5 A 6

De ésta sólo se toman en cuenta las submatrices de orientación de cada subsistema:


Q hSimb  0 Q 6  0 Q 1 1 Q 2 2 Q 3 3 Q 4 4 Q 5 5 Q 6

De igual manera se toma únicamente la submatriz de orientación de la matriz objetivo:


 n hx o hx a hx 
Q hObj   n hy o hy a hy 
Dada la equivalencia entre ambas matrices:  n hz o hz a hz 

Q hSim  Q hObj
0
Q 1 1 Q 2 2 Q 3 3 Q 4 4 Q 5 5 Q 6  Q hObj
Despejando a la izquierda de la ecuación lo desconocido y a la derecha lo conocido:

0
Q3 3 Q6  QhObj
3
Q6  Q
0
3
1
Q hObj
Desacoplo cinemático
PARTE 2: OBTENCIÓN DE q4 , q5 , q6
 t11 t12 t13 
t  0 Q 3  Q hObj
 S4S6  C 4 C5C 6  S4 C 6  C 4C5S6 C 4S5 
Q 6   C 4S6 + S4C5C 6 S4S5    t 21 t 22 t 23 
1
Donde C 4 C 6  S4Cy5S6
3

  S5C 6 S5S6 C5   t 31 t 32 t 33 

t11  n hx C1C 2C3  C1S2S3  + n hy S1C 2 C3  S1S2S3   n hz S2C3  C 2S3  t 31  n hx C1C 2S3  C1S2C3  + n hy S1C 2S3 + S1S2C3   n hz C 2 C3  S2S3 
t12  o hx C1C 2 C3  C1S2S3  + o hy S1C 2C3  S1S2S3   o hz S2 C3  C 2S3  t 32  o hx C1C 2S3  C1S2C3  + o hy S1C 2S3 + S1S2C3   o hz C 2 C3  S2S3 
t13  a hx C1C 2 C3  C1S2S3  + a hy S1C 2 C3  S1S2S3   a hz S2 C3  C 2S3 
t 33  a hx C1C 2S3  C1S2 C3  + a hy S1C 2S3 + S1S2C3   a hz C 2 C3  S2S3 
t 21   n hxS1  n hy C1
t 22   o hxS1  o hy C1
t 23   a hxS1  a hy C1

  S4S6  C 4 C 5C 6  S4C 6  C 4C 5S6 C 4S5   t11 t12 t13 


 C S +S C C C 4 C 6  S4 C 5S6 S4S5    t 21 t 22 t 23 
 4 6 4 5 6
  S5 C 6 S5S6 C 5   t 31 t 32 t 33 

Se busca obtener del conjunto de 9 ecuaciones de la igualdad matricial, las expresiones para q4, q5 y q6,
donde q5 depende de q1,q3 y q3. q4 y q6 dependen de q5:

 
 atan 2 , t 
q 5 I  atan 2  t132  t 23 2 , t 33  t 23 t13   t 32 t 
q 4  atan 2 ,  q 6  atan 2 ,  31 
q 5 II t13 2  t 23 2  S5 S5   S5 S5 
33

t  0 Q 3  QhObj
1
Desacoplo cinemático
Recopilación de resultados:
Árbol de soluciones
Desacoplo cinemático
Comprobar las ocho soluciones para los siguientes valores:

n hx o hx a hx Phx   0.72 - 0.61 - 0.33 7.67  L1 = 40 cm


n o hy a hy Phy   0.45 0.04 0.89 19.92  L 2 = 30 cm
ThObj   hy 
 n hz o hz a hz Phz  - 0.53 - 0.79 0.30 47.43 L3 = 20 cm
    L 4 = 10 cm
 0 0 0 1   0 0 0 1 