Está en la página 1de 5

Línea recta y Arco con Curvas de velocidad trapezoidales

Cuando se trabaja con manipuladores o con cualquier otro sistema robótico es necesario usar
curvas de velocidad compuestas de los movimientos básicos como la velocidad constante o
aceleración constante, puesto que es imposible que un manipulador pueda salir de un estado
de reposo a otro de velocidad constante, o cambiar de un segmento de la trayectoria de una
velocidad cualquiera a otra diferente bruscamente en un solo período de muestreo debido a
que esto conllevaría a realizar aceleraciones infinitas para lograrlo. Las curvas de velocidad que
se pueden componer fácilmente de movimientos a velocidad constante y a aceleración
constante son en forma de trapezoides como las que se muestran en la Figura 7. Estas curvas
son en realidad funciones a trozos que tienen ciertas consideraciones en su construcción que
se desarrollaran seguidamente.

Figura 7. Curvas de Velocidad Trapezoidales (a) Trapezoidal acelerada + velocidad constante


(b) Trapezoidal velocidad constante + desaceleración (c) Trapezoidal acelerada +velocidad
constante + desaceleración.

Si se trata de una línea recta para poder hallar la función que describe la evolución de cada una
de las coordenadas en el tiempo con una curva de velocidad como la de la Figura 7(a), basta
con simplemente referirse a las diferentes etapas de la gráfica de velocidad, la cual está
compuesta por dos partes: una parte acelerada y una a velocidad constante, por lo tanto la
distancia recorrida desde el punto P0 hasta el punto P1 en línea recta debe ser igual al área
bajo la curva de la gráfica de velocidad como se expresa en la ecuación (0.40) donde vk es la
velocidad constante del movimiento, T es el tiempo total del movimiento y es el tiempo que
dura el tramo acelerado.

1 vk
|P 1−P 0|= a τ 2 + vk (T −τ ) Donde a= (0.40)
2 τ
Reemplazando y despejando vk ,
|P 1−P 0|
vk=
τ (0.41)
T−
2
Dado que el tiempo que dura la parte acelerada se puede tomar como un porcentaje del
tiempo total invertido en la trayectoria, por esto, la ecuación también se podría expresar de la
siguiente manera.

|P1−P 0|
vk=
pt (0.42)
T ( 1− )
2
Donde pt es porcentaje del tiempo invertido en la trayectoria que dura la parte acelerada del
movimiento. Trabajar de forma porcentual le tiempo de los tramos permite variar el tiempo
total de la trayectoria sin tener que forzar al usuario a recalcular el valor del segmento
correspondiente a . De la ecuación (0.42) se puede inferir que pt debe ser mayor que cero y
menor que uno para que la trayectoria siempre tenga los dos tramos. Lo siguiente es hallar el
punto en el espacio en el que se cambia de acelerado a constante, esto se puede hacer
asumiendo que todo el movimiento es acelerado y evaluando la ecuación (0.18) en
t=con a=vk / entre los puntos P0 y P1 (0.43).

p ( τ )=
1 1
|P 1−P 0| 2 ( )
vkg τ g ( P 1−P 0 ) + P 0 (0.43)

) El último paso es generar la nueva función para el primer tramo y la función del segundo
basados en las variables de cada tramo consignadas en la Tabla 1

Tabla 1 Datos para generar unción de tramo

amo Con esta información se remplaza las variables del tramo acelerado en la ecuación (0.18)
y las variables del tramo a velocidad constante en la ecuación (0.15) y finalmente obtenemos
la función a tramos (044).

{ ( )
1 1 vk 2
t g ( P( τ)−P0 ) + P 0 0≤ t ≤ τ
f (t) |P(τ)−P 1| 2 τ
(0.44)
vk
(t−τ ) g ( P 1−P(τ ) )+ P ( τ ) τ ≤ t ≤ T
|P 1−P(τ )|
Para generar la función a trozos de una recta con la curva de velocidad de la Figura 7(b) se
aplica un procedimiento similar partiendo de la ecuación (0.45). Se halla la velocidad
despejando vk de la ecuación (0.45) que representa el área bajo la curva de velocidad y la
posición en la que se debe hacer la transición de movimientos usando la ecuación (0.15), que
representa el movimiento a velocidad constante del primer tramo evaluada en T-, tiempo en el
cual ocurre la transición, y se obtiene (0.47),

1 vk
|P 1−P 0|=vk ( T −τ )− a τ 2 + vkτ Donde a= (0.45)
2 τ
|P1−P 0|
vk=
pt (0.46)
T (1− )
2
pt es el porcentaje de tiempo que representa respecto de T. Con todas las variables conocidas
se puede generar la función a trozos utilizando primero un movimiento a velocidad constante
y luego uno desacelerado usando la ecuación (0.18) y las variables del tramo a velocidad
constante en la ecuación (0.15) y finalmente se obtiene la función a tramos (0.48). Es
importante recordar que la ecuación (0.18) en tiempo esta referenciada a un intervalo t[0,T],
por eso para expresar en términos de la variable t la función a trozos es necesario hacer un
cambio de variable de t en t- unidades tal como está en la función a trozos.

T −τ
p ( τ )= g ( P 1−P 0 )+ P 0 (0.47)
T

{
vk
( t ) g ( P ( τ )−P 0 )+ P 0 0 ≤ t ≤ T −τ
f (t )
|P ( τ ) −P 0|
(0.48)
1
(
−vk
|P 1−P( τ)| 2 τ
2
)
( t−T + τ ) +vk ( t−T +τ ) g ( P 1−P( τ ) )+ P ( τ ) T −τ ≤ t ≤ T

Para generar la función que representa una recta con una curva de velocidad trapezoidal como
la de la Figura 7(c) se debe encontrar los dos puntos donde hay cambio de movimiento sobre
la recta. El primero ocurre cuando se pasa de una aceleración constante a velocidad constante
y el otro punto de transición ocurre cuando empieza a desacelerar. Hay que resaltar que los
dos puntos ocurren con simetría en el tiempo total que dura el movimiento, es decir se acelera
durante segundos y se desacelera durante antes de concluir la trayectoria para llegar a un
estado de reposo.

La ecuación que representa el área bajo la curva de velocidad está dada por (0.49) y de ella se
puede despejar vk como se muestra en (0.50),

1 1 vk
|P 1−P 0|= a τ 2 + vk ( T −2 τ )− a τ 2 + vkτ Donde a= (0.49)
2 2 τ
|P 1−P 0|
vk= (0.50)
T −τ
De la expresión obtenida para calcular la velocidad se puede inferir que este tiempo no pude
ser igual a T, pues se indeterminaría la ecuación, pero además hay que recordar que la
trayectoria esta dividida en tres tramos, así que τ no puede superar el valor de T/2 pues solo
quedarían dos segmentos, el final y el inicial y el del medio a velocidad constante
desaparecería.
De nuevo el siguiente paso es encontrar los puntos donde la recta cambia su movimiento. Esta
operación se realiza evaluando la ecuación (0.18) del tramo acelerado en τ, con v0 = 0, para
hallar p(τ ). Y la ecuación (0.15) del tramo a velocidad constante en T-τ con p0 = p( τ ). De esta
evaluación se obtiene:

p ( τ )=
1
|P 1−P 0| 2( )
vk
τ ( P 1−P 0 )+ P 0 (0.51)

T −2 τ
p ( T −τ )= ( P 1− p ( τ ) ) + P(τ ) (0.52)
T −τ
Finalmente teniendo los puntos y las velocidades iniciales y finales de cada tramo se puede
generar la función a trozos utilizando las ecuaciones que definen el movimiento de cada
segmento como se hizo anteriormente con los otros casos.

{
1 vk 2
|P ( τ ) −P 1| 2 τ ( )
t g ( P ( τ )−P 0 ) + P 0 0 ≤t ≤ τ

vk
f ( t )= ( t−τ ) g ( P ( T −τ )−P( τ) ) + P ( τ ) τ ≤ t ≤ T −τ
|P ( T −τ )−P ( τ )|
1
| P1−P(T −τ )|
−vk
2 τ ( 2
)
( t−T + τ ) + vk ( t−T + τ ) g ( P 1−P(T −τ) ) + P ( T −τ ) T −τ ≤ t ≤ T

(0.53)

Este mismo procedimiento se puede usar para generar arcos de circunferencia con curvas de
velocidad trapezoidales como se hizo con la recta aplicando los mismos criterios a la función
que describe la evolución del ángulo en el tiempo. Al desarrollar este método con arcos de
circunferencia se debe reemplazar la distancia recorrida de un punto al otro por la longitud de
arco expresada en términos del ángulo recorrido, el radio de la circunferencia y el área bajo la
curva de velocidad se escribe en función de las velocidades y aceleraciones tangenciales. La
implementación de estas interpolaciones tiene una serie de consideraciones que surgen por la
discretización de las funciones en conjuntos de puntos. El problema más crítico que surge es el
cálculo de la cantidad de los puntos que corresponde hallar en cada una de las secciones que
define la función a trozos. El porcentaje que divide el tiempo de duración de la trayectoria en
intervalos es un valor que no necesariamente produce divisiones enteras de la cantidad de
puntos generados en cada tramo de la función. Por esta razón es importante hacer la
corrección necesaria en este valor para dividir tanto el tiempo como la cantidad de puntos de
cada sección de la trayectoria de manera consistente con la función a trozos para minimizar
errores en el cálculo de la velocidad y de la generación misma de los puntos sobre la
trayectoria. El error producido se disminuye al aumentar la cantidad de puntos. En general
siempre que se introducen procesos numéricos como la derivación para hallar las velocidades
o al calcular los puntos de una trayectoria, ocurren redondeos propios de la aritmética discreta
y errores que están ligados al método numérico empleado o inclusive a la manipulación de las
expresiones que incluyen términos enteros y reales al mismo tiempo. Lo importante es
identificar las fuentes del error para minimizarlo y controlarlo.

EJEMPLO 2: RECTA CON VELOCIDAD TRAPEZOIDAL


Se desea crear una trayectoria en línea recta entre los puntos P0=[122], y P1=[6 3 9], esta
trayectoria se debe de realizar en 5 segundos con característica de velocidad trapezoidal,
donde n=30 y con porcentaje de aceleración del 30%. Se sabe que el movimiento va a tener la
siguiente característica en su velocidad.

Figura 8. Curva de velocidad

Por tanto:

|P 1−P 0|
τ =T . Pt=1.5 y la distancia a recorrer es P 1−P 0=[51 7], luego vk= =2.4743
T (1−Pt )
vk
y a= =1.6495
τ
Con estos datos el problema se simplifica en hallar una recta con aceleración constante entre
los puntos p0 y p(τ). Una recta con velocidad constante entre p(τ) y p (T −τ ), y por ultimo
una recta con aceleración constante entre p(T −τ) y p 1 , para poder generar estas rectas se
necesitan unos puntos intermedios, estos puntos intermedios para cada segmento de recta
son asignados según el porcentaje de tiempo deseado para los segmentos acelerados, para
efectos del ejemplo, si n=30, siendo n el número de puntos a usar en toda la trayectoria, el
número de puntos que se usarán en los segmentos de recta acelerados serán
k =round( pt x n)=9 , y el número de puntos intermedios que se usaran en el segmento de
velocidad constante serán k c =n−2 K =12.

Luego se hallan los puntos intermedios

1 2 vk (T −2 τ )
x pτ = a τ ( p 1− p 0) x + p 0 x x p(T −τ)= ( p 1− p 0) x + x pτ
2|P 1−P 0| |P 1−P 0|
1 1 2 vk (T −2 τ )
y pτ = a τ (p 1−p 0) y + p 0 y y p (T −τ) = ( p 1−p 0) y + y pτ
2|P 1−P 0| 2 |P1−P0|
1 2 vk (T −2 τ)
z pτ = a τ ( p 1−p 0) z + p 0z z= ( p 1− p 0)z + z pτ
2| P1−P0| |P 1−P 0|
pτ=[2.0714 2.2142 3.5]
p ( T −τ )=[4.9285 2.8757 7.5]

También podría gustarte