Fundamentos de Robótica: 2020-1
- Tema 7 -
Generación de Trayectorias
Cinemáticas
Prof. Oscar E. Ramos, Ph.D.
- 24 de mayo del 2020 -
Temas
1. Generación de Trayectorias
2. Trayectorias en el Espacio Articular
2.1. Trayectorias Punto a Punto
2.2. Trayectorias usando Secuencia de Puntos
3. Trayectorias en el Espacio Operacional
2
Esquema Funcional de un Robot
Sensores
interoceptivos
Referencias IN Generador de OUT
externas Tareas Control Robot
trayectorias
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
3
Generación de Trayectorias
Introducción
• Objetivo: de puntos a trayectorias (cartesianas/articulares)
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?
4
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
- Considera restricciones de velocidades/aceleraciones
Trayectoria: interesa el tiempo (restricciones de v, a)
Camino: solamente geométrico
Camino = “path” 5
Generación de Trayectorias
Trayectoria vs Camino
• Usualmente se escoge un camino y luego se escoge la ley temporal
(para la trayectoria)
Camino Ley temporal
p p(s) s s (t ) Espacio Cartesiano
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.)
6
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
Espacio Cartesiano Espacio Articular
7
Generación de Trayectorias
Ejemplo de Camino
• Pasos:
- Camino geométrico deseado p(s), donde s
es un parámetro
Robot de
3 GDL
Espacio Cartesiano Espacio Articular
8
Generación de Trayectorias
Ejemplo de Camino
• Pasos:
Equivalente en el
- Muestreo del camino Cartesiano para obtener espacio articular
puntos deseados
Robot de
3 GDL
Espacio Cartesiano Espacio Articular
9
Generación de Trayectorias
Ejemplo de Camino
• Pasos:
- Camino geométrico en el espacio articular
q1(λ), q2(λ), q3(λ)
Robot de
3 GDL
Espacio Cartesiano Espacio Articular
10
Generación de Trayectorias
Procedimiento Típico
• Procedimiento: Tareas determinadas
Puntos en el espacio
Cartesiano
Interpolación en el espacio Cartesiano
Camino Geométrico
Cartesiano: p(s)
Muestreo y cinemática inversa
Secuencia de puntos en
el espacio articular
Interpolación en el espacio articular
Camino geométrico en el
espacio articular: q(λ)
11
Generación de Trayectorias
Espacio Articular vs Espacio Cartesiano
• Trayectorias en el espacio Cartesiano (operacional):
- Visualización más directa del camino generado
- Permite evitar obstáculos
- Se puede seguir una forma Cartesiana determinada (evitar “divagar”)
- Requiere cinemática inversa (computacionalmente más costoso)
• Trayectorias en el espacio articular
- Más complicado de visualizar
- No se puede evitar obstáculos
- No se puede seguir formas Cartesianas (ejemplo: una “línea”)
- No requiere cinemática inversa en cada punto (menor costo computacional)
12
Generación de Trayectorias
Espacio Articular vs Espacio Cartesiano
• Ejemplos
Interpolación articular no coordinada Interpolación articular coordinada
Interpolación articular no coordinada Interpolación en el espacio Cartesiano
13
Generación de Trayectorias
Clasificación de Trayectorias
• 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.
14
Generación de Trayectorias
Clasificación de Trayectorias
• Según la ley temporal:
- Trayectorias tipo bang-bang (on/off) en aceleración
- Trayectorias trapezoidales en velocidad
- Trayectorias polinomiales, etc.
• Según la coordinación:
- Trayectorias coordinadas (todas las articulaciones inician y terminan el movimiento
al mismo tiempo y en simultáneo)
- Trayectorias independientes (movimiento independiente de cada articulación)
15
Temas
1. Generación de Trayectorias
2. Trayectorias en el Espacio Articular
2.1. Trayectorias Punto a Punto
2.2. Trayectorias usando Secuencia de Puntos
3. Trayectorias en el Espacio Operacional
16
(Polinomios: repaso)
• Lineal: q a1t a0 2 parámetros (a1, a0)
Se requiere 2 ecuaciones para hallar a1, a0
• Cuadrático: q a2t a1t a0
2
3 parámetros (a2, a1, a0)
Se requiere 3 ecuaciones
• Cúbico: q a3t a2t a1t a0
3 2
4 parámetros (a3, a2, a1, a0)
Se requiere 4 ecuaciones
• Grado 4: q a4t a3t a2t a1t a0
4 3 2
5 parámetros (a4, a3, a2, a1, a0)
Se requiere 5 ecuaciones
• Grado 5: q a5t a4t a3t a2t a1t a0
5 4 3 2 6 parámetros (a5, a4, … a0)
Se requiere 6 ecuaciones
n 1
• Grado n: q an t an 1t a1t a0
n n parámetros (an, an-1, …, a1, a0)
Se requiere n+1 ecuaciones
17
(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 recta:
q(t ) 3t 10
¿Cómo sería la aceleración?
18
Trayectorias en el Espacio Articular
• Utiliza directamente cada una de las articulaciones qi(t)
q6final
Ejemplo para la articulación 6
Final q6
q6final
q6init
q6init
Inicial
tinit tfinal t
¿Cómo ir de q6init a q6final?
Robot LBR iiwa de KUKA
19
Trayectorias en el Espacio Articular
• Utiliza directamente cada una de las articulaciones qi(t)
- Puede depender directamente del tiempo: qi(t)
- Puede estar parametrizado: qi(λ) donde λ = λ(t)
• Los valores deseados son usualmente obtenidos a partir de las
especificaciones en el espacio operacional
• Especificaciones (alguna de o todas las siguientes):
- Posición inicial y final
- Velocidad inicial y final
- Aceleración inicial y final
- Posiciones/orientaciones (“puntos”) intermedias (“interpolación”)
- Continuidad de la curva (hasta el k-ésimo orden: clase 𝒞 𝑘 )
• Problema:
- El movimiento en el espacio operacional no es predecible
- Puede haber “overshooting” en el espacio operacional
20
Temas
1. Generación de Trayectorias
2. Trayectorias en el Espacio Articular
2.1. Trayectorias Punto a Punto
2.2. Trayectorias usando Secuencia de Puntos
3. Trayectorias en el Espacio Operacional
21
Trayectorias Punto a Punto
• Moverse de una posición inicial qi a final qf en un tiempo tf.
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
22
Trayectorias 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
23
Trayectorias Punto a Punto
Polinomio cúbico
• Se especifica: Expresión analítica
- Tiempo inicial y final: t0, tf
Posición: q(t ) a3t 3 a2t 2 a1t a0
- Punto inicial y final: q0, qf
- Velocidad inicial y final: 𝑞ሶ 0 , 𝑞ሶ 𝑓 Velocidad: q(t ) 3a3t 2 2a2t a1
• 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
24
Trayectorias Punto a Punto
Polinomio quíntico (de 5to grado)
Ejemplo
Calcular la trayectoria quíntica 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
25
Trayectorias Punto a Punto
Polinomio quíntico (de 5to grado)
• Se especifica: Expresión analítica
Posición: q (t ) a5t a4t a3t a2t a1t a0
5 4 3 2
- Tiempo inicial y final: t0, tf
- Punto inicial y final: q0, qf Velocidad: q (t ) 5a5t 4a4t 3a3t 2a2t a1
4 3 2
- Velocidad inicial y final: 𝑞ሶ 0 , 𝑞ሶ 𝑓
Aceleración: q (t ) 20a5t 12a4t 6a3t 2a2
3 2
- Aceleración inicial y final: 𝑞ሷ 0 , 𝑞ሷ 𝑓
• 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
26
Trayectorias Punto a Punto
Interpolador de Velocidad Trapezoidal
• También llamado:
- LSPB: “Linear segments with Parabolic Blends”
qf
q (t ) q(t ) qmax
tb: blend time
q0
tb t f tb tf tb t f tb tf
• Suposiciones:
- Se asume: 𝑞ሶ 0 = 𝑞ሶ f = 0 (velocidad inicial y final nulas)
- Trayectoria simétrica: q(tf /2) = (q0 + qf )/2
• Se especifica:
- Tiempo final: tf
- Punto inicial y final: q0, qf
- Velocidad máxima: 𝑞ሶ 𝑚𝑎𝑥 , o tb, o aceleración máxima 𝑞ሷ 𝑚𝑎𝑥
27
Trayectorias Punto a Punto
Interpolador de Velocidad Trapezoidal
• Trayectoria al especificar la velocidad máxima:
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 qmaxt , 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
• Límites de la máxima velocidad (0 < tb ≤ tf /2):
q f q0 2(q f q0 )
qmax
tf tf qmax
• Aceleración máxima y velocidad máxima: t f tb
q tb
qmax max qmax
tb
28
Trayectorias Punto a Punto
Interpolador de Velocidad Trapezoidal
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 °/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
29
Trayectorias Punto a Punto
Trayectoria de Tiempo Mínimo
• Objetivo: llegar en el mínimo tiempo de q0 a qf considerando la máxima
aceleración posible 𝑞ሷ 𝑚𝑎𝑥
• ¿Cómo?
- Acelerar al máximo y luego desacelerar
(on/off o bang/bang)
ts tf
• Resultado:
- Velocidad trapezoidal “colapsada” → triangular
t
- Tiempo de cambio (switch): tb ts f
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
30
Trayectorias 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
31
Temas
1. Generación de Trayectorias
2. Trayectorias en el Espacio Articular
2.1. Trayectorias Punto a Punto
2.2. Trayectorias usando Secuencia de Puntos
3. Trayectorias en el Espacio Operacional
32
Trayectorias con Secuencia de Puntos
• Moverse de una posición inicial qi a una final qf “pasando por” puntos
intermedios
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”
33
Trayectorias con Secuencia de Puntos
Métodos
• Polinomios de grado alto
- Si se tiene N puntos, se puede usar un polinomio de grado N-1
- ¿Problemas?
• Trayectoria oscilante (mayor oscilación al incrementar más el grado)
• No se puede asignar velocidades inicial y final
• Polinomios de bajo grado en cada segmento
- Ejemplo:
• Polinomios cúbicos (posiciones+velocidades)
• Polinomios de 5to grado (posiciones+velocidades
+aceleraciones)
- Posibilidades:
• Cada segmento por separado
• Segmentos interdependientes (splines)
34
Trayectorias con Secuencia de Puntos
Interpolación Polinomial 4-3-4
• Partes de la trayectoria: qf
q2
- Parte inicial y final: 4to orden
- Parte intermedia: 3er orden q1
q0
• ¿Cuántos coeficientes? t0 t1 t2 tf
- Requiere determinar 14 coeficientes
Se usa para operaciones
- Se especifica: de “pick and place”
• Posiciones articulares: q0, q1, q2, qf
• Tiempos: t0, t1, t2, tf
• Velocidades y aceleraciones iniciales y finales nulas
• Restricciones:
- Posición: q (t0 ) q0 , q(t f ) q f , q(t1 ) q(t1 ) q1 , q(t2 ) q(t2 ) q2 (6 restric.)
- Velocidad y aceleración inicial: q (t0 ) 0, q (t f ) 0 q(t0 ) 0, q(t f ) 0 (4 restric.)
- Continuidad de velocidad y aceleración: q (t1 ) q (t1 ), q(t2 ) q(t2 ) (4 restric.)
q(t ) q(t ),
1 1 q(t2 ) q(t2 )
35
Trayectorias con Secuencia de Puntos
Polinomios con especificación de Velocidad
• Dados N puntos, se usa N-1 polinomios cúbicos (uno por segmento)
• Para cada punto se especifica
k
- Posición: qk , con k 1, , N
- Velocidad: qk , con k 1, , N
tk tk 1
• Para cada polinomio cúbico:
- Notación: polinomio k representado como: k (t ) a3t 3 a2t 2 a1t a0
- 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
36
Trayectorias con 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.
- Se pasa por los puntos indicados de posición y velocidad
- La aceleración es discontinua (¿Por qué?)
37
Trayectorias con Secuencia de Puntos
Interpolación con “Splines” cúbicos
• 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
- Impone continuidad en velocidad y aceleración en cada N-2 puntos internos
qN 1
qk 1 N 1 qN
k
qk
q2
q1 1
t1 t2 tk tk 1 t N 1 tN
Notación: polinomio k representado como Πk 38
Trayectorias con Secuencia de Puntos
Interpolación con “Splines” cúbicos
• Coeficientes a determinar
- 4 por polinomio: 4 (N-1) coeficientes
• Restricciones
- 2 puntos de paso para cada polinomio: 2(N-1)
k (tk ) qk k (tk 1 ) qk 1
En total
- Continuidad en velocidad y aceleración (para puntos internos): 2(N-2) 4N-6
k (tk ) k 1 (tk ) k (tk ) k 1 (tk )
• Parámetros libres (2)
- Pueden especificar la velocidad inicial (𝑞ሶ 1 ) y final (𝑞ሶ 𝑁 )
1 (t1 ) q1 N 1 (t N ) qN
• Con estas restricciones se puede determinar cada polinomio cúbico
39
Trayectorias con 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
• ¿Cómo especificar aceleración inicial y final?
- Añadir 2 puntos “ficticios” (“virtuales”) al inicio y final
• 2 polinomios cúbicos extras
• 8 coeficientes extra por determinar
- En estos puntos “ficticios” imponer:
• Continuidad en posición, velocidad y aceleración (2x3=6 restricciones)
- Usar los 2 parámetros libres para:
• Aceleración inicial y final (2 restricciones)
40
Trayectorias con 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
41
Trayectorias con 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
42
Trayectorias con 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
Nota: blending time = 0.2 (linea sólida), 0.6 (línea punteada)
43
Temas
1. Generación de Trayectorias
2. Trayectorias en el Espacio Articular
2.1. Trayectorias Punto a Punto
2.2. Trayectorias usando Secuencia de Puntos
3. Trayectorias en el Espacio Operacional
44
Trayectorias en Espacio Operacional
• Se utiliza para seguir un camino especificado geométricamente (línea,
círculo, etc.)
• 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)
• Problemas con orientación:
- Al interpolar, el resultado no puede ser visualizado intuitivamente
- Se prefiere trabajar por separado posición y orientación
• El número de puntos a interpolar es típicamente bajo
- Se suele usar caminos simples: líneas, arcos circulares, etc.
• Siempre necesita el uso de cinemática inversa
45
Trayectorias en Espacio Operacional
Algunos Problemas
Puntos inicial y final alcanzables
en diferentes configuraciones
singularidad
Puntos inicial y final alcanzables Singularidades causan
Punto intermedio inalcanzable velocidades altas
46
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
- Longitud del camino: Ls
• Velocidad y aceleración:
dp p pi
p( s) s ( p f pi ) s f
ds L
dp p pi
p( s) s ( p f pi ) s f
ds L
- Se puede usar σ para determinar un perfil temporal
47
Trayectorias en Espacio Operacional
Camino Cartesiano Rectilíneo
• Ejemplo de perfil temporal de σ: usando velocidad trapezoidal
Dados: L, vmax, amax
amax Trayectoria:
1
amaxt 2 , 0 t tb
vmax 2
2
1 vmax
(t ) vmaxt , t b t t f tb
2 amax
1 2
vmax
amax (t t f ) vmax t f
2
, t f tb t t f
2 amax
donde
tb t f tb t f v Lamax vmax
2
tb max tf
amax amax vmax
48
Trayectorias en Espacio Operacional
Concatenación de caminos lineales
• Ir de un punto inicial a uno final “pasando” por un punto intermedio
- A veces necesario para evitar obstáculos
pi
pf
po
- Para suavizar la trayectoria se suele no pasar exactamente por el punto
intermedio (pi): “over-fly”
- Usa ajuste parabólico
49
Trayectorias en Espacio Operacional
Trayectoria de la Orientación
• ¿Cómo interpolar 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
( s) i s( f i ), s [0,1] Para cada ángulo
- Problema:
• Difícil interpretación/comprensión/predicción de las orientaciones intermedias
• El sistema puede moverse de manera “impredecible”
50
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”)
51
Conclusiones
• La generación de trayectorias cinemáticas se basa en conceptos
básicos de interpolación polinomial
• Los métodos aplicados en el espacio articular son también
aplicables al espacio operacional (Cartesiano)
• La generación de trayectorias en el espacio articular solamente
puede llevar a resultados imprevisibles en el espacio operacional
• Normalmente se genera una trayectoria primero en el espacio
operacional, luego se pasa al espacio articular y eventualmente se
realiza una nueva planificación
Referencias
• B. Siciliano, L. Sciavicco, L. Villani, y G. Oriolo. Robotics: modelling,
planning and control. Springer Science & Business Media, 2010
(Capítulo 4)
• M.W. Spong, S. Hutchinson, y M. Vidyasagar. Robot Modeling and
Control. John Wiley & Sons, 2006 (Capítulo 5)
53