Escolar Documentos
Profissional Documentos
Cultura Documentos
Generación de Trayectorias
Cinemáticas
Prof. Oscar E. Ramos, Ph.D.
https://youtu.be/HTPIED6jUdU
2
Objetivos
3
Temas
1. Generación de Trayectorias
4
Esquema Funcional de un Robot
Sensores
inteoceptivos
Sensores Entorno
exteroceptivos externo
En el generador de trayectorias:
• Entradas (IN): secuencia de posiciones/orientaciones o configuraciones articulares
• Salidas (OUT): referencias (continuas/discretas) para el controlador del robot
5
Generación de Trayectorias
Introducción
A A B
Trayectoria Trayectoria
Cartesiana Cartesiana
C C
Ir de la posición/orientación A a la
Ir de la posición/orientación A a
posición/orientación C pasando
la posición/orientación C
por la posición/orientación B
¿El tiempo interesa?
6
Generación de Trayectorias
Trayectoria vs Camino
B
• Camino (geométrico):
- Conjunto de puntos (en el espacio articular o Cartesiano) que
el manipulador debe seguir
p( s ) x( s ) y( s) z ( s)
T
A
- Es una descripción puramente geométrica
• Trayectoria:
- Camino geométrico p(s) + consideraciones temporales s(t)
p ( s (t )) x( s (t )) y ( s (t )) z ( s (t ))
T
Camino = “path” 7
Generación de Trayectorias
Trayectoria vs Camino
q q ( ) (t ) Espacio articular
Trayectoria
- Parametrización natural: s = t
dp( s ) dp ( s ) d 2 p(s) 2
- Derivadas: p(t ) s (t) p (t ) s (t ) s (t )
ds ds ds 2
• Ley temporal:
- Se basa en las especificaciones (velocidades, dónde detenerse, etc.)
- Restricciones impuestas por los actuadores o tareas (max torque, max velocidad)
- Puede considerar criterios de optimización (mínimo tiempo, mínima energía, etc.)
8
Generación de Trayectorias
Ejemplo de Camino
• Objetivo:
Usando cinemática inversa
- Pasar por los puntos Cartesianos A, B, C
- Evitar discontinuidades
Robot de
3 GDL
• Pasos:
- Camino geométrico deseado p(s), donde s
es un parámetro
Robot de
3 GDL
• Pasos:
Equivalente en el
- Muestreo del camino Cartesiano para obtener espacio articular
puntos deseados
Robot de
3 GDL
• Pasos:
- Camino geométrico en el espacio articular
q1(λ), q2(λ), q3(λ)
Robot de
3 GDL
Puntos en el espacio
Cartesiano
Camino Geométrico
Cartesiano: p(s)
Secuencia de puntos en
el espacio articular
Camino geométrico en el
espacio articular: q(λ)
13
Generación de Trayectorias
Espacio Articular vs Espacio Cartesiano
14
Generación de Trayectorias
Espacio Articular vs Espacio Cartesiano
• Ejemplos
• Según el espacio:
- Trayectorias Cartesianas (operacionales)
- Trayectorias articulares
• Según el tipo de tarea:
- Trayectorias punto a punto
- Trayectorias de múltiples puntos (“knots”)
- Trayectorias contínuas (continuidad de velocidad, aceleración)
- Trayectorias concatenadas (ejemplo: “overfly”)
• Según la geometría del camino:
- Trayectorias rectilíneas
- Trayectorias polinomiales
- Trayectorias exponenciales
- Trayectorias cicloides, etc.
16
Generación de Trayectorias
Clasificación de Trayectorias
17
Temas
1. Generación de Trayectorias
18
(Polinomios: repaso)
19
(Polinomios: repaso)
q
Ejemplo:
qf
Interpolar linealmente los puntos mostrados en la figura,
donde t0 = 2 [s], q0 = 16 [°], tf = 10 [s], qf = 40 [°] q0
t
t0 tf
Ecuación genérica: q (t ) a1t a0
Posición (q)
- Punto 1: q0 a1t0 a0 16 2a1 a0
- Punto 2: q f a1t f a0 40 10a1 a0
Sistema de ecuaciones:
2 1 a1 16
Ax b 10 1 a 40
0 Velocidad (𝑞)ሶ
a1 1 1 1 16 3
a 8 10 2 40 10
1
xA b
0
Ecuación de la línea:
q (t ) 3t 10
¿Cómo sería la aceleración?
20
Trayectorias en el Espacio Articular
q6final
Ejemplo para la articulación 6
Final q6
q6final
q6init
q6init
Inicial
tinit tfinal t
• Problema:
- El movimiento en el espacio operacional no es predecible
- Puede haber “overshooting” en el espacio operacional
22
Temas
1. Generación de Trayectorias
23
Movimiento Punto a Punto
qf
Se realiza interpolaciones
entre qi y qf
qi
• No interesa:
- Ningún punto en el camino intermedio entre qi y qf
- El camino seguido por el efector final
• Ejemplos de interpolación:
- Polinomios:
• Cúbico
• De quinto grado, etc
- Interpolación con velocidad trapezoidal, trayectoria de tiempo mínimo, etc
24
Movimiento Punto a Punto
Polinomio cúbico
• Sistema de ecuaciones:
q0 a3t03 a2t02 a1t0 a0 t03 t02 t0 1 a3 q0
3
q f a3t 3f a2t 2f a1t f a0
tf t 2f tf 1 a2 q f
q0 3a3t02 2a2t0 a1 3t02 2t0 1 0 a1 q0
2
q f 3a3t 2f 2a2t f a1 3t f 2t f 1 0 a0 q f
• Nota:
- Solo se puede especificar posiciones y velocidades (inicial/final)
- No se puede especificar la aceleración
25
Movimiento Punto a Punto
Polinomio cúbico
Ejemplo
Calcular la trayectoria cúbica de una articulación de q(2)=10° a q(4)=60° con
velocidad inicial y final nula. Graficar la posición, velocidad y aceleración.
Sistema de ecuaciones:
10 23 a3 22 a2 2a1 a0 0 3(22 )a3 2(2)a2 a1
60 43 a3 42 a2 4a1 a0 0 3(42 )a3 2(4)a2 a1
Solución:
23 22 2 1 a3 10 a3 12.5
3 a 112.5
4 42 4 1 a2 60 2
a1 300
3(22 ) 2(2) 1
0 a1 0
2
3(4 ) 2(4) 1 0 a0 0 0
a 260
Trayectoria:
q(t ) 12.5t 3 112.5t 2 300t 260
26
Movimiento Punto a Punto
Polinomio quíntico (de 5to grado)
• Sistema de ecuaciones:
q0 a5t05 a4t04 a3t03 a2t02 a1t0 a0
t05 t04 t03 t02 t0 1 a5 q0
q f a t a t a t a t a1t f a0
5 4 3 2
5
5 f 4 f 3 f 2 f
t f t 4
f t 3f t 2f tf 1 a4 q f
q0 5a5t04 4a4t03 3a3t02 2a2t0 a1 5t04 4t03 3t02 2t0 1 0 a3 q0
4
q f 5a5t 4f 4a4t 3f 3a3t 2f 2a2t f a1 5t f 4t 3f 3t 2f 2t f 1 0 a2 q f
20t 3 12t 2 0 a1 q0
q0 20a5t03 12a4t02 6a3t0 2a2 03 0 6t0 2 0
20t f 12t f
2
6t f 2 0 0 a0 q f
q f 20a5t 3f 12a4t 2f 6a3t f 2a2
27
Movimiento Punto a Punto
Polinomio quíntico (de 5to grado)
Ejemplo
Calcular la trayectoria cúbica de una articulación de q(2)=10° a q(4)=60° con
velocidad y aceleración iniciales y finales nulas.
Sistema de ecuaciones:
25 24 23 22 2 1 a5 10
5 4 3 2
4 4 4 4 4 1 a4 60
5(24 ) 4(23 ) 3(22 ) 2(2) 1 0 a3 0
4 3 2
5(4 ) 4(4 ) 3(4 ) 2(4) 1 0 a2 0
20(23 ) 12(22 ) 6(2) 2 0 0 a1 0
a0 0
3 2
20(4 ) 12(2 ) 6(2) 2 0 0
Trayectoria:
q(t ) 9.375t 5 140.625t 4 812.5t 3 2250t 2 3000t 1540
28
Movimiento Punto a Punto
Interpolador de Velocidad Trapezoidal
• También llamado:
- “Linear segments with Parabolic Blends” (LSPB)
qf
q(t ) q(t ) qmax
q0
tb t f tb tf tb t f tb tf
• Suposiciones:
- Se asume: t0 =0, velocidad inicial y final nulas
- (Trayectoria simétrica: q(tf /2) = qf /2)
• Se especifica:
- Tiempo final: tf
- Punto inicial y final: q0, qf
- Velocidad máxima: 𝑞ሶ 𝑚𝑎𝑥 , o tb, o aceleración máxima 𝑞ሷ 𝑚𝑎𝑥
29
Movimiento Punto a Punto
Interpolador de Velocidad Trapezoidal
1 qmax 2 q0 q f qmax t f
q
0 2 t t , 0 t tb tb
b qmax
1
q (t ) q0 tb qmax qmax t , tb t t f tb qmax
2
1 qmax
f 2 t (t t f ) , t f tb t t f
2
q tb t f tb tf
b
Ejemplo
Para una articulación, calcular una
trayectoria con velocidad trapezoidal tal
que el valor articular inicial sea 10, el valor
final 60, la máxima velocidad 20 deg/s y el
tiempo total 4 s.
Blend time:
tb (10 60 20(4)) / 20 1.5 s
Trayectoria:
10 6.67t 2 , 0 t 1.5
q (t ) 5 20t ,1.5 t 2.5
60 6.67(t 4) 2 , 2.5 t 4
31
Movimiento Punto a Punto
Trayectoria de Tiempo Mínimo
• ¿Cómo?
- Acelerar al máximo y luego desacelerar
(on/off o bang/bang)
ts tf
• Resultado:
- Velocidad trapezoidal “colapsada” → triangular
tf
- Tiempo de cambio (switch): tb ts
2 q q0
- Con esta restricción (usando las relaciones del interpolador trapezoidal): t f 2 f
qmax
1
q0 qmax t 2
, 0 t ts
q (t ) 2
q 1 q (t t ) 2 , t t t
f 2 max f s f
32
Movimiento Punto a Punto
Trayectoria de Tiempo Mínimo
Ejemplo
Para una articulación, calcular el tiempo
mínimo que tomaría ir de 10° a 60° si la
aceleración máxima es 13.33 deg/s2.
Determinar la trayectoria resultante.
Tiempo final:
60 10
tf 2 3.8735 s
13.33
Trayectoria:
10 6.67t 2 , 0 t 1.94
q (t )
60 6.67(t 3.87) ,1.94 t 3.87
2
33
Temas
1. Generación de Trayectorias
34
Movimiento por Secuencia de Puntos
qf
qi
• Interesa:
- Puntos en el camino intermedio entre qi y qf
- Continuidad (de velocidad/aceleración) en los puntos intermedios
• Usos:
- Para evitar obstáculos
- Para seguir trayectorias “finas”
35
Movimiento por Secuencia de Puntos
Métodos
36
Movimiento por Secuencia de Puntos
Interpolación Polinomial 4-3-4
• Restricciones:
q (t0 ) q0 , q(t f ) q f , q(t1 ) q(t1 ) q1 , q(t2 ) q (t2 ) q 2
q (t0 ) 0, q (t f ) 0 + 4 restricciones de continuidad de
q (t0 ) 0, q (t f ) 0 velocidad y aceleración en t1 y t2
37
Movimiento por Secuencia de Puntos
Polinomios con especificación de Velocidad
- Condiciones impuestas:
k (tk ) qk
Para continuidad
k (tk 1 ) qk 1 4 condiciones de la velocidad:
para calcular cada k (tk 1 ) k 1 (tk 1 )
k (tk ) qk polinomio cúbico
k (tk 1 ) qk 1 k-ésimo
38
Movimiento por Secuencia de Puntos
Polinomios con especificación de Velocidad
Ejemplo
Trayectoria pasando por los puntos q1 = 0, q2 = 2π, q3 = π/2, q4 = π, en los tiempos
t1 = 0, t2 = 2, t3 = 3, t4 = 5, con las velocidades 𝑞ሶ 1 = 0, 𝑞ሶ 2 = π, 𝑞ሶ 3 = -π, 𝑞ሶ 4 = 0.
39
Movimiento por Secuencia de Puntos
Interpolación con “Splines” cubícos
• Spline: curva suave (en este caso 𝒞 2 [continuidad hasta la 2da derivada]) que une
N puntos
• ¿Cómo?
- N-1 polinomios cúbicos concatenados para pasar por los N puntos
- Continuidad en velocidad y aceleración en cada N-2 puntos internos
qN 1
qN
qk 1 N 1
qk
k
q2
q1 1
t1 t2 tk tk 1 t N 1 tN
41
Movimiento por Secuencia de Puntos
Interpolación con “Splines” cúbicos
• Propiedades de splines
- Es la curva con curvatura mínima posible (para funciones 𝒞 2 )
- Un spline está determinado unívocamente al especificar: q1, …, qN, t1, … tN,
𝑞ሶ 1 , 𝑞ሶ 𝑁
- No permiten especificar aceleración inicial o final
42
Movimiento por Secuencia de Puntos
Interpolación con “Splines” cúbicos
Ejemplo
Encontrar una curva spline que pase por los puntos q1 = 0, q2 = 2π, q3 = π/2, q4 = π,
en los tiempos t1 = 0, t2 = 2, t3 = 3, t4 = 5, considerando las velocidades inicial y
final nulas.
Para obtener una aceleración nula, usar puntos ficticios en a) ta = 0.5, tb = 4.5, y b)
ta = 1.5, tb = 3.5
43
Movimiento por Secuencia de Puntos
Ajuste Parabólico
• Composición:
- Interpolación lineal en la parte “intermedia”
- Suavizado de las “uniones” con parábolas
parab
parab
parab
44
Movimiento por Secuencia de Puntos
Ajuste Parabólico
Ejemplo
Generar una trayectoria con ajuste parabólico a través de los puntos q1 = 0, q2 =
2π, q3 = π/2, q4 = π, en los tiempos t1 = 0, t2 = 2, t3 = 3, t4 = 5, con velocidades inicial
y final nulas. Considerar dos casos para las duraciones de las parábolas (blending
time): 0.2 s y 0.6 s
45
Temas
1. Generación de Trayectorias
46
Trayectorias en Espacio Operacional
• En general:
- Se puede aplicar los mismos métodos de interpolación del espacio articular
- Se considera independientemente cada posición (x, y, z) y representación
mínima de orientación (φr, φp, φy)
47
Trayectorias en Espacio Operacional
Algunos Problemas
48
Trayectorias en Espacio Operacional
Camino Cartesiano Rectilíneo
• Segmento de línea de pi a pf
pi
• Parametrización del camino: L p f pi
p ( s ) pi s ( p f pi ), s [0,1] pf
49
Trayectorias en Espacio Operacional
Camino Cartesiano Rectilíneo
donde
tb t f tb t f v Lamax vmax
2
tb max tf
amax amax vmax
50
Trayectorias en Espacio Operacional
Concatenación de caminos lineales
51
Trayectorias en Espacio Operacional
Trayectoria de la Orientación
{A} {B}
• Alternativa 1:
- Usando una representación mínima de orientación (ángulos de Euler)
- Ejemplo: camino lineal en el espacio
- Problema:
• Difícil interpretación/comprensión/predicción de las orientaciones intermedias
• El sistema puede moverse de manera “impredecible”
52
Trayectorias en Espacio Operacional
Planeamiento de la Orientación
• Alternativa 2:
- Usando la representación eje/ángulo
- Procedimiento:
R RA RB
0 T 0
• Determinar la rotación que parte de {A} y llega a {B}:
• Determinar el eje r y el ángulo θAB para R
• Asignar una ley temporal a θ(t) que interpole de θ = 0 a θ = θAB (con posibles
condiciones en las derivadas)
• Para todo t, la orientación del efector final será:
0
RA R(r , (t ))
• Alternativa 3:
- Usando cuaterniones (interpolación “slerp”)
53
Conclusiones
55