Académique Documents
Professionnel Documents
Culture Documents
1. OBJETIVO
El objetivo fundamental del laboratorio de Control Avanzado es establecer una
relacin entre los conceptos y mtodos tericos explicados en la asignatura y las
aplicaciones prcticas de los mismos. Para ello se realizarn por un lado, prcticas
de laboratorio utilizando paquetes de software que permitan la simulacin de
diferentes algoritmos de control y por el otro, prcticas en sistemas reales que
permitan confrontar la teora con los resultados prcticos.
2. CONTENIDOS FUNDAMENTALES
La idea bsica del laboratorio es la revisin y aplicacin de los conceptos
fundamentales de la Teora de Control Avanzado, intentando en lo posible resolver
problemas lo ms parecidos a aqullos que un ingeniero se puede encontrar en su
prctica profesional. Para ello, se realizaran las siguientes prcticas:
PRACTICA N 1: Identificacin de sistemas dinmicos.
PRACTICA N 2: Diseo de controladores en el espacio e estado.
PRACTICA N 3: Controladores autoajustables por asignacin de polos.
PRACTICA N 4: Controladores de Mnima Varianza.
PRACTICA N 5: Controlador PI Adaptativo por asignacin y cancelacin de polos.
PRACTICA N 6: Control adaptativo por Modelo de Referencia (MRAC).
PRACTICA N 7: Control adaptativo con Ganancia Programable.
PRACTICA N 8: Control Predictivo.
3. PROCEDIMIENTO
Utilizando el MATLAB y el SIMULINK y durante todo el curso, el alumno realizar
un proyecto de modelado, simulacin y control de un proceso seleccionado
previamente (Un proceso de flujo, de nivel, de temperatura o el correspondiente a
un motor de DC). En dicho proyecto deber aplicar uno a uno los conceptos que
se tratan en la teora de Control Avanzado.
PRACTICA N 1
IDENTIFICACIN DE SISTEMAS DINMICOS.
Objetivo
El objetivo general de esta prctica es lograr que el alumno desarrolle, en un
marco prctico, los conceptos y tcnicas estudiadas sobre el modelado
matemtico de sistemas fsicos y que comprenda la importancia de una correcta
identificacin del sistema para realizar un adecuado control del mismo.
Producto final
Generar un programa en MATLAB que lea un archivo en formato xx.dat obtenido
a partir de la aplicacin de una seal de entrada al proceso seleccionado (Nivel,
flujo, presin, temperatura o motor DC) y permita estimar el modelo matemtico
que describa su comportamiento dinmico aproximndolo a sistemas discretos de
primero, segundo y tercer orden con su respectiva validacin.
Se recomienda, para obtener mejores resultados, realizar una identificacin previa
del sistema utilizando identificacin no paramtrica, aproximarlo a un sistema de
primer orden con retardo (POR), discretizarlo con el periodo de muestreo
adecuado y utilizar estos parmetros como punto de partida para la identificacin
pedida.
MARCO TERICO
Identificacin de sistemas
Se entiende por identificacin de sistemas a la obtencin en forma experimental
de un modelo que reproduzca con suficiente exactitud, para los fines deseados,
las caractersticas dinmicas del proceso objeto de estudio.
Procedimiento para la identificacin.
Como primer paso se debe seleccionar el proceso o planta con la cual se va a
trabajar durante el curso. Esta puede ser un sistema de nivel, de flujo, de presin
de temperatura o un motor de DC.
Para la identificacin se utiliza el mtodo de Mnimos cuadrados recursivos (RLS)
El proceso de identificacin a realizar comprende los siguientes pasos:
En donde
En donde:
3. Calcular el error:
y regresar al paso 2.
modo que tome los datos de un archivo (datos.dat) y permita seleccionar modelos
de primero, segundo y tercer orden y validarlos adecuadamente.
clc
u=[0 1 1 1 1 1 1]; % datos de entrada
y=[0 0.73 1.26 1.55 1.73 1.84 1.91]; % datos de salida
n=input('entre el orden del sistema n=');
p=1000*eye(2*n);
th=[zeros(1,2*n)]';
for k=1:length(y)-1
phit=[-y(k+1) -y(k) u(k+1) u(k)];
e=y(k+1)-phit*th
l=p*phit'/(1+phit*p*phit');
th=th+l*e;
p=eye(2*n)-l*phit*p;
end
u1=[1 1 1 1 1 1 1];
n=[th(3) th(4)];
d=[1 th(1) th(2)];
y1=dlsim(n,d,u1)
plot(y1)
hold
plot(y,'*')
grid
PRACTICA N 2
DISEO DE CONTROLADORES EN EL ESPACIO DE ESTADO
Objetivo
Con esta prctica se pretende que el alumno aplique los conceptos tericos que
le permitan abordar el diseo de sistemas de control digital utilizando tcnicas de
realimentacin del estado y asignacin de polos con el fin de conseguir que el
sistema a controlar cumpla unas especificaciones dadas.
Producto final
Generar un programa en MATLAB que permita estimar, para el proceso
seleccionado, la matriz de ganancia de realimentacin incluyendo integrador, la
matriz de ganancia de un observador de orden completo y la ley de control para el
mismo. El programa permitir simular el sistema con la ley de control diseada.
NOTA: Se debe presentar un informe de la prctica incluyendo las respuestas
obtenidas y los comentarios detallados pertinentes al diseo de los controladores.
MARCO TERICO
Sistemas tipo servo
La figura 2.1 muestra un sistema de control por realimentacin del estado
observado en el cual se utiliza un integrador adicional para estabilizar
adecuadamente el sistema y mejorar su exactitud. La ecuacin de estado de la
planta y su correspondiente ecuacin de salida son, respectivamente:
En donde:
y:
Siendo
En donde:
Siendo
1,
2...
observador:
Las matrices Ki y K1 se obtienen utilizando las ecuaciones 2.3, 2.4 y 2.5. La matriz
L, correspondiente a la matriz de ganancia del observador, se calcula a partir de la
ecuacin 2.6.
programa para que estimar la ley de control y realizar la simulacin del sistema.
clc
nd1=input('Entre el numerador discreto nd1=');
dd1=input('Entre el denominador discreto dd1=');
[ad,bd,cd,dd]=tf2ss(nd1,dd1);
A1=[ad bd;zeros(1,length(ad)+1)];
B1=[zeros(length(ad),1);eye(1)];
pK=[0.1 0.2 0.4]; % Polos deseados para la matriz K
Kp=acker(A1,B1,pK);
KT=[Kp+[zeros(1,length(ad)) eye(1)]]*inv([ad-eye(length(ad))
bd;cd*ad cd*bd]);
K1=KT(1:length(ad))
Ki=KT(length(ad))
po=[0.3 0.4];
L=acker(ad',cd',po)
PRCTICA NMERO 3
CONTROLADORES AUTOAJUSTABLES POR ASIGNACIN DE POLOS
Objetivo
Aplicar la teora presentada para el diseo de reguladores autoajustables en el
clculo de un controlador por asignacin de polos para el sistema real
seleccionado.
Producto final
Generar un programa en MATLAB que permita calcular, para el proceso
seleccionado, un controlador por asignacin de polos de modo que el sistema
cumpla las especificaciones dadas. Para el clculo del regulador y la simulacin
del sistema con el controlador se puede introducir solamente la siguiente
informacin: el numerador y el denominador del sistema, el retardo
en
MARCO TERICO
Ecuacin general para controladores lineales
Un controlador lineal se puede describir mediante la funcin de transferencia de
pulso:
y de
y los parmetros
deben seleccionarse
En donde
obtiene haciendo:
% STR
% Se debe escribir el sistema en potencias negativas de z
clc
n1=input('Entre el numerador del sistema discreto n1=');
d1=input('Entre el denominador del sistema discreto d1=');
m=input('Entre el valor de m=');
d=input('Entre el valor del retardo en periodos de muestreo d=');
polos=2*m+d;
fprintf('Entre %i polos \n',polos)
p0=input('Entre los polos deseados especificados p0=')
ec=poly(p0); % Ecuacin caracterstica deseada
S=[1 0 0 0 0 0;d1(2) 1 0 n1(1) 0 0;d1(3) d1(2) 1 n1(2) n1(1) 0;0 d1(3)
d1(2) 0 n1(2) n1(1);0 0 d1(3) 0 0 n1(2);1 1 1 0 0 0]
L1=[ec(2:length(d1))-d1(2:length(d1))];
L2=[ec((length(d1)+1):length(ec))];
L=[L1 L2 -1]'
param=(inv(S))*L;
nc=[param((m+d+1:length(param)))]'
dc=[1 [param(1:m+d)]']
disp('El controlador es:')
printsys(nc,dc,'z')
sim('STR1')
Para simular el sistema en SIMULINK realice el diagrama de la figura 3.1 y
gurdelo con el nombre STR1. Seleccione como periodo para el generador de
pulso 30 seg y amplitud unitaria.
Como trabajo de la prctica, se debe modificar el programa anterior para hacer
posible el diseo del controlador y la
nc
Pulse
Generator
Add
n1
dc
d1
-1
Z
Discrete Filter 1
Discrete Filter
Integer Delay
Scope
PRCTICA N 4
CONTROLADORES DE MINIMA VARIANZA
Objetivo
Con esta prctica se pretende que el alumno aplique los conceptos tericos que
le permitan abordar el diseo controladores de mnima varianza a partir del
conocimiento del modelo del sistema y el modelo de la perturbacin.
Producto final
Generar un programa en MATLAB que permita calcular, para el proceso
seleccionado, controladores de mnima varianza: MVR1 con factor de ponderacin
r=0.05, MVR2 y MVR3. El programa, en conjunto con el SIMULINK, debe permitir
la simulacin del sistema con la ley de control obtenida.
Para el regulador MVR3, aadir un trmino de accin integral que elimine el error
en rgimen permanente. Probar con distintos valores de . Comentar las
respuestas obtenidas.
NOTA: Se debe presentar un informe de la prctica realizada que incluya las
respuestas obtenidas as como los comentarios detallados pertinentes a cada uno
de los controladores.
Realizar el esquema SIMULINK correspondiente al sistema ARMAX en lazo
cerrado (ver figura 4.1). Simular tomando como entrada un generador de pulsos
con amplitud uno, periodo seleccionado segn el proceso analizado y visualizar la
entrada, la salida del controlador y la salida del sistema. Para representar las
funciones de transferencia (del proceso, del regulador y del filtro del ruido) se
utilizan bloques Discrete Filter, que permiten expresar las mismas en potencias
negativas de z. El bloque Simulink que proporciona un ruido blanco se encuentra
en la categora Sources y se denomina Band- Limited white noise. Un parmetro
determinante de este ltimo bloque es Power Noise, que de alguna forma
determina la amplitud del mismo. Para tener una amplitud de ruido aceptable se
fija el valor del mismo a 0.00005. El esquema, por tanto, queda de la siguiente
forma:
C(z)
Band -Limited
White Noise
A(z)
Discrete Filter 3
C(z)
Pulse
Generator
Scope
B(z)
FB(z)
Discrete Filter
A(z)
Add
Add 1
Discrete Filter 2
Discrete Filter 1
G(z)
FB(z)
En donde:
Donde:
En donde:
la expresin:
|-------d--------|-----m-----|
de
. Para implementar la
Realice
las
modificaciones
necesarias
para
simular
%m+1
G(i) = C1(d+i+1);
for j = 1:d+1
if i+d-j+2 <= length(A)
G(i) = (G(i)- F(j)*A(i+d-j+2));
end;
los
end;
end;
G=G
F=F
% calculo del vector FB
FB = conv(F,B);%clculo del vector de parmetros
minimavar11
PRCTICA N 5
CONTROLADOR PI ADAPTATIVO POR ASIGNACIN Y CANCELACIN DE
POLOS
Objetivo
Con esta prctica se pretende que el alumno aplique los conceptos tericos que
le permitan abordar el diseo controladores PI por asignacin y cancelacin de
polos para sistemas cuya dinmica se describe mediante un modelo de primer
orden con retardo
Producto final
Generar un programa en MATLAB que permita calcular, para el proceso
seleccionado, un controlador PI por asignacin y cancelacin de polos segn la
teora que se presenta a continuacin.
MARCO TERICO
Si la dinmica del sistema se aproxima a la de un sistema de primer orden con
retardo de la forma:
en
se obtiene:
Despejando q0 resulta:
Entonces, conociendo
del controlador
que
En donde
el periodo de muestreo.
A continuacin se presenta un programa en MATLAB que permite el diseo del
controlador PI por asignacin y cancelacin de polos y la simulacin del sistema
con el controlador calculado.
% Controlador por PI por cancelacin y asignacin de polos.
clc
n1=input('Entre el numerador n1=');
d1=input('Entre el denominador d1=');
d=input('Entre el retardo en periodos de muestreo d=');
p=input('Entre el polo deseado p=');
k=d1(2);
qo=(p^d)*(1-p)/(n1(1+d)*p+n1(2+d));
nc=[qo qo*k];
dc=[1 -1];
PRCTICA N 6
CONTROL ADAPTATIVO POR MODELO DE REFERENCIA (MRAC).
Objetivo
Con esta prctica se pretende que el alumno aplique los conceptos tericos que
le permitan abordar el diseo Controladores con Modelo de Referencia (MRAC)
tanto continuos como discretos.
Producto final
a) Para el sistema continuo: Implementar en SIMULINK los diagramas dados en la
figura 6.1 y 6.2 y simular el modelo del proceso seleccionado al principio del curso
aproximndolo a un sistema de primer orden y a uno de segundo orden.
Para el sistema de primer orden seleccionar
que
al modelo de referencia.
b) Para el sistema discreto: calcular para el proceso seleccionado, Controladores
MRAC utilizando diferentes modelos de referencia discretos tanto de primer orden
como de segundo orden que puedan representar la dinmica adecuada para el
buen control del proceso. Simular para cada modelo de referencia la respuesta
que se obtiene ante una seal en escaln aplicada en la referencia.
Recordar que el modelo de referencia debe tener ganancia unitaria y que se
recomienda que:
, en donde
MARCO TERICO
En esta estrategia de control se selecciona como referencia un modelo
que
En donde:
ym
5
s+5
R
Modelo de Ref
u
yp
to
0.8s+1
Proceso
1
s
So
-2
1
s
En donde
En donde:
ym
s2 +1.6s+1
1
s
-2
q1
u
yp
s2 +2s+4
1
s
qo
1
s
du/dt
du/dt
Control por modelo de referencia para un sistema discreto: Al igual que en los
sistemas continuos, la idea bsica del control con modelo de referencia MRAC,
para sistemas discretos, es que el proceso con funcin de transferencia:
Con:
Siga el modelo:
En donde:
En donde:
La figura 6.3 muestra el diagrama en bloques del sistema de control con modelo
de referencia propuesto.
En donde:
es decir:
, es decir, ceros
de
5. Si el grado de
despus de la cancelacin de
, el lado derecho de
ecuaciones:
NOTA: En caso de que el sistema tenga solo ceros estables se considera que
, en este caso la ley de control toma la forma:
PRCTICA N 7
CONTROL ADAPTATIVO CON GANANCIA PROGRAMABLE
Objetivo
Con esta prctica se pretende que el alumno aplique los conceptos tericos que
le permitan abordar el diseo Controladores con ganancia programable (Gain
scheduling) e implemente los controladores diseados en el proceso seleccionado.
Producto final: Tomando como base el proceso seleccionado y los modelos
obtenidos para cada punto de operacin, genere en MATLAB un programa que
permita calcular controladores PI con ganancia programable utilizando el criterio
IAE. El programa debe recibir los puntos de operacin, los diferentes modelos
correspondientes a cada punto de operacin, calcular los parmetros del
controlador para cada punto de operacin y obtener las ecuaciones de regresin
que relacionan los puntos de operacin con los parmetros del controlador
MARCO TERICO
La tcnica de la ganancia programable es un acercamiento al control de sistemas
no lineales que utiliza una familia de controladores lineales, para proporcionar el
control satisfactorio en diversos puntos de operacin del sistema.
Este enfoque asume que el sistema se puede representar mediante un modelo
parametrizado por ciertas variables, llamadas variables de tabulacin o de
programacin (scheduling variables), de modo que cuando estas variables
asumen un valor constante se obtiene un punto de funcionamiento. Para sintonizar
el controlador adecuado se utilizan una o ms s de las variables de programacin.
En este caso, se linealiza el sistema alrededor de distintos puntos de operacin
de inters, obtenindose una familia de modelos lineales para la cual se disea
diseado
para
dicho
punto
de
operacin.
Para
evitar
los
Parmetros del
Controlador
Programacin
Precalculada
Controlador
SP
Punto de
Trabajo
Planta
Seal de
Control
Salida
Controlador PI:
22
1.5261
-1.2592
40
1.8289
-1.5233
52
1.6498
-1.3781
67
2.2663
-1.8818
78
1.7412
-1.4606
y de
Los datos presentados en la tabla 7.1 y las ecuaciones de regresin para estimar
los parmetros
continuacin:
% GANANCIA PROGRAMABLE
% El programa calcula un controlador PI segn Ziegler-Nichols
% Para este caso, el es de primer orden con retardo POR
% Para cada punto de operacin se debe estimar el modelo
correspondiente.
%
Los
puntos
de
operacin
son
los
valores
medios
de
la
k=length(nd1);
for j=1:k
if
(abs(nd1(j)))<10^(-8)
nd1(j)=0;
else
nd1(j)=nd1(j);
end
end
printsys(nd1,dd1,'z')
theta=R+TM/2;
kc=0.9*d(1)/(n*theta);
ti=3.33*theta;
qo=kc*(1+TM/(2*ti))
q1=-kc*(1-TM/(2*ti))
qo1(N)=qo
q11(N)=q1
end
disp('Los coeficientes para el calculo de qo sn:')
coeqo=polyfit(T,qo1,4);
disp('Los coeficientes para el calculo de q1 son:')
coeq1=polyfit(T,q11,4);
T1=50:95;
qo2=polyval(coeqo,T1);
q12=polyval(coeq1,T1);
figure(1)
plot(T1,qo2,T,qo1,'*')
title('VALORES DE qo')
xlabel('T (C)')
ylabel('qo')
grid
figure(2)
plot(T1,q12,T,q11,'*')
title('VALORES DE q1')
xlabel('T (C)')
ylabel('q1')
grid
se incluyen en el
se
r(k)
m(k)
1.5
42s+1
e(k)
20
-1
Z
-K-
qo
f(u)
To Workspace
-1
Z
e(k-1)
q1
-K-
f(u)
PRACTICA N 8
CONTROL PREDICTIVO
CARMA). Para aplicaciones industriales en las que las perturbaciones son noestacionarias resulta ms conveniente el uso de un modelo CARMA integrado,
dando lugar al CARIMA, que viene descrito por:
En donde:
escribir en la forma:
En donde:
: Es la prediccin ptima de la salida del proceso pasos adelante.
: Horizonte mnimo de coste. (Horizonte mnimo de prediccin).
: Horizonte mximo de coste. (Horizonte mximo de prediccin).
: Horizonte de control.
y
Donde:
se toma
Los dos ltimos trminos de la ecuacin 8.4 dependen solo del pasado por lo
tanto, pueden agruparse en un solo trmino , dando lugar a:
solo interesa el primer elemento del vector . Por lo tanto, en la ecuacin 8.6 slo
interesa la primera fila de la matriz
GPC queda:
Siendo
, la primera fila de
potencias decrecientes de z .
Param_gpc es un vector que contiene:
o param_gpc(1) = N1
o param_gpc(2) = N2
o param_gpc(3) = Nu
o param_gpc(4) = coeficiente i de ponderacin de los errores
crecientes de z .
-1
crecientes de z .
-1
-1
Caso
1
2
3
4
5
N1
1
1
1
1
1
N2
10
15
20
10
20
Nu
10
15
20
10
20
i
1
1
1
1
1
i
1 , 5 y 10
1 , 5 y 10
1, 5 y 10
1, 10 y 100
1 ,10 y 100
PREGUNTAS
Desde el punto de vista de la accin de control generada y de la salida del
proceso:
Cul es el efecto de aumentar el horizonte de control N u?
Cul sera el efecto de variar el parmetro de ponderacin
Con que valor de
INFORME FINAL
El informe incluye:
Un CD con los programas en MATLAB en los cuales se pueda realizar la
simulacin del sistema seleccionado con cada uno de los controladores analizados
en las diferentes prcticas realizadas.
Un artculo tipo IFAC en el cual se describa en forma muy resumida, la teora
bsica propuesta en cada una de las prcticas incluyendo los controladores, las
ecuaciones de clculo de los mismos y las grficas resultantes de la simulacin
del sistema con el controlador. Este artculo debe tener como mximo diez
pginas. Consultar el formato IFAC para escribir artculos cientficos.
Implementacin de las prcticas en el proceso real: La implementacin de
los controladores en el proceso real no conlleva informe pero forma parte de la
evaluacin. Las respuestas obtenidas en el control del proceso real se pueden
incluir en el artculo en lugar de las respuestas simuladas.
BIBLIOGRAFIA
Astrm, K. Wittenmark, B. Adaptive Control. Addison Wesley, 1989.
Bordons, C. Control Predictivo: metodologa, tecnologa y nuevas perspectivas.
Departamento de Ingeniera de Sistemas y Automtica. Universidad de Sevilla.
2000
Camacho,E. Bordons, C. Model Predictive Control. Springer Verlag, 1999.
Franklin, G. Powell, D. Digital Control of Dynamic Systems. Addison Wesley,
1990.
Garca, J Luis. Sistemas de control Avanzado. Notas de clase. Politcnico
Colombiano JIC. 2009.
Iserman,R. Lachman,K. Adaptive Control Systems. Prentice Hall 1991.
Ollero, A. Control por Computador. Descripcin interna y diseo ptimo.
Marcombo Boixareu Editores, 1991.
Phillips, C. Nagle, H. Digital control systems. Anlysis and Desing. Ediciones G.
Gili. 1997.
Rodriguez, R. Lopez, M. Control Adaptativo y Robusto. Universidad de
Sevilla.1996.