Está en la página 1de 53

Robots con Orugas y Robots

Articulados
Robots con orugas
Ventajas:

Robustos frente a variaciones en el terreno.


Algunos son capaces de subir escaleras.

Desventajas:
Requieren de mucha energía para cambiar de
dirección, alto torque (se basan en el principio
de resbalamiento).
Es difícil derivar la pose del robot a partir de
modelos cinemáticos => odometría es en
general más inexacta que con ruedas .

Solución:
Medir el desplazamiento mediante un
mecanismo externo, como por ejemplo una
rueda loca.
Robots con orugas
Aplicaciones:

Rescate ☺
Combate de
incendios ☺
Exploración ☺
Robot War
Ejemplo de robot con orugas

Andros F6-A, REMOTEC


Robots articulados
Motivaciones:
Práctica:
Existen terrenos que no se pueden
atravesar con ruedas u orugas.
Científicas:
Existe la necesidad de investigar el
funcionamiento de organismos simples
como los artrópodos.

Ambler, CMU 1992


Robots articulados
El problema principal de utilizar piernas
es la estabilidad (estática o dinámica)
lo que implica una mayor complejidad
en su control lo que implica también un
mayor consumo energía ya que tiene
que oponerse a la fuerza de gravedad.
Robots articulados
¿Cuantas Patas?

Asimo, Honda Primer AIBO Genghis, CMU 1992

AIBO
Primer ASIMO
Mínimo 4 para asegurar estabilidad estática
Mínimo 1 para estabilidad dinámica
Caminata en robots articulados

Caminata (gait): patrón de desplazamiento de las


piernas realizado al caminar.
Tipo de caminata: trade-off velocidad, gasto de
energía y estabilidad.
Primeros estudios: E. Muybridge (1899;
fotógrafo). Produce secuencia de fotografias de
caminatas humanas y de caballos (demuestra
que caballos al correr levantan todas sus
piernas, no estáticamente estable).
Mucha de la literatura técnica en la materia se
basa en estudios biológicos.
Caminata en robots articulados
Caminata se descompone en los pasos sincronizados que
realiza cada pierna.
Se definen: Fase de transferencia: la pierna no está en
contacto con el piso. Fase de soporte: pierna en
contacto con el piso. Período (cycle time): tiempo
requerido para completar un paso. Factor de utilidad
(duty factor): fracción del período en que una pierna
está en la fase de soporte.
Las caminatas no periódicas son usadas por sistemas
biológicos en terrenos no planos. Las caminatas
periódicas se utilizan por los sistemas biológicos en
terrenos planos y también por la mayoría de los robots
articulados.
Muybridge define 8 caminatas periódicas para
cuadrúpedos.
Caminatas periódicas para cuadrúpedos
Caminata en robots articulados
Hildebrand (1967) desarrolla diagramas de caminatas,
que muestran temporalmente como cada pierna
soporta al robot. Se asigna una linea a cada pierna, y
las zonas oscuras corresponde a la fase de soporte.
Piernas 1 y 2 son las frontales. Números impares
corresponde al lado izquierdo del robot.
Caminatas
periódicas para
cuadrúpedos
Caminata para robots articulados
Las caminatas diseñadas para robots, con estabilidad
estática, son más sencillas que las que encontramos en
la naturaleza.
Song & Waldron (1989) definen: equal-phase gait
(margen de estabilidad óptimo) y equal-wave gait
(dsitribuye uniformemente los períodos en que las
piernas están en el suelo).
Para que el robot avance no solo hay que elegir cuando
levantar las piernas, sino que también se debe mover el
cuerpo hacia delante. Dos estrategias: minimizar el
número de movimientos del cuerpo y mover el centro
de masa maximizando el margen de estabilidad del
robot.
Caminata de un robot hexápodo 12DOF
Caminata de un Hexápodo con 3DOF
Caminata: 1 motor se utiliza para Adelante/Atrás Derecha/Izquierda
6 3 6 3
levantar las piernas 1, 3, 5 o 2, 4, 6 5 2 Partida 5 2 Partida
y los otros 2 para el movimiento 4 1 4 1

horizontal de 1 – 3 o 4 – 6.
Paso 1 Paso 1
Partida: levantar 2 ó 5, para luego
moverse hacia delante (atrás) o
derecha (izquierda). Paso 2 Paso 2

Caminar Adelante: secuencia


Paso 3 Paso 3
Paso 1 al Paso 4. Caminar atrás:
secuencia Paso 4 al Paso 1.
Paso 4 Paso 4
Derecha: Secuencia (b) 1 –4.
Izquierda: Secuencia (b) 4 –1.
(a) (b)
Articulaciones básicas

Articulación rótula
1 DOF ( Variable - Υ)

Articulación deslizante
1 DOF (linear) (Variables - d)

Articulación esférica
3 DOF ( Variables - Υ1, Υ2, Υ3)
Ejemplos de Articulaciones para
una pierna
Control de robots articulados
Alto Nivel: Decidir tipo de caminata a realizar (caminar
hacia delante, hacia la derecha, correr hacia delante,
caminar hacia un punto y llegar con un ángulo dado,
etc.). Definir tipo de caminata.
Nivel Intermedio: Características de la caminata, es decir,
la secuencia de pasos a seguir por cada articulación
(fase, período, factor de utilidad, etc.). Se define las
posiciones que debe alcanzar cada efector en función
del tiempo. Definir movimiento de los efectores.
Bajo Nivel: Determinar qué ordenes dar exactamente a
los a cada actuador, de tal forma que los efectores
realicen el movimiento definido. Es decir, resolver el
problema de cinemática inversa. Definir ordenes a los
actuadores.
Robots articulados
Cinemática directa (de los ángulos a la posición)
Dados: Largos y configuración de cada segmento.
El ángulo de cada unión.

Determinar: La posición de cada punto (esp. efector).


(i.e. las coordenadas (x, y, z))

Cinemática inversa (de la posición a los ángulos)


Dados : Largos y configuración de cada segmento
La Posición de algún punto del robot

Determinar : Los ángulos de cada unión necesarios para


Determinar aquella posición.
A partir de estos se puede determinar las
órdens a dar a los actuadores.
Cinemática Directa e Inversa de
Articulaciones
Robots articulados
O
Transformaciones Elementales
Translación en ambos ejes
Y

NO VO
V

Y N
VX VN
Y
PX
⎡ Px ⎤
X P XY
=⎢ ⎥
⎣PY ⎦

Escribiendo V XY en términos de V NO
⎡PX + V N ⎤
V XY = P +V NO =⎢ O⎥
P
⎣ Y + V ⎦
Robots articulados
Empleando vectores bases
O

n Vector unitario eje N


o Vector unitario eje O
NO VO
NO V
V Norma vector VNO
o
N
n VN

⎡V N ⎤ ⎡ V cosθ⎤ ⎡ V NO cosθ ⎤ ⎡ V NO • n ⎤
NO

V NO = ⎢ O ⎥ = ⎢ NO ⎥ = ⎢ NO ⎥ = ⎢ NO ⎥
⎣V ⎦ ⎢⎣ V sinθ ⎥⎦ ⎢⎣ V cos(90 − θ)⎥⎦ ⎣ V • o ⎦
Robots articulados
Y
Rotación entorno al eje z
Y X
Z
O

O
V
V N

VY

N
V
Υ X
VX

Υ = Angulo entre sistema XY y sistema NO

⎡V X ⎤ ⎡V N ⎤
V XY = ⎢ Y⎥ V NO = ⎢ O⎥
⎣V ⎦ ⎣V ⎦
Y
Robots articulados
O x Vector unitario eje X

O
V V
N V XY
= V NO

VY
α N Υ
V
X
VX

V X
= V XY
cos α = V NO
cos α = V NO
•x

V X = (V N ∗ n + V O ∗ o ) • x
V X = V N (x • n ) + V O (x • o )
= V N (cos θ ) + V O (cos( θ + 90))
= V N (cos θ ) − V O (sin θ )
Análogamente….
Robots articulados
V Y
= V NO
sin α = V NO
cos(90 − α) = V NO
•y
V Y = (V N ∗ n + V O ∗ o ) • y
V Y = V N (y • n ) + V O (y • o )
= V N (cos(90 − θ)) + V O (cos θ )
= V N (sin θ ) + V O (cos θ )
Entonces….
V = V (cos θ ) − V (sin θ )
X N O ⎡V X ⎤
V XY = ⎢ Y⎥
V Y = V N (sin θ ) + V O (cos θ ) ⎣V ⎦
Matricialmente

⎡V X ⎤ ⎡cosθ − sinθ⎤ ⎡ V N ⎤ Matriz de rotación en torno a z


V XY
= ⎢ Y⎥ = ⎢ ⎥ ⎢ O⎥
⎣V ⎦ ⎣ sinθ cosθ ⎦ ⎣V ⎦
Robots articulados
Matrices de rotación en 3D
⎡ cos θ − sin θ 0⎤
Rotación en eje Z
R z = ⎢⎢ sin θ cos θ 0 ⎥⎥
⎢⎣ 0 0 1 ⎥⎦

⎡ cos θ 0 sin θ ⎤
R y = ⎢⎢ 0 1 0 ⎥⎥ Rotación en eje Y

⎢⎣ − sin θ 0 cos θ ⎥⎦

⎡1 0 0 ⎤
R z = ⎢⎢ 0 cos θ − sin θ ⎥⎥ Rotación en eje X

⎢⎣ 0 sin θ cos θ ⎥⎦
Robots articulados O Y1

Rotación en θ seguida de traslación en P. (VN,VO)


Y0
VNO N

VXY
Υ
X1
P

X0

⎡ V X ⎤ ⎡ Px ⎤ ⎡ cos θ − sin θ ⎤ ⎡ V N ⎤
V XY
= ⎢ Y⎥ = ⎢ ⎥+ ⎢ sin θ ⎢ ⎥
⎣ V ⎦ ⎣ Py ⎦ ⎣ cos θ ⎥⎦ ⎣ V O ⎦

(Ojo : Px, Py son relativos al sistema original. Traslación seguida de rotación es


diferente de rotación seguida de traslación.)
Robots articulados
REPRESENTACIÓN HOMOGENEA
Poniendo todo en una sola matriz

⎡ V X ⎤ ⎡ Px ⎤ ⎡ cos θ − sin θ ⎤ ⎡ V N ⎤ Rotación seguido de


V XY
= ⎢ Y⎥ = ⎢ ⎥+ ⎢ sin θ ⎢ ⎥
cos θ ⎥⎦ ⎣ V O ⎦
traslación
⎣ V ⎦ ⎣ Py ⎦ ⎣

⎡ V X ⎤ ⎡ Px ⎤ ⎡ cos θ − sin θ 0⎤ ⎡V N ⎤ Llenando con 0’s y 1’s


⎢ ⎥ ⎢ ⎥
= ⎢ V Y ⎥ = ⎢⎢ Py ⎥⎥ + ⎢ sin θ
⎢ cos θ 0 ⎥⎥ ⎢ V O ⎥
⎢ 1 ⎥ ⎢⎣ 1 ⎥⎦ ⎢⎣ 0 0 1 ⎥⎦ ⎢⎣ 1 ⎥⎦
⎣ ⎦

⎡ V X ⎤ ⎡ cos θ − sin θ Px ⎤ ⎡ V N ⎤
⎢ ⎥ ⎢ ⎥
= ⎢ V Y ⎥ = ⎢⎢ sin θ cos θ Py ⎥⎥ ⎢ V O ⎥ En forma matricial
⎢ 1 ⎥ ⎢⎣ 0 0 1 ⎥⎦ ⎢⎣ 1 ⎥⎦
⎣ ⎦
⎡ cos θ − sin θ Px ⎤
Matriz homogénea para una rotación en
H = ⎢⎢ sin θ cos θ Py ⎥⎥ torno al eje z seguida de una traslación en
⎢⎣ 0 0 1 ⎥⎦ el plano XY.
Robots articulados
Matrices homogéneas en 3D

O
⎡1 0 0 Px ⎤
Y
⎢0 1 0 Py ⎥⎥
N H=⎢
P
⎢0 0 1 Pz ⎥
X A ⎢ ⎥
Traslación pura ⎣0 0 0 1⎦
Z

Y
⎡n x ox ax 0⎤
⎢n oy ay 0⎥⎥
H=⎢ y
O
N
⎢n z oz az 0⎥
⎢ ⎥
X ⎣0 0 0 1⎦
Sector de rotación:
Z Rotación pura Corresponde a una rotación en
A torno al eje x, y, z , o a una
combinación.
Robots articulados
Matriz homogénea

Sirve para expresar la orientación y


posición de un sistema de referencia
móvil NO con respecto a otro fijo XY
Robots articulados
Transformaciones homogéneas cont,..

⎡V N ⎤
⎢ O⎥ Representa la posición (n,o,a) de un punto relativo
V
V XY
= H⎢ A ⎥ al sistema actual.
⎢V ⎥
⎢ ⎥
⎢⎣ 1 ⎥⎦

⎡n x ox ax Px ⎤ ⎡V N ⎤
⎢n ⎥ ⎢ O⎥
oy ay Py ⎥ ⎢V ⎥ V X = n x V N + o x V O + a x V A + Px
V XY =⎢ y
⎢n z oz az Pz ⎥ ⎢V A ⎥
⎢ ⎥⎢ ⎥
⎣0 0 0 1 ⎦ ⎢⎣ 1 ⎥⎦

Rotación y traslación pueden combinarse en una matriz homogénea sólo si son


relativas al mismo sistema de referencias.
Robots articulados
Encontrando la matriz homogénea
Ejemplo.
J

Y N ⎡W N ⎤
⎢ O⎥
I ⎢W ⎥
⎢W A ⎥
⎣ ⎦
T
P
X
K A O
Z
⎡W X ⎤ ⎡ WI ⎤ ⎡W N ⎤
⎢ Y ⎥ Punto relativo al ⎢ J ⎥ Punto relativo al ⎢ O ⎥ Punto relativo al
⎢ W ⎥ sistema X-Y-Z ⎢ W ⎥ sistema I-J-K ⎢ W ⎥ sistema N-O-A
⎢WZ ⎥ ⎢W K ⎥ ⎢W A ⎥
⎣ ⎦ ⎣ ⎦ ⎣ ⎦

⎡ W ⎤ ⎡ Pi ⎤ ⎡ n i
⎡ WI ⎤ ⎡ ni oi ai Pi ⎤ ⎡ W N ⎤
I
oi ai ⎤ ⎡W ⎤ N
⎢ J⎥ ⎢ ⎢ ⎥
⎢ J⎥ ⎢ ⎥ ⎢ ⎢
a j ⎥⎥ ⎢ W O ⎥

⎢ W ⎥ = ⎢n j oj aj Pj ⎥⎥ ⎢ W O ⎥
⎢ W ⎥ = ⎢ Pj ⎥ + ⎢ n j oj
⎢ W K ⎥ ⎢⎣Pk ⎥⎦ ⎢⎣n k ⎢ W K ⎥ ⎢n k ok ak Pk ⎥ ⎢ W A ⎥
ok a k ⎥⎦ ⎢⎣ W A ⎥⎦ ⎢ ⎥ ⎢
⎣ ⎦ ⎥⎢ ⎥
⎣⎢ 1 ⎦⎥ ⎣ 0 0 0 1 ⎦ ⎣⎢ 1 ⎦⎥
Robots J articulados
⎡W N ⎤
Y N ⎢ O⎥
I ⎢W ⎥
⎢W A ⎥
⎣ ⎦
T
P
X
K A O
Z
⎡ W X ⎤ ⎡i x jx kx Tx ⎤ ⎡ W I ⎤
⎡ W ⎤ ⎡Tx ⎤ ⎡i x
X
jx k x ⎤⎡ W ⎤ I
⎢ Y⎥ ⎢ ⎢ ⎥
⎢ Y⎥ ⎢ ⎥ ⎢ ⎢ ⎥ ⎢ W ⎥ = ⎢i y jy ky Ty ⎥⎥ ⎢ W J ⎥
⎢ W ⎥ = ⎢Ty ⎥ + ⎢i y jy k y ⎥⎥ ⎢ W J ⎥
⎢ W Z ⎥ ⎢i z jz kz Tz ⎥ ⎢ W K ⎥
⎢ W Z ⎥ ⎢⎣Tz ⎥⎦ ⎢⎣i z jz k z ⎥⎦ ⎢⎣ W k ⎥⎦ ⎢ ⎥ ⎢ ⎥⎢ ⎥
⎣ ⎦ ⎢⎣ 1 ⎥⎦ ⎣ 0 0 0 1 ⎦ ⎢⎣ 1 ⎥⎦

⎡ W X ⎤ ⎡i x jx kx Tx ⎤ ⎡ n i oi ai Pi ⎤ ⎡ W N ⎤
⎡W ⎤ I
⎢ Y⎥ ⎢ ⎢ ⎥
⎢ ⎥
Substituyendo por ⎢ W J ⎥ ⎢ W ⎥ = ⎢i y jy ky Ty ⎥⎥ ⎢⎢ n j oj aj Pj ⎥⎥ ⎢ W O ⎥
⎢W K ⎥
⎣ ⎦
⎢ W Z ⎥ ⎢i z jz kz Tz ⎥ ⎢n k ok ak Pk ⎥ ⎢ W A ⎥
⎢ ⎥ ⎢ ⎥⎢ ⎥⎢ ⎥
⎢⎣ 1 ⎥⎦ ⎣ 0 0 0 1 ⎦⎣ 0 0 0 1 ⎦ ⎢⎣ 1 ⎥⎦
Robots articulados
⎡W X ⎤ ⎡W N ⎤ ⎡i x jx kx Tx ⎤ ⎡ n i oi ai Pi ⎤
⎢ Y⎥ ⎢ O⎥ ⎢i
⎢ W ⎥ = H ⎢W ⎥ jy ky Ty ⎥⎥ ⎢⎢ n j oj aj Pj ⎥⎥
⎢W Z ⎥ ⎢W A ⎥ H=⎢ y
⎢i z jz kz Tz ⎥ ⎢n k ok ak Pk ⎥
⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥
⎢⎣ 1 ⎥⎦ ⎢⎣ 1 ⎥⎦ ⎣0 0 0 1 ⎦⎣ 0 0 0 1⎦
Producto de las dos matrices

Notar que H también puede escribirse como

⎡1 0 0 Tx ⎤ ⎡i x jx kx 0⎤ ⎡1 0 0 Pi ⎤ ⎡ n i oi ai 0⎤
⎢0 1 0 Ty ⎥⎥ ⎢⎢i y jy ky 0⎥⎥ ⎢⎢0 1 0 Pj ⎥⎥ ⎢⎢ n j oj aj 0⎥⎥
H=⎢
⎢0 0 1 Tz ⎥ ⎢i z jz kz 0 ⎥ ⎢0 0 1 Pk ⎥ ⎢n k ok ak 0⎥
⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥
⎣0 0 0 1 ⎦⎣ 0 0 0 1 ⎦ ⎣0 0 0 1 ⎦⎣ 0 0 0 1⎦

H = (Traslación relativa a XYZ) * (Rotación relativa a XYZ)


* (Traslación relativa a IJK) * (Rotación relativa a IJK)
Robots articulados
J
I ⎡W N ⎤
Y N ⎢ O⎥
⎢W ⎥
⎢W A ⎥
⎣ ⎦
T
P
X
A O
K
Z
Una variación más de H:

H= (Rotar de manera tal que el eje X este alineado con eje T)


* ( Trasladar a lo largo del nuevo eje t en || T || )
* ( Rotar de modo que eje t este alineado a P)
* ( Trasladar a lo largo de eje p en factor || P || )
* ( Rotar para que eje p este alineado con eje O)
Robots articulados
Cinemática directa
Situación:
Se tiene un brazo robótico
que parte alineado con el eje xo.
El primer eslabón rota enΥ1 y el
segundo en Υ2.

Pregunta:
Solución: ¿Cual es la posición del
1. Enfoque geométrico extremo del brazo?
Es la mejor solución para los casos sencillos. Dado que los ángulos se
miden c/r al eslabón anterior, la complejidad aumenta mucho c/r a la cantidad
de eslabones. ¡El problema se vuelve tedioso!.

2. Enfoque algebraico
Implica transformaciones de coordenadas.
Ejemplo: Robots articulados
Determinar la matriz homogénea para encontrar la posición del punto amarillo
en el sistema de referencia X0Y0
Y3

Υ3

Y2 2 X3 3
Υ2 X2

H = Rz(Υ1 ) * Tx1(l1) * Rz(Υ2 ) * Tx2(l2) * Rz(Υ3 )

Y0 i.e. Rotar en Υ1 nos situa a lo largo del sistema X1Y1 .


1
luego trasladamos a lo largo de X1 en l1.
X1

Rotar e Υ2 nos situa a lo largo del sistema X2Y2.


Υ1 etc,.. Hasta que llegamos al sistema X3Y3.
X0
Y1

La posición del punto amarillo relativa al sistema X3Y3


es (l1, 0). Multiplicando H por este vector de posición entrega
las coordenadas del punto amarillo c/r al sistema X0Y0.
Robots articulados
Una pequeña variación en la última solución:
Sea el punto amarillo el origen
Y de otro sistema X4Y4
3

Y4
Υ3

Y2 2 X3 3
Υ2 X2
X4

H = Rz(Υ1 ) * Tx1(l1) * Rz(Υ2 ) * Tx2(l2) * Rz(Υ3 ) * Tx3(l3)


Y0
1
Esto nos lleva del sistema X0Y0 al sistema X4Y4.
X1

Υ1
Y1

X0
Claramente la posición del punto amarillo c/r a X4Y4 es
(0,0).
⎡X ⎤ ⎡0 ⎤
⎢Y ⎥ ⎢0 ⎥
⎢ ⎥ = H ⎢ ⎥ Notar que al multiplicar por el vector (0,0,0,1) se
⎢Z ⎥ ⎢0 ⎥ obtiene la última columna de la matriz H.
⎢ ⎥ ⎢ ⎥
⎣ 1 ⎦ ⎣1 ⎦
Robots articulados

Más en cinemática directa…

Denavit - Hartenberg
Robots articulados
Método sistemático; Notación Denavit-Hartenberg (1955)

Z(i - 1)

Y(i -1) Yi Zi

Xi ai
a(i - 1 ) di
X(i -1)
Υi
α( i - 1)

IDEA: A cada unión se asigna un sistema de coordenadas de acuerdo al


sistema D-H. Es posible relacionar el sistema (i) con el sistema ( i -1 )
mediante 4 transformaciones básicas que dependen exclusivamente de
las características geométricas del eslabón.

Los parámetros/variables son: α, a , d, Υ


Robots articulados

Z(i - 1)

Y(i -1) Yi Zi
Xi ai
a(i - 1 ) di
X(i -1)
Υi
α( i - 1)

1) a(i-1)
Definición: a(i-1) es el largo de la perpendicular entre los ejes de las
articulaciones. Estos ejes corresponden a los ejes de giro, que corresponden
a los ejes Z(i-1) y Z(i). Estos ejes deben considerarse rectas en el espacio. La recta
perpendicular corresponde al segmento más corto entre las dos líneas axiales, y es
perpendicular a ambas.
Robots articulados
a(i-1) cont...
Enfoque visual - “a(i-1) puede visualizarse como un cilindro de eje Z(i-1) que se
expande hasta tocar el eje i , entonces el radio del cilindro corresponde a a(i-1).”

Si el eje es del tipo deslizante, entonces a(i-1) pasa a ser una variable y no un
parámetro.

Z(i - 1)

Y(i -1) Yi Zi
Xi ai
a(i - 1 ) di
X(i -1)
Υi
α( i - 1)
2) α(i-1)
Robots articulados
Definición: Cantidad de rotación en torno la perpendicular común de manera tal
que los ejes de las articulaciones sean paralelos.

i.e. cuanto hay que rotar en torno al eje X(i-1) tal que Z(i-1) apunte en la misma
dirección que Zi. Rotación positiva siguiendo la regla de la mano derecha.

3) d(i-1)
Definición: El desplazamiento a lo largo
Z(i - 1)
Del eje Zi necesario para conectar la
perpendicular común a(i-1) con la Y(i -1) Y Zi
perpendicular común ai . i
Xi ai
a(i - 1 ) di
X(i -1)
i.e. desplazamiento a lo largo de Υi
Zi para conectar los ejes X(i-1) y Xi. α( i - 1)

4) Υi
Cantidad de rotación en torno al eje Zi necesaria para alinear el eje X(i-1) con el
eje Xi.
Robots articulados

La matriz homogénea Denavit-Hartenberg

⎡ cosθ i − sinθ i 0 a(i −1) ⎤


⎢sinθ cosα cosθ i cosα (i −1) − sinα (i −1) − sinα (i −1) d i ⎥⎥
⎢ i (i −1)

⎢ sinθ i sinα (i −1) cosθ i sinα (i −1) cosα (i −1) cosα (i −1) d i ⎥
⎢ ⎥
⎣ 0 0 0 1 ⎦
Robots articulados
Y Z 2
Ejemplo 3 ejes de rotación 2

Z0 Z1

X2
d2
X0 X1

Y0 Y1
Tabla de parámetros
a0 a1 Denavit-Hartenberg
i α (i-1 ) a (i-1 ) di θi
Notar que la tabla posee dos usos:
1) Describir el robot con sus 0 0 0 0 θ0
variables y parámetros.
2) Describir el estado del robot al 1 0 a0 0 θ1
asignar valores a las variables.
2 -9 0 a1 d2 θ2
Robots articulados i α(i-1) a(i-1) di θi
Z Y2 2

Z0 Z1 0 0 0 0 θ0

X2 1 0 a0 0 θ1
d2
X0 X1
2 -90 a1 d2 θ2
Y0 Y1

a0 a1

⎡V X2 ⎤
⎢ Y2 ⎥
⎢ V ⎥ T =( 0T)( 01T)( 12T)
V X 0 Y0 Z 0
=T
⎢V Z2 ⎥
⎢ ⎥
⎢⎣ 1 ⎥⎦ Nota: T corresponde a la matriz D-H con (i-1) = 0
e i = 1.
Robots articulados
i α(i-1) a(i-1) di θi
⎡cosθ0 − sinθ0 0 0⎤
0 0 0 0 θ0 ⎢sinθ cosθ0 0 0⎥⎥
0T =
⎢ 0

⎢ 0 0 1 0⎥
1 0 a0 0 θ1 ⎢ ⎥
⎣ 0 0 0 1⎦
Esto es una rotación en torno al eje Z0
2 -90 a1 d2 θ2

⎡ cosθ 2 − sinθ 2 0 a1 ⎤
⎡cosθ1 − sinθ1 0 a0 ⎤ ⎢ 0
⎢ sinθ 0 1 d 2 ⎥⎥
0 0 ⎥⎥ 2T =

1
⎢ cosθ1
0
T = 1 ⎢− sinθ 2 − cosθ 2 0 0⎥
1
⎢ 0 0 0 0⎥ ⎢ ⎥
⎢ ⎥ ⎣ 0 0 0 1⎦
⎣ 0 0 0 1⎦ Esto es una traslación en a1 y en d2 seguida
Traslación en a0 seguida de una rotación de una rotación en torno a los ejes X2 y Z2
en torno al eje Z1

T =( 0T)( 01T)( 12T)


Robots articulados

Cinemática Inversa
De la posición a los ángulos
Robots articulados
Un ejemplo sencillo

Combinación
Encontrar Υ:
de un eje de
y
rotula y uno θ = arctan( )
deslizante x
Mas específicamente:
(x , y)
y arctan2() sirve para especificar que
θ = arctan 2( ) se trata del primer cuadrante!!
x
Y

S
Υ1 Largo S:
X

S = (x 2 + y 2 )
Cinemática inversa de un manipulador Robots articulados
de dos articulaciones de rótula
(x , y) Dados: l1, l2 , x , y

Υ2 Encontrar: Υ1, Υ2
l2 Redundante:
No existe solución única
para este problema. Con los datos
l1 existen dos soluciones:
Υ1

l2 (x , y)

l2
l1 l1
La solución geométrica
(x , y) Con el teorema del coseno:
l2
Υ2
c 2 = a 2 + b 2 − 2ab cos C
2 2
( x 2 + y 2 ) = l1 + l2 − 2l1l2 cos(180 − θ 2 )
cos(180 − θ 2 ) = − cos(θ 2 )
2 2
l1 x 2 + y 2 − l1 − l2
α cos(θ 2 ) =
2l1l2
Υ1
⎛ x 2 + y 2 − l12 − l2 2 ⎞
θ 2 = arccos⎜⎜ ⎟

⎝ 2l1l2 ⎠
Regla de los senos:
Redundante, puesto que θ2 puede estar
sin B sin C
= en el primero o el cuarto cuadrante.
b c
sin θ1 sin(180 − θ 2 ) sin(θ 2 )
= = Redundante, puesto que θ1 posee dos valores
l2 x 2 + y2 x 2 + y2 posibles

θ1 = θ1 + α ⎛ l sin(θ ) ⎞ ⎛ y⎞
θ1 = arcsin⎜ 2 2 ⎟
+ arctan 2⎜ ⎟
⎛y⎞ ⎜ x 2 + y2 ⎟ ⎝x⎠
α = arctan 2⎜ ⎟ ⎝ ⎠
⎝x⎠
Solución algebraica
l2 (x , y) Υ
Υ2

c 1 = cos θ 1
c 1 + 2 = cos( θ 2 + θ 1 )
l1 (1) x = l1 c 1 + l 2 c 1 + 2
(2) y = l1 s 1 + l 2 sin 1+ 2
Υ1
(3) θ = θ 1 + θ 2

(1) 2 + ( 2) 2 = x 2 + y 2 =
( 2 2 2
) ( 2 2 2
= l1 c1 + l2 (c1+ 2 ) 2 + 2l1l2 c1 (c1+ 2 ) + l1 s1 + l2 (sin 1+ 2 ) 2 + 2l1l2 s1 (sin 1+ 2 ) )
= l1 + l2 + 2l1l2 (c1 (c1+ 2 ) + s1 (sin 1+ 2 ) )
2 2

2 2
= l1 + l2 + 2l1l2 c 2 Único desconocido Note:
⎛ x + y − l1 − l22 2 2 2
⎞ cos(a−+b) = (cosa)(cosb)−+ (sina)(sinb)
∴ θ 2 = arccos⎜⎜ ⎟
2l1l2 ⎟ sin(a−+b) = (cosa)(sinb)+− (cosb)(sina)
⎝ ⎠
x = l1 c 1 + l 2 c 1 + 2 Robots articulados
= l1 c 1 + l 2 c 1 c 2 − l 2 s 1 s 2
= c 1 ( l1 + l 2 c 2 ) − s 1 ( l 2 s 2 )

y = l1 s 1 + l 2 sin 1+ 2 Ya conocemos θ2. Hay que resolver


= l1 s 1 + l 2 s 1 c 2 + l 2 s 2 c 1 para θ1. Ahora tenemos dos
= c 1 ( l 2 s 2 ) + s 1 ( l1 + l 2 c 2 ) ecuaciones y dos incognitas (sin θ1
and cos θ1 )
x + s1 ( l 2 s 2 )
c1 =
( l1 + l 2 c 2 )
x + s1 ( l 2 s 2 ) Substituyendo por c1 y
y= ( l 2 s 2 ) + s 1 ( l1 + l 2 c 2 ) simplificando varias veces
( l1 + l 2 c 2 )

=
1
( l1 + l 2 c 2 )
(
x l 2 s 2 + s 1 ( l1 2 + l 2 2 + 2 l1 l 2 c 2 ) ) Notar que esto viene del teo. Del
coseno y puede reemplazarse por
x2+ y2

y ( l1 + l 2 c 2 ) − x l 2 s 2 ⎛ y ( l1 + l 2 c 2 ) − x l 2 s 2 ⎞
s1 = θ 1 = arcsin ⎜⎜ ⎟

x2+ y2 ⎝ x2+ y2 ⎠

También podría gustarte