Você está na página 1de 55

Fundamentos de Robótica: 2017-I

Generación de Trayectorias
Cinemáticas
Prof. Oscar E. Ramos, Ph.D.
https://youtu.be/HTPIED6jUdU

2
Objetivos

• Comprender conceptos básicos de cinemática inversa

• Comprender el concepto de espacio de trabajo

• Obtener la cinemática inversa de robots manipuladores


simples usando métodos analíticos

• Obtener la cinemática inversa de robots manipuladores


complejos mediante métodos numéricos

3
Temas

1. Generación de Trayectorias

2. Trayectorias en el Espacio Articular

3. Trayectorias en el Espacio Operacional

4
Esquema Funcional de un Robot

Sensores
inteoceptivos

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

5
Generación de Trayectorias
Introducción

• Se desea: 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?
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

- Considera restricciones de velocidades/aceleraciones

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

Camino: solamente geométrico

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

Espacio Cartesiano Espacio Articular


9
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


10
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


11
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


12
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(λ)
13
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)

14
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


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

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

17
Temas

1. Generación de Trayectorias

2. Trayectorias en el Espacio Articular


2.1. Movimiento Punto a Punto

2.2 Movimiento por Secuencia de puntos

3. Trayectorias en el Espacio Operacional

18
(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, a3,
a2, a1, 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

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

• 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


21
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
22
Temas

1. Generación de Trayectorias

2. Trayectorias en el Espacio Articular


2.1. Movimiento Punto a Punto

2.2 Movimiento por Secuencia de puntos

3. Trayectorias en el Espacio Operacional

23
Movimiento 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
24
Movimiento 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
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)

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

tb: blend time

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

• 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  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

• 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
30
Movimiento 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 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

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

2. Trayectorias en el Espacio Articular


2.1. Movimiento Punto a Punto

2.2 Movimiento por Secuencia de puntos

3. Trayectorias en el Espacio Operacional

34
Movimiento por 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”

35
Movimiento por 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 (con mayor grado, mayor oscilación)
• 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)

36
Movimiento por Secuencia de Puntos
Interpolación Polinomial 4-3-4

• Trayectoria consta de: qf


- Parte inicial: 4to orden q2
- Parte intermedia: 3er orden
q1
- Parte final: 4to orden q0
t0 t1 t2 tf
• ¿Cuántos coeficientes?
- Requiere determinar 14 coeficientes Se usa para operaciones
de “pick and place”
- Se especifica:
• Posiciones articulares: q0, q1, q2, qf
• Tiempos: t0, t1, t2, tf
• Velocidades y aceleraciones iniciales y finales nulas

• 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

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


• Para cada punto se especifica
- Posición: qk , con k  1, ,N
- Velocidad: qk , con k  1, ,N
• Para cada polinomio cúbico:
- Notación: polinomio k representado como  k (t )  a3t  a2t  a1t  a0
3 2

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

- Se pasa por los puntos indicados de posición y velocidad


- La aceleración es discontinua (¿Por qué?)

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

Notación: polinomio k representado como Θk 40


Movimiento por Secuencia de Puntos
Interpolación con “Splines” cúbicos

• ¿Cuántos coeficientes a determinar?


- 4 (N-1) coeficientes (4 por polinomio)
• ¿Cuántas restricciones impuestas?
- 2(N-2): continuidad en velocidad y aceleración de puntos internos
 k (tk )  k 1 (tk )  k (tk )  k 1 (tk )
- 2(N-1): puntos de paso para cada polinomio
 k (tk )  qk  k (tk 1 )  qk 1

• ¿Cuántos 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 calcular cada polinomio cúbico

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

• ¿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)

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

Nota: blending time = 0.2 (linea sólida), 0.6 (línea punteada)

45
Temas

1. Generación de Trayectorias

2. Trayectorias en el Espacio Articular

3. Trayectorias en el Espacio Operacional

46
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

47
Trayectorias en Espacio Operacional
Algunos Problemas

Puntos inicial y final alcanzables


en diferentes configuraciones

Puntos inicial y final alcanzables Singularidades causan


Punto intermedio inalcanzable velocidades altas

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

- 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

49
Trayectorias en Espacio Operacional
Camino Cartesiano Rectilíneo

• Ejemplo de perfil temporal de σ: usando velocidad trapezoidal

Dados: L, vmax, amax


amax Trayectoria:
 1
 amax t 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
50
Trayectorias en Espacio Operacional
Concatenación de caminos lineales

• Ir de un punto inicial a uno final “pasando”


por un punto intermedio

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

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

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

55

Você também pode gostar