Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Captulo
6.1.-Introduccin
En los ltimos aos han aparecido numerosos proyectos de investigacin relacionados
con disciplinas de simulacin virtual. Una correcta simulacin dinmica es necesaria
como primer paso para la obtencin de herramientas capaces de ser utilizadas para el
anlisis y diseo de robots.
Adems de necesitar una metodologa numricamente correcta, es de gr an importancia
el disponer de unas herramientas de visualizacin que permitan comprobar los
resultados obtenidos, de manera que la deteccin de errores sea lo ms intuitiva posible.
Siguiendo esta idea, en este captulo se va a presentar una serie de ejemp los en los que
se utilizan los modelos dinmicos presentados anteriormente con la finalidad de poder
realizar un correcto control del robot estudiado.
Histricamente se distingue entre control cinemtico y control dinmico de robots. El
control cinemtico ya fue estudiado en la planificacin de trayectorias del captulo 5.
Por control dinmico se entiende el control necesario para que el movimiento del robot
se ajuste realmente a las trayectorias calculadas. Para efectuar un correcto control
dinmico se necesita de un modelo dinmico del robot como el obtenido en el captulo 3
al que se le aade los modelos de los servoaccionamientos estudiados en el captulo 4
con sus correspondientes reguladores PID.
Como ya se vio en el captulo 3, el modelo dinmico de un robot es fuertemente no
lineal, multivariable, acoplado y de parmetros variables, lo cual implica una extremada
dificultad para abordar el problema sin simplificaciones. Sin embargo, en la mayora de
ocasiones, la utilizacin de un control desacoplado proporciona resultados aceptables.
En este captulo, en primer lugar se va tratar el problema de seleccionar de manera
correcta los servoaccionamientos de un robot. La seleccin consta de dos procesos: el
clculo de los pares mximos y la obtencin de los datos de los motores para las
articulaciones del robot. Una vez que se hayan seleccionado los motores que va a
utilizar el robot, el siguiente paso es realizar su sintonizado para que el comportamiento
de cada articulacin se ajuste a las especificacio nes establecidas. Para realizar el
sintonizado se presenta la estructura de control desacoplada y las tcnicas ms comunes
de sintonizacin de reguladores PID. Concluido el proceso de sintonizado de las
articulaciones, se explica como realizar la simulaci n completa del funcionamiento de
1
6.2.-Seleccin de Servoaccionamientos
La seleccin adecuada de los servoaccionamientos que van a utilizarse en cada
articulacin de un robot es una tarea crtica para el correcto funcionamiento del robot.
La seleccin de los servoaccionamientos se realiza en base a la dinmica inversa del
robot y, por tanto, depende fuertemente de la aplicacin en la que se utilizar el robot.
El proceso de seleccin consta, fundamentalmente, de dos fases:
1- Clculo de los pares mximos requeridos.
2- Obtencin de los datos de los motores.
6.2.1. Clculo de los pares mximos requeridos
Para seleccionar los motores adecuados para un robot es necesario conocer los
requerimientos mximos a los cuales van a estar sometidos los motores. Para ello se
sita el robot en su peor configuracin y se le aplica un perfil de velocidad trapezoidal a
cada una de las articulaciones para obtener, utilizando la dinmica inversa del robot, el
par pico y el par nominal de cada motor. Un perfil de velocidad trapezoidal se
caracteriza por la grfica que se muestra en la figura 6.1. El perfil de velocidad se divide
en tres intervalos:
-
tconst
tdecel
Los pares obtenidos mediante la dinmica inversa son divididos por el reductor
seleccionado para cada motor. La eleccin del reductor vendr determinada por la
velocidad mxima permitida para el accionamiento y por las revoluciones a las que
trabaje el motor. Por ltimo hay que sealar que, generalmente, la relacin entre el par
nominal y el par pico es del orden de 3~4 en los motores brushless.
Ejemplo 6.1. Clculo de los pares mximos requeridos para el robot de 4gdl.
Para calcular los pares mximos requeridos de cada articulacin se ha desarrollado una
herramienta en Simulink que, especificando la peor posicin en la que puede
encontrarse el robot y el perfil de velocidad que se le aplica a cada articulacin, se
obtiene una grfica del par o fuerza de la articulacin. En esta grfica aparece tanto el
par o fuerza pico como el par o fuerza nominal. El fichero en el que se encuentra
implementada la herramienta se denomina selmotor4.mdl. Si se ejecuta desde el entorno
de Matlab selmotor4 aparecer en pantalla la herramienta descrita anteriormente, que
se muestra en la figura 6.2.
Figura 6.2. Herramienta desarrollada en Simulink para calcular el par o fuerza pico y
nominal de cada articulacin.
Para generar el perfil de velocidad trapezoidal se ha creado el subsistema que se muestra
en la figura 6.3. Para tener acceso a dicho subsistema es necesario seleccionar el bloque
y elegir la opcin Look Under Mask del men Edit de Simulink.
El subsistema mostrado en la figura 6.3 hace uso de una funcin desarrollada en Matlab
trapezoidal.m. Esta funcin sirve para generar la velocidad y aceleracin de la
articulacin en cada instante de tiempo segn los parmetros elegidos del perfil de
velocidad, que recordemos que son la velocidad mxima, el tiempo de aceleracin, el
tiempo constante y el tiempo de deceleracin. El cdigo fuente de esta funcin se
muestra a continuacin:
% TRAPEZOIDAL Perfil de velocidad trapezoidal
%
PERFIL=TRAPEZOIDAL(U) devuelve un vector 1x2 que contiene la velocidad
%
y la aceleracin de un perfil de velocidad trapezoidal en un determinado
%
instante de tiempo. PERFIL(1) contiene la velocidad y PERFIL(2) la
%
aceleracin. U(1) representa el instante de tiempo actual(seg). U(2) es
%
la velocidad mxima. U(3) es el tiempo de aceleracin(seg). U(4) es el
%
tiempo de velocidad constante(seg). U(5) es el tiempo de
deceleracin(seg).
function perfil=trapezoidal(u)
t
velmax
tacel
tconst
tdecel
=
=
=
=
=
u(1);
u(2);
u(3);
u(4);
u(5);
% Parmetros de la carga
masaext
= 10;
inerciaext = [0.0167 0 0;0 0.0167 0;0 0 0.0167];
% Se calcula el vector de pares/fuerzas utilizando Newton-Euler
par = newtoneuler4(q,qp,qpp,9.8,masaext,inerciaext);
Una vez presentada la herramienta, as como los ficheros que se van a utilizar para
calcular los pares y fuerzas pico y nominal de cada articulacin, se va a proceder a
obtener estos pares y fuerzas en el caso del robot de 4 GDL.
En primer lugar hay que destacar que la peor posicin en la que se puede encontrar el
robot se produce cuando las dos articulaciones prismticas han alcanzado su valor
mximo. Se considerar que el valor mximo de la segunda articulacin (q2 ) es de 1m,
mientras que el de la tercera (q3 ) es de 1.2m. El valor de la primera y cuarta articulacin
no influye en el clculo de los pares/fuerzas mximas. Por lo tanto, por comodidad, la
peor posicin del robot vendr dada por:
q = (0 1 1.2 0 )
Para ver la configuracin del robot en la peor posicin podemos utilizar la funcin
drawrobot3d4 que vimos en el captulo 2:
drawrobot3d4([0 1 1.2 0]')
Figura 6.4. Peor disposicin del robot. Se obtiene al ejecutar drawrobot3d4([0 1 1.2
0]').
Como ya se ha comentado anteriormente, los parmetros que caracterizan a un perfil de
velocidad trapezoidal son:
- Velocidad mxima
- Tiempo de aceleracin
- Tiempo constante
- Tiempo de deceleracin
Para el caso del robot de 4 GDL se va a suponer que la velocidad mxima para las
articulaciones rotacionales es de /3 rad/s, mientras que en el caso de las prismticas es
de 1 m/s. Se va a considerar que el tiempo de aceleracin es 0.1 segundos, lo que quiere
decir que se dispone de 0.1 segundos para alcanzar la velocidad mxima. Como tiempo
constante se va a tomar 0.4 segundos y como tiempo de deceleracin 0.1 segundos. Es
importante destacar que en funcin de la articulacin se considerar la velocidad
mxima positiva o negativa. En el caso de las articulaciones 1 y 4 es independiente
considerar la velocidad mxima positiva o negativa, ya que a efectos de requerimientos
de par, no hay diferencia en girar la articulacin en un sentido o en otro. Para la
obtencin de lo s pares pico y nominal se ha considerado la velocidad mxima positiva.
En las articulaciones 2 y 3 los mayores requerimientos de par se producirn cuando la
articulacin se desplace en el sentido positivo del eje z. Por lo tanto, para ambas
articulaciones se ha considerado la velocidad mxima positiva. Ver figura 6.5.
z2
d3
x2
d2
y2
l4
a2
1
z3
x3
l1
x1
y1
y3
z0
0
y0
z4
x4
y4
x0
v
x 60
p
donde v es la mxima velocidad (mm/s) y p es el paso del husillo (mm). Puesto que la
mxima velocidad de las articulaciones prismticas es de 1000 mm/s y el paso del
husillo es 25 mm, se obtiene que la velocidad mxima es de 2400 rpm. Por tanto si se
utilizan motores que funcionan a 5000 rpm, se obtiene un factor de reduccin de
5000/2400 2.
Para obtener los pares y fuerzas de los motores teniendo en cuenta los reductores que se
van a emplear, nicamente, como se muestra en la figura 6.2, es necesario dividir el
par/fuerza proporcionado por la dinmica inversa por el valor del reductor.
Para obtener los pares mximos requeridos hay que considerar que el robot tiene en su
extremo la mxima carga permitida. Para nuestro robot hemos considerado que la carga
mxima es de 10 Kg y que su matriz de inercia es:
0
0
0.0167
Inercia = 0
0.0167
0
0
0
0.0167
Estas caractersticas de la carga externa se especifican en el fichero dininv4gdl.m.
Una vez especificadas las caractersticas relativas al robot, el siguiente paso es realizar
la simulacin del modelo desarrollado en Simulink. Pero antes es necesario configurar
los parmetros de la simulacin. Para ello ejecutamos la opcin Parameters del men
Simulation. Los valores seleccionados de los parmetros son los que se muestran en la
figura 6.6.
Para realizar la simulacin del modelo desarrollado en Simulink para obtener los pares y
fuerzas pico y nominal de cada articulacin nicamente debemos ejecutar la opcin
Start del men Simulation. Cuando finalice la simulacin podemos pulsar dos veces con
el ratn en cualquier grfica que muestre el par o fuerza de la articulacin para obtener
su par o fuerza pico y nominal. Por ejemplo, si pulsamos dos veces sobre el bloque
correspondiente al par de la articulacin 1, obtenemos la grfica del par de la
articulacin que se muestra en la figura 6.7. El par pico corresponde al par mximo en
valor absoluto que aparece en la grfica, que en este caso es 0.612 Nm. El par nominal
es el valor absoluto del par en el intervalo constante del perfil trapezoidal, cuyo valor es,
en este caso, 0.088 Nm.
Fp
2 n
donde F es la fuerza (N), p es el paso del husillo (m) y n es la eficiencia del husillo.
Suponiendo que la eficiencia del husillo es de 0.85, puesto que el paso del husillo es
0.025 m, los pares pico y nominal de las articulaciones 2 y 3 son:
- Articulacin 2: Par pico: 1.0716 Nm; Par nominal: 0.5311 Nm.
- Articulacin 3: Par pico: |-0.4371| Nm; Par nominal: |0.0564| Nm.
En la tabla 6.1 se muestran los pares pico y nominal de cada una de las articulaciones
del robot de 4 gdl.
Articulacin
1
2
3
4
0.612
1.0716 0.4371 4.8510-4
pico (Nm)
0.088
0.5311 0.0564 1.0510-4
nominal (Nm)
Tabla 6.1. Par pico y nominal de cada articulacin.
Ejemplo 6.2. Clculo de los pares mximos requeridos para el robot de 6gdl.
Al igual que en el caso del robot de 4 gdl, para calcular los pares mximos requeridos de
cada articulacin se ha desarrollado una herramienta en Simulink que, especificando la
peor posicin en la que puede encontrarse el robot y el perfil de velocidad que se le
aplica a cada articulacin, se obtiene una grfica del par de la articulacin en la que
9
aparece tanto el par pico como el par nominal. El fichero en el que se encuentra
implementada la herramienta se denomina selmotor6.mdl. Si se ejecuta desde el entorno
de Matlab selmotor6 aparecer en pantalla la herramienta descrita anteriormente, que
se muestra en la figura 6.8.
[0 0 pi/2 0 0 0]
1/500
Peor Posicin Robot
Reductor 1
Par Articulacin 1
Velocidad
1/500
Aceleracin
Perfil Trapezoidal de
Velocidad Articulacin 1
Reductor 2
Velocidad
Par Articulacin 2
1/500
Aceleracin
Perfil Trapezoidal de
Velocidad Articulacin 2
Reductor 3
Mux
Velocidad
Velocidad
Velocidad
1/500
Demux
Perfil Trapezoidal de
Velocidad Articulacin 3
Perfil Trapezoidal de
Velocidad Articulacin 4
Demux
Dinmica Inversa
Aceleracin
Aceleracin
MATLAB
Function
Reductor 4
Par Articulacin 4
1/500
Mux
Reductor 5
Par Articulacin 5
1/500
Aceleracin
Perfil Trapezoidal de
Velocidad Articulacin 5
Par Articulacin 3
Reductor 6
Par Articulacin 6
Velocidad
Aceleracin
Perfil Trapezoidal de
Velocidad Articulacin 6
Figura 6.8. Herramienta desarrollada en Simulink para calcular el par pico y nominal
de cada articulacin.
Para obtener el par de cada articulacin se ha desarrollado en Matlab la funcin
dininv6gdl.m; que calcula el par de cada articulacin cuando el robot transporta una
determinada carga en funcin la posicin, velocidad y aceleracin de cada articulacin.
Esta funcin hace uso de la funcin newtoneuler6.m, explicada en el captulo 3. El
cdigo fuente de dininv6gdl.m se muestra a continuacin:
10
% Parmetros de la carga
masaext
= 10;
inerciaext = [0.0167 0 0;0 0.0167 0;0 0 0.0167];
% Se calcula el par utilizando Newton-Euler
par = newtoneuler6(q,qp,qpp,9.8,masaext,inerciaext);
Una vez presentada la herramienta, as como los ficheros, que se van a utilizar para
calcular los pares pico y nominal de cada articulacin, se va a proceder a obtener estos
pares en el caso del robot de 6GDL.
En primer lugar hay que destacar que la peor posicin en la que se puede encontrar el
robot viene dada por:
q = 0 0
2
0 0 0
Para comprobar que es la peor posicin podemos utilizar la funcin drawrobot3d6 que
vimos en el captulo 2:
drawrobot3d6([0 0 pi/2 0 0 0]')
La ejecucin de la funcin anterior muestra, efectivamente, que el vector de
coordenadas articulares anterior corresponde a la peor disposicin del robot, como se
puede apreciar en la figura 6.9.
11
Figura 6.9. Peor disposicin del robot. Se obtiene al ejecutar drawrobot3d6([0 0 pi/2 0
0 0]').
Como ya se ha comentado anteriormente, los parmetros que caracterizan a un perfil de
velocidad trapezoidal son:
- Velocidad mxima
- Tiempo de aceleracin
- Tiempo constante
- Tiempo de deceleracin
Para el caso del robot de 6 GDL vamos a suponer que la velocidad mxima permitida
para un accionamiento es /3 rad/s. Se va a considerar que el tiempo de aceleracin es
0.1 segundos, lo que quiere decir que se dispone de 0.1 segundos para alcanzar la
velocidad mxima. Como tiempo constante se va a tomar 0.4 segundos y como tiempo
de deceleracin 0.1 segundos. Es importante destacar que en funcin de la articulacin
se considerar la velocidad mxima positiva o negativa. En el caso de las articulaciones
1, 4 y 6 es independiente considerar la velocidad mxima positiva o negativa, ya que a
efectos de requerimientos de par, no hay diferencia en girar la articulacin a la izquierda
o a la derecha. Para la obtencin de los pares pico y nominal se ha tomado la velocidad
mxima positiva. Por el contrario, se ha considerado la velocidad mxima negativa para
las articulaciones 2, 3 y 5, ya que, lgicamente, los requerimientos de par son mayores
cuando estas articulaciones giran en el sentido contrario al determinado por el eje z. Ver
figura 6.10.
Se va a considerar que los reductores a emplear para las articulaciones son de 500, ya
que suponemos que se van a utilizar motores que trabajan a 5000 rpm. Esto se debe que
la velocidad mxima permitida es de /3 rad/s, o sea 10 rpm, por lo que si se utilizan
motores que funcionan a 5000 rpm, se obtiene un factor de reduccin de 5000/10=500.
Este factor puede ser comercialmente obtenido colocando en serie un reductor de 200
por piones y un reductor de factor 1:2.5 obtenido por transmisin de correa. Para
obtener los pares de los motores teniendo en cuenta los reductores que se van a emplear,
nicamente, como se muestra en la figura 6.8, es necesario dividir el par proporcionado
por la dinmica inversa por el valor del reductor.
12
y3
4 y 4
z3
x2
l4
3
3
z4
x3
z2
y2
x4
y5
z5
l6
6
s
x5
2
6
a
a2
z1
2
1
l1
x0
y1
z0
x1
1
y0
0
0
0.0167
Inercia = 0
0.0167
0
0
0
0.0167
Estas caractersticas de la carga externa se especifican en el fichero dininv6gdl.m.
Una vez especificadas las caractersticas relativas al robot, el siguiente paso es realizar
la simulacin del modelo desarrollado en Simulink. Pero antes es necesario configurar
los parmetros de la simulacin. Para ello ejecutamos la opcin Parameters del men
Simulation. Los valores seleccionados de los parmetros son los que se muestran en la
figura 6.11.
13
14
Articulacin
pico (Nm)
nominal (Nm)
1
2
3
4
5
6
|-0.338| |-0.885| |-0.435| 1.1210-3 |-0.0494| 9.8510-4
|-3.810-3 | |-0.362| |-0.162| 2.510-4 |-0.0174| 2.2410-4
Tabla 6.2. Par pico y nominal de cada articulacin.
15
Ejemplo 6.4. Obtencin de los datos de los motores del robot de 6gdl.
En la tabla 6.6 se muestra el par pico y nominal de cada articulacin despus de
multiplicar los datos mostrados en la tabla 6.2 por el factor de seguridad de 1.5.
Articulacin
1
2
3
4
5
6
|-0.507|
|-1.3275|
|-0.6525|
0.0017
|-0.0741|
0.0015
pico (Nm)
|-0.0261| 0.0003
nominal (Nm) |-0.0057| |-0.543| |-0.243| 0.0004
Tabla 6.6. Par pico y nominal de cada articulacin considerando un factor de seguridad
de 1.5.
Al igual que en el ejemplo anterior, se ha considerado que los actuadores del robot
corresponden a motores brushless DC. Para obtener los datos de los parmetros de los
motores que satisfacen los requerimientos de par especificados en la tabla 6.6 se ha
consultado el catlogo de motores brushless DC de Eastern Air Devices, Inc. Los
valores seleccionados de los parmetros del modelo dinmico del motor se muestran en
la tabla 6.7.
Articulacin Nombre Motor R() L(mH) KT (Nm/A) KV (V/rad/s) Imx (A)
1
DA23DBB
1.4
1.64
0.052
0.052
10
2
DA34FBB
0.7
1.01
0.112
0.112
21.8
3
DA23GBB
0.8
0.93
0.058
0.058
18.5
4
DB17CDB
6.9
1.28
0.035
0.035
3.6
5
DB17CDB
6.9
1.28
0.035
0.035
3.6
6
DB17CDB
6.9
1.28
0.035
0.035
3.6
Tabla 6.7. Datos de los motores seleccionados para cada articulacin.
16
Control desacoplado
En el control desacoplado se considera que las articulaciones del robot estn
desacopladas, de modo que un par en un determinado actuador nicamente tendr
efecto sobre el movimiento de la articulacin correspondiente. De esta forma
existir un controlador para cada articulacin. La ventaja del control desacoplado
radica en que el diseo del regulador ms adecuado para cada articulacin puede
hacerse utilizando las tcnicas ms frecuentes de diseo.
Control acoplado
En ocasiones, la suposicin de que el robot es una serie de eslabones dinmicamente
desacoplados, de forma que el movimiento de uno de ellos no afecta a los dems, no
es siempre aceptable. Las tcnicas de control acoplado consideran el modelo
dinmico real del robot, haciendo uso del conocimiento del mismo para tratar de
desacoplar el sistema.
17
El controlador que utilizaremos en cada una de las articulaciones ser un regulador PID.
La funcin de transferencia de un regulador PID es la siguiente:
GPID ( s ) = k p (1 +
k
1
I
+ Td s ) = k p (1 + i + k d s ) = P + + Ds
Ti s
s
s
(6.1)
Para realizar el ajuste de los parmetros de un regulador PID existen mltiples mtodos.
A continuacin se van a estudiar dos mtodos muy utilizados: el manual y el de ZieglerNichols.
Este mtodo propone una manera de ir modificando los parmetros del regulador para
conseguir que la respuesta de la articulacin cumple las especificaciones impuestas.
1- En primer lugar se aumenta la constante proporcional P hasta obtener el tiempo de
cruce deseado (el menor posible sin tener una sobreoscilacin exagerada).
2- A continuacin se procede a aumentar la constante derivativa D para disminuir la
sobreoscilacin ( esto incrementar el tiempo de cruce).
3- Por ltimo se aumenta la constante integral I para eliminar el error que exista en
rgimen permanente (esto incrementar la sobreoscilacin y disminuir el tiempo de
respuesta).
Mtodo de Ziegler-Nichols
18
q = (0 1 1.2 0 )
Para un funcionamiento satisfactorio del robot exigiremos que la respuesta de cada
articulacin cumpla las siguientes especificaciones:
-
19
% Parmetros de la carga
masaext
= 10;
inerciaext = [0.0167 0 0;0 0.0167 0;0 0 0.0167];
% Se convierten los pares de la articulacin 2 y 3 en fuerzas.
n = 0.85;
% Eficiencia husillo
p = 0.025;
% Paso del husillo (mm)
tau(2:3) = 2*pi*tau(2:3)/p;
% Se calcula la aceleracin utilizando el mtodo de Walker y Orin.
qpp = walkerorin4(q,qp,tau,masaext,inerciaext);
F=
2 n
p
donde es el par (Nm), p es el paso del husillo (m) y n es la eficiencia del husillo.
Las entradas al esquema de control son:
- El escaln de posicin que se aplica a la primera articulacin. El escaln es de 0.08
rad y, puesto que para esta articulacin es independiente que sea positivo o negativo,
se ha considerado positivo. El valor de la posicin de esta primera articulacin en la
peor configuracin del robot es 0 rad, por lo tanto el escaln ser de 0 rad a 0.08 rad.
- Los pares del resto de motores. Puesto que los actuadores de las articulaciones que
no estn siendo sintonizadas son apagadas, los pares del resto de motores son nulos.
- La posicin del resto de articulaciones en su peor configuracin.
- La velocidad de las restantes articulaciones. La velocidad de las restantes
articulaciones siempre ser cero, puesto que sus actuadores estn apagados.
El bloque PID representa a un regulador convencional PID con la siguiente funcin de
transferencia:
I
G PID ( s) = P + + Ds
s
Asignando los valores adecuados a P, I y D se conseguir que la respuesta del sistema
sea la deseada.
En el bloque correspondiente al motor de la articulacin 1 se deben colocar los datos de
los parmetros del motor que se seleccion en el ejemplo 6.3 para esa articulacin.
Estos datos se muestran en la tabla 6.9.
Articulacin Nombre Motor R() L(mH) KT (Nm/A) KV (V/rad/s) Imx (A)
1
DA23GBB
0.8
0.93
0.058
0.058
18.5
Tabla 6.9. Valores de los parmetros del motor utilizado para la primera articulacin.
Los bloques Ordena Pares, Ordena Posiciones y Ordena Velocidades, simplemente
indican el orden del vector de pares, posiciones y velocidades del robot. En este caso los
vectores poseen el orden adecuado, ya que se est sintonizando la primera articulacin,
de manera que el orden que indicaremos en los tres selectores ser [1 2 3 4]. Sin
embargo, veremos que esto no es as para el sintonizado del resto de articulaciones.
Puesto que estamos ajustando la primera articulacin, la nica aceleracin que nos
interesa es la primera, por lo que a continuacin del bloque Robot 4 GDL, que
corresponde a la dinmica directa del robot, utilizamos un selector para elegir la
aceleracin de la primera articulacin. A continuacin, se emplea un bloque integrador
para obtener la velocidad de la articulacin. En este bloque especificamos que la
condicin inicial es cero, ya que la velocidad inicial de esta articulacin es de 0 rad/s.
Para calcular la posicin de la articulacin se integra la velocidad utilizando otro
bloque integrador. En este integrador la condicin inicial ser cero, puesto que la
posicin inicial de la articulacin es 0 rad.
21
Antes de realizar la simulacin del modelo para determinar si la respuesta del sistema es
la adecuada, es necesario configurar los parmetros de la simulacin con los valores que
se muestran en la figura 6.15.
GPID ( s ) = 90 + 1.6 s
En la figura 6.16 se muestra como vara la posicin de la articulacin 1 ante el escaln
introducido. Como se puede apreciar en la grfica, con el regulador escogido se
satisfacen los requerimientos impuestos.
22
23
GPID ( s ) = 300 + 6 s
Si se realiza la simulacin del modelo se obtiene la grfica que muestra como vara la
posicin de la articulacin 2 ante el escaln introducido. Como se puede apreciar en la
grfica, al igual que en el caso anterior, con el regulador escogido se satisfacen los
requerimientos impuestos. Ver figura 6.17.
Motor 3
Para realizar el sintonizado del motor 3 se utiliza el modelo implementado en Simulink
que se encuentra en el fichero sintonizar3d4.mdl. Este modelo contiene el esquema de
control en bucle cerrado de la tercera articulacin que permite ajustar su regulador PID
para que la respuesta satisfaga las especificaciones.
Las entradas al esquema de control son:
- El escaln de posicin que se aplica a la tercera articulacin. Este escaln es de 100
mm. El valor de la posicin de esta articulacin en la peor configuracin del robot es
1.2 m. Al igual que en el caso anterior, el mayor requerimiento de par se produce
cuando el escaln es positivo. Sin embargo como la articulacin posee su extensin
mxima, el escaln no es realizable fsicamente, por lo que se introducir un escaln
negativo. Por lo tanto el escaln ser de 1.2 m a 1.1 m.
- Los pares del resto de motores. Al igual que en los casos anteriores, los pares del
resto de motores son nulos.
- La posicin del resto de articulaciones en su peor configuracin.
24
25
Motor 4
Para realizar el sintonizado del motor 4 se utiliza el modelo que se encuentra en el
fichero sintonizar4d4.mdl. Este modelo contiene el esquema de control en bucle cerrado
de la cuarta articulacin que permite ajustar su regulador PID para que la respuesta
cumpla las especificaciones.
Las entradas al esquema de control son:
- El escaln de posicin que se aplica a la cuarta articulacin. El valor de la posicin
de esta articulacin en la peor configuracin del robot es 0 rad. Para esta
articulacin es independiente que el escaln sea positivo o negativo.
Consideraremos que el escaln es de 0 rad a 0.08 rad.
- Los pares del resto de motores. Al igual que en los casos anteriores, los pares del
resto de motores son nulos.
- La posicin del resto de articulaciones en su peor configuracin.
- La velocidad de las restantes articulaciones. Como en los casos anteriores, la
velocidad de las restantes articulaciones es cero.
En el bloque correspondiente al motor de la articulacin 4 se deben colocar los datos de
los parmetros del motor que se seleccion en el ejemplo 6.3 para esa articulacin.
Estos datos se muestran en la tabla 6.13.
Articulacin Nombre Motor R() L(mH) KT (Nm/A) KV (V/rad/s) Imx (A)
4
DB17CDB
6.9
1.28
0.035
0.035
3.6
Tabla 6.13. Valores de los parmetros del motor utilizado para la cuarta articulacin.
En los bloques Ordena Pares, Ordena Posiciones y Ordena Velocidades se indica el
orden del vector de pares, posiciones y velocidades del robot. El orden que indicaremos
en los tres selectores ser [2 3 4 1].
Puesto que se est ajustando la cuarta articulacin, a continuacin del bloque Robot 4
GDL, se indicar en el selector que se elige la aceleracin de la cuarta articulacin. En
el bloque Integrador Aceleracin especificamos que la condicin inicial es cero, ya que
la velocidad inicial de esta articulacin es de 0 rad/s. En el bloque Integrador Velocidad
se indica que la condicin inicial es 0, puesto que la posicin inicial de la articulacin es
0 rad.
Un posible regulador que proporciona que la respuesta de la cuarta articulacin se ajuste
a las especificaciones establecidas es el siguiente:
GPID ( s) = 100
Si se realiza la simulacin del modelo se obtiene la grfica que muestra como vara la
posicin de la articulacin 4 ante el escaln introducido. Como se puede apreciar en la
grfica, al igual que en los casos anteriores, con el regulador escogido se satisfacen los
requerimientos impuestos. Ver figura 6.19.
26
q = 0 0
2
0 0 0
Para un funcio namiento satisfactorio del robot exigiremos que la respuesta de cada
articulacin cumpla las siguientes especificaciones:
-
La entrada a cada articulacin para realizar el sintonizado ser un escaln de 0.08 rad.
Este escaln ser positivo o negativo en funcin de la articulacin que se desee
sintonizar. El escaln siempre debe elegirse de modo que precise los mximos
requerimientos de par. En el caso de las articulaciones 1, 4 y 6 es independiente
considerar el escaln positivo o negativo, ya que a efectos de requerimientos de par, no
hay diferencia en girar la articulacin en un sentido o en otro. Por el contrario, se ha
considerado el escaln negativo para las articulaciones 2, 3 y 5, ya que, lgicamente los
requerimientos de par son mayores cuando estas articulaciones giran en el sentido
contrario al determinado por el eje z. Ver figura 6.10.
27
28
tau = entrada(1:6);
q
= entrada(7:12);
qp = entrada(13:18);
% Parmetros de la carga
masaext
= 10;
inerciaext = [0.0167 0 0;0 0.0167 0;0 0 0.0167];
% Se calcula la aceleracin utilizando el mtodo de Walker y Orin.
qpp = walkerorin6(q,qp,tau,masaext,inerciaext);
GPID ( s ) = 500 + 12 s
En la figura 6.22 se muestra como vara la posicin de la articulacin 1 ante el escaln
introducido. Como se puede apreciar en la grfica, con el regulador escogido se
satisfacen los requerimientos impuestos.
30
Motor 2
Para realizar el sintonizado del motor 2 se utiliza el modelo implementado en Simulink
que se encuentra en el fichero sintonizar2d6.mdl. Este modelo contiene el esquema de
control en bucle cerrado de la segunda articulacin que permite ajustar su regulador PID
para que la respuesta satisfaga las especificaciones.
Las entradas al esquema de control son:
- El escaln de posicin que se aplica a la segunda articulacin. El valor de la
posicin de esta articulacin en la peor configuracin del robot es 0 rad, por lo tanto
el escaln ser de 0 rad a -0.08 rad, ya que el mayor requerimiento de par se produce
cuando la articulacin gira en sentido contrario al determinado por la regla de la
mano derecha.
- Los pares del resto de motores. Al igual que en el caso anterior, los pares de entrada
al resto de articulaciones son nulos.
- La posicin del resto de articulaciones en su peor configuracin.
- La velocidad de las restantes articulaciones. Como en el caso anterior, la velocidad
de las restantes articulaciones es cero.
En el bloque correspondiente al motor de la articulacin 2 se deben colocar los datos de
los parmetros del motor que se seleccion en el ejemplo 6.4 para esa articulacin.
Estos datos se muestran en la tabla 6.16.
Articulacin Nombre Motor R() L(mH) KT (Nm/A) KV (V/rad/s) Imx (A)
2
DA34FBB
0.7
1.01
0.112
0.112
21.8
Tabla 6.16. Valores de los parmetros del motor utilizado para la segunda articulacin.
En los bloques Ordena Pares, Ordena Posiciones y Ordena Velocidades se indica el
orden del vector de pares, posiciones y velocidades del robot. El orden que indicaremos
en los tres selectores ser [2 1 3 4 5 6].
31
Puesto que se est ajustando la segunda articulacin, a continuacin del bloque Robot 6
GDL, se indicar en el selector que se elige la aceleracin de la segunda articulacin. En
el bloque Integrador Aceleracin especificamos que la condicin inicial es cero, ya que
la velocidad inicial de esta articulacin es de 0 rad/s. En el bloque Integrador Velocidad
se indica que la condicin inicial es cero, puesto que la posicin inicial de la
articulacin es 0 rad.
Un posible regulador que proporciona que la respuesta de la segunda articulacin se
ajuste a las especificaciones establecidas es el siguiente:
GPID ( s ) = 200
Si se realiza la simulacin del modelo se obtiene la grfica que muestra como vara la
posicin de la articulacin 2 ante el escaln introducido. Como se puede apreciar en la
figura 6.23, al igual que en el caso anterior, con el regulador escogido se satisfacen los
requerimientos impuestos.
Motor 3
Para realizar el sintonizado del motor 3 se utiliza el modelo que se encuentra en el
fichero sintonizar3d6.mdl. Este modelo contiene el esquema de control en bucle cerrado
de la tercera articulacin que permite ajustar su regulador PID para que la respuesta
cumpla las especificaciones.
Las entradas al esquema de control son:
- El escaln de posicin que se aplica a la tercera articulacin. El valor de la posicin
de esta articulacin en la peor configuracin del robot es /2 rad, por lo tanto el
escaln ser de /2 rad a /2 0.08 rad, ya que el mayor requerimiento de par se
produce cuando la articulacin gira en sentido contrario al determinado por la regla
de la mano derecha.
- Los pares del resto de motores. Al igual que en los casos anteriores, los pares de
entrada al resto de articulaciones son nulos.
- La posicin del resto de articulaciones en su peor configuracin.
32
GPID ( s ) = 200
Si se realiza la simulacin del modelo se obtiene la grfica que muestra como vara la
posicin de la articulacin 3 ante el escaln introducido. Como se puede apreciar en la
figura 6.24, al igual que en los casos anteriores, con el regulador escogido se satisfacen
los requerimientos impuestos.
33
Motor 4
Para realizar el sintonizado del motor 4 se utiliza el modelo que se encuentra en el
fichero sintonizar4d6.mdl. Este modelo contiene el esquema de control en bucle cerrado
de la cuarta articulacin que permite ajustar su regulador PID para que la respuesta
cumpla las especificaciones.
Las entradas al esquema de control son:
- El escaln de posicin que se aplica a la cuarta articulacin. El valor de la posicin
de esta articulacin en la peor configuracin del robot es 0 rad. Para esta
articulacin es independiente que el escaln sea positivo o negativo.
Consideraremos que el escaln es de 0 rad a 0.08 rad.
- Los pares del resto de motores. Al igual que en los casos anteriores, los pares de
entrada al resto de articulaciones son nulos.
- La posicin del resto de articulaciones en su peor configuracin.
- La velocidad de las restantes articulaciones. Como en los casos anteriores, la
velocidad de las restantes articulaciones es cero.
En el bloque correspondiente al motor de la articulacin 4 se deben colocar los datos de
los parmetros del motor que se seleccio n en el ejemplo 6.4 para esa articulacin.
Estos datos se muestran en la tabla 6.18.
Articulacin Nombre Motor R() L(mH) KT (Nm/A) KV (V/rad/s) Imx (A)
4
DB17CDB
6.9
1.28
0.035
0.035
3.6
Tabla 6.18. Valores de los parmetros del motor utilizado para la cuarta articulacin.
En los bloques Ordena Pares, Ordena Posiciones y Ordena Velocidades se indica el
orden del vector de pares, posiciones y velocidades del robot. El orden que indicaremos
en los tres selectores ser [2 3 4 1 5 6].
Puesto que se est ajustando la cuarta articulacin, a continuacin del bloque Robot 6
GDL, se indicar en el selector que se elige la aceleracin de la cuarta articulacin. En
el bloque Integrador Aceleracin especificamos que la condicin inicial es cero, ya que
la velocidad inicial de esta articulacin es de 0 rad/s. En el bloque Integrador Velocidad
se indica que la condicin inicial es 0, puesto que la posicin inicial de la articulacin es
0 rad.
Un posible regulador que proporciona que la respuesta de la cuarta artic ulacin se ajuste
a las especificaciones establecidas es el siguiente:
GPID ( s) = 100
Si se realiza la simulacin del modelo se obtiene la grfica que muestra como vara la
posicin de la articulacin 4 ante el escaln introducido. Como se puede apreciar en la
figura 6.25, al igual que en los casos anteriores, con el regulador escogido se satisfacen
los requerimientos impuestos.
34
Motor 5
Para realizar el sintonizado del motor 5 se utiliza el modelo que se encuentra en el
fichero sintonizar5d6.mdl. Este modelo contiene el esquema de control en bucle cerrado
de la quinta articulacin que permite ajustar su regulador PID para que la respuesta
cumpla las especificaciones.
Las entradas al esquema de control son:
- El escaln de posicin que se aplica a la quinta articulacin. El valor de la posicin
de esta articulacin en la peor configuracin del robot es 0 rad, por lo tanto el
escaln ser de 0 rad a -0.08 rad, ya que el mayor requerimiento de par se produce
cuando la articulacin gira en sentido contrario al determinado por la regla de la
mano derecha.
- Los pares del resto de motores. Al igual que en los casos anteriores, los pares de
entrada al resto de articulaciones son nulos.
- La posicin del resto de articulaciones en su peor configuracin.
- La velocidad de las restantes articulaciones. Como en los casos anteriores, la
velocidad de las restantes articulaciones es cero.
En el bloque correspondiente al motor de la articulacin 5 se deben colocar los datos de
los parmetros del motor que se seleccion en el ejemplo 6.4 para esa articulacin.
Estos datos se muestran en la tabla 6.19.
Articulacin Nombre Motor R() L(mH) KT (Nm/A) KV (V/rad/s) Imx (A)
5
DB17CDB
6.9
1.28
0.035
0.035
3.6
Tabla 6.19. Valores de los parmetros del motor utilizado para la quinta articulacin.
En los bloques Ordena Pares, Ordena Posiciones y Ordena Velocidades se indica el
orden del vector de pares, posiciones y velocidades del robot. El orden que indicaremos
en los tres selectores ser [2 3 4 5 1 6].
Puesto que se est ajustando la quinta articulacin, a continuacin del bloque Robot 6
GDL, se indicar en el selector que se elige la aceleracin de la quinta articulacin. En
35
GPID ( s) = 100
Si se realiza la simulacin del modelo se obtiene la grfica que muestra como vara la
posicin de la articulacin 5 ante el escaln introducido. Como se puede apreciar en la
figura 6.26, al igual que en los casos anteriores, con el regulador escogido se satisfacen
los requerimientos impuestos.
Motor 6
Para realizar el sintonizado del motor 6 se utiliza el modelo que se encuentra en el
fichero sintonizar6d6.mdl. Este modelo contiene el esquema de control en bucle cerrado
de la sexta articulacin que permite ajustar su regulador PID para que la respuesta
cumpla las especificaciones.
Las entradas al esquema de control son:
- El escaln de posicin que se aplica a la sexta articulacin. El valor de la posicin
de esta articulacin en la peor configuracin del robot es 0 rad. Para esta
articulacin es independiente que el escaln sea positivo o negativo.
Consideraremos que el escaln es de 0 rad a 0.08 rad.
- Los pares del resto de motores. Al igual que en los casos anteriores, los pares de
entrada al resto de articulaciones son nulos.
- La posicin del resto de articulaciones en su peor configuracin.
- La velocidad de las restantes articulaciones. Como en los casos anteriores, la
velocidad de las restantes articulaciones es cero.
36
GPID ( s) = 100
Si se realiza la simulacin del modelo se obtiene la grfica que muestra como vara la
posicin de la articulacin 6 ante el escaln introducido. Como se puede apreciar en la
figura 6.27, al igual que en los casos anteriores, con el regulador escogido se satisfacen
los requerimientos impuestos.
37
6.4.-Simulacin de robots.
Una vez que se han seleccionado los servoaccionamientos del robot y se ha efectuado el
sintonizado, ya puede realizarse una simulacin completa del funcionamiento del robot.
Ejemplo 6.7. Simulacin del robot de 4 GDL.
Se ha realizado la simulacin del robot de 4 GDL para que realice una planificacin de
su extremo en lnea recta entre dos puntos del espacio cartesiano. La planificacin
realizada nicamente es en posicin, de manera que el robot parte de la posicin inicial
con velocidad nula. Para realizar la planificacin se ha dividido la trayectoria en un
nmero determinado de intervalos, de forma que en cada iteracin de la simulacin, se
proporciona la posicin que debe alcanzar el extremo del robot. Para realizar la
simulacin se ha desarrollado en Simulink el modelo que se encuentra en el fichero
simulador4.mdl. Ver figura 6.28.
SIMULACIN DE LA TRAYECTORIA EN LNEA RECTA DEL ROBOT DE 4GDL
PID
Sum1
PID 1
25
Saturation 1 Amplificador 1
Volt
Vel
Par
Motor 1
[0 -0.6 0.5]
Posicin Inicial
PID
Planificacin
Demux
Sum2
PID 2
25
Saturation 2
Amplificador 2
[0 -1 1.2]
Volt
Vel
Par
Motor 2
PID
Sum3
PID 3
25
Saturation 3
Amplificador 3
Saturation 4
Amplificador 4
PID
Sum4
Cinemtica
MATLAB
Inversa
Function
Mux
Mux
Planificacin de
trayectorias
Posicin Final
PID 4
25
Pares
Volt
Vel
Mux
MATLAB
Function
Robot 4GDL
1/s
Integrator
Par
Motor 3
Volt
Vel
Par
Velocidades
Motor 4
Demux1
Demux
Demux
To Workspace
mat_q
1/s
Posiciones
Integrator1
Graficas
38
Articulacin
P
I
D
1
90
0
1.6
2
300
0
6
3
200
0
5.7
4
100
0
0
Tabla 6.21. Valores de los reguladores del robot de 4 GDL.
El bloque Robot 4 GDL representa la dinmica directa del robot de 4 GDL. Como se
mostr en el ejemplo 6.3, para realizar la dinmica directa se ha desarrollado en Matlab
la funcin dindir4gdl.m. Esta funcin calcula la aceleracin de cada articulacin
cuando el robot transporta una determinada carga en funcin de la posicin y velocidad
actual de la articulacin y de su fuerza/par de entrada.
El simulador efecta una planificacin de la trayectoria del extremo del robot en lnea
recta entre la posicin cartesiana inicial y final especificadas. Para realizar la
planificacin de trayectorias se ha desarrollado el subsistema Planificacin. Este
subsistema se muestra en la figura 6.29.
39
Esta funcin proporciona las coordenadas articulares del robot del instante actual de
simulacin a partir del instante de tiempo y de la posicin inicial y final expresadas en
coordenadas cartesianas. La funcin realiza una planificacin de trayectorias en lnea
recta entre la posicin inicial y la final. Para ello divide la trayectoria en un nmero de
segmentos que viene impuesto por los parmetros con los que se desea simular en
Simulink:
n segmentos =
tiempo de simulacin
intervalo de integraci n
41
ANIMACION4
Animacin de la trayectoria de un robot de 4 GDL
ANIMACION(MAT_Q) realiza la animacin de la trayectoria, expresada
en la matriz MAT_Q, de un brazo robot de 4 GDL. MAT_Q contiene 4 filas
y una columna para cada disposicin del robot.
Ver tambin DRAWROBOT3D4.
function animacion4(mat_q)
% Parmetros Denavit-Hartenberg del robot. Los parmetros correspondientes
% a variables articulares aparecen con valor 0
teta = [0
0
0
0 ];
d
= [0.4
0
0 0.2];
a
= [0
-0.1
0
0 ];
alfa = [0
-pi/2
0
0 ];
% Vector de posicion (x, y, z) del sistema de coordenadas de referencia
x0 = 0;
y0 = 0;
z0 = 0;
% Se dibuja el sistema de coordenadas de referencia. Se asigna el modo XOR
para borrar
% slo el robot dibujado anteriormente. Se utiliza un grosor de lnea de 2
unidades
p = plot3(x0,y0,z0,'EraseMode','xor','LineWidth',2);
% Se asigna una rejilla a los ejes
grid;
% Se establecen los lmites de los ejes
axis([-1.5 1.5 -1.5 1.5 0 1.5]);
% Mantiene el grfico actual
hold on;
% Nmero de columnas de la matriz
n = size(mat_q,2);
% Se dibuja la disposicin del robot correspondiente a cada columna
for i=1:n
% Variables articulares del brazo robot
q1 = mat_q(1,i);
q2 = mat_q(2,i);
q3 = mat_q(3,i);
q4 = mat_q(4,i);
%
Matrices de transformacin homognea entre sistemas de coordenadas
consecutivos
A01 = denavit(q1, d(1), a(1), alfa(1));
A12 = denavit(teta(2), q2, a(2), alfa(2));
A23 = denavit(teta(3), q3, a(3), alfa(3));
A34 = denavit(q4, d(4), a(4), alfa(4));
% Matrices
A02 = A01 *
A03 = A02 *
A04 = A03 *
%
x1
xi
x2
x3
x4
% Se dibuja el robot
x = [x0 x1 xi x2 x3 x4];
42
En la figura 6.31 se muestra el instante final de la animacin del robot cuyo extremo
realiza una trayectoria en lnea recta entre la posicin (0,-0.6,0.5) y (0,-1,1.2).
43
PID
Sum1
PID 1
25
PID
Sum2
[0 0.1 0.4]
Posicin Inicial
Planificacin
Sum3
Planificacin de
trayectorias
Posicin Final
25
PID 3
25
PID
Sum4
PID 4
PID 5
Amplificador 3
25
25
Volt
Amplificador 5
Saturation 6
Amplificador 6
Par
Mux
Pares
Volt
MATLAB
Mux
Motor 3
Mux
Function
Robot 6GDL
1/s
Integrator
Par
Motor 4
Volt
Vel
Saturation 5
Par
Motor 2
Vel
Saturation 4 Amplificador 4
PID
Sum5
Volt
Vel
Saturation 3
Par
Motor 1
Vel
Saturation 2 Amplificador 2
PID
Demux
PID 2
Volt
Vel
Saturation 1 Amplificador 1
Par
Motor 5
Velocidades
Cinemtica
Inversa
MATLAB
Function
PID
Sum6
PID 6
25
Volt
Vel
Par
Motor 6
Demux1
Demux
Demux
To Workspace
mat_q
1/s
Posiciones
Integrator1
Graficas
44
Esta funcin proporciona las coordenadas articulares del robot del instante actual de
simulacin a partir del instante de tiempo y de la posicin inicial y final expresadas en
coordenadas cartesianas. La funcin realiza una planificacin de trayectorias en lnea
recta entre la posicin inicial y la final. Para ello divide la trayectoria en un nmero de
segmentos que viene impuesto por los parmetros con los que se desea simular en
Simulink:
45
n segmentos =
tiempo de simulacin
intervalo de integraci n
46
En la figura 6.34 se muestra el instante final de la animacin del robot cuyo extremo
realiza una trayectoria en lnea recta entre la posicin (0,0.1,0.4) y (-0.4,0.2,0.3).
47
48