Documentos de Académico
Documentos de Profesional
Documentos de Cultura
1. OBJETIVO
El objetivo fundamental del laboratorio de Control Avanzado es establecer una
relación entre los conceptos y métodos teóricos explicados en la asignatura y las
aplicaciones prácticas de los mismos. Para ello se realizarán por un lado, prácticas
de laboratorio utilizando paquetes de software que permitan la simulación de
diferentes algoritmos de control y por el otro, prácticas en sistemas reales que
permitan confrontar la teoría con los resultados prácticos.
2. CONTENIDOS FUNDAMENTALES
La idea básica del laboratorio es la revisión y aplicación de los conceptos
fundamentales de la Teoría de Control Avanzado, intentando en lo posible resolver
problemas lo más parecidos a aquéllos que un ingeniero se puede encontrar en su
práctica profesional. Para ello, se realizaran las siguientes prácticas:
PRACTICA Nº 1: Identificación de sistemas dinámicos.
PRACTICA Nº 2: Diseño de controladores en el espacio e estado.
PRACTICA Nº 3: Controladores autoajustables por asignación de polos.
PRACTICA Nº 4: Controladores de Mínima Varianza.
PRACTICA Nº 5: Controlador PI Adaptativo por asignación y cancelación 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, simulación 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 teoría de Control Avanzado.
Laboratorio de Control Avanzado 2
Luis Edo García Jaimes
PRACTICA Nº 1
IDENTIFICACIÓN DE SISTEMAS DINÁMICOS.
Objetivo
El objetivo general de esta práctica es lograr que el alumno desarrolle, en un
marco práctico, los conceptos y técnicas estudiadas sobre el modelado
matemático de sistemas físicos y que comprenda la importancia de una correcta
identificación 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 aplicación de una señal de entrada al proceso seleccionado (Nivel,
flujo, presión, temperatura o motor DC) y permita estimar el modelo matemático
que describa su comportamiento dinámico aproximándolo a sistemas discretos de
primero, segundo y tercer orden con su respectiva validación.
Se recomienda, para obtener mejores resultados, realizar una identificación previa
del sistema utilizando identificación no paramétrica, aproximarlo a un sistema de
primer orden con retardo (POR), discretizarlo con el periodo de muestreo
adecuado y utilizar estos parámetros como punto de partida para la identificación
pedida.
MARCO TEÓRICO
Identificación de sistemas
Se entiende por identificación de sistemas a la obtención en forma experimental
de un modelo que reproduzca con suficiente exactitud, para los fines deseados,
las características dinámicas del proceso objeto de estudio.
Procedimiento para la identificación.
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 presión
de temperatura o un motor de DC.
Para la identificación se utiliza el método de Mínimos cuadrados recursivos (RLS)
El proceso de identificación a realizar comprende los siguientes pasos:
Laboratorio de Control Avanzado 2
Luis Edo García Jaimes
En donde:
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
Laboratorio de Control Avanzado 2
Luis Edo García Jaimes
PRACTICA Nº 2
DISEÑO DE CONTROLADORES EN EL ESPACIO DE ESTADO
Objetivo
Con esta práctica se pretende que el alumno aplique los conceptos teóricos que
le permitan abordar el diseño de sistemas de control digital utilizando técnicas de
realimentación del estado y asignación 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 realimentación 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 diseñada.
NOTA: Se debe presentar un informe de la práctica incluyendo las respuestas
obtenidas y los comentarios detallados pertinentes al diseño de los controladores.
MARCO TEÓRICO
Sistemas tipo servo
La figura 2.1 muestra un sistema de control por realimentación del estado
observado en el cual se utiliza un integrador adicional para estabilizar
adecuadamente el sistema y mejorar su exactitud. La ecuación de estado de la
planta y su correspondiente ecuación de salida son, respectivamente:
En donde:
y:
En donde:
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
ecuación 2.6.
Laboratorio de Control Avanzado 2
Luis Edo García Jaimes
PRÁCTICA NÚMERO 3
CONTROLADORES AUTOAJUSTABLES POR ASIGNACIÓN DE POLOS
Objetivo
Aplicar la teoría presentada para el diseño de reguladores autoajustables en el
cálculo de un controlador por asignación de polos para el sistema real
seleccionado.
Producto final
Generar un programa en MATLAB que permita calcular, para el proceso
seleccionado, un controlador por asignación de polos de modo que el sistema
cumpla las especificaciones dadas. Para el cálculo del regulador y la simulación
del sistema con el controlador se puede introducir solamente la siguiente
información: el numerador y el denominador del sistema, el retardo en
periodos de muestreo y los polos deseados para el mismo según condiciones de
funcionamiento del proceso. El programa debe permitir la simulación del sistema
con el controlador diseñado para ello se puede utilizar el SIMULINK como
herramienta auxiliar.
MARCO TEÓRICO
Ecuación general para controladores lineales
Un controlador lineal se puede describir mediante la función de transferencia de
pulso:
En donde
Laboratorio de Control Avanzado 2
Luis Edo García Jaimes
% 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); % Ecuación característica 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
guárdelo con el nombre STR1. Seleccione como periodo para el generador de
pulso 30 seg y amplitud unitaria.
Como trabajo de la práctica, se debe modificar el programa anterior para hacer
posible el diseño del controlador y la simulación de cualquier sistema sin
necesidad de entrar manualmente la matriz S.
Laboratorio de Control Avanzado 2
Luis Edo García Jaimes
nc n1 Scope
-1
dc d1 Z
Pulse
Add Discrete Filter 1 Discrete Filter Integer Delay
Generator
PRÁCTICA Nº 4
CONTROLADORES DE MINIMA VARIANZA
Objetivo
Con esta práctica se pretende que el alumno aplique los conceptos teóricos que
le permitan abordar el diseño controladores de mínima varianza a partir del
conocimiento del modelo del sistema y el modelo de la perturbación.
Producto final
Generar un programa en MATLAB que permita calcular, para el proceso
seleccionado, controladores de mínima varianza: MVR1 con factor de ponderación
r=0.05, MVR2 y MVR3. El programa, en conjunto con el SIMULINK, debe permitir
la simulación del sistema con la ley de control obtenida.
Para el regulador MVR3, añadir un término de acción integral que elimine el error
en régimen permanente. Probar con distintos valores de α. Comentar las
respuestas obtenidas.
NOTA: Se debe presentar un informe de la práctica 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 según 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 categoría Sources y se denomina Band- Limited white noise. Un parámetro
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:
Laboratorio de Control Avanzado 2
Luis Edo García Jaimes
C(z)
Discrete Filter 1
G(z)
FB(z)
MARCO TEÓRICO
Controlador de mínima varianza: El controlador de mínima varianza tiene como
objetivo minimizar el efecto de las perturbaciones sobre la salida.
Este tipo de controlador puede englobarse dentro de los de síntesis óptima, ya que
se utiliza la minimización de un índice de coste como criterio de diseño.
La estrategia control consiste en calcular la señal de control con los valores
disponibles en ese instante o sea , de tal
forma que se minimice uno de los siguientes criterios:
Donde:
En donde:
Laboratorio de Control Avanzado 2
Luis Edo García Jaimes
|-------d--------|-----m-----|
Laboratorio de Control Avanzado 2
Luis Edo García Jaimes
end;
end;
G=G
F=F
% calculo del vector FB
FB = conv(F,B);%cálculo del vector de parámetros
minimavar11
Laboratorio de Control Avanzado 2
Luis Edo García Jaimes
PRÁCTICA Nº 5
CONTROLADOR PI ADAPTATIVO POR ASIGNACIÓN Y CANCELACIÓN DE
POLOS
Objetivo
Con esta práctica se pretende que el alumno aplique los conceptos teóricos que
le permitan abordar el diseño controladores PI por asignación y cancelación de
polos para sistemas cuya dinámica 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 asignación y cancelación de polos según la
teoría que se presenta a continuación.
MARCO TEÓRICO
Si la dinámica del sistema se aproxima a la de un sistema de primer orden con
retardo de la forma:
Despejando q0 resulta:
PRÁCTICA Nº 6
CONTROL ADAPTATIVO POR MODELO DE REFERENCIA (MRAC).
Objetivo
Con esta práctica se pretende que el alumno aplique los conceptos teóricos que
le permitan abordar el diseño 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
aproximándolo a un sistema de primer orden y a uno de segundo orden.
Para el sistema de primer orden seleccionar y que
conclusiones se pueden obtener sobre la adaptabilidad del proceso al modelo de
referencia con respecto al valor de ?
Para el sistema de segundo orden seleccionar diferentes ternas de valores para
y y explicar como influyen dichos valores en la adaptabilidad del proceso
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 dinámica adecuada para el
buen control del proceso. Simular para cada modelo de referencia la respuesta
que se obtiene ante una señal en escalón aplicada en la referencia.
Recordar que el modelo de referencia debe tener ganancia unitaria y que se
recomienda que: , en donde es la constante de tiempo de lazo
abierto del sistema que se va a controlar.
MARCO TEÓRICO
En esta estrategia de control se selecciona como referencia un modelo que
cumpla con las condiciones deseadas para el funcionamiento adecuado de la
planta y se desarrolla un mecanismo de control que permita que la planta siga el
Laboratorio de Control Avanzado 2
Luis Edo García Jaimes
En donde:
5 ym
s+5 e
R Modelo de Ref
u 4 yp
to 0.8s+1
2 Proceso
1
s
So
1
-2
s
En donde:
s2 +1.6s+1
1 f
-2
s
q1
5 u 4 yp
1 s2 +2s+4
s
qo
1 du/dt
5
s
du/dt
Control por modelo de referencia para un sistema discreto: Al igual que en los
sistemas continuos, la idea básica del control con modelo de referencia MRAC,
para sistemas discretos, es que el proceso con función 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.
4. Los ceros inestables del proceso deben ser ceros de , es decir, ceros
de
5. Si el grado de seleccionado es menor que el grado de
después de la cancelación de , el lado derecho de
la ecuación 6.10 se multiplica y divide por el polinomio
6. Los polinomios , y quedan deteminados por las
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:
Laboratorio de Control Avanzado 2
Luis Edo García Jaimes
PRÁCTICA Nº 7
CONTROL ADAPTATIVO CON GANANCIA PROGRAMABLE
Objetivo
Con esta práctica se pretende que el alumno aplique los conceptos teóricos que
le permitan abordar el diseño Controladores con ganancia programable (Gain
scheduling) e implemente los controladores diseñados en el proceso seleccionado.
Producto final: Tomando como base el proceso seleccionado y los modelos
obtenidos para cada punto de operación, genere en MATLAB un programa que
permita calcular controladores PI con ganancia programable utilizando el criterio
IAE. El programa debe recibir los puntos de operación, los diferentes modelos
correspondientes a cada punto de operación, calcular los parámetros del
controlador para cada punto de operación y obtener las ecuaciones de regresión
que relacionan los puntos de operación con los parámetros del controlador y
Finalmente, se debe simular el sistema de control con el controlador adaptativo
obtenido. Para este caso utilice tanto el sistema continuo como el sistema discreto
para la simulación.
MARCO TEÓRICO
La técnica 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 operación del sistema.
Este enfoque asume que el sistema se puede representar mediante un modelo
parametrizado por ciertas variables, llamadas variables de tabulación o de
programación (“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 más s de las variables de programación.
En este caso, se linealiza el sistema alrededor de distintos puntos de operación
de interés, obteniéndose una familia de modelos lineales para la cual se diseña
Laboratorio de Control Avanzado 2
Luis Edo García Jaimes
Controlador Planta
SP + Señal de Salida
- Control
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
Los datos presentados en la tabla 7.1 y las ecuaciones de regresión para estimar
los parámetros y del controlador, se obtienen a partir de los valores de los
puntos de operación y de los modelos de primer orden con retardo
correspondientes. Para ello se utilizó el programa en MATLAB que se da a
continuación:
% GANANCIA PROGRAMABLE
% El programa calcula un controlador PI según Ziegler-Nichols
% Para este caso, el es de primer orden con retardo POR
% Para cada punto de operación se debe estimar el modelo
correspondiente.
% Los puntos de operación son los valores medios de la
respuesta %de la variable en cada escalón.
T=input('Entre los puntos de operacion V=');
L=length(T);
N=0;
while N<L
N=N+1
n=input('Entre el numerador n=');
d=input('Entre el denominador d=');
R=input('Entre el retardo R=');
TM=input('Entre el periodo de muestreo TM=');
[a,b,c,d1]=tf2ss(n,d);
[ad,bd,cd,dd]=c2dt(a,b,c,TM,R);
[nd1,dd1]=ss2tf(ad,bd,cd,dd);
Laboratorio de Control Avanzado 2
Luis Edo García Jaimes
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,'*')
Laboratorio de Control Avanzado 2
Luis Edo García Jaimes
title('VALORES DE q1')
xlabel('T (ºC)')
ylabel('q1')
grid
20
e(k) -1
Z
-K- f(u) D
qo
-1 To Workspace
Z
e(k-1) q1
-K- f(u)
PRACTICA Nº 8
CONTROL PREDICTIVO
MARCO TEÓRICO
Control Predictivo Generalizado (GPC)
La idea básica del GPC es calcular una secuencia de futuras acciones de control
de tal forma que minimice una función de coste multipaso. El índice a minimizar es
una función cuadrática que mide por un lado, la diferencia entre la salida predicha
del sistema y una cierta trayectoria de referencia hasta el horizonte de predicción,
y por otro el esfuerzo de control necesario para obtener dicha salida.
Formulación del control predictivo generalizado: El GPC utiliza un Modelo
Autorregresivo de Media Móvil (Controller Auto-Regressive Moving-Average
Laboratorio de Control Avanzado 2
Luis Edo García Jaimes
CARMA). Para aplicaciones industriales en las que las perturbaciones son no-
estacionarias resulta más conveniente el uso de un modelo CARMA integrado,
dando lugar al CARIMA, que viene descrito por:
En donde:
En donde:
: Es la predicción óptima de la salida del proceso pasos adelante.
: Horizonte mínimo de coste. (Horizonte mínimo de predicción).
: Horizonte máximo de coste. (Horizonte máximo de predicción).
: Horizonte de control.
y :Secuencias de ponderación. En la práctica y se toma
como parámetro de diseño.
: Es la trayectoria futura de referencia o Set-point.
La ecuación del sistema se puede expresar en la forma:
Donde:
Laboratorio de Control Avanzado 2
Luis Edo García Jaimes
Los dos últimos términos de la ecuación 8.4 dependen solo del pasado por lo
tanto, pueden agruparse en un solo término , dando lugar a:
Calcular y simular un GPC para el proceso seleccionado con cada uno de los
siguientes casos. Se asume que no se conocen las referencias futuras y que
Caso N1 N2 Nu αi λi
1 1 10 10 1 1 , 5 y 10
2 1 15 15 1 1 , 5 y 10
3 1 20 20 1 1, 5 y 10
4 1 10 10 1 1, 10 y 100
5 1 20 20 1 1 ,10 y 100
PREGUNTAS
Desde el punto de vista de la acción de control generada y de la salida del
proceso:
¿Cuál es el efecto de aumentar el horizonte de control N u?
INFORME FINAL
El informe incluye:
Un CD con los programas en MATLAB en los cuales se pueda realizar la
simulación del sistema seleccionado con cada uno de los controladores analizados
en las diferentes prácticas realizadas.
Un artículo tipo IFAC en el cual se describa en forma muy resumida, la teoría
básica propuesta en cada una de las prácticas incluyendo los controladores, las
ecuaciones de cálculo de los mismos y las gráficas resultantes de la simulación
del sistema con el controlador. Este artículo debe tener como máximo diez
páginas. Consultar el formato IFAC para escribir artículos científicos.
Implementación de las prácticas en el proceso real: La implementación de
los controladores en el proceso real no conlleva informe pero forma parte de la
evaluación. Las respuestas obtenidas en el control del proceso real se pueden
incluir en el artículo en lugar de las respuestas simuladas.
BIBLIOGRAFIA
Aström, K. Wittenmark, B. Adaptive Control. Addison Wesley, 1989.
Bordons, C. Control Predictivo: metodología, tecnología y nuevas perspectivas.
Departamento de Ingeniería de Sistemas y Automática. 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.
García, J Luis. Sistemas de control Avanzado. Notas de clase. Politécnico
Colombiano JIC. 2009.
Iserman,R. Lachman,K. Adaptive Control Systems. Prentice Hall 1991.
Ollero, A. Control por Computador. Descripción interna y diseño óptimo.
Marcombo Boixareu Editores, 1991.
Phillips, C. Nagle, H. Digital control systems. Análysis and Desing. Ediciones G.
Gili. 1997.
Rodriguez, R. Lopez, M. Control Adaptativo y Robusto. Universidad de
Sevilla.1996.