ESIME-IPN Control Optimo Cuadrático TEORIA DE CONTROL IV REALIMENTACIÓN OPTIMA DEL VECTOR DE ESTADO Resumen En este capitulo se estudia la determinación de la ley de control óptima respecto a un determinado criterio expresado mediante una función objetivo o índice de comportamiento a optimizar. Por analogía con otros problemas de optimización, es frecuente denominar “función” de costo al índice que se pretende minimizar. Al controlador lineal, usado para optimizar un índice cuadrático de comportamiento, se le denomina controlador lineal optimo cuadrático. El interés de estos controladores se debe a las siguientes propiedades: 1) Facilidad de resolución del problema de optimización dinámica que se plantea: función objetivo cuadrática y restricciones lineales (las ecuaciones del sistema). 2) Facilidad de implantación del sistema de control resultante: la ley de control óptima consiste en una realimentación lineal del vector de estado y, para el caso particular de sistemas invariantes en el tiempo, puede aproximarse por una realimentación con coeficientes constantes. 3) Campo de aplicación: es aplicable a sistemas multivariables y variantes en el tiempo. 4) Buenas propiedades de estabilidad y sensibilidad del sistema de control resultante. PLANTEAMIENTO DEL PROBLEMA DEL REGULADOR LINEAL OPTIMO-CUADRATICO Considérese un sistema lineal discreto en el tiempo: x(k+1) = F(k)x(k) + G(k)u(k) (1) Si las variables de estado representan desviaciones con respecto a los valores de consigna, resulta natural introducir en el índice el término cuadrático a minimizar N −1 ∑x T (k + 1) S ( k + 1) x (k + 1) (2) k =0 siendo S(k+1) matrices de ponderación simétricas semidefinidas positivas. Por ejemplo, para un sistema de orden 2 se tendría N -1 ∑ (s k=0 11 (k + 1) x 12 (k + 1) + 2s12 (k + 1) x 1 (k + 1) x 2 (k + 1) + s 22 x 22 (k + 1)) Profr. Salvador Saucedo Grupo 9A4M (3) IV página 1 de 21 ESIME-IPN Control Optimo Cuadrático TEORIA DE CONTROL IV Por otra parte, la acción del control se realiza por un determinado esfuerzo o coste cuya minimización puede considerarse también como un criterio de diseño. De esta forma se considera el término cuadrático: N −1 ∑u T (k ) O(k ) u(k) (4) k =0 siendo O una matriz de ponderación simétrica y semidefinida positiva. Para un sistema con dos entradas se tendría N -1 ∑ (o k =0 2 11 2 ( k ) u 1 (k ) + 2o12 ( k ) u 1 (k )u 2 (k ) + o 22 ( k ) u 2 (k ) ) (5) La consideración de (2) y (4) suele realizarse empleando el índice cuadrático: J = ∑ [x N -1 T ( k + 1) S(k + 1) x (k + 1) + u T ( k) O(k) u(k) ] (6) k=0 Nótese que, obviando los problemas de escalado, si los valores de las ponderaciones S son relativamente grandes con respecto a los valores de O se está especificando una evolución rápida hacia x = 0 como contrapartida de una mayor coste de control. Por el contrario, si los valores de O son altos con respecto a los de S, se busca una solución más económica desde el punto de vista del esfuerzo de control. En todo caso, nótese que la utilización del término (4), tiende a limitar los valores alcanzados por la variable de control, evitando que la solución no sea físicamente realizable. Este defecto, como se sabe, en la práctica los valores que pueden tomar las soluciones u(k) están siempre físicamente limitados por restricciones del tipo: u i (k ) ≤ U MAXi (7) dependiendo UMAXi de las características de los actuadores y el proceso: topes, saturaciones, etc. Asimismo, cabe considerar restricciones de energía de control del tipo: 2 ui (k ) ≤ E MAXi (8) La consideración explícita de restricciones tales como (7) y (8) dificultan la realización del problema de optimización. Normalmente, estas restricciones se toman en cuenta a través de una elección apropiada de matrices S y O en el índice (6). Por otra parte, nótese que al ser variables de tiempo la matrices S y O es posible introducir ponderaciones según el intervalo k considerado. Es claro que la ponderación de estado final x(N) puede requerir una consideración especial. Para poner de manifiesto esta característica el índice (6) se escribe en la forma: J = x T (N) S s x(N) + Profr. Salvador Saucedo ∑ [x N -1 T ( k) S(k) x (k) + u T ( k) O(k) u(k) ] (9) k=0 Grupo 9A4M IV página 2 de 21 ESIME-IPN Control Optimo Cuadrático TEORIA DE CONTROL IV Siendo Ss una matriz simétrica semidefinida positiva que pondera el valor final x(N) ante el resto de los términos del índice cuadrático. Esta formulación tiene particular interés en los sistemas invariantes en el tiempo x (k+1) = Fx(k) + Gu(k) (10) con matrices de ponderación constantes en el índice: J = x T (N) S s x(N) + ∑ [x N -1 T ( k) Sx(k) + u T ( k) Ou(k) ] (11) k =0 Una vez planeado el índice para el diseño en cuestión, el problema se reduce a determinar la secuencia {u(0), ..., u(N-1)} que lo minimiza, teniendo en cuenta la ecuación de la evolución dinámica del sistema. Antes de estudiar el método general de resolución del problema, aplicando la programación dinámica, se presenta un ejemplo introductorio. Consideremos el sistema discreto de primer orden x(k+1) = αx(k) + βu(k) Se intenta minimizar el índice J = ∑ [ax 1 2 (k + 1) + bu 2 (k ) ] k =0 donde a y b son constantes positivas. Si nos planteamos el problema en k = 1, la contribución a J a partir de dicho periodo la denotamos por J1 y resulta ser: [ J 1 [x (1 )] = min ax 2 (2) + bu 2 (1) u (1) ] Si utilizamos la ecuación dinámica [ J 1 [x (1 )] = min aα 2 x(1) + 2aαβx(1)u (1) + (aβ 2 + b)u 2 (1) u (1) ] Utilizando el principio de optimalidad que establece que una parte de una trayectoria óptima es a su vez óptima; y teniendo en cuenta que x(1) no depende de u(1), se obtiene: ∂J 1 u (1) [ = 2 aαβ x (1) + (aβ 2 + b)u (1) Profr. Salvador Saucedo ] = 0 Grupo 9A4M IV página 3 de 21 ESIME-IPN Control Optimo Cuadrático TEORIA DE CONTROL IV de donde aαβ x(1) aβ 2 + b u (1) = − abα 2 2 x (1) = γx 2 (1) aβ 2 + b J 1 [x(1)] = La expresión para J viene dada como J1 más la contribución en el periodo 0. J [ = min ax 2 (1) + bu 2 (0) + J 1 u ( 0) ] Agregando la ecuación dinámica J [ { } = min (a + γ ) x 2 (0) + 2(a + γ ) x(0)u (0) + (a + γ )β 2 + b u 2 (0) u (0) ] derivando e igualando a cero ∂J u (0) [ = 2 (a + γ )αβx(0)u (0) + {( a + γ ) β 2 + b}u (0) ] = 0 de donde u (0) = − J = (a + γ )αβ x(0) (a + γ ) β 2 + b (a + γ )α 2 b (a + γ )β 2 + b Evaluando para α = 0.8, β = 1.5, a = 2 y b = 1: u(1) = -0.4364x(1) u(0) = -0.4448x(0) Notar que el control se genera por la realimentación lineal del vector de estado. Profr. Salvador Saucedo Grupo 9A4M IV página 4 de 21 ESIME-IPN Control Optimo Cuadrático TEORIA DE CONTROL IV REGULADOR LINEAL OPTIMO CUADRADO Se estudia el caso general de la aplicación de la programación dinámica para generar la secuencia de vectores de control {u(0), u(1), ..., u(N-1)} que minimiza el índice (6), en este caso tenemos la ecuación: [ I 1* [x( N − 1] = min x T ( N )S( N )x( N ) + u T ( N − 1)R ( N − 1)u( N − 1) u(N -1) ] (12) sustituyendo x(N) según la ecuación de estado (1) se obtiene I *1 [x(N − 1] = min [[ F (N − 1 )x(N − 1 ) + u(N- 1 ) + G (N − 1 )u (N − 1 )] T S (N) F (N-1 ) x(N-1 ) + + G (N-1 )u (N-1 ) + (13) + u T (N − 1 )O (N − 1 )u (N − 1 )] Para minimizar con respecto a u(N-1) se deriva y se iguala a cero, teniendo en cuenta las relaciones de calculo matricial: ∂ T (u Ou) = 2 Ou ∂u ∂ (Mu) = MT ∂u ∂ T (u M) = M ∂u (14) puede escribirse (prescindiendo por simplicidad del índice temporal): ∂ T T (x F S Fx + xT FT S Gu + uT GTSFx + uT GTSGu + uT Ou) = ∂u = 2GTSFx + 2GT SGu + 2 Ou = GT S[Fx +Gu] + Ou = 0 (15) despejando u (N-1) = - [GT (N-1) S(N) G(N-1) + + O(N-1)]-1 GT(N-1) S(N) F(N-1) x(N-1) (16) que también puede escribirse como u (N-1) = - H(N-1) x(N-1) (17) siendo Profr. Salvador Saucedo Grupo 9A4M IV página 5 de 21 ESIME-IPN Control Optimo Cuadrático TEORIA DE CONTROL IV H(N-1) = [GT (N-1) S(N) G(N-1) + + O(N-1)]-1 GT(N-1) S(N) F(N-1) (18) Obsérvese que la solución optima presenta la importante propiedad de poder regenerarse según una ley de control por realimentación lineal del vector de estado. Llevando (17) a(13), se obtiene: I 1* = [[F(N-1) x(N-1) - G(N-1) H(N-1) x(N-1)]T S(N)[F(N-1) x(N-1) - G(N-1) H(N-1) x(N-1)] + + xT(N-1) HT(N-1) O(N-1) H(N-1) x(N-1)] (19) Si se hace P (N-1) = [F(N-1) - G(N-1) H(N-1)]T S(N) [F(N-1) – - G(N-1) H(N-1)] + HT(N-1) O(N-1) H(N-1) (20) La ecuación 19 puede escribirse como I 1* = xT(N-1) P(N-1) x(N-1) (21) siendo P(N-1) una matriz n x n, simétrica y semidefinida positiva. Para determinar u(N2) puede aplicarse la programación dinámica, con lo cual I *2 [x(N − 2 ] = min u(N- 2 ) {x T (N − 1 ) S (N − 1 ) x ( N − 1) + (22) } + u T (N − 2 )O (N − 2 )u (N − 2 ) + I 1* [ x ( N − 1)] sustituyendo (21) en (22) I *2 [x(N − 2 ] = min u(N- 2 ) {x T (N − 1 ) [S (N − 1 ) + P (N-1 )] x(N − 1 ) + + u T (N − 2 ) O (N − 2 ) u (N − 2 ) (23) } siendo x(N-1) = [ F(N-2) – G(N-2)H(N-2)] x(N-2) (24) Procediendo de igual forma para los mismos pasos, es inmediato llegar a: H(k) = [GT (k) P (k+1) G(k) + O(k)]-1 GT (k) P(k+1) F(k) (25) Que permite generar la secuencia optima mediante la ley de control u(k) = -H(k) x(k) (26) Por otra parte, el valor óptimo del indice en el instante k; es decir, cuando faltan Profr. Salvador Saucedo Grupo 9A4M IV página 6 de 21 ESIME-IPN Control Optimo Cuadrático TEORIA DE CONTROL IV i = N – k pasos puede ponerse en la forma I *N − k = xT(k) P(k) x(k) (27) P(k) = [ F(k) - G(k) H(k)]T P(k+1) [F(k) - G(k) H(k)] + + HT(k) O(k) H(k) + S(k) (28) siendo una matriz n x n simétrica, semidefinida positiva. La expresión (28) puede ponerse en la forma P(k) = FT(k) P(k+1) F(k) – HT(k) GT(k) P(k+1) F(k) - FT(k) P(k+1) G(k) H(k) + HT(k) [GT(k) P(k+1) G(k) + + O(k)] H(k) + S(k) (29) Si, para simplificar la operación, se define la matriz U = GT(k) P(k+1) G(k) + O(k) Que es simétrica, por serlo P y O y se sustituye (25) en (29), se obtiene: P(k) = FT(k) P(k+1) F(k) – FT(k) P(k+1) G(k) U-1 GT(k) P(k+1) F(k) – - FT(k) P(k+1) G(k) U-1 GT(k) P(k+1) F(k) + + FT(k) P(k+1) G(k) U-1UU-1GT(k) P(k+1) F(k) + S(k) Simplificando se llega a P(k) = FT(k) P(k+1) F(k) – FT(k) P(k+1) G(k) H(k) + S(k) (30) Expresión en la cual H(k) viene dada por (25). Las ecuaciones (25) y (30) permiten determinar de manera recurrente la realimentación óptima de las variables de estado. Obsérvese que el cálculo H(k) debe efectuarse, como sucede en todos los problemas de programación dinámica, en sentido de k decreciente. Es decir, el primer valor que se calcula es H(N-1) y el ultimo H(0). Para comenzar el algoritmo, es necesario fijar P(N). Teniendo en cuenta que el incremento de coste en el instante N es según (6): xT(N) S(N) x(N) (31) y que, de acuerdo a la ecuación (27), para i = 0 se tiene un coste mínimo de: I *0 = xT(N) P(N) x(N) Profr. Salvador Saucedo Grupo 9A4M (32) IV página 7 de 21 ESIME-IPN Control Optimo Cuadrático TEORIA DE CONTROL IV se deduce que el algoritmo debe iniciarse con P(N) = S(N) (33) Obsérvese que, si en lugar del índice (6) se hubiera planteado el (9), sería necesario elegir (34) P(N) = Ss Es decir, la matriz P(N) se escoge siempre igual a la matriz que pondera en el índice el estado final. Suponiendo que están almacenadas, o que pueden generarse de acuerdo con unas determinadas leyes, las matrices F(k), G(k), S(k), O(k); k = 0, . . ., N-1 Y se escoge una matriz de ponderación del estado final S(N), el cálculo de la secuencia de ganancias de realimentación óptima H(k - 1), H(k – 2), . . . , H(0) Puede realizarse según el algoritmo que se indica en el recuadro siguiente Notar que para sistemas con una entrada, el término GT(k)P(k+1)G(k) + O es un escalar; y por consiguiente el algoritmo no requiere la inversión de ninguna matriz. Inicio P = S(N) ; H(N) = matriz nula; Para k = N-1 decrementar k hasta k = 0, hacer Comienzo Obtener F(k), G(k), S(k), O(k) H(k) = [GT(k)P(k+1)G(k) + O(k)]-1GT(k)P(k+1)F(k) Guardar H(k): P(k) = S(k) + FT(k)P(k+1)[F(k) - G(k)H(k)] Fin Fin Si el sistema es invariante en el tiempo, sólo es necesario almacenar una vez las matrices F y G. Así mismo, si se utiliza el índice (11) se almacena únicamente un par de matrices S, O además de la matriz de ponderación del estado final Ss que se utiliza para arrancar el algoritmo. La aplicación de las realimentaciones óptimas se realiza en la misma forma que la ley de control que resuelve el problema de la ubicación de valores principales. En efecto, aunque la H(k) se determine en sentido decreciente de k, el cálculo de u(k), según (26), debe efectuarse desde k igual a cero hasta k = N, ya que para determinar u(k) es necesario conocer x(k), lo cual sólo es posible si previamente se ha aplicado u(k-1). Ver la figura 1 para el esquema comentado. Profr. Salvador Saucedo Grupo 9A4M IV página 8 de 21 ESIME-IPN Control Optimo Cuadrático Figura 1 TEORIA DE CONTROL IV Sistema regulador óptimo basado en índice cuadrático. Veamos un ejemplo resuelto con MATLAB: ejem92 clc clf echo on % EJEM92.M para diseño y simulación del control con índice cuadrático % Por Salvador Saucedo SEPI-ESIME Agosto de 1999 % Se definen las matrices del sistema discreto x(k+1) = Fx(k) + Gu(k) F = [1 0.08, 1.0000 0.0800 0 0.8700 G = [0.024, 0.0240 0.4800 pause % Oprimir una tecla para continuar.. % se definen las matrices de ponderación del estado, S, y del control O, S = [10 0, 10 0 0 2 O = 0.5; % Se preparan las iteraciones para cálculo previo de ganancias óptimas: N = 25; H = zeros(N,2); Profr. Salvador Saucedo Grupo 9A4M IV página 9 de 21 ESIME-IPN Control Optimo Cuadrático TEORIA DE CONTROL IV P = zeros(N,2,2); P(N,:,:) = S; M = zeros(2); K = zeros(1,2); k = 0:N-1; % Se inician las iteraciones para calcular H(k) %for i = N-1:-1:0 % M(:,:) = P(i+1,:,:); % K = inv(G'*M*G + O)*G'*M*F; % H(i,:) = K; % M = S + F'*M*(F - G*K); % P(i,:,:) = M; %end echo off pause % Oprimir una tecla para continuar.. subplot(2,2,1) stairs(k,H(:,:)) title('Evolución de las ganancias óptimas') xlabel('No. de periodo') ylabel('H(k)') grid on subplot(2,2,2) stairs(k,[P(:,1,1) P(:,1,2) P(:,2,2)]) title('Evolución de la matriz P') xlabel('No. de periodo') ylabel('p11, p12, p22') grid on pause % Oprimir una tecla para continuar.. pause % Oprimir una tecla para continuar.. % Se preparan las iteraciones para calcular u(k) y x(k): x = zeros(N,2); x0 = [0 0]'; x(1,:) = x0'; u = zeros(N)'; xr = [60 0]'; % Se inician las iteraciones para calcular u(k) y x(k): %for i = 1:N-1; % K(1,:) = H(i,:); % xs(:,1) = x(i,:)'; % xs = (F - G*K)*xs + G*K*xr; % x(i+1,:) = xs'; % u(i) = -K*xs; %end echo off subplot(2,2,3) Profr. Salvador Saucedo Grupo 9A4M IV página 10 de 21 ESIME-IPN Control Optimo Cuadrático TEORIA DE CONTROL IV stairs(k,x) title('Evolución del estado') xlabel('No. de periodo') ylabel('x1 x2') grid on subplot(2,2,4) stairs(k,u) title('Evolución del control') xlabel('No. de periodo') ylabel('control u = -H(k)x(k)') grid on echo off Profr. Salvador Saucedo k p11 p12 p21 p22 h1 h2 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 10 19.9404 29.448 38.0246 45.2932 51.1124 55.559 58.8376 61.1926 62.8527 64.0076 64.8039 65.3494 65.7215 65.9746 66.1465 66.263 66.3418 66.3952 66.4314 66.4558 66.4723 66.4835 66.4911 66.4962 0 0.5878 1.2964 1.9935 2.6123 3.1191 3.5105 3.8006 4.0093 4.1566 4.2591 4.3298 4.3783 4.4113 4.4338 4.4491 4.4594 4.4664 4.4711 4.4744 4.4765 4.478 4.479 4.4797 4.4801 0 0.5878 1.2964 1.9935 2.6123 3.1191 3.5105 3.8006 4.0093 4.1566 4.2591 4.3298 4.3783 4.4113 4.4338 4.4491 4.4594 4.4664 4.4711 4.4744 4.4765 4.478 4.479 4.4797 4.4801 2 2.8225 3.0125 3.0889 3.1444 3.1889 3.2234 3.2491 3.2676 3.2807 3.2898 3.296 3.3003 3.3033 3.3053 3.3066 3.3075 3.3082 3.3086 3.3089 3.3091 3.3092 3.3093 3.3093 3.3094 0 0.2483 0.6472 1.071 1.4611 1.786 2.0388 2.2267 2.3622 2.4579 2.5245 2.5705 2.602 2.6234 2.638 2.648 2.6547 2.6592 2.6623 2.6644 2.6658 2.6668 2.6674 2.6678 2.6681 0 0.884 1.0651 1.1213 1.1576 1.1863 1.2086 1.2252 1.2372 1.2457 1.2517 1.2557 1.2585 1.2604 1.2617 1.2626 1.2632 1.2636 1.2639 1.2641 1.2642 1.2643 1.2643 1.2644 1.2644 Grupo 9A4M IV página 11 de 21 ESIME-IPN Control Optimo Cuadrático TEORIA DE CONTROL IV Figura 2 Control óptimo cuadrático de un seguidor de segundo orden. HORIZONTE INFINITO Considerar un sistema invariante en el tiempo (10) y el índice (11) con matrices de ponderación S, O constantes, como se pone de manifiesto en el ejemplo 2, las matrices de realimentación H(k) tienden a tomar valores constantes después de un cierto número de iteraciones del algoritmo del recuadro. Cuando el horizonte de control es suficientemente amplio, el índice cuadrático puede escribirse en la forma J = ∑ [x ∞ T ( k + 1) Sx(k + 1) + u T ( k) Ou(k) ] (35) k=0 que corresponde a minimizar el error en régimen permanente con consideraciones sobre el costo del control. De igual forma la ecuación matricial en diferencias (30) se convierte, para N → ∞ y la matrices (F, G, S, O) constantes en la ecuación algebraica: P = FTPF - FTPG[GTPG + O]-1GT PF + S (36) Cuya resolución permite calcular la realimentación constante: H = [GTPG + O]-1GT PF Profr. Salvador Saucedo (37) Grupo 9A4M IV página 12 de 21 ESIME-IPN Control Optimo Cuadrático TEORIA DE CONTROL IV Observar que en este caso la aplicación de la ley de control se simplifica enormemente, ya que sólo es necesario almacenar una matriz H de realimentación, con la cual puede aplicarse la ley de control u(k) = -Hx(k) (38) El hecho de que la realimentación sea constante en los sistemas invariantes en el tiempo con ponderaciones constantes del índice de costo, se comprueba sin más que aplicar el algoritmo de cálculo de H, para N suficientemente grande, con P(N) ≥ 0. En este caso se observará que H(k) converge rápidamente hacia valores constantes H que son los que resultan de la resolución de (37) con la P que resuelve (36). De hecho, en vez de resolver (36) puede resultar más cómoda la determinación de las ganancias constantes H mediante el algoritmo del recuadro siguiente, en el cual la función maxdif de (PI , P) debe calcular la matriz diferencia PI - P y elegir el elemento de mayor valor absoluto, y ε es un número positivo muy pequeño. La ley de control según la realimentación constante H proporcionará al sistema un comportamiento que es tanto más aproximado al óptimo cuanto mayor sea el horizonte real de control. Inicio P = I (matriz identidad) Repetir H = [GTPG + O]-1 GT PF PI = P P = FT PI(F - GH) + S a = maxdif(PI, P) hasta que a ≤ ε H = [GT PG + O]-1 GTPF Fin Veamos el diseño y la simulación con MATLAB ejem93 echo on % EJEM93.M ilustra el control óptimo cuadrático para sistemas continuos % Se diseña el compensador discreto para un sistema de tercer orden % Por Salvador Saucedo ESIME Z.-IPN Agosto de 1999 % se define el modelo continuo: dx/dt = Ax + Bu A = [0 1 0, A= 0 1 0 0 0 1 50 -35 -14 B = [ 0, Profr. Salvador Saucedo Grupo 9A4M IV página 13 de 21 ESIME-IPN Control Optimo Cuadrático TEORIA DE CONTROL IV B= 0 4 -42 C = [1 0 0]; D = 0; % Se fija el periodo de muestreo (en segundos) Ts = 0.02; pause % presionar una tecla para seguir % Matriz S para ponderar desviaciones del estado S = [ 1 0 0, S= 1 0 0 0 0 4 0 0 10 % Matriz O (escalar) para penalizar el esfuerzo del control: O = 20; help lqrd LQRD Diseño del Regulador Discreto lineal cuadrático para función de costo continua. [H, S, E] = LQRD(A, B,Q ,R,Ts) calcula la matriz de ganancia óptima H tal que la ley de control discreto mediante la retro del estado u[k] = -Hx[k] minimiza una función de costo discreta equivalente a la continua. Función de costo J = Integral {x'Qx + u'Ru} dt sujeta a la dinámica del modelo discretizado x[n+1] = F x[n] +G u[n] donde [F, G] = C2D(A, B, Ts). También retorna la solución a la ecuación discreta de Riccati, S y los polos de lazo cerrado E = EIG(F - G*H). [H,S,E] = LQRD(A,B,Q,R,N,Ts) resuelve para la función de costo más general Profr. Salvador Saucedo Grupo 9A4M IV página 14 de 21 ESIME-IPN Control Optimo Cuadrático TEORIA DE CONTROL IV J = Integral {x'Qx + u'Ru + 2*x'Nu} dt . Algoritmo: La planta continua (A,B,C,D) y las matrices de ponderación (Q,R,N) son discretizadas usando el periodo de muestreo Ts y la aproximación con el retenedor de orden cero. La matriz H es entonces calculada usando DLQR. Ver también DLQR, LQR, C2D, y KALMD. pause % presionar una tecla para seguir % calcula matriz de ganancia H y polos de lazo cerrado E: [H, M, E] = lqrd(A, B, S, O,Ts) H= 13.0384 3.7973 -0.0512 M= 1.0e+003 * 2.6286 0.6207 0.0514 0.6207 0.1494 0.0121 0.0514 0.0121 0.0012 E= 0.5278 0.9146 0.9789 pause % presionar una tecla para seguir... % Se calcula el modelo discreto de la planta: [F, G] = c2d(A, B, Ts) F= 1.0001 0.0200 0.0002 0.0091 0.9937 0.0174 0.8702 -0.6000 0.7500 G= Profr. Salvador Saucedo Grupo 9A4M IV página 15 de 21 ESIME-IPN Control Optimo Cuadrático TEORIA DE CONTROL IV 0.0007 0.0722 -0.7562 sys1 = ss(F, G, C, D, Ts) a= x1 x2 x3 x1 1.0001 0.019957 0.00018236 x2 0.0091181 0.99368 0.017404 x3 0.87018 -0.60001 0.75003 b= u1 x1 0.00074687 x2 0.072168 x3 -0.75624 c= y1 x1 1 y1 u1 0 x2 0 x3 0 d= Sampling time: 0.02 Discrete-time system. % se envía el estado hacia la salida: sys1 = augstate(sys1) a= x1 x2 x3 x1 1.0001 0.019957 0.00018236 x2 0.0091181 0.99368 0.017404 x3 0.87018 -0.60001 0.75003 b= Profr. Salvador Saucedo Grupo 9A4M IV página 16 de 21 ESIME-IPN Control Optimo Cuadrático TEORIA DE CONTROL IV u1 x1 0.00074687 x2 0.072168 x3 -0.75624 c= x1 1 1 0 0 y1 y2 y3 y4 x2 0 0 1 0 x3 0 0 0 1 d= u1 y1 y2 y3 y4 0 0 0 0 Sampling time: 0.02 Discrete-time system. pause % presionar una tecla para seguir... % se forma el sistema de realimentación: sys2 = ss(K) d= y1 u1 13.038 u2 u3 3.7973 -0.051164 Static gain. % se forma el sistema realimentado (con retro negativa): sys3 = feedback(sys1, sys2,[1],[2:4]) a= x1 x2 x3 x1 0.99032 -0.93184 10.73 Profr. Salvador Saucedo x2 x3 0.017121 0.00022058 0.71963 0.021096 2.2717 0.71134 Grupo 9A4M IV página 17 de 21 ESIME-IPN Control Optimo Cuadrático TEORIA DE CONTROL IV b= u1 x1 0.00074687 x2 0.072168 x3 -0.75624 c= y1 y2 y3 y4 x1 1 1 0 0 y1 y2 y3 y4 u1 0 0 0 0 x2 0 0 1 0 x3 0 0 0 1 d= Sampling time: 0.02 Discrete-time system. pause % presionar una tecla para seguir... % Polos de lazo cerrado (deben estar dentro del cu): eig(sys3) 0.9789 0.5278 0.9146 % Se definen condiciones iniciales: x0 = [-2 5 0]'; N = 141; k = 1:N; [Y, X, N] = dinitial(sys3.a, sys3.b, sys3.c,sys3.d, x0,N); subplot(2,1,1) plot((k-1), X) title('Respuesta a las CI de un regulador con criterio cuadrático') Profr. Salvador Saucedo Grupo 9A4M IV página 18 de 21 ESIME-IPN Control Optimo Cuadrático TEORIA DE CONTROL IV ylabel('Variables de estado') xlabel('No. de muestreo') grid on pause % presionar una tecla para seguir... % se reconstruye la señal de control: u = -X*K'; subplot(2,1,2) plot((k-1), u) title('Respuesta a las CI de un regulador con criterio cuadrático') ylabel('Variable u de control') xlabel('No. de muestreo') grid on Figura 3 Respuesta del regulador con índice cuadrático con H constante pause % presionar una tecla para seguir... % Se recalcula la ganancia, encontrando las matrices de ponderación discretas fi = expm([-A' zeros(3,1) Q zeros(3,1);-B' zeros(1,1) zeros(1,3) R, % Fórmula de Van Loan fi22 = fi(5:8,5:8); fi12 = fi(1:4,5:8); Qi = fi22'*fi12; S = Qi(1:3,1:3) % Matriz de ponderación del estado 0.0742 -0.0371 -0.0371 0.1056 Profr. Salvador Saucedo 0.0757 -0.0518 Grupo 9A4M IV página 19 de 21 ESIME-IPN 0.0757 Control Optimo Cuadrático -0.0518 TEORIA DE CONTROL IV 0.1525 O = Qi(4,4) % Matriz de ponderación del control 0.4403 N = Qi(1:3,4) % Matriz del producto cruzado xu -0.0466 0.0353 -0.0650 [Kd, Md, Ed] = dlqr(F, G, S, O, N) Kd = 13.0384 3.7973 -0.0512 Md = 1.0e+003 * 2.6286 0.6207 0.0514 0.6207 0.1494 0.0121 0.0514 0.0121 0.0012 Ed = 0.5278 0.9146 0.9789 EJERCICIOS 1 2 3 4 Resolver el ejemplo 1 con α = 0.75, β = 1.2, a = 5, b = 1 y N = 5, usando MATLAB Repetir corrida del ejemplo 2 pero con matriz G igual a [0.02 0.54]T y vector de referencia xr = [80 0]T , y lo demás igual. Repetir corrida del ejemplo 3 pero con O = 5 y x0 = [-2 5 0]'; Dado el sistema discreto de tercer orden mediante x(k+1) = Fx(k) + Gu(k): 0.055 0 0.83 0.005 5 0 0 F = − 0.22 0.995 0.06 G = 0.130 S(k ) = S = 0 2 0 − 0.11 − 0.005 1.00 0.300 0 0 1 Profr. Salvador Saucedo Grupo 9A4M IV página 20 de 21 ESIME-IPN Control Optimo Cuadrático TEORIA DE CONTROL IV y O = 0.2. formar una corrida para diseñar su ganancia y simular su respuesta a una referencia igual a [5 10 0]T , con CI nulas y N = 100. 5 Dado el modelo continuo dx/dt = Ax + Bu a) discretizar con T = 0.04 y calcular la matriz H(k) y encontrar la respuesta a la entrada de referencia x = [ 0.52 1.4 0 0 ]T , con CI nulas 0 0 0 − 10 0 0 0 0 0 10 0 0 A = B = 3.2 − 3.2 − 0.58 − 0.58 8.5 0 3.2 − 3.2 − 0.58 − 0.58 0 8.5 Las matrices discretas de ponderación vienen dadas por 4.25 − 0.80 − 0.80 4.25 4.25 4.25 − 0.80 − 0.80 1 0 S = O = − 0.80 − 0.80 0.41 0.41 0 1 0.41 − 0.80 − 0.80 0.41 BIBLIOGRAFIA 1 2 3 4 5 6 Ollero B., Aníbal Control por Computadora, Marcombo Boixareu Editores, 1991. Capítulo 7. Lewis, Frank L. Applied Optimal Control & Estimation, Prentice Hall and DSP series de Texas I., 1992. Ogata, Katsuhiko Discrete Time Control Systems, Prentice Hall, 2nd. Edition 1995. Capítulo 7. Friedland, Bernard Control System Design, McGraw-Hill IE. Capítulos 6 y 8. Saucedo Flores, S. Reporte Técnico del programa LQG, SEPI-ESIME, 1998. MathWorks Inc MATLAB User´s Guide, Versión 5.2, 1998. Toolbox de control. Profr. Salvador Saucedo Grupo 9A4M IV página 21 de 21