Está en la página 1de 38

Laboratorio de Control Avanzado 2

Luis Edo García Jaimes

PRACTICAS DE LABORATORIO DE SISTEMAS DE CONTROL AVANZADO

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

1. Obtención de datos de entrada - salida. Para ello se debe excitar el sistema


seleccionado mediante la aplicación de una señal de entrada (Escalones en este
caso) y registrar la evolución de sus entradas y salidas durante un intervalo de
tiempo. Es necesario diseñar adecuadamente el experimento y aplicar como
mínimo cuatro escalones, obtener el modelo del sistema para cada uno de ellos y
luego promediar los resultados, en las prácticas subsiguientes se trabaja con el
modelo promediado.
2. Tratamiento previo de los datos registrados. Los datos registrados pueden
estar acompañados de ruidos indeseados u otro tipo de imperfecciones que es
necesario corregir antes de iniciar la identificación del modelo. Si es necesario se
deben „preparar‟ los datos para facilitar y mejorar el proceso de identificación, para
ello se pueden filtrar previamente utilizando el MATLAB.
3. Elección de la estructura del modelo. Si el modelo que se desea obtener es
un modelo paramétrico, el primer paso es determinar la estructura deseada para
dicho modelo. En la práctica que se va a realizar se debe generar un programa
con el cual se puedan obtener modelos de primer orden, segundo orden y tercer
orden.
4. Obtención de los parámetros del modelo. Una vez seleccionado el modelo y
desarrollado el software de identificación, se procede a la estimación de los
parámetros de la estructura que mejor ajustan la respuesta del modelo a los datos
de entrada-salida obtenidos experimentalmente.
5. Validación del modelo. El último paso consiste en determinar si el modelo
obtenido satisface el grado de exactitud requerido para la aplicación en cuestión.
Si se llega a la conclusión de que el modelo no es válido, se deben revisar los
siguientes aspectos como posibles causas:
a) El conjunto de datos de entrada-salida no proporciona suficiente información
sobre la dinámica del sistema.
b) La estructura seleccionada no es capaz de proporcionar una buena descripción
del modelo.
c) El criterio de ajuste de parámetros seleccionado no es el más adecuado.
Laboratorio de Control Avanzado 2
Luis Edo García Jaimes

Dependiendo de la causa estimada, deberá repetirse el proceso de identificación


desde el punto correspondiente.
Algoritmo de identificación. Se supone que el sistema puede ser modelado
como un proceso estable, linealizable y con una sola entrada y una salida por lo
que puede ser descrito por una ecuación en diferencias lineal de la forma:

En donde son los datos de salida y son los datos de entrada


La ecuación 1 se puede escribir en forma vectorial así:

En donde:

El procedimiento para la identificación es el siguiente:


1. Seleccionar y .
2. Obtener los nuevos valores de y
3. Calcular el error:

4. Calcular L(k+1) mediante la ecuación:

5. Calcular los nuevos parámetros estimados:

6. Actualizar la matriz de covarianza:

7. Actualizar el vector de medidas:


8. Hacer y regresar al paso 2.

A continuación se presenta el programa base para la identificación en MATLAB


utilizando un modelo de segundo orden. El programa se debe reorganizar de
Laboratorio de Control Avanzado 2
Luis Edo García Jaimes

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:

Figura 1. Sistema tipo Servo con realimentación del estado


Laboratorio de Control Avanzado 2
Luis Edo García Jaimes

Para realizar el diseño, utilizando la técnica de asignación de polos, se debe


estimar la matriz Ki correspondiente al integrador , la matriz K1 correspondiente a
la matriz de ganancia de realimentación y la matriz L del observador de estados.
Se puede demostrar que:

En donde:

y:

Siendo los coeficientes de la ecuación característica deseada para el


sistema en lazo cerrado.
La matriz de ganancia del observador se calcula con la fórmula de Ackerman:

En donde:

Siendo 1, 2... n los coeficientes de la ecuación característica deseada para el


observador:

La ley de control para el sistema es:

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

Procedimiento para el diseño del controlador


Obtener el modelo del sistema seleccionado en variables de estado en tiempo
discreto con el periodo de muestreo adecuado y simular su respuesta ante una
entrada en escalón unitario. Para la simulación se puede utilizar el SIMULINK o
el MATLAB
Hallar la matriz de ganancia de realimentación incluyendo integrador de modo
que el sistema tenga un sobreimpulso máximo del 10% y un tiempo de
establecimiento igual al 75% del correspondiente al sistema en lazo abierto.
Hallar la matriz de ganancia de un observador de estado de orden completo
con máximo sobreimpulso del 10% y tiempo de establecimiento igual al 50%
del correspondiente al sistema en lazo abierto.
Obtener la ley de control para el sistema con las especificaciones dadas.
Construir el modelo en SIMULINK incluyendo la ley de control y comprobar si
se cumplen las condiciones de diseño.
A continuación se presenta el programa básico en MATLAB para calcular las
matrices , y . Como parte del informe se debe complementar el
programa para que estimar la ley de control y realizar la simulación 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]; % Polos deseados para el observador
L=acker(ad',cd',po)
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 los grados de y de y los parámetros y deben seleccionarse


adecuadamente para satisfacer los requerimientos del sistema de control.
Se asume que el proceso lineal que se va a controlar tiene como función de
transferencia de pulso:

En donde
Laboratorio de Control Avanzado 2
Luis Edo García Jaimes

Para el diseño del controladores adaptativos se pueden utilizar diferentes


métodos: Asignación de polos, optimización de parámetros, ajuste por tablas etc.
Método de asignación de polos: El objetivo de este método es diseñar el
controlador de modo que los polos del sistema en lazo cerrado, queden ubicados
en el lugar deseado de acuerdo a sus especificaciones de funcionamiento.
La ecuación característica deseada para el sistema en lazo cerrado toma la forma:

El orden de en la ecuación 3.3 está determinado por:

La ecuación 3.3 genera ecuaciones simultáneas cuya solución da como


resultado los parámetros del controlador.
Para asegurar error de estado estable igual a cero es necesario que el controlador
tenga un integrador, con esta condición, el denominador del controlador
cumple con la igualdad:

Con la adición del integrador se obtienen ecuaciones y el controlador tendrá


parámetros desconocidos y . La solución de orden mínimo se
obtiene haciendo:

En este caso los parámetros del controlador se obtienen con la ecuación:


Laboratorio de Control Avanzado 2
Luis Edo García Jaimes

A continuación, a modo de ejemplo, se calcula un controlador por asignación de


polos para un sistema discreto con función de transferencia dada por:

% 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

Figura 3.1 Implementación del controlador en SIMULINK


Laboratorio de Control Avanzado 2
Luis Edo García Jaimes

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)

Band -Limited A(z)


White Noise Discrete Filter 3
C(z) Scope
B(z)
FB(z)
Pulse A(z)
Discrete Filter Add 1
Add
Generator Discrete Filter 2

Discrete Filter 1
G(z)

FB(z)

Figura 4.1 Controlador de mínima varianza

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:

En donde: , es el valor de consigna o referencia.


Si se supone que sobre el sistema actúan perturbaciones estocásticas, el proceso
estará descrito por un modelo ARMAX de la forma (ver figura 4.1):

Donde:

Controlador de mínima varianza MVR3: Utilizando la ecuación 4.1 y la


identidad:

En donde:
Laboratorio de Control Avanzado 2
Luis Edo García Jaimes

Se obtiene la siguiente ecuación para el cálculo del controlador MVR3:

Eliminación del offset: El controlador de mínima varianza presenta offset (Error


de estado estable) ante cambios en la referencia ó cambios en la perturbación,
para eliminar el offset se puede adicionar al controlador un integrador así, la
ecuación 3. 6 se puede escribir en la forma:

Control de mínima varianza con seguimiento de referencias (MVR2):


Utilizando la ecuación 4.2 y la identidad dada en la ecuación 4.5 Se obtiene la
siguiente ecuación para el cálculo del controlador MVR2:

Controlador de mínima varianza ponderado: Utilizando la ecuación 4.3 y la


identidad dada en la ecuación 4.5 Se obtiene la siguiente ecuación para el cálculo
del controlador MVR1:

Los parámetros correspondientes a y ) se pueden obtener a partir de


la expresión:

|-------d--------|-----m-----|
Laboratorio de Control Avanzado 2
Luis Edo García Jaimes

A continuación se da la base de un programa en MATLAB que permite calcular y


simular la respuesta del sistema con un controlador MV3. Para el informe de la
práctica complementar el programa para calcular los controladores MV2 y MV1 a
partir del conocimiento de y . Para implementar la
simulación, monte en SIMULINK el diagrama de la figura 4.1 y guárdelo como
minimavar11. Realice las modificaciones necesarias para simular los
controladores MV1 y MV2

% Controlador de Mínima Varianza


B=input('Entre el numerador del sistema B=');
A=input('Entre el denominador del sistema A=');
C=input('Entre el numerador de la perturbación C=');
m=input('Entre el valor de m=');
d=input('Entre el retardo d=');
C1=[C zeros(1,m+d)];
% calculo del vector F
F = zeros(1,d+1);
F(1) = 1;
for i = 2:d+1
F(i) = C1(i);
for j = 1:i-1
F(i) = F(i) - F(j)*A(i-j+1);
end;
end;
% calculo del vector G
G = zeros(1,m);
for i = 1:m %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;
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:

El modelo discreto correspondiente para dicho sistema es:

Para el diseño, se asume que la función de transferencia del controlador PI toma


la forma:

Procedimiento: seleccionar el cero del controlador de modo que cancele el polo


de la planta, es decir, hacer
La ecuación característica del sistema en lazo cerrado es:

Si al sistema en lazo cerrado se le condiciona a que tenga un polo estable en


, entonces, al evaluar en se obtiene:
Laboratorio de Control Avanzado 2
Luis Edo García Jaimes

Despejando q0 resulta:

Entonces, conociendo y del modelo, los parámetros y del controlador


pueden calcularse especificando un polo dominante en lazo cerrado en que
ha de cancelarse con el cero del controlador.
Este método de diseño de controladores PI se recomienda especialmente cuando:

En donde T es el periodo de muestreo del sistema.


Para asignar el polo dominante se recomienda que la constante de tiempo del
sistema en lazo cerrado este dentro del rango:

El polo deseado se calcula con la ecuación:

En donde es la constante de tiempo deseada para el sistema en lazo cerrado y


el periodo de muestreo.
A continuación se presenta un programa en MATLAB que permite el diseño del
controlador PI por asignación y cancelación de polos y la simulación del sistema
con el controlador calculado.
% Controlador por PI por cancelación y asignación 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];
Laboratorio de Control Avanzado 2
Luis Edo García Jaimes

disp('El controlador es:')


printsys(nc,dc,'z')
[ns,ds]=series(nc,dc,n1,d1);
[nw,dw]=cloop(ns,ds,-1);
dstep(nw,dw)
title('Respuesta con el controlador')
grid
Laboratorio de Control Avanzado 2
Luis Edo García Jaimes

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

modelo escogido. No es necesario un conocimiento extensivo de la planta, pero si


es necesaria la escogencia del modelo adecuado para lograr la salida deseada. El
modelo de referencia que se utiliza es usualmente lineal.
Control por modelo de referencia para un sistema de primer orden.
Sea el sistema de primer orden:

Si se toma como modelo de referencia:

La ley de control para el sistema, utilizando la teoría de estabilidad de Lyapunov


es:

En donde:

La figura 6.1 muestra como se implementa el MRAC para el sistema de primer


orden.

5 ym

s+5 e
R Modelo de Ref

u 4 yp

to 0.8s+1
2 Proceso

1
s
So
1
-2
s

Figura 6.1 MRAC para sistema de primer orden.


Laboratorio de Control Avanzado 2
Luis Edo García Jaimes

Control por modelo de referencia para un sistema de segundo orden.


Sea el sistema de segundo orden:

En donde y son parámetros del proceso variables en el tiempo.


Sea el modelo de referencia:

Se asume como ley de control para el sistema:

En donde:

La figura 6.2 muestra como se implementa el MRAC para el sistema de segundo


orden.
r 1 ym

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

Figura 6.1 MRAC para sistema de segundo orden.


Laboratorio de Control Avanzado 2
Luis Edo García Jaimes

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:

Mediante la aplicación de la ley de control:

En donde:

La figura 6.3 muestra el diagrama en bloques del sistema de control con modelo
de referencia propuesto.

Figura 6.3 Control con modelo de referencia

La función de transferencia en lazo cerrado para el sistema de la figura 6.3 es:


Laboratorio de Control Avanzado 2
Luis Edo García Jaimes

El procedimiento para el diseño es el siguiente:


1. Seleccionar el modelo de referencia adecuado.
2. Reescribir el polinomio del proceso en la forma:

En donde: : Contiene los ceros estables del proceso.


: Contiene los ceros inestables del proceso.
3. Los ceros estables del proceso se incluyen en el polinomio es decir:

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

una familia de controladores lineales. Luego, se implementa el esquema de control


con un controlador cuyos parámetros son cambiados acorde a los valores que
toman las variables de programación, que deberán monitorearse continuamente.
La literatura no documenta reglas generales para el diseño de controladores con
ganancia programable. Sin embargo, se pueden establecer los siguientes pasos:
Determinar las variables de programación: Estas variables deben reflejar las
condiciones de operación de la planta y permitir establecer expresiones simples
que relacionen los parámetros del controlador con las variables de ajuste. Esto se
hace normalmente mediante la identificación física del sistema.
Obtener el modelo del proceso para diferentes puntos de operación: estos
puntos deben estar parametrizados por las variables de programación. Si el
sistema es no lineal se linealiza alrededor de dichos puntos.
Calcular los parámetros del controlador para los diferentes puntos de
operación: Se calculan los parámetros del controlador para un determinado
número de condiciones de trabajo, en función de las variables de programación,
empleando algún método de diseño apropiado. El controlador se calibra o
sintoniza para cada condición de operación.
Seleccionar el controlador en función de las variables de programación:
según el punto de operación en que se encuentre el proceso, se selecciona el
controlador diseñado para dicho punto de operación. Para evitar los
inconvenientes que puede causar la conmutación de un controlador a otro se
puede generar una ecuación de regresión que permita calcular los parámetros del
controlador en función de las variables de programación.
En la figura 7.1 se presenta un diagrama básico de la técnica de control por
ganancia programable.
Punto de
Trabajo
Programación
Parámetros del Precalculada
Controlador

Controlador Planta
SP + Señal de Salida
- Control

Figura 7.1 Control con ganancia programable.


Laboratorio de Control Avanzado 2
Luis Edo García Jaimes

Como ejemplo para el diseño del controlador con ganancia programable se


presenta el de un intercambiador de calor para el cual se obtuvieron modelos de
primer orden con retardo para diferentes zonas de operación. Se discretizaron los
modelos y para cada uno de ellos se calculó un controlador PI utilizando el método
de Ziegler-Nichols. Los resultados se dan en la tabla 7.1. El periodo de muestreo
es T=7.5 seg.
Modelos continuo y discreto:

Controlador PI:

Formulas empleadas para el cálculo del controlador:

Tabla 7.1 Controladores obtenidos

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

Las ecuaciones para el cálculo de y de que se han de utilizar para estimar el


controlador son:
Laboratorio de Control Avanzado 2
Luis Edo García Jaimes

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

La figura 7.2 muestra la forma de simular el sistema con ganancia programable


con el controlador PI. Los polinomios para el cálculo de y se incluyen en el
bloque f(u). Para disminuir el sobreimpulso los valores estimados para y se
multiplicaron por 0.75

r(k) m(k) 1.5 T


42s+1

20
e(k) -1
Z

-K- f(u) D
qo
-1 To Workspace
Z

e(k-1) q1
-K- f(u)

Figura 7.2 Simulación para el ejemplo propuesto.


Laboratorio de Control Avanzado 2
Luis Edo García Jaimes

PRACTICA Nº 8
CONTROL PREDICTIVO

Objetivo: En el desarrollo teórico del tema, se ha estudiado que el cálculo de un


Controlador Predictivo Generalizado (GPC), se realiza en base a unos parámetros
de diseño: horizontes de predicción y control, parámetros de ponderación en el
índice de coste, etc. Dichos parámetros condicionarán el comportamiento del
mismo.
Mediante la realización de esta práctica se pretenden tratar los siguientes
aspectos:
Diseño: Llegar a deducir cómo influye cada uno de estos parámetros en el
controlador y cuál es su efecto sobre la acción de control y sobre la variable de
salida controlada del sistema. Estos dos aspectos son muy importantes a la hora
de diseñar este tipo de controladores.
Simulación: Es interesante poder comprobar en todo momento si el controlador
se comporta adecuadamente incluso con los fenómenos que se producen en los
procesos reales (discrepancia entre modelo y proceso real).
Producto final: Se debe entregar un informe con todos los valores de los
reguladores calculados y con las gráficas de simulación que se crean oportunas.
Asimismo se debe adjuntar la respuesta razonada a todas las preguntas
propuestas y todos aquellos aspectos de la práctica que se deseen hacer notar.

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:

Para simplificar se considera que , así la ecuación 8.1 se puede


escribir en la forma:

El algoritmo del Control Predictivo Generalizado consiste en aplicar una secuencia


de señales de control que minimice una función de coste de la forma:

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:

Obtención de la ley de control:

Debido a que en el instante solo se aplica al sistema de control la salida ,


solo interesa el primer elemento del vector . Por lo tanto, en la ecuación 8.6 sólo
interesa la primera fila de la matriz así, la ley de control para el
GPC queda:

Siendo , la primera fila de


Realización de la práctica: Para calcular el Controlador Predictivo Generalizado,
se da la función Matlab descrita a continuación:
Function calcugpc
[H,R,S,TpRDelta]=calcugpc(BB,AA,T,param_gpc)
Siendo:
BB un vector que contiene los coeficientes del numerador del proceso en
-1
potencias decrecientes de z (incluido el retardo estructural del proceso).
AA un vector que contiene los coeficientes del denominador del proceso en
-1
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 ponderación de los errores
Laboratorio de Control Avanzado 2
Luis Edo García Jaimes

o param_gpc(5) = coeficiente λj de ponderación del esfuerzo de control


o param_gpc(6): si es igual a 0, se asume que no se conocen las
referencias futuras (w(k) = w(k+1) = w(k+2) = ….= w(k+N)). En el caso
de que sea igual a 1, se asume que se conocen las referencias futuras
Los tres últimos parámetros no son obligatorios y en caso de omisión de los
mismos se asume:
o param_gpc(4) = 1
o param_gpc(5) = 0
o param_gpc(6) = 0
Los valores que devuelve la función son:
H: es un escalar si no se conocen las referencias futuras. En caso contrario es
un vector que contiene los coeficientes de un polinomio en potencias
crecientes de z.
-1
R: es un vector que contiene los coeficientes del polinomio R(z ) en potencias
-1
crecientes de z .
-1
S: es un vector que contiene los coeficientes del polinomio S(z ) en potencias
-1
crecientes de z .
-1 -1
TpRDelta: es un vector que contiene los coeficientes de (T(z ) + R(z ))∆
Simulación del bucle de control
Para simular el bucle de control construir el diagrama de bloques del controlador
(ver figura 8.1) en un diagrama Simulink al cual se añadirá el resto del sistema (ver
figura 8.2).

Figura 8.1. Diagrama de bloques del controlador GPC


Laboratorio de Control Avanzado 2
Luis Edo García Jaimes

Figura 8.2. Esquema básico para simulación

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?

¿Cuál sería el efecto de variar el parámetro de ponderación ?


¿Con que valor de se observa mejor respuesta en el sistema de control?
Laboratorio de Control Avanzado 2
Luis Edo García Jaimes

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.

También podría gustarte