You are on page 1of 9

DEPARTAMENTO DE ELECTRONICA

FACULTAD DE CIENCIAS EXACTAS, INGENIERIA Y AGRIMENSURA UNIVERSIDAD NACIONAL DE ROSARIO

CONTROL AVANZADO I

TRABAJO PRACTICO 6:
CONTROL OPTIMO EN SISTEMAS CONTINUOS

Junio de 2011

CONTROL AVANZADO I

2011

1. INTRODUCCION
El objetivo del trabajo prctico es aplicar como estrategia de control la tcnica de realimentacin de estados aplicando la teora de control ptimo, esto es, calcular una matriz de realimentacin de estados con el fin de minimizar un funcional costo en lugar de fijar una dinmica para el sistema a lazo cerrado. Adems se utilizar esta teora en la construccin de observadores para la reconstruccin del vector de estados en sistemas ruidosos.

1.1.

Control ptimo

En la primera parte del presente TP se realizar el diseo de sistemas de control basados en costos cuadrticos. Se considera el siguiente sistema continuo, lineal, estacionario, de orden n , con m entradas:

= A. X + B.U X

[X ] nx1 , [A] nxn , [B] nxm , [U ] mx1

En el diseo de estos sistemas de control interesa la eleccin de un vector de control U tal que el mismo minimice un funcional costo dado por :

J = ( X '.Q. X + U '.R.U ).dt


0

donde Q y R son matrices cuadradas, simtricas, definidas positivas de orden nxn y mxm respectivamente. Puede demostrarse que para un funcional J como el anterior la ley de control buscada est dada por la realimentacin de estados siguiente :

U = K .X
donde K se calcula a travs de

K = R 1 .B '.P
y P es una matriz simtrica, definida positiva, que satisface la ecuacin algebraica de Riccati:

A'.P + P. A P.B.R 1 .B'.P + Q = 0


Aplicando esta ley de control al sistema original se obtiene la ecuacin diferencial que describe la dinmica a lazo cerrado

= A. X + B.U = A. X + B.( K . X ) = ( A B.K ). X X

1.2.

Filtro de Kalmann - Bucy

Sea el siguiente sistema continuo, donde W y V son seales de ruido que afectan al vector de estados y a la salida respectivamente

= A. X + B.U + W X Y = C. X + V

[W ] nx1 [V ] px1

El mismo puede verse representado en el diagrama siguiente

Trabajo Prctico 6

Control Optimo en Sistemas Continuos

Pg. 2 de 9

CONTROL AVANZADO I

2011

W U B

A
Utilizando el principio de dualidad y la teora de control ptimo podemos disear un observador, denominado Filtro de Kalmann-Bucy, que minimiza el efecto del ruido en las variables de estado estimadas. El sistema dual del anterior es:

= A.Z + C .S Z
y el funcional costo a minimizar es:

J = ( Z '.Qr .Z + S '.Rr .S ).dt


0

donde Qr y Rr son matrices simtricas definidas positivas que sirven de pesos para el ruido en los estados (W) y en la salida (V) respectivamente. Puede demostrarse que dichas matrices Qr y Rr corresponden a las matrices de covarianza de las seales de ruido W y V. La realimentacin obtenida a travs de Ricatti para este sistema dual es:

S = K 0 .Z
Las matrices G y F del observador completo a construir son entonces

G = K 0

F = A G.C

Trabajo Prctico 6

Control Optimo en Sistemas Continuos

Pg. 3 de 9

CONTROL AVANZADO I

2011

2. CALCULO DEL CONTROL OPTIMO


Para la resolucin de la ecuacin de Ricatti MATLAB posee una macro que calcula la matriz P (solucin de la ecuacin), la matriz K (matriz de realimentacin) y la ubicacin de los autovalores del sistema a lazo cerrado L resultantes de la realimentacin a travs de la matriz K. Dicha macro se denomina lqr , a continuacin se muestra la informacin de la misma brindada por MATLAB en su help: LQR Linear quadratic regulator design for continuous systems. [K,S,E] = LQR(A,B,Q,R) calculates the optimal feedback gain matrix K such that the feedback law u = -Kx minimizes the cost function: J = Integral {x'Qx + u'Ru} dt subject to the constraint equation: . x = Ax + Bu Also returned is S, the steady-state solution to the associated algebraic Riccati equation and the closed loop eigenvalues E: -1 0 = SA + A'S - SBR B'S + Q E = EIG(A-B*K) .....

Para el clculo de matrices de realimentacin de estados la sintaxis a utilizar es la siguiente: [K,P,L]=lqr(A,B,Q,R)

y para el clculo de la matriz G del filtro de Kalmann: [Ko,Po,Lo]=lqr(A,C,Qr,Rr) G = Ko donde Qr y Rr deben calcularse como las matrices de covarianza de las seales de ruido W y V, para ello se utiliza la macro cov de MATLAB. La misma se describe a continuacin: COV Covariance matrix. COV(X), if X is a vector, returns the variance. For matrices, where each row is an observation, and each column a variable, COV(X) is the covariance matrix. .....

Trabajo Prctico 6

Control Optimo en Sistemas Continuos

Pg. 4 de 9

CONTROL AVANZADO I

2011

3. DESARROLLO DEL TRABAJO PRACTICO

3.1.

Realimentacin de estados ptima

Para observar los efectos del control ptimo se utilizar el modelo en variables de estados del sistema de alineacin magntica ya conocido. El archivo alinmagLQR.mdl contiene el modelo del sistema al que se le ha aplicado una realimentacin de estados. A continuacin se muestra dicho modelo:

Notas respecto del modelo anterior: 1- El modelo necesita que las variables siguientes se encuentren cargadas en el espacio de trabajo en Matlab: a, bu, bp,cx Matrices del sistema continuo a lazo abierto X0 Vector de condiciones iniciales del vector de estados X k Matriz de realimentacin de estados 2- Los siguientes parmetros se encuentran ajustados: Tiempo total de simulacin: 0.04 segundos, Tiempo de muestreo en bloques de salida To Workspace: 0.00005 segundos. Estos ajustes provocan que las variables de salida evot, evou y evox generadas en cada simulacin sean de dimensiones 801x1.

3.1.1) Cargar en Matlab las matrices del sistema a lazo abierto a partir del archivo alinmag.mat. 3.1.2) Calcular la matriz de realimentacin K de modo de optimizar los funcionales siguientes:

a)

J 1 = x 2 dt
0

b)

J 2 = 10 x 2 dt
0

c)

J 3 = 100 x 2 dt
0

d)

J 4 = 1000 x 2 dt
0

Trabajo Prctico 6

Control Optimo en Sistemas Continuos

Pg. 5 de 9

CONTROL AVANZADO I

2011

La variable x a optimizar que aparece en los funcionales anteriores es la primera variable de estado del vector X, y se corresponde con la posicin del rotor. Adoptar R=1e-5.

[ --- Insertar aqu los clculos pedidos --- ]


3.1.3) Graficar las evoluciones continuas de las variables u y x para cada una de las realimentaciones calculadas en el punto anterior. El sistema acta como regulador partiendo de una condicin inicial x0=2mm. No mezclar diferentes variables en la misma grfica. No realizar grficas diferentes para una misma variable.

[ INSERTAR AQU LAS GRAFICA DE LA VARIABLE u] [ INSERTAR AQU LAS GRAFICA DE LA VARIABLE x]

3.1.4) Elaborar conclusiones a partir de los clculos y simulaciones realizadas.

[ INSERTAR AQU LAS CONCLUSIONES PEDIDAS]

Trabajo Prctico 6

Control Optimo en Sistemas Continuos

Pg. 6 de 9

CONTROL AVANZADO I

2011

3.2.

Observador ptimo

El objeto del filtro de Kalmann es el de reconstruir el vector de estados del sistema cuando el mismo se ve afectado por seales ruidosas. Para observar el funcionamiento de este tipo especial de observador se utilizar el sistema del motor de CC pero con el agregado de ruido en las variables de estado y en la salida. Al pie de esta pgina se muestra el DB correspondiente al motor de CC, con una realimentacin de estados implementada a travs de un observador y con seales de ruido sumadas en las variables de estado y la salida. El archivo TP6kal.m contiene un script con comandos MATLAB que crea las matrices del sistema a lazo cerrado y calcula dos observadores uno clsico y un filtro de Kalmann. Luego simula el sistema a lazo cerrado utilizando ambos observadores. Realizar las siguientes tareas: 3.2.1) Ejecutar el archivo TP5kal.m , interpretar los resultados obtenidos y extraer conclusiones.

[ --- Insertar aqu las grficas y las conclusiones pedidas --- ]


DB de motor de CC, con una realimentacin de estados implementada a travs de un observador y con seales de ruido sumadas en las variables de estado y la salida:

ruido_I

Mux Mux

ruido_w Step T 1/s Step W Sum3 Z K Ki Sum2

K Bt K Bu Sum6 K A 1/s X

ruido_y

K Cw Sum4

K G K Bu-o Sum5 1/s Xo K K K F

Trabajo Prctico 6

Control Optimo en Sistemas Continuos

Pg. 7 de 9

CONTROL AVANZADO I

2011

4. Apndice

4.1.
% % % % %

Archivo TP5kal.m

CONTROL AVANZADO I Trabajo Prctico 6 Control ptimo en sistema continuos Filtro de Kalmann

% Archivo TP6kal.m

% Construccin de las matrices del motor disp('Construyendo matrices y sistemas ...') a=[ -65 -25 ; 25 -2 ]; bu=[ 50 ; 0 ]; cw=[ 0 1 ]; % Construccin de matrices del sistema ampliado % y clculo de realimentacin aamp=[ a zeros(2,1) ; -cw 0 ]; bamp=[ bu ; 0 ]; Ki=acker(aamp,bamp,[-150 -150 -150]); K=Ki(1,1:2); ki=-Ki(1,3); % Clculo del observador completo tradicional autoOBS=[ -500 -500 ]; aux=acker(a',cw',autoOBS); g1=aux'; f1=a-g1*cw; % Construccin de las seales de ruido Ww=100*rand(1501,1)-50*ones(1501,1); Wi=25*rand(1501,1)-12.5*ones(1501,1); W=[Ww Wi]; V=20*rand(1501,1)-10*ones(1501,1); % Clculo del observador ptimo - Filtro de Kalmann Qr=cov(W); Rr=cov(V); aux=lqr(a',cw',Qr,Rr); g2=aux'; f2=a-g2*cw; % Construccin de A1=[a bu*ki -bu*K B1=[1 0 0 0 ; 0 1 C1=[cw 0 0 0 ]; D1=[0 0 0 1 ]; A2=[a bu*ki -bu*K B2=[1 0 0 0 ; 0 1 C2=[cw 0 0 0 ]; D2=[0 0 0 1 ]; matrices para simulacin ; -cw 0 0 0 ; g1*cw bu*ki f1-bu*K ]; 0 0 ; 0 0 1 -1 ; zeros(2,3) g1 ];

; -cw 0 0 0 ; g2*cw bu*ki f2-bu*K ]; 0 0 ; 0 0 1 -1 ; zeros(2,3) g2 ];

% Construccin de los sistemas a lazo cerrado sisLC1=ss(A1,B1,C1,D1); sisLC2=ss(A2,B2,C2,D2); % Construccin de la matriz de entradas y el vector tiempo Ref=50*ones(1501,1); t=0:0.0002:0.3; U=[ W Ref V ]; % Simulaciones disp('Ejecutando simulaciones ...')

Trabajo Prctico 6

Control Optimo en Sistemas Continuos

Pg. 8 de 9

CONTROL AVANZADO I
[y1,tx,X1]=lsim(sisLC1,U,t); [y2,tx,X2]=lsim(sisLC2,U,t); % Grficas de w con observador general Fig2=figure; set(Fig2,'Name','Motor CC con filtro de Kalmann') subplot(1,2,1);plot(t,X1(:,2),'-r',t,X1(:,5),'-g') axis([0 0.3 0 60]) legend('w real','w estim',0) xlabel('Tiempo') ylabel('Velocidad') title('Aplicacin de un observador general') % Grficas de w con filtro de Kalmann subplot(1,2,2);plot(t,X2(:,2),'-r',t,X2(:,5),'-g') axis([0 0.3 0 60]) legend('w real','w estim',0) xlabel('Tiempo') ylabel('Velocidad') title('Aplicacin de un filtro de Kalmann')

2011

Trabajo Prctico 6

Control Optimo en Sistemas Continuos

Pg. 9 de 9