Captulo
Planificacin de Trayectorias de
un Robot Clsico
La nica forma de descubrir los lmites
de lo posible, consiste en ir ms all de
ellos, hacia lo imposible.
(Ley de Clark)
5.1.-Introduccin
Una vez obtenidos los modelos cinemticos y dinmicos del robot se puede
abordar el problema del control de los mismos. Definir el movimiento de un robot
implica controlar dicho robot de manera que siga un camino preplanificado. El objetivo
es por tanto establecer cuales son las trayectorias que debe seguir cada articulacin del
robot a lo largo del tiempo para conseguir los objetivos fijados, a la vez que se exige
cumplir una serie de restricciones fsicas impuestas por los actuadores y de calidad de la
trayectoria, como son suavidad, precisin, etc.
Para un estudio ms estructurado del problema de control del robot, ste suele
dividirse en dos bloques:
Este captulo aborda el control cinemtico del robot, revisando los conceptos de
planificacin de trayectorias y las herramientas necesaria s para la interpolacin
polinomial entre los puntos de inicio y final del camino. En primer lugar se presenta un
esquema general del problema de la planificacin, ms tarde se distingue entre el
espacio cartesiano y el espacio de las articulaciones del robot para poder abordar en
ellos los problemas de interpolacin entre puntos espaciales. Se presenta en el apartado
1
(5.1)
Necesidades de movimiento
(libre de colisiones)
Coordenadas cartesianas
(x,y,z,,,)
Restricciones de los
actuadores.
Modelo cinemtico.
GENERADOR DE
TRAYECTORIAS
Trayectorias articulares
q i (t ), q& i (t ), q&&i (t )
5.3.-Tipos de Trayectorias.
La mejora tecnolgica ha permitido que los robots puedan realizar trayectorias
cada vez ms complejas, al poder ser stas calculadas previamente. A continuacin se
cita brevemente una clasificacin de tipos de trayectorias de robots comerciales
clsicos.
Trayectorias punto a punto.
En este tipo de trayectorias cada articulacin se mueve independientemente, sin
considerar el efecto del resto de las articulaciones. Dentro de esta tipo se engloban
las trayectorias con movimiento eje a eje y las de movimiento simultneo de ejes.
En las trayectorias con movimiento eje a eje en primer lugar se acta sobre un
motor, y cuando este ha finalizado su recorrido, se activa el siguiente motor. Este
tipo de movimiento tiene como nica ventaja el ahorro energtico.
Trayectorias coordinadas o isocronas.
En este tipo de trayectorias se procura que el movimiento de todos los actuadores
sea coordinado e isocrona. Esto quiere decir que el actuador que tarda ms tiempo
en alcanzar la posicin requerida ralentiza al resto, de manera que ningn
movimiento acaba antes que el de otra articulacin. El tiempo total invertido en el
movimiento es el menor posible, y los requerimientos de velocidad y aceleracin de
los motores son menores que en otro tipo de movimiento. El inconveniente de este
tipo de planificadores es que la trayectoria que describe el extremo del robot es
desconocida a priori. El esquema de planificador que se explica en el siguiente
apartado corresponde a este tipo de planificadores.
Trayectorias continuas.
En este tipo de trayectorias se pretende que el camino seguido por el extremo del
robot sea conocido. Para ello las trayectorias articulares deben acomodarse
conjuntamente. Cada articulacin por separado parece tener un movimiento
desordenado, sin embargo el resultado es que el extremo se mueve siguiendo el
camino previsto.
Tratar de poner un ejemplo (aparte del simple en el 2.9) de trayectorias continuas
el punto inicial al punto final en un tiempo conocido. Asimismo se tiene una serie de
especificaciones mximas en los motores de las articulaciones. De acuerdo con el
esquema general, el paso siguiente es obtener las coordenadas articulares de los puntos
inicial y final.
Este primer paso se resuelve con las herramientas desarrolladas en el captulo 2,
concretamente con la solucin de la cinemtica inversa. En el caso del robot rotacional
de 6 gdl se ha estudiado que la solucin de la cinemtica inversa puede ser mltiple.
Adems debe tenerse en cuenta la posible existencia de singularidades en alguna de las
configuraciones del robot.
En segundo lugar, debe hallarse un polinomio interpolador entre los dos puntos
nudos que cumpla con las especificaciones de los actuadores y que proporcione un
movimiento suave al robot. Como se ha visto anteriormente, este punto puede ser
abordado bajo varios enfoques y diferentes tipos de trayectorias. Cada enfoque produce
un resultado distinto pero igualmente vlido dependiendo de los requerimientos del
usuario. Se puede pretender que el robot siga una determinada trayectoria en lnea recta
o mover el manipulador a lo largo de una trayectoria polinomial uniforme que satisface
las ligaduras de posicin y orientacin en ambos puntos extremos.
Se remite al lector a la literatura especfica en la cual encontrar varios ejemplos
con distintos enfoques en los que se utiliza desde interpoladores lineales simples hasta
series de polinomios encadenados que satisfacen todas las restricciones de la trayectoria.
Se muestra a continuacin un mtodo para obtener trayectorias de articulacin
interpoladas que ofrecen un resultado fsicamente realizable. Los perfiles de aceleracin
y velocidad obtenidos para cada articulacin son realizables por actuadores comerciales.
La trayectoria obtenida es del tipo isocrona.
5.4.1.- Trayectorias de articulacin interpolada
Con el objetivo de que el movimiento del robot sea suave y est de acuerdo con
las restricciones de los actuadores se divide cada trayectoria articular en tres segmentos,
correspondientes a la aceleracin del motor, el periodo de velocidad mxima y la
deceleracin o frenado del motor. La grfica siguiente muestra esta divisin en la que se
puede observar como los periodos de aceleracin y frenado ofrecen un movimiento
suave del robot.
Articulacin i
Posicin
(t 3 )
(t 0 )
t0
Frenado
(t 1 )
Vel. Mx.
Aceleracin
(t 2 )
t1
t2
t3
Tiempo
Las restricciones en los puntos de control que se utilizan para resolver el clculo
de los polinomios interpoladores son las siguientes:
Posicin inicial (t0 )
Posicin (t0 )
Velocidad inicial (normalmente nula)
Aceleracin inicial (normalmente nula)
Posicin intermedia (t1 )
Posicin (t1 )
Continuidad en posicin
Continuidad en velocidad
Continuidad en aceleracin
Posicin intermedia (t2 )
Posicin (t2 )
Continuidad en posicin
Continuidad en velocidad
Continuidad en aceleracin
Posicin final (t3 )
Posicin (t3 )
Velocidad final (normalmente nula)
Aceleracin final (normalmente nula)
Se pueden encontrar en la literatura especfica muchos polinomios que permiten
cumplir con las anteriores restricciones. Una de estas soluciones el la combinacin 4-34 [Fu] que se explica brevemente a continuacin.
5.4.2.- Polinomios 4-3-4
Utilizando este tipo de polinomios interpoladores se tiene los siguientes tres
segmentos de trayectorias para cada articulacin:
(5.2)
(5.3)
(5.4)
En primer lugar hay que considerar que al estar hallando las trayectorias
articulares para las N articulaciones del manipulador, es conveniente introducir una
variable de tiempo normalizada t[0,1], que permita simplificar los clculos al evitar
tener que contabilizar los desfases temporales, de tal manera que t=0 corresponda al
inicio de cualquiera de los tres segmentos en que se ha dividido el camino y t=1
corresponda al final del segmento de trayectoria.
Matemticamente, este cambio de variable queda expresado como:
t=
i1
i i1
(5.5)
Donde:
t
(5.6)
(5.7)
1 &
4a t 3 + 3a13t 2 + 2a12t 2 + a11
h1 (t ) = 14
t1
t1
(5.8)
a1 =
1 &&
12a14t 2 + 6 a13t + 2a12
h1 (t ) =
t1
t12
(5.9)
(5.10)
(5.11)
(5.12)
a0 t12 2
t + ( v0t1 )t + 0
h1 (t ) = a14t + a13t +
2
4a + 3a13 + a0t12 + v0t 1
v1(1) = 14
t1
4
a1 (1) =
(5.13)
(5.14)
(5.15)
(5.16)
(5.17)
(5.18)
(5.19)
(5.20)
y aplicando continuidad:
h&2 (0) h&1 (1)
=
t2
t1
(5.21)
(5.22)
(5.23)
a30 = h3 ( 0) = f
h& ( 0) a31
vf = 3
=
t3
t3
h&& ( 0) 2a
a f = 3 2 = 232
t3
t3
2
h&3 ( 1) 4a34 + 3a33 a f t 3 + v f t n
=
t3
t3
2
h&&3 ( 1) 12a34 6a33 + a f t 3
=
t 32
t 32
(5.25)
(5.26)
(5.27)
(5.28)
(5.29)
y aplicando continuidad:
h&2 (1) h&3 ( 1)
=
t2
t3
4a32 3a33 + a f t 32 v f t 3
t3
12a34 + 6a33 a f t 32
t
2
3
(5.30)
3a 23 2a22 a21
+
+
=0
t2
t2
t2
(5.31)
6a 23 6a22
+ 2 =0
t 22
t2
(5.32)
Otras relaciones
El ngulo recorrido por la articulacin en cada segmento puede escribirse como:
a0t12
+ v0t1
2
2 = 2 1 = h2 (1) h2 (0) = a23 + a22 + a21
1 = 1 0 = h1 (1) h1( 0) = a14 + a13 +
3 = 3 2 = h3 ( 0) h3 ( 1) = a34 + a33
2
f 3
a t
2
(5.33)
(5.34)
+ v f t3
(5.35)
Rescribiendo en notacin matricial las ecuaciones (5.22), (5.23), (5.31), (5.32), (5.33),
(5.34), (5.35) se obtiene:
y = Cx
(5.36)
donde:
a f t 32
a t2
y = 1 0 1 v0t1 , a0t1 v0 ,a0 , 2 , a f t 3 + v f , a f , 3
v f t3
2
2
T
x = (a13, a14 , a 21, a 22 , a23 , a33, a34 )
10
1
1
3 t
1 4 t1
6 t12 12 t12
C= 0
0
0
0
0
0
0
0
0
1 t2
0
1
1 t2
0
0
0
0
2 t 22
1
2 t2
2 t 22
0
0
0
0
1
3 t2
6 t 22
0
0
0
0
0
3 t3
6 t 32
1
0
0
0
0
4 t3
12 t 32
1
function [velo2,tmaximo]=sincronizador(q0,qf,velo)
%--Calculo de tiempos aproximados.
taprox = abs((qf(:,1)-q0(:,1)))./velo;
tmaximo = max(taprox);
%--Nueva velocidad maxima de cada motor.
velo2=(qf(:,1)-q0(:,1))/tmaximo;
return
11
12
13
El lector debe notar la redefinicin del segundo elemento del vector TT que
define los intervalos de tiempo de aceleracin, velocidad mxima y frenado en el caso 1,
ajustando la aproximacin que se haba realizado con la variable TTOT.
14
15
16
Ejemplo 5.1
Al ejecutar ejemplo.m se obtiene las grficas de la posicin, velocidad y
aceleracin de las seis articulaciones de un robot de 6 gdl que evolucione entre dos
puntos aleatorios de su espacio de trabajo.
figure
plot(t,vel)
grid
title('Perfil de Velocidad dada por el planificador')
xlabel('Tiempo (seg)'), ylabel('Velocidad (rad/seg)')
17
18
19
Ejemplo 5.2
En este ejemplo se implementa en MatLab un planificador de trayectorias
coordinado. Se utiliza el robot rotacional de 6 gdl de la figura 5.2
Basndose en el esquema general presentado en el apartado 5.2, el primer paso
es estudiar las necesidades de movimiento, especificar un punto inicial (posicin y
orientacin) y un punto final (posicin y orientacin) y obtener las coordenadas
articulares correspondientes a estos puntos nudo. Para ello se utilizan las funciones
desarrolladas en el captulo 2 DENAVIT y INVERSEKINEMATIC6.
20
1.0000
0
0
0
0
0
1.0000
0
-0.3000
-0.2000
0.6000
1.0000
0
1.0000
0
0
1.0000
0
0
0
-0.3000
0.4000
0.5000
1.0000
q1=inversekinematic6(T1,-1,1)
q1 =
-2.5536
0.7137
-0.6729
0.0000
-0.0408
-0.9828
q2=inversekinematic6(T2,-1,1)
q2 =
2.3306
0.6579
-0.2558
-2.2892
1.8437
-0.2990
21
22
23