Documentos de Académico
Documentos de Profesional
Documentos de Cultura
2CinematicaRobotsArticulados PDF
2CinematicaRobotsArticulados PDF
Articulados
Robots con orugas
Ventajas:
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
AIBO
Primer ASIMO
Mínimo 4 para asegurar estabilidad estática
Mínimo 1 para estabilidad dinámica
Caminata en robots articulados
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
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.
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
⎡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
⎡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
⎡ 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
VXY
Υ
X1
P
X0
⎡ V X ⎤ ⎡ Px ⎤ ⎡ cos θ − sin θ ⎤ ⎡ V N ⎤
V XY
= ⎢ Y⎥ = ⎢ ⎥+ ⎢ sin θ ⎢ ⎥
⎣ V ⎦ ⎣ Py ⎦ ⎣ cos θ ⎥⎦ ⎣ V O ⎦
⎡ 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
⎡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 ⎥⎦
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
⎡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⎦
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
Y4
Υ3
Y2 2 X3 3
Υ2 X2
X4
Υ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
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)
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
⎢ 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
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 )
=
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 ⎠