Luis Edo García Jaimes

39

Transcript of Luis Edo García Jaimes

Page 1: Luis Edo García Jaimes
Page 2: Luis Edo García Jaimes
Page 3: Luis Edo García Jaimes

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.

Page 4: Luis Edo García Jaimes

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:

Page 5: Luis Edo García Jaimes

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.

Page 6: Luis Edo García Jaimes

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

Page 7: Luis Edo García Jaimes

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

Page 8: Luis Edo García Jaimes

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

Page 9: Luis Edo García Jaimes

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.

Page 10: Luis Edo García Jaimes

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)

Page 11: Luis Edo García Jaimes

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

Page 12: Luis Edo García Jaimes

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:

Page 13: Luis Edo García Jaimes

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.

Page 14: Luis Edo García Jaimes

Laboratorio de Control Avanzado 2 Luis Edo García Jaimes

Figura 3.1 Implementación del controlador en SIMULINK

Scope

Pulse

Generator Integer Delay

-1

Z

Discrete Filter 1

nc

dc

Discrete Filter

n1

d1 Add

Page 15: Luis Edo García Jaimes

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:

Page 16: Luis Edo García Jaimes

Laboratorio de Control Avanzado 2 Luis Edo García Jaimes

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:

Scope

Pulse

Generator

Discrete Filter 3

C(z)

A(z)

Discrete Filter 2

B(z)

A(z)

Discrete Filter 1

G(z)

FB(z)

Discrete Filter

C(z)

FB(z)

Band -Limited

White Noise

Add 1Add

Page 17: Luis Edo García Jaimes

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-----|

Page 18: Luis Edo García Jaimes

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;

Page 19: Luis Edo García Jaimes

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

Page 20: Luis Edo García Jaimes

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:

Page 21: Luis Edo García Jaimes

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];

Page 22: Luis Edo García Jaimes

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

Page 23: Luis Edo García Jaimes

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

Page 24: Luis Edo García Jaimes

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.

Figura 6.1 MRAC para sistema de primer orden.

yp

So

to

u

ym

e

2

-2

R

4

0.8s+1

Proceso

5

s+5

Modelo de Ref

1

s

1

s

Page 25: Luis Edo García Jaimes

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.

Figura 6.1 MRAC para sistema de segundo orden.

f

ym

yp

qo

q1

r

u

s +2s+42

4

1

s +1.6s+12

1

s

1

s

1

s

5

5

-2

du/dt

du/dt

Page 26: Luis Edo García Jaimes

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:

Page 27: Luis Edo García Jaimes

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:

Page 28: Luis Edo García Jaimes

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

Page 29: Luis Edo García Jaimes

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.

Programación

Precalculada

Punto de

Trabajo

Controlador Planta

Parámetros del

Controlador

SalidaSP Señal de

Control+

-

Figura 7.1 Control con ganancia programable.

Page 30: Luis Edo García Jaimes

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:

Page 31: Luis Edo García Jaimes

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);

Page 32: Luis Edo García Jaimes

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,'*')

Page 33: Luis Edo García Jaimes

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

Figura 7.2 Simulación para el ejemplo propuesto.

q1

qo

e(k)

m(k)T

r(k)

e(k-1)

42s+1

1.5

D

To Workspace

-1

Z

-1

Z

-K-

-K-

f(u)

f(u)

20

Page 34: Luis Edo García Jaimes

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

Page 35: Luis Edo García Jaimes

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:

Page 36: Luis Edo García Jaimes

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

potencias decrecientes de z-1

(incluido el retardo estructural del proceso).

AA un vector que contiene los coeficientes del denominador del proceso en

potencias decrecientes de z-1

.

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

Page 37: Luis Edo García Jaimes

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.

R: es un vector que contiene los coeficientes del polinomio R(z-1

) en potencias

crecientes de z-1

.

S: es un vector que contiene los coeficientes del polinomio S(z-1

) en potencias

crecientes de z-1

.

TpRDelta: es un vector que contiene los coeficientes de (T(z-1

) + R(z-1

))∆

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

Page 38: Luis Edo García Jaimes

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 Nu?

¿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?

Page 39: Luis Edo García Jaimes

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.