PLANIFICACIÓN DE TRAYECTORIAS

Anuncio
PLANIFICACIÓN DE TRAYECTORIAS
Índice
„
„
„
¿Qué es una trayectoria?
Tipos de trayectorias
„ Punto a punto
„ Coordinadas
„ Continuas
Trayectorias en el espacio articular:
„ Lineal
„ Cúbica
„ Parabólica
„ A tramos
„
„
1-2-1
4-3-4
Planificación de trayectorias
„
Objetivo: dado el
punto inicial del robot,
¿qué camino debe
seguir para llegar a su
posición final?
„
Problema: en todo
momento debe cumplir
unas limitaciones:
„ Cinemáticas: rango
de las articulaciones
„ Dinámicas:
velocidades y
aceleraciones
máximas
Generación de trayectorias (I)
„
„
„
„
„
1.- Dar el punto inicial y final de la trayectoria (en coordenadas
cartesianas o generalizadas).
2.- Muestrear la trayectoria cartesiana obteniendo un número
finito de puntos en esa trayectoria (x, y, z, α, β, γ).
3.- Utilizando la transformación inversa, convertir cada punto
en sus correspondientes coordenadas articulares (q1, q2, q3, q4,
q5, q6)
4.- Interpolar entre los puntos articulares obtenidos,
generando una trayectoria en función del tiempo para cada
variable articular: qi(t), que sea realizable por los actuadores.
5.- Si está bien hecho, esta trayectoria se aproximará a la
deseada en el plano cartesiano.
Generación de trayectorias (II)
„
„
„
Dos formas de solucionar el
problema:
Coordenadas cartesianas.
„ Ventaja: movimiento real en
las tres dimensiones, puede
establecerse ligaduras del
entorno.
„ Desventaja: necesidad de
resolver repetidamente la
transformación homogénea
inversa
Coordenadas generalizadas.
„
Ventaja: las ligaduras
dinámicas se plantean en las
variables generalizadas.
Tipos de trayectorias (I)
„
Trayectoria punto a punto: cada articulación se mueve sin
considerar el estado o evolución de las demás articulaciones.
„
Movimiento eje a eje
„
„
Cada vez se mueve un eje
El tiempo total es la suma de los tiempos de
cada articulación.
Tipos de trayectorias (II)
„
Movimiento simultáneo de ejes
„ Comienzan simultáneamente todos los ejes
„ El tiempo final será el de aquella articulación que tarde
más tiempo en finalizar su movimiento.
Tipos de trayectorias (III)
„
„
Trayectorias coordinadas (isócronas)
„ Se plantea un movimiento simultáneo, ralentizando las
articulaciones más rápidas, para que todas tarden el mismo
tiempo en acaba el movimiento.
Trayectorias continuas
„ Se fija explícitamente en coordenadas cartesianas el camino
que tiene que seguir el extremo (infinitos puntos)
„ El movimiento de las articulaciones puede parecer errático.
Interpolación de trayectorias (I)
„
„
Muchas veces es necesario generar trayectorias no sólo con un
punto inicial y final, sino que también se impone que pase por
determinados puntos:
„ Camino continuo
„ Evitación de obstáculos
„ Suavizado de la trayectoria, etc.
Solución: seleccionar algún tipo de función polinómica (spline)
cuyos coeficientes se ajustan para pasar por los puntos
deseados (con velocidades y aceleraciones aceptables)
Interpolación de trayectorias (II)
„
Interpolación lineal:
q(t) = a*t + b
Condiciones:
q(ti-1) = a * ti-1 + b = qi-1
q(ti) = a * ti + b = qi
Se despeja a y b y se obtiene:
Problema: la velocidad cambia
bruscamente y la aceleración
es infinita
Interpolación de trayectorias (III)
„
„
„
Para asegurar la continuidad en la velocidad se aproxima por
una función cúbica.
Condiciones (4): posición y velocidad en el punto inicial y final
Fórmula de interpolación:
Interpolación de trayectorias (IV)
„
„
Interpolación parabólica: el paso
por los puntos intermedios se
planifica para evitar cambios
bruscos: en vez de pasar por el
punto se pasa tan cerca de él como
lo permita la aceleración máxima.
Fórmula de interpolación:
Interpolación de trayectorias (V)
„
Condiciones de funcionamiento:
„ 1 tramo: q1(t) = a + b*t
q1(t=T1) = a + b*T1 = q1
q1(t=0) = q0 = a
Ecuación: q1(t) = q0 + (q1 – q0) / T1 * t
„
„
3 tramo: q3(t) = a1 + b1 * (t – T1)
q3(t=T1) = q1 = a
q3(t=T1+T2) = q2 = a1 + b1*T2
1
Ecuación: q3(t) = q1 + (q2 – q1) / T2 * (t – T1)
2 tramo: q2(t) = a2 + b2 (t- (T1- τ)) + c2 (t – T1 + τ )2
q& (T1 − τ) = b = b 2 + 2c 2 (T1 − τ − T1 + τ)
q& (T1 + τ ) = b1 = b2 + 2c2 (T1 + τ − T1 + τ )
( q1 − q0 )
b2 =
T1
( q 2 − q1 )T1 − ( q0 − q1 )T2
c2 =
4T1T2τ
q1 − q0
(T1 − τ) = a 2
q1 (T1 − τ) = q 2 (T1 − τ) = q +
T1
0
Interpolación de trayectorias (VI)
„
„
Si se desea asignar posiciones, velocidades y aceleraciones del punto
inicial y del punto final (6 condiciones) => polinomio de orden 5
Si se desea pasar por puntos intermedios, se tienen más condiciones:
„ Inicial: posición, velocidad y aceleración
„ Despegue: posición
„ Asentamiento: posición
„ Final: Posición, velocidad
y aceleración
„ 8 condiciones =>
Polinomio de orden 7
qi(t) = a7t7 + a6 t6 + a5t5 + a4 t 4 + a3t3 + a2t2 + a1t1 + a0
Interpolación de trayectorias (VI)
„
„
„
„
Para conseguir transiciones suaves se necesitarían órdenes del
polinomio elevados, pero si el orden es alto se producen
comportamientos erráticos en puntos intermedios:
Solución: interpolación a tramos.
Interpolación más sencilla (2-1-2):
„ Tramos de despegue y asentamiento a máxima aceleración
„ Tramo intermedio a máxima velocidad
Son deseables transiciones suaves por lo que suelen usarse en cada
segmento splines de orden 3, 4 o 5
„ Interpolación más usada: 4-3-4
„ Otras posibilidades: 3-3-3, 5-5-5, 3-5-3, etc.
Interpolación a tramos (I)
„
„
Interpolación 2-1-2:
Fórmula de interpolación:
donde V es la velocidad, y a la
aceleración máxima permitida.
Interpolación a tramos (II)
„
„
„
„
„
Trayectoria 4-3-4
Los segmentos se ajustan de forma que en los puntos de cambio
(despegue y asentamiento) no cambie ni la velocidad ni la
aceleración.
Primer segmento: orden 4
Segundo segmento: 3
Tercer segmento: 4
qi(t) = h1(t) = a14t4 + a13t3 + a12t2 + a11t + a10
qi(t) = h2 (t) = a23t3 + a22t2 + a21t + a20
qi(t) = h3(t) = a34t4 + a33t3 + a32t2 + a31t + a30
Interpolación a tramos (III)
„
1.- Se normaliza cada segmento para que corresponda al intervalo
t ∈ [0 1]
τ − τi −1
Tiempo: t =
„
Velocidad: q&i (t ) =
„
τi − τi −1
„
dhi (t ) dhi (t ) dt
1 dhi (t )
*
=
=
dτ
dt
dτ τ i − τ i −1 dt
3
2
1 segmento: q& ( t ) = 4 a14 t + 3a13 t + 2 a12 t + a11
t1
„
1
d 2hi (t ) d 2hi (t ) dt
d 2hi (t )
&&i (t ) =
*
=
=
Aceleración: q
2
2
dτ
dt
dτ (τ i − τ i −1 ) 2 dt 2
„
1 segmento:
12 a14 t 2 + 6 a13 t + 2 a12
q&&( t ) =
2
t1
Interpolación a tramos (III)
„
„
„
Condiciones:
1 segmento:
0
„ 1.- h1(t=0) = q = a10
0
0
„ 2.- v1(t=0) = v = a11 / t1 => a11 = v t1
0
0
2 => a
2
„ 3.- a1(t=0) = a = 2*a21 / t1
21 = a * t1 /2
1
„ 4.- h1(t=1) = q = a14 + a13 + a12 + a11 + a10 =>
a14 + a13 = q1 – q0 – v0 t1 – a0 t12 /2
1 y 2 segmento:
„ 5.- Continuidad en la velocidad:
4 a 14 + 3 a 13 + 2 a 12 + a 11
h& 1 ( 1 )
h& 2 ( 0 )
a 21
=
=
=
t1
t2
t1
t2
4
3
1
a 14 +
a 13 −
a 21 = − a 0 t 1 − v 0
t1
t1
t2
Interpolación a tramos (IV)
„
6.- Continuidad en al aceleración:
&&i,1(1) = q
&&i,2 (0) →
q
12a14 + 6a13 + 2a12
12
6
2
a
+
a
−
a
14
13
t 12
t 12
t 22
„
„
2
t1
22
= − a
=
2a22
t2
2
0
2º segmento:
1
„ 7.- h2(t=0) = q = a20
2
2
1
„ 8.- h2 (t=1) = q = a23+a22+a21+a20 => a23 + a22+a21 = q – q
3er segmento (cambio de variable): t ∈[0,1] => t ∈ [ −1,0] => t = t − 1
3 = a
„ 9.- h3( t=0) = q
30
3
„ 10.- v3(t =0) = v = a31 / t3
=> a31 = v3 t3
3
3 2
2 => a
„ 11.- a3 (t =0) = a = 2 a32 / t3
32 = a t3 / 2
Interpolación a tramos (V)
„
2º y 3er segmento:
„ 12.- Continuidad en la velocidad:
h& 2 (1) h& 3 ( −1) 3a 23 + 2a 22 + a 21 − 4a 34 + 3a 33 − 2a 32 + a 31
=
=
=
t2
t3
t2
t3
4
3
3
2
1
a 34 − a 33 + a 23 + a 22 + a 21 = v 3 − a 3 t 3
t3
t3
t2
t2
t2
„
13.- Continuidad en la aceleración
12a34 − 6a33 + 2a32 6a23 + 2a22
=
t32
t22
6
6
2
+ 2 a 33 + 2 a 23 + 2 a 22 = a 3
t3
t2
t2
q&&2 (1) = q&&3 ( −1) →
−
12
a 34
2
t3
14.- h3(-1) = q2 = a34 - a33 + a32 – a31 + a30 =>
a33 – a34 = q3 – q2 – v3 t3 + a3 t32 / 2
„
Interpolación a tramos (V)
1
0
0
0
0
0 ⎞⎛ a14 ⎞
⎛ 1
⎜
⎟⎜ ⎟
0
0
0
0 ⎟⎜ a13 ⎟
⎜ 4 / t1 3/ t1 −1/ t2
2
⎜12/ t 2 6 / t 2
−
0
2
/
0
0
0 ⎟⎜ a21 ⎟
t
1
1
2
⎜
⎟⎜ ⎟
0
1
1
1
0
0 ⎟⎜ a22 ⎟ =
⎜ 0
⎜ 0
0
1/ t2
2 / t2 3/ t2 − 3/ t3 4 / t3 ⎟⎜ a23 ⎟
⎜
⎟⎜ ⎟
2
2
2
2
0
0
2 / t2 6 / t2 6 / t3 −12/ t3 ⎟⎜ a33 ⎟
⎜ 0
⎜ 0
−1 ⎟⎠⎜⎝ a34 ⎟⎠
0
0
0
0
1
⎝
y = Cx
x = C −1 y
2 ⎞
⎛ 1
t
o
0
0
1
⎜q −q − v t −a
⎟
1
⎜
2 ⎟
0
0
⎜
⎟
− a t1 − v
⎜
⎟
− a0
⎜
⎟
⎜
⎟
2
1
−
q
q
⎜
⎟
3
3
⎜
⎟
v − a t3
⎜
⎟
3
a
⎜
⎟
2
⎜ 3
2
3
3 t3 ⎟
⎜ q − q − v t3 − a
⎟
2⎠
⎝
Interpolación a tramos (VI)
„
Una vez resuelto el problema, en el segmento 3 debemos
deshacer el cambio de variable, y sustituir t = t − 1
en la
ecuación del tercer segmento:
qi ( t ) = h3 ( t ) = a 34 t 4 + a 33 t 3 + a 32 t 2 + a 31t + a 30
qi ( t ) = h3 ( t ) = a 34 ( t − 1) 4 + a 33 ( t − 1)3 + a 32 ( t − 1) 2 + a 31( t − 1) + a 30
h3 ( t ) = a 34 ( t 4 − 4t 3 + 6t 2 − 4t + 1) + a 33 ( t 3 − 3t 2 + 3t − 1) + a 32 ( t 2 − 2t + 1) + a 31( t − 1) + a 30
h3 ( t ) = a 34 t 4 + ( −4a 34 + a 33 )t 3 + (6a 34 − 3a 33 + a 32 )t 2 + ( −4a 34 + 3a 33 − 2a 32 + a 31 )t +
(a 34 − a 33 + a 32 − a 31 + a 30 )
Resumen
„
„
„
„
¿Qué es una trayectoria?
Pasos a seguir para generar una trayectoria
Tipos de trayectorias
¿Cómo se calculan las trayectorias? => depende de las
condiciones que nos impongan
„ Sólo posición: lineal
„ Posición y velocidad: cúbica
„ Posición, velocidad y aceleración:
„
„
trayectoria de 5º orden
O una trayectoria a tramos fijando dos puntos
intermedios por lo que queremos pasar y asegurando
continuidad en la velocidad (2-1-2), si queremos
asegurar también continuidad en la aceleración: (4-3-4),
(3-3-3), (5-3-5) etc.
Bibliografía
„
„
„
Barrientos: explica las trayectorias, los tipos de trayectorias y
los polinomios pero sin deducirles.
Torres: habla de la interpolación cúbica, y la interpolación
lineal con ajuste parabólico => deducen los valores de cada
parámetro y pone ejemplos
Fu: explica con detalle las ecuaciones de la trayectoria 4-3-4,
la 3-5-3 y la 3-3-3-3-3
Descargar