Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Practica6 PDF
Practica6 PDF
Prctica 6
Simulacin y Control de Robots
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.
Prctica 6 .- Pg. 1
Prcticas de Robtica utilizando Matlab
Hay dos estructuras de control tpicas utilizadas en los robots: control acoplado y
control desacoplado.
Control desacoplado
Control acoplado
Figura 6.1. Estructura de control desacoplado de un robot de 3 grados de libertad. En este caso, la entrada
a cada articulacin es un escaln.
Prctica 6 .- Pg. 2
Prcticas de Robtica utilizando Matlab
El sintonizado de un robot consiste en ajustar cada uno de los controladores para que el
robot satisfaga un comportamiento especificado. Para ello, en un esquema de control
desacoplado, se deber sintonizar de manera independiente cada articulacin del robot.
El sintonizado de una articulacin consiste en ajustar los parmetros del regulador que
acta sobre ella para que su respuesta cumpla unas determinadas especificaciones.
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:
1 k I
GPID ( s) = k p (1 + + Td s) = k p (1 + i + k d s) = P + + Ds (6.1)
Ti s s s
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 Ziegler-
Nichols.
Este mtodo propone una manera de ir modificando los parmetros del regulador para
conseguir que la respuesta de la articulacin cumple las especificaciones impuestas.
Mtodo de Ziegler-Nichols
Sea kcr la ganancia proporcional crtica a la cual la respuesta del sistema se vuelve
peridica y Pcr el perodo de la respuesta. En base a estos valores, el mtodo de Ziegler-
Nichols proporciona los valores del regulador que aseguran una respuesta aceptable.
Los valores que proporciona este mtodo se muestran en la tabla 6.1.
kp =0.6 kcr
Ti = 0.5 Pcr
Td = 0.125 Pcr
Prctica 6 .- Pg. 3
Prcticas de Robtica utilizando Matlab
Hay que destacar que es posible que la respuesta obtenida aplicando los valores
obtenidos por este mtodo no satisfaga las especificaciones impuestas, por lo que ser
necesario modificar estos valores mediante prueba y error. La utilidad de este mtodo es
que nos proporciona un punto de partida para realizar el ajuste de los parmetros.
Ejemplo 6.1
Vamos a suponer que el esquema de control de este robot es desacoplado, por lo que
cada articulacin dispondr de un regulador PID y durante el proceso de sintonizado de
una articulacin concreta, los actuadores del resto de articulaciones permanecern
apagados.
Para efectuar el sintonizado del robot hay que situarlo en la peor posicin, introducir a
la articulacin que se desea ajustar un escaln y comprobar que la respuesta de la
articulacin cumple las especificaciones deseadas. La peor posicin en la que se puede
encontrar el robot viene dada por:
q = (0 1 1.2 0)
Prctica 6 .- Pg. 4
Prcticas de Robtica utilizando Matlab
Motor 1
% Parmetros de la carga
masaext = 10;
inerciaext = [0.0167 0 0;0 0.0167 0;0 0 0.0167];
Prctica 6 .-el
% Se calcula la aceleracin utilizando Pg. 5
mtodo de Walker y Orin.
qpp = walkerorin4(q,qp,tau,masaext,inerciaext);
Prcticas de Robtica utilizando Matlab
2 n
F=
p
donde es el par (Nm), p es el paso del husillo (m) y n es la eficiencia del husillo.
Tabla 6.2. Valores de los parmetros del motor utilizado para la primera articulacin.
Prctica 6 .- Pg. 6
Prcticas de Robtica utilizando Matlab
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.
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.3.
Cuando finalice la simulacin pulsando dos veces con el ratn sobre el bloque Grfica
Respuesta aparece la posicin de la articulacin y el escaln introducido.
En el caso de esta articulacin, no ha sido posible realizar el sintonizado que cumpla las
especificaciones establecidas. Esto se debe a que el motor elegido responde ms lento
de lo esperado. Para solucionar este problema se va a seleccionar un motor que
proporciona un par mayor. Las caractersticas de este motor se muestran en la tabla 6.3.
Tabla 6.3. Valores de los parmetros del motor utilizado para la primera articulacin.
Prctica 6 .- Pg. 7
Prcticas de Robtica utilizando Matlab
Motor 2
Prctica 6 .- Pg. 8
Prcticas de Robtica utilizando Matlab
Puesto que se est ajustando la segunda articulacin, a continuacin del bloque Robot 4
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 m/s. En el bloque Integrador Velocidad
se indica que la condicin inicial es 1, puesto que la posicin inicial de la articulacin es
1 m.
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.5.
Motor 3
Prctica 6 .- Pg. 9
Prcticas de Robtica utilizando Matlab
Puesto que se est ajustando la tercera articulacin, a continuacin del bloque Robot 4
GDL, se indicar en el selector que se elige la aceleracin de la tercera articulacin. En
el bloque Integrador Aceleracin especificamos que la condicin inicial es cero, ya que
la velocidad inicial de esta articulacin es de 0 m/s. En el bloque Integrador Velocidad
se indica que la condicin inicial es 1.2, puesto que la posicin inicial de la articulacin
es 1.2 m.
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
grfica, al igual que en el caso anterior, con el regulador escogido se satisfacen los
requerimientos impuestos. Ver figura 6.6.
Prctica 6 .- Pg. 10
Prcticas de Robtica utilizando Matlab
Motor 4
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
Prctica 6 .- Pg. 11
Prcticas de Robtica utilizando Matlab
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.7.
Ejemplo 6.2
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
Prctica 6 .- Pg. 12
Prcticas de Robtica utilizando Matlab
SIM U LAC I N D E LA TR AY EC TO R IA EN LN EA R EC TA D EL R O B O T D E 4 G D L
P ID 25 Volt
Par
Vel
Sum 1 P ID 1 S a tu ra ti o n 1 A m p l i fi ca d o r 1
M o to r 1
[0 -0 .6 0 .5 ]
P ID 25 Volt
P o si ci n In i ci a l Par
P l a n i fi ca ci n De m u x Vel
Sum 2 P ID 2 S a tu ra ti o n 2 A m p l i fi ca d o r 2
M o to r 2 M ux
[0 -1 1 .2 ] M AT LAB
M ux 1 /s
P l a n i fi ca ci n d e Fu n cti o n
P o si ci n Fi n a l
tra ye cto ri a s In te g ra to r
P a re s M ux Ro b o t 4 G DL
P ID 25 Volt
Par
Vel
Sum 3 P ID 3 S a tu ra ti o n 3 A m p l i fi ca d o r 3
M o to r 3
P ID 25 Volt
Par
Vel
Sum 4 P ID 4 S a tu ra ti o n 4 A m p l i fi ca d o r 4 V e l o ci d a d e s
Ci n e m ti ca M AT LAB M o to r 4
In ve rsa Fu n cti o n
De m u x1
De m u x De m u x
T o Wo rksp a ce
m a t_ q 1 /s
P o si ci o n e s
In te g ra to r1
G ra fi ca s
Articulacin P I D
1 90 0 1.6
2 300 0 6
3 200 0 5.7
4 100 0 0
Tabla 6.5. 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.
Prctica 6 .- Pg. 13
Prcticas de Robtica utilizando Matlab
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.9.
function q = planifica4(entrada)
Prctica 6 .- Pg. 14
Prcticas de Robtica utilizando Matlab
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:
tiempo de simulacin
n segmentos =
intervalo de integracin
function q = cininv4gdl(entrada)
% Posicin cartesiana
p = entrada;
Prctica 6 .- Pg. 15
Prcticas de Robtica utilizando Matlab
Con la finalidad de poder efectuar una animacin de la trayectoria del extremo del robot
desde Matlab se guarda la posicin de cada articulacin en la matriz mat_q. Esta matriz
posee una fila por cada instante de simulacin y una columna por cada variable
articular.
Una vez que se han establecido los parmetros de simulacin de Simulink , ya puede
realizarse la simulacin del modelo. Una vez finalizada la simulacin, podremos, desde
el entorno de Matlab , realizar una animacin para comprobar visualmente que el robot
continuacin:
% 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)
Prctica 6 .- Pg. 16
Prcticas de Robtica utilizando Matlab
d = [0.4 0 0 0.2];
a = [0 -0.1 0 0 ];
alfa = [0 -pi/2 0 0 ];
% Se dibuja el robot
x = [x0 x1 xi x2 x3 x4];
y = [y0 y1 yi y2 y3 y4];
z = [z0 z1 zi z2 z3 z4];
set(p,'XData',x,'YData',y,'ZData',z);
% Se fuerza a MATLAB a actualizar la pantalla
drawnow;
end
animacion4(mat_q')
Prctica 6 .- Pg. 17
Ejercicio 2
Ejercicio 1
Prcticas de Robtica utilizando Matlab
En la figura 6.11 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).
EJERCICIOS PROPUESTOS
Implementar las funciones del ejemplo 6.1 para el caso del robot rotacional de 6
gdl mostrado en las prcticas anteriores.
Implementar las funciones del ejemplo 6.2 para el caso del robot rotacional de 6
gdl mostrado en las prcticas anteriores.
Prctica 6 .- Pg. 18