Subido por Miguel Angel Valdez Perez Negron

notas8-1

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