0% encontró este documento útil (0 votos)
231 vistas53 páginas

Generación de Trayectorias en Robótica

Este documento presenta una introducción a la generación de trayectorias para robots. Explica que el objetivo es generar trayectorias continuas en el espacio cartesiano o articular a partir de puntos discretos, considerando restricciones de velocidad y aceleración. Describe los conceptos clave de camino, trayectoria, espacio cartesiano y articular. Además, clasifica los diferentes tipos de trayectorias según varios criterios como el espacio de trabajo, tipo de tarea, geometría del camino y ley temporal. Finalmente, repasa el uso de pol
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
231 vistas53 páginas

Generación de Trayectorias en Robótica

Este documento presenta una introducción a la generación de trayectorias para robots. Explica que el objetivo es generar trayectorias continuas en el espacio cartesiano o articular a partir de puntos discretos, considerando restricciones de velocidad y aceleración. Describe los conceptos clave de camino, trayectoria, espacio cartesiano y articular. Además, clasifica los diferentes tipos de trayectorias según varios criterios como el espacio de trabajo, tipo de tarea, geometría del camino y ley temporal. Finalmente, repasa el uso de pol
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

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
xA 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

También podría gustarte