Está en la página 1de 53

Fundamentos de Robótica: 2021-2

- Tema 5 -
Generación de Trayectorias
Cinemáticas
Prof. Oscar E. Ramos, Ph.D.
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
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 la
posición/orientación C pasando por la
posición/orientación C
posición/orientación B
¿El tiempo interesa?
3
Generación de Trayectorias
Trayectoria vs Camino
B
• Camino (geométrico):

o
- Conjunto de puntos (en el espacio articular o Cartesiano) que el

c
tri
p(s omé
manipulador debe seguir

ge
)
no
mi
A

Ca
- Es una descripción puramente geométrica

• Trayectoria:
- Camino geométrico p(s) + consideraciones temporales s(t)

- Considera restricciones de velocidades/aceleraciones


Trayectoria: interesa el tiempo (restricciones de v, a)

Camino: solamente geométrico

Camino = “path” 4
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

Espacio Cartesiano
Espacio articular

Trayectoria

- Parametrización natural: s = t

- Derivadas:

• 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.)
5
Generación de Trayectorias
Ejemplo de Camino

• Objetivo:
- Pasar por los puntos Cartesianos A, B, C Usando cinemática inversa
- Evitar discontinuidades
q1

B
A
q2

C q3

Robot de 3
GDL
λ
A B C
Espacio Cartesiano Espacio Articular
6
Generación de Trayectorias
Ejemplo de Camino

• Pasos:
- Trazar un camino geométrico deseado p(s),
donde s es un parámetro
q1

B
A p(s)
q2

C q3

Robot de 3
GDL
λ
A B C
Espacio Cartesiano Espacio Articular
7
Generación de Trayectorias
Ejemplo de Camino

• Pasos:
- Muestrear el camino Cartesiano para obtener Equivalente en el
puntos deseados espacio articular
q1

B
A p(s)
q2

C q3

Robot de 3
GDL
λ
A B C
Espacio Cartesiano Espacio Articular
8
Generación de Trayectorias
Ejemplo de Camino

• Pasos:
- Camino geométrico en el espacio articular q 1(λ),
q2(λ), q3(λ) q1(λ)
q1

B
A p(s)
q2
q2(λ)

C q3

Robot de 3
q3(λ)
GDL
λ
A B C
Espacio Cartesiano Espacio Articular
9
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(λ)
10
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)

11
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


12
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.

13
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)

14
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

15
(Polinomios: repaso)

• Lineal: 2 parámetros (a1, a0)


Se requiere 2 ecuaciones para hallar a1, a0

• Cuadrático: 3 parámetros (a2, a1, a0)


Se requiere 3 ecuaciones

• Cúbico: 4 parámetros (a3, a2, a1, a0)


Se requiere 4 ecuaciones

• Grado 4: 5 parámetros (a4, a3, a2, a1, a0)


Se requiere 5 ecuaciones

• Grado 5: 6 parámetros (a5, a4, … a0)


Se requiere 6 ecuaciones

• Grado n: n+1 parámetros (an, an-1, …, a1, a0)


Se requiere n+1 ecuaciones

16
(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:
Posición (q)
- Punto 1:
40
- Punto 2:
30
Sistema de ecuaciones:
20

0 2 4 6 8 10 12

Velocidad ()
4

0
Ecuación de la recta: -1
0 2 4 6 8 10 12

¿Cómo sería la aceleración?


17
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


18
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
19
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

20
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
21
Trayectorias Punto a Punto
Polinomio cúbico

• Se especifica: Expresión analítica


- Tiempo inicial y final: t0, tf
Posición:
- Punto inicial y final: q0, qf
Velocidad:
- Velocidad inicial y final: ,

• Sistema de ecuaciones:

• Nota:
- Solo se puede especificar posiciones y velocidades (inicial/final)
- No se puede especificar la aceleración

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.
Posición de q
Sistema de ecuaciones: 60

40

q [°]
20

0
1 2 3 4 5
t [s]
Solución: Velocidad de q
40

dq [°/s]
20

0
1 2 3 4 5
t [s]
Aceleración de q

50
ddq [°/s 2 ]
Trayectoria: 0

-50

1 2 3 4 5
t [s] 23
Trayectorias Punto a Punto
Polinomio quíntico (de 5to grado)

• Se especifica: Expresión analítica

- Tiempo inicial y final: t0, tf Posición:


- Punto inicial y final: q0, qf Velocidad:
- Velocidad inicial y final: ,
Aceleración:
- Aceleración inicial y final: ,

• Sistema de ecuaciones:

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. Posición de q
60

40

q [°]
Sistema de ecuaciones:
20

0
1 2 3 4 5
t [s]
Velocidad de q
50
40

dq [°/s]
30
20
10
0
1 2 3 4 5
t [s]
Aceleración de q

50
Trayectoria:
ddq [°/s 2 ]
0

-50

1 2 3 4 5
t [s]
25
Trayectorias Punto a Punto
Interpolador de Velocidad Trapezoidal

• También llamado:
- LSPB: “Linear segments with Parabolic Blends”

ra b
pa

tb: blend time


l
ea
li n

ara b
p

• 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
26
Trayectorias Punto a Punto
Interpolador de Velocidad Trapezoidal

• Trayectoria al especificar la velocidad máxima:

• Límites de la máxima velocidad (0 < tb ≤ tf /2):

• Aceleración máxima y velocidad máxima:

27
Trayectorias Punto a Punto
Interpolador de Velocidad Trapezoidal

Posición de q
Ejemplo 60

Para una articulación, calcular una trayectoria 40

q [°]
con velocidad trapezoidal tal que el valor
20
articular inicial sea 10°, el valor final 60°, la
máxima velocidad 20 °/s y el tiempo total 4 s. 0
-1 0 1 2 3 4 5
t [s]
Velocidad de q
30

Blend time: 20

dq [°/s]
10

-10
Trayectoria: -1 0 1 2 3 4 5
t [s]
Aceleración de q
20

10
ddq [°/s 2 ]

-10

-20
-1 0 1 2 3 4 5
t [s] 28
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)

• Resultado:
- Velocidad trapezoidal “colapsada” → triangular
- Tiempo de cambio (switch):
- Con esta restricción (usando las relaciones del interpolador trapezoidal):

29
Trayectorias Punto a Punto
Trayectoria de Tiempo Mínimo
Posición de q

Ejemplo 60

Para una articulación, calcular el tiempo mínimo 40

q [°]
que tomaría ir de 10° a 60° si la aceleración 20
máxima es 13.33 deg/s2. Determinar la 0
trayectoria resultante. -1 0 1 2 3 4
t [s]
Velocidad de q
30
Tiempo final:
20

dq [°/s]
10

-10
-1 0 1 2 3 4
Trayectoria: t [s]
Aceleración de q
20

10
ddq [°/s 2 ]

-10

-20
-1 0 1 2 3 4
t [s]
30
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

31
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”

32
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)

33
Trayectorias con Secuencia de Puntos
Interpolación Polinomial 4-3-4

• Partes de la trayectoria:
- Parte inicial y final: 4to grado
- Parte intermedia: 3er grado

• ¿Cuántos coeficientes?
- Requiere determinar 14 coeficientes
- Se especifica: Se usa para operaciones 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: (6 restric.)

- Velocidad y aceleración inicial: (4 restric.)

- Continuidad de velocidad y aceleración: (4 restric.)

34
Trayectorias con Secuencia de Puntos
Polinomios con especificación de Velocidad

• Dados N puntos, se usa N-1 polinomios cúbicos Pk (uno por segmento)

• Para cada punto se especifica


- Posición:
- Velocidad:

• Para cada polinomio cúbico:


- Notación: polinomio k representado como:
- Condiciones impuestas:

Notar que para continuidad de


4 condiciones para la velocidad:
calcular cada
polinomio cúbico k-
ésimo (se asume implícitamente)

35
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é?)
36
Trayectorias con Secuencia de Puntos
Interpolación con “Splines” cúbicos

• Spline: curva suave (en este caso [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

Notación: polinomio k representado como Πk 37


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)

En total
- Continuidad en velocidad y aceleración (para puntos internos): 2(N-2) 4N-6

• Parámetros libres (2)


- Pueden especificar la velocidad inicial () y final ()

• Con estas restricciones se puede determinar cada polinomio cúbico


38
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.

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 )
- Un spline está determinado unívocamente al especificar: q1, …, qN, t1, … tN, ,
- 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

li n
ea
l
ea l

parab
l in

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
• Parametrización del camino:

- Longitud del camino:


• Velocidad y aceleración:

47
Trayectorias en Espacio Operacional
Camino Cartesiano Rectilíneo

• Ejemplo de perfil temporal de σ: usando velocidad trapezoidal

Dados: L, vmax, amax


Trayectoria:

donde

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

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:
• 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á:

• 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

También podría gustarte