Documente Academic
Documente Profesional
Documente Cultură
Control Digital
_________________________________________________________________________
FACULTAD DE INGENIERA ELCTRICA Y ELECTRNICA
Captulo 4
Control ptimo
4.1 Introduccin
El objetivo del Control ptimo es el de determinar una ley de control ptima u que
minimice la funcin de costo J. En la mayora de los casos, sin embargo, la bsqueda de la
funcin de costo involucra procedimientos de error y correccin; esto significa que no
siempre podremos estar seguros acerca de la forma exacta que debera poseer la funcin de
costo. Es importante indicar que un sistema de control que es ptimo bajo un ndice de
desempeo es, en general, no ptimo bajo otra funcin de costo o ndice de desempeo.
El problema de optimizacin de un sistema de control se puede formular si se
cuenta con la siguiente informacin:
a)
b)
c)
d)
e)
En general, una solucin analtica es muy complicada, por lo que debe usarse la
computadora. En tal sentido podemos decir que el diseo de sistemas de control ptimo es
fundamentalmente un problema computacional.
Para sistemas de control discretos, la funcin de costo generalmente posee la forma
siguiente:
N
J L( x(k ), r (k ), u (k ))
(4.1)
k 0
donde:
k = tiempo discreto; N = tiempo discreto final; x(k) = vector de estado;
r(k) = vector de referencia; u(k) = vector de control ptimo (denominada tambin fuerza
o seal de control).
______________________________________________________________________ 43
M.Sc. Ral Benites Saravia
1 T
x ( k ) Q x( k ) u T ( k ) R u ( k )
2 k 0
(4.2)
donde:
Q : matriz Hermtica (o matriz real simtrica) definida positiva (d.p.) o semidefinida
positiva (s.d.p) de n x n
R : matriz Hermtica (o matriz real simtrica) definida positiva (d.p.) de r x r
Las matrices Q y R se seleccionan convenientemente para ponderar la importancia relativa
del vector de estado x(k) y del vector de control u(k), respectivamente.
Una condicin necesaria para aplicar el control por realimentacin de estados es que
el proceso sea completamente controlable; adems, sea completamente observable (todos
los estados deben estar disponibles o medibles). Si existieran estados que no pudieran
medirse directamente, ser necesario estimarlos por medio de un estimador u observador de
estados.
Ecuacin de Riccati en estado estacionario:
P Q G T PG G T PH [ R H T PH ]1 H T PG
(4.3)
(4.4)
K [ R H T PH ]1 H T PG
(4.5)
______________________________________________________________________ 44
M.Sc. Ral Benites Saravia
u(k ) K x(k )
(4.6)
1 T
x (0) P(0) x(0)
2
(4.7)
(4.8)
Iz-1
x(k)
G
-K
M H
GH G n1 H
K [ R H T PH ]1 H T PG
(4.9)
(4.10)
y del observador
~
x (k 1) G~
x (k ) Hu(k ) K e [ y (k ) ~
y (k )]
G~
x (k ) Hu(k ) K [ y (k ) C~
x (k )]
e
(4.11)
______________________________________________________________________ 46
M.Sc. Ral Benites Saravia
u(k)
z-1I
x(k )
y (k )
+
G
Observador de estados
~
x (k )
+
H
+
+
z-1I
~
x (k )
~
C y (k )
-
+
G
Ke
(4.12)
(4.13)
donde
Ecuacin caracterstica:
La estabilidad del observador se determina resolviendo la siguiente ecuacin caracterstica:
det[zI G K e C ] 0
(4.14)
Las races de la ecuacin caracterstica deben posicionarse dentro del crculo unitario
para operacin satisfactoria del observador.
Ke debe ser escogida apropiadamente para que el error tienda a cero.
El proceso debe ser completamente observable, condicin que se consigue aplicando el
criterio de observabilidad.
______________________________________________________________________ 47
M.Sc. Ral Benites Saravia
Ecuacin de Riccati:
Pe Qe GPe G T GPe C T [ Re CPe C T ]1 CPe G T
(4.15)
(4.17)
(4.18)
Regla prctica:
Para el caso del observador de estados, las matrices de ponderacin Re y Qe deben ser
elegidas de tal forma que la respuesta del observador sea dos o tres veces ms rpida en
comparacin con la respuesta del proceso. Generalmente para que esto ocurra, los
elementos de Re deben ser bastantes menores que los elementos de Qe.
Pasos de Diseo:
5. Verificar observabilidad del proceso discreto:
N C CG CG n1
C
T
GT C T
(G T ) n1 C T
______________________________________________________________________ 48
M.Sc. Ral Benites Saravia
Ra
x
1 La
x 0
2 K
x3
J
Kb
1
L
La
a
1 x 0 ea
b
0
J
0
0
0
x1
y 0 1 0 x 2
x3
Los estados observados o estimados deben ser x1, x2 y x3.
Solucin
La solucin se encuentra en el programa ejem4_1.m, que se presenta a continuacin:
% Ejemplo 4_1 (OBSERVADOR OPTIMO)
clear all
J = 0.01; b = 0.1; K = 0.01; Kb = 0.01; Ra = 1; La = 0.1;
A = [-Ra/La 0 -Kb/La; 0 0 1; K/J 0 -b/J];
B = [1/La;0;0];
Cc = [0 0 1];
Dc = [0];
T = 0.05;
% Perodo de muestreo
% Discretizacin
[G,H,C,D] = c2dm(A,B,Cc,Dc,T,'zoh');
% Matrices de ponderacin del observador
Pe =zeros(3,3); % condicion inicial
Qe = [1 0 0;0 1 0;0 0 1]; Re = [1]; % Igual peso para todos
for k=1:40
Pe = Qe + G*Pe*G' - G*Pe*C'*inv(Re + C*Pe*C')*C*Pe*G';
pe11(k) = Pe(1,1); pe21(k) = Pe(2,1); pe31(k) = Pe(3,1);
end
t = linspace(0,length(pe11),length(pe11));
plot(t,pe11,t,pe21,'--',t,pe31,'-.');
xlabel('Muestras k');
ylabel('Algunos elementos de Pe'); grid
text(5,1.42,'Pe(1,1) :
- ')
text(20,0.1,'Pe(2,1) :
- -')
text(10,0.1,'Pe(3,1) :
- .')
%print -deps -f ejem4_2
% Ganancia del observador
Ke = inv(Re + C*Pe*C')*C*Pe*G';
______________________________________________________________________ 49
M.Sc. Ral Benites Saravia
1.6
Pe(1,1) :
1.4
Algunos elementos de Pe
1.2
1
0.8
0.6
0.4
0.2
Pe(3,1) :
0
10
15
-.
Pe(2,1) :
20
Muestras k
25
-30
35
40
u (k ) k1 x1 (k ) k 3 x3 (k ) k n x n (k ) k 2 [r (k ) x 2 (k )]
k1
k2
x1 (k )
x 2 (k )
k 3 k n x3 ( k ) k 2 r ( k )
x (k )
n
K x(k ) k 2 r (k )
(4.19)
x(k)
r(k)
+
k2
u(k)
x(k+1) = Gx(k)+Hu(k)
y(k) = x2(k)
k1
k3
kn
(4.20)
y( z) Cx( z) C ( zI G HK ) 1 H k 2 r ( z)
(4.22)
Para obtener la salida en estado estacionario, como respuesta a una referencia escaln
unitario, aplicamos la propiedad del valor final
z 1
y( z)
z
C ( zI G HK ) 1 H k 2
lim y (k ) lim
k
z 1
(4.23)
r1 0 0
0 r
0
2
R
;
0 0 rp
q1
0
Q
0 0
q2
0
0 qn
donde:
Los elementos r1, r2,..., rp deben ser todos positivos para que R sea una matriz simtrica
definida positiva (d.p.).
Los elementos qi deben ser positivos y algunos de ellos nulos para que Q sea una matriz
simtrica semidefinida positiva (s.d.p.).
Cada elemento qi ri dar un peso correspondiente a cada variable de estado xi o a
cada seal de control ui, respectivamente. El criterio para escoger los pesos est en relacin
con la importancia que le demos a cada variable o seal en cuestin.
Los pasos de diseo para determinar la matriz ganancia del controlador ptimo son
los mismos que para el caso regulador.
Ejemplo 4.2: Considere el modelo del motor D.C. del ejemplo 4.1. Disee el controlador
ptimo cuadrtico estacionario que estabilice la posicin angular del eje del motor a 45,
considerando los siguientes parmetros del proceso:
J = 0.01 Kg-m2/s2, b = 0.1 N-s/m, k=kb = 0.01N-m/A, Ra = 1 ohmio, La = 0.1H.
______________________________________________________________________ 52
M.Sc. Ral Benites Saravia
Ra
x1 La
x 2 0
x k
3
J
kb
La
1
b
0
0
0
1
x
1 La
x2 0
x3 0
ea
x1
y 0 1 0 x 2
x
3
(4.24)
(4.25)
Ra
La
sI A 0
k
J
s
kb
La
R
b kk
s
1 s s a s b 0
La
J JLa
b
0 s
J
0
s ( Ra sLa )( Js b) kkb 0
(4.26)
(4.27)
y(k ) C x(k ) x2 (k )
(4.28)
0
0.1 0
Q 0 200 0 ;
0
0 0.1
R 0.1
______________________________________________________________________ 53
M.Sc. Ral Benites Saravia
% ejem4.2.m
clear all
J = 0.01; b = 0.1; K = 0.01; Kb = 0.01; Ra = 1; La = 0.1;
A = [-Ra/La 0 -Kb/La; 0 0 1; K/J 0 -b/J];
B = [1/La;0;0];
Cc = [0 1 0]; Dc = [0];
% Controlabilidad y Observabilidad
M = [B A*B A^2*B]; N = [Cc' A'*Cc' A'^2*Cc'];
% rank(M) = rank(N) = n = 3 => c.c y c.o.
T = 0.05;
% Discretizacin
[G,H,C,D] = c2dm(A,B,Cc,Dc,T,'zoh');
% Matrices de ponderacin
Q = [0.1 0 0;0 200 0;0 0 0.1]; R = [0.1];
% Ganancia Optima K y matriz P
[K,P,E] = dlqr(G,H,Q,R); k2 = K(2);
% Correccin de r(k)
g = 1/(C*inv(eye(3)-G+H*K)*H*k2);
% Al correr el programa se obtiene que g = 1,
% entonces no se requiere el factor de correccin
x = [0;0;0]; N = 60; % Condicin inicial
for k=1:N
r = pi/4;
% 45 grados
U(k) = -K*x + k2*r;
x = G*x + H*U(k);
y(k) = x(2);
end
% Grficos
t = linspace(0,T*N,N);
subplot(2,1,1)
plot(t,y); ylabel('y (grados)'); grid;
subplot(2,1,2)
plot(t,U); ylabel('U (voltios)'); grid;
______________________________________________________________________ 54
M.Sc. Ral Benites Saravia
y (grados)
0.8
0.6
0.4
0.2
0
0.5
1.5
2.5
0.5
1.5
Tiempo (s)
2.5
U (voltios)
30
20
10
______________________________________________________________________ 55
M.Sc. Ral Benites Saravia
u ( k ) K x( k ) K I v ( k )
r(k)
v(k)
u(k)
KI
v(k-1)
(4.31)
z-1I
z-1I
x(k)
y(k)
Control integral
K
Planta con realimentacin del estado
K [ K1
K2 Kn ]
(4.32)
(4.33)
(4.34)
(4.35)
______________________________________________________________________ 56
M.Sc. Ral Benites Saravia
I
FACULTAD DE INGENIERA ELCTRICA Y ELECTRNICA
x(k )
y (k ) C 0
v(k )
(4.37)
En estado estacionario (k ), los valores de x(k), u(k) y v(k) toman valores x(), u() y
v(). Entonces la ecuacin (4.36) se convierte en:
HKI x() 0
x() G HK
v() CG CHK 1 CHK v() 1 r
(4.38)
x ( k ) x ( ) x e ( k )
(4.39)
v ( k ) v ( ) v e ( k )
(4.40)
y se resta la ecuacin (4.38) de (4.36) y se usa las relaciones (4.39) y (4.40) se obtiene:
HK I xe (k )
xe (k 1) G HK
v (k 1) CG CHK 1 CHK v (k )
I e
e
x (k )
0 xe (k ) H
G
K K I e
CG 1 ve (k ) CH
ve (k )
(4.41)
(k 1) G (k ) H (k )
(4.42)
donde :
xe (k )
;
ve (k )
0
G
~
G (k )
CG 1
( k ) K ( k ) ; ( k )
H
~
H (k )
;
CH
~
K (k ) K
KI
~G
~T P
~ G
~T P
~Q
~G
~H
~R
~H
~T P
~H
~
P
~
~ R
~H
~T P
~H
~ 1 H
~T P
~G
K
~
~T P
~G
H
(4.43)
(4.44)
______________________________________________________________________ 57
M.Sc. Ral Benites Saravia
Ejemplo 4.3: Considere el modelo del motor D.C., cuyas ecuaciones diferenciales son:
d2
d
(t ) b (t ) k ia (t )
2
dt
dt
d
d
ea (t ) Ra ia (t ) La ia (t ) k b (t )
dt
dt
J
(4.45)
(4.46)
Js
bs ( s) kI a ( s)
I a (s)
Js
bs
( s)
k
(4.47)
(4.48)
s Ra sLa Js b kkb
( s)
k
(4.49)
( s)
E a ( s)
k
s Ra sLa Js b kkb
(4.50)
(4.51)
E a ( s) Ra sLa Js b kkb
FACULTAD DE INGENIERA ELCTRICA Y ELECTRNICA
(4.52)
ea Ra x2 La x 2 k b x1
(4.53)
b
k
x1 x 2
J
J
k
R
1
x 2 b x1 a x 2
ea
La
La
La
x1
(4.54)
(4.55)
x1 J
k
x 2 b
L
a
k
J
R
a
La
x
0
1 1
x 2 L
a
e
a
(4.56)
x
y 1 0 1
x2
(4.57)
% Perodo de muestreo
T = 0.05;
% Discretizacin
[G,H,C,D] = c2dm(A,B,Cc,Dc,T,'zoh');
Gtilde = [G zeros(2,1)
-C*G eye(1,1)]; % orden n+1=4
Htilde = [H
-C*H];
% Matrices de ponderacin
Q = [1 0 0;0 0.1 0;0 0 2]; R = [0.01];
% Ganancia del controlador ptimo
[Ktil,Ptil,E] = dlqr(Gtilde,Htilde,Q,R); % Ktil:
K = [Ktil(1) Ktil(2)]; KI = -Ktil(3);
x = [0;0]; yi=0; v=0;
% Condiciones iniciales
NN = 60; r=1;
% Respuesta al escaln r = 1
for k=1:NN
v = v + r - yi;
Ea(k) = -K*x + KI*v;
x = G*x + H*Ea(k);
y(k) = x(1); yi = y(k);
end
% Grficos
t = linspace(0,T*NN,NN);
subplot(2,1,1)
plot(t,y); ylabel('y (rad/s)'); grid;
subplot(2,1,2)
plot(t,Ea); ylabel('Ea (voltios)'); grid;
xlabel('Tiempo
(s)')
%print -deps -f ejem4_4
% Clculo recursivo de la matriz Ptilde y clculo de Ktilde
T = 15; Ptilde = zeros(3,3);
for i=1:T
Ptilde = Q + Gtilde'*Ptilde*Gtilde - Gtilde'*Ptilde*Htilde*...
inv(R+Htilde'*Ptilde*Htilde)*Htilde'*Ptilde*Gtilde;
end
Ktilde = inv(R + Htilde'*Ptilde*Htilde)*Htilde'*Ptilde*Gtilde;
% Se verifica que Ktil=Ktilde y Ptil=Ptilde
______________________________________________________________________ 60
M.Sc. Ral Benites Saravia
y (rad/s)
1.5
1
0.5
0.5
1.5
0.5
1.5
Tiempo
2.5
2.5
Ea (voltios)
11
10
9
8
7
(s)
______________________________________________________________________ 61
M.Sc. Ral Benites Saravia
Solucin
El modelo matemtico del pndulo invertido en tiempo continuo es:
x Ax Bu
y Cx
(4.58)
(4.59)
siendo
0
(M 1 J 2 )M 2 g
( M 1 J 2 ) J 1 M 22
A
0
M 22 g
2
(M 1 J 2 ) J1 M 2
0
KxM 2KA
( M 1 J 2 ) J 1 M 22
B
0
J1 K x K A
(M J ) J M 2
1
2
1
2
1 0
0 0
0 0
0 0
0
Bx M 2
( M 1 J 2 ) J 1 M 22
1
J1 Bx
( M 1 J 2 ) J 1 M 22
; C 1 0 0 0
0 0 1 0
(4.60)
(4.61)
0.0050
1.0002
-0.0000
-0.0000
0 0.0002
0 0.0964
1.0000 0.0049
0 0.9507
H
H=
-0.0004
-0.1497
0.0002
0.0765
______________________________________________________________________ 63
M.Sc. Ral Benites Saravia
(k 1) G~ (k ) H~ (k )
(4.62)
donde :
xe (k )
;
ve (k )
(k ) K~ (k ) ; (k )
~ (k ) H ;
H
CH
K~ (k ) K
0
~ (k ) G
G
CG I
KI
P=zeros(5,5);
% Condicin inicial arbitraria P(0)
for i=1:1000
P=Q+G1'*P*G1-G1'*P*H1*inv(R+H1'*P*H1)*H1'*P*G1;
end
K1=inv(R+H1'*P*H1)*H1'*P*G1; % K=[K -KI]
[KK,PP]=dlqr(G1,H1,Q,R); % K1=KK, P=PP
K=[KK(1) KK(2) KK(3) KK(4)]; KI = -KK(5);
Ke=inv(Re+C*Pe*C')*C*Pe*G';
Un programa completo del diseo del control ptimo cuadrtico del pndulo invertido es
disopt2.m. Dicho programa se lista a continuacin:
% disopt2.m SISTEMA DE CONTROL OPTIMO DEL PENDULO INVERTIDO
clear all
% PARAMETROS DEL PROCESO
mc = 0.92; me = 0; mv = 0.063095; mp = 0.2; g = 9.81;
lv = 0.767; le = 0; rp = 0.0648; n = 1/19.741;
Jm = 1.9596e-6;
Je = me*le^2; Jv = mv*lv^2/3; Jo = 0; Jp = mp*rp^2/2;
Jeq = Jm + n^2*(Jo + Jp);
Bm = 1.8342e-6; Bo =0; Beq = Bm + n^2*Bo;
Km = 31.071e-3; Kb = 31.053e-3; Ra = 7.38; KA = 14.9;
M1 = mc + me + mv; M2 = me*le + mv*lv/2;
J1 = Je + Jv; J2 = Jeq/(n^2*rp^2);
Kx = Km/(Ra*n*rp);
Bx = Beq/(n^2*rp^2) + Kb*Km/(n^2*rp^2*Ra);
d = ((M1+J2)*J1-M2^2);
a21 = (M1+J2)*M2*g/d; a24 = Bx*M2/d;
a41 = -M2^2*g/d; a44 = -J1*Bx/d;
b21 = -Kx*M2*KA/d; b41 = J1*Kx*KA/d;
% MODELO LINEAL CONTINUO Y DISCRETO
A = [0
1 0 0
a21 0 0 a24
0
0 0 1
a41 0 0 a44];
B = [0
b21
0
b41];
Cc = [0 0 1 0]; % POSICION DEL CARRO
Ts = 1/200;
% TIEMPO DE MUESTREO
[G,H] = c2d(A,B,Ts);
G1 = [G zeros(4,1)
-Cc*G 1];
H1 = [H;-Cc*H];
M = [H1 G1*H1 G1^2*H1 G1^3*H1 G1^4*H1];
rM = rank(M); % rM=5 => COMPLETAMENTE CONTROLABLE
% CALCULO DE LA GANANCIA DEL CONTROLADOR
Q = [200 0 0
0 0
0
0 0
0 0
0
0 100 0 0
0
0 0
0 0
0
0 0
0 0.01]; R = [100];
P = zeros(5,5);
______________________________________________________________________ 66
M.Sc. Ral Benites Saravia
%
%
for i=1:1000
P = Q + G1'*P*G1 -G1'*P*H1*inv(R+H1'*P*H1)*H1'*P*G1;
end
K1 = inv(R+H1'*P*H1)*H1'*P*G1;
[KK,PP] = dlqr(G1,H1,Q,R); % K1=KK, P=PP
K = [KK(1) KK(2) KK(3) KK(4)]; KI = - KK(5);
CALCULO DE LA GANANCIA DE UN OBSERVADOR
C = [1 0 0 0
0 0 1 0]; % SE OBSERVAN POSICIONES ANGULAR Y LINEAL
Qe = [1 0
0
0
0 1000 0
0
0 0
0.9 0
0 0
0
1000]; Re = [1 0;0 10];
Pe = zeros(4,4);
for i=1:40
Pe = Qe + G*Pe*G' -G*Pe*C'*inv(Re+C*Pe*C')*C*Pe*G';
end
KeT = inv(Re+C*Pe*C')*C*Pe*G'; Ke=KeT';
[KKeT,PPe] = dlqr(G',C',Qe,Re); KKe=KKeT';% Pe=PPe, Ke=KKe
SIMULACION DEL SISTEMA DE CONTROL OPTIMO
CONDICIONES INICIALES
x1=0; x2=0; x3=0; x4=0; x5=0;
xe = [0;0;0;0]; r=1.5;
v=0; N = 4000; % TIEMPO EN SEGUNDOS: Ts*N
for k=1:N
u = -K*xe + KI*v;
if(u > 1.4), u = 1.4; % PARA NO SATURAR EL AMPLIFICADOR
elseif(u < -1.4), u = -1.4;
end
xe = G*xe + u*H + Ke*([x1;x3] - C*xe);
PROCESO NO LINEAL DISCRETIZADO DIRECTAMENTE
den = -M2^2*cos(x1)^2+(M1+J2)*J1;
x1 = x1 + Ts*x2;
x2 = x2 + ...
Ts*(-M2^2*sin(x1)*cos(x1)*x2^2+M2*Bx*cos(x1)*x4 ...
+M2*(M1+J2)*g*sin(x1)-M2*Kx*cos(x1)*KA*u)/den;
x3 = x3 + Ts*x4;
x4 = x4 + ...
Ts*(M2^2*g*sin(x1)*cos(x1)+J1*M2*sin(x1)*(x2)^2 ...
-J1*Bx*x4+J1*Kx*KA*u)/den;
v = v + r - x3;
y1(k)=x1; y2(k)=x3; U(k) =u;
end
GRAFICOS
t = linspace(0,Ts*N,N);
figure(1)
plot(t,y2(1:N)); grid
ylabel('Posicin del carro')
xlabel('Tiempo
(s)')
print -deps -f spoz
figure(2)
plot(t,y1(1:N)); grid
ylabel('Posicin angular del pndulo')
xlabel('Tiempo
(s)')
print -deps -f spoa
figure(3)
______________________________________________________________________ 67
M.Sc. Ral Benites Saravia
1.2
1
0.8
0.6
0.4
0.2
0
-0.2
8
10
Tiempo
12
(s)
14
16
18
20
0.1
0.08
0.06
0.04
0.02
0
-0.02
-0.04
-0.06
8
10
Tiempo
12
(s)
14
16
18
20
______________________________________________________________________ 68
M.Sc. Ral Benites Saravia
0.7
0.6
Seal de control u
0.5
0.4
0.3
0.2
0.1
0
-0.1
-0.2
8
10
Tiempo
12
(s)
14
16
18
20
La configuracin del sistema de control ptimo cuadrtico del pndulo invertido se muestra
en la figura 4.11, los componentes fsicos se presentan en las figuras 4.12 a 4.16 y el
diagrama de flujo del programa de control se muestra en la figura 4.17.
______________________________________________________________________ 70
M.Sc. Ral Benites Saravia
Finalmente, en las figuras 4.18 y 4.19 se presentan dos tomas instantneas del
funcionamiento del pndulo invertido.
______________________________________________________________________ 71
M.Sc. Ral Benites Saravia