1. Departamento de Ingeniería de Sistemas y Automática
Universidad Politécnica de Valencia
INGENIERÍA DE CONTROL I
2009-10
__________________________________________________________________________________________________
P. Albertos. Dept. Ingeniería de Sistemas y Automática. UPV. Ext.: 79570 e-mail pedro@aii.upv.es
J.V. Roig. Dept. Ingeniería de Sistemas y Automática. UPV. Ext.: 75768 e-mail jvroig@aii.upv.es
Tarea 2. Análisis del modelo de un sistema (entrega 03-11-09)
Para un generador síncrono se ha obtenido el siguiente modelo en espacio de estados
linealizado en tiempo continuo:
10000
00001
C,
10
10
00
01
11
B,
31110
02000
01101
01211
01001
A
Obtener:
a. La forma canónica diagonal y analizar la controlabilidad y observabilidad del sistema.
b. ¿El sistema es estabilizable? Razona la respuesta.
c. ¿El sistema es detectable? Razona la respuesta
d. Polos del sistema.
e. Ceros del sistema, indicando de que tipo son.
f. Matriz de transferencia.
g. Realización mínima.
h. Matriz de transferencia discreta con T = 0.2 s.
i. Representación interna discreta.
j. Secuencia de acciones de control para conducir las salidas a la posición: T
11Fy ,
desde una posición inicial de reposo:
- En tiempo mínimo.
- En el doble del tiempo mínimo.
Comparar el esfuerzo de control realizado en ambos casos.
2. Departamento de Ingeniería de Sistemas y Automática
Universidad Politécnica de Valencia
INGENIERÍA DE CONTROL I
2009-10
__________________________________________________________________________________________________
P. Albertos. Dept. Ingeniería de Sistemas y Automática. UPV. Ext.: 79570 e-mail pedro@aii.upv.es
J.V. Roig. Dept. Ingeniería de Sistemas y Automática. UPV. Ext.: 75768 e-mail jvroig@aii.upv.es
Solución
a. Forma Canónica de de Diagonal o de Jordan.
Se puede obtener con el comando de MATLAB:
>> SYS = ss(A, B, C, D)
>> SYSj = canon(SYS, 'modal')
4714.0008944.02
4714.0633.1000
C
121.20
06124.0
03536.0
0559.0
025.0
B,
20000
01000
00100
00010
00003
j
jjA
Ahora podemos analizar la controlabilidad y observabilidad de cada polo por separado:
- Polo en −3: controlable con la entrada 1 y observable con la salida 2.
- Polo en 1: controlable con la entrada 1 y no observable.
- Polo en −2: controlable con la entrada 2 y observable con las dos salidas.
- Dos polos en −1: solo uno es controlable porque ambo se controlan únicamente
con entrada 1, y los dos son observables porque se observan con salidas distintas.
El polo en 1 no observable, corresponde con un cero de desacoplamiento de salida. Y el
polo en −1 que es no controlable, corresponderá con un cero de desacoplamiento de
entrada.
b. ¿El sistema es estabilizable?
El sistema será estabilizable si la parte no controlable es estable. La parte no controlable
es el polo en −1, por tanto el sistema es estabilizable.
c. ¿ El sistema es detectable?
El sistema será detectable si la parte no observable es estable. La parte no observable es
el polo en +1, por tanto el sistema es no detectable.
d. Polos del sistema.
Los polos del sistema serán los valores propios de la matriz A, que coinciden con los
valores de la diagonal en la forma canónica de Jordan, y que podemos calcular con el
comando de MATLAB:
>> eig(SYS) = [-3; -1; 1; -1; -2]
e. Ceros del sistema.
Del análisis del sistema en forma canónica diagonal, sabemos que el sistema tiene un
polo en 1 no observable que corresponde con un cero de desacoplamiento de salida; y
un polo en en −1 no controlable que corresponde con un cero de desacoplamiento de
entrada. Por tanto, el sistema original (SYS) sabemos que no es una realización mínima;
así que al resolver el problema del valor propio generalizado obtendremos los ceros
invariantes:
>> tzero(SYS) = [-2; -1; 1]
3. Departamento de Ingeniería de Sistemas y Automática
Universidad Politécnica de Valencia
INGENIERÍA DE CONTROL I
2009-10
__________________________________________________________________________________________________
P. Albertos. Dept. Ingeniería de Sistemas y Automática. UPV. Ext.: 79570 e-mail pedro@aii.upv.es
J.V. Roig. Dept. Ingeniería de Sistemas y Automática. UPV. Ext.: 75768 e-mail jvroig@aii.upv.es
Y si obtenemos la realización mínima, eliminando los subespacios no controlables y no
observables del sistema, podremos determinar los ceros de transmisión:
>> SYSm = minreal(SYS);
2 states removed.
>> eig(SYSm) = [-1; -3; -2]
>> tzero(SYSm) = -2
Podemos observar, como en la realización mínima han desaparecidos los polos no
controlables (−1) y no observables (1). Y al resolver el problema del valor propio
generalizado solo se obtienen el cero de transmisión (−2).
f. Matriz de transferencia.
Podemos obtener la matriz de transferencia, en forma de polos y ceros, con los
siguientes comandos de MATLAB:
>> G=zpk(minreal(tf(SYSm)));
2s
1
3s1s
1
2s
1
1s
1
sG
g. Realización mínima.
La realización mínima del sistema se obtiene con el comando minreal de MATLAB,
que elimina los modos no controlables y no observables, devolviendo el siguiente
sistema:
06178.07863.0
5.0556.04369.0
C
333.13333.0
9885.09267.0
4951.07281.0
B,
111.22471.01942.0
0351.1295.1
6359.05884.0538.2
m
mmA
h. Matriz de transferencia discreta con T = 0.2 s.
Para obtener la matriz de transferencia discreta, discretizamos la matriz de transferencia
discreta con las siguientes instrucciones:
>> T=0.2;
>> Gd=c2d(G,T,'zoh')
6703.0
16484.0
5488.08187.0
7661.0015437.0
6703.0
16484.0
8187.0
18127.0
zzz
z
zzzGd
i. Representación interna discreta.
Se puede obtener discretizando la realización mínima discreta:
>> SYSd = c2d(SYSm, T, 'zoh')
O se puede obtener pasando a espacio de estados la matriz de transferencia discreta:
>> SYSd = minreal(ss(Gd))
Para este último caso se obtiene:
4. Departamento de Ingeniería de Sistemas y Automática
Universidad Politécnica de Valencia
INGENIERÍA DE CONTROL I
2009-10
__________________________________________________________________________________________________
P. Albertos. Dept. Ingeniería de Sistemas y Automática. UPV. Ext.: 79570 e-mail pedro@aii.upv.es
J.V. Roig. Dept. Ingeniería de Sistemas y Automática. UPV. Ext.: 75768 e-mail jvroig@aii.upv.es
3297.002761.00708.0
3297.03243.00
C
5.00
0559.0
00
B,
0.670300
00.81870
00.51280.5488
d
ddA
j. Secuencia de acciones de control para conducir las salidas a la posición: T
11Fy ,
desde una posición inicial de reposo.
Para determinar el tiempo mínimo de control, habrá que determinar el índice
controlabilidad del sistema, obteniendo las n=3 primeras columnas linealmente
independientes de la matriz de controlabilidad del sistema SYSd,
>> rank([SYSd.B(:,1) SYSd.B(:,2) SYSd.A*SYSd.B(:,1)]) = 3
El índice de controlabilidad del sistema es 2; en dos instantes el sistema estará
completamente controlado. Si desarrollamos la ecuación del sistema a lo largo de dos
instantes podremos determinar la secuencia de acciones de control para llevar la salida a
la posición deseada.
Desarrollando la ecuación de salida en esos dos instantes podemos determinar la
secuencia de control:
0
2
2
#
1
0
1
0
0
2
100
2
2
1001122
xACyBBAC
u
u
u
u
BBACxACBuCBuACxACy
BuCBuAxACBuAxCxCy
Los comandos de MATLAB para obtener esta secuencia de control y poder aplicarla
son los siguientes:
>> yf = [1; 1];
>> x0 = [0; 0; 0];
>> W = [SYSd.A*SYSd.B SYSd.B];
>> U = pinv(SYSd.C*W)*(yf-SYSd.C*SYSd.A^2*x0)
>> u0 = U(1:2);
>> u1 = U(3:4);
>> x1 = SYSd.A*x0 + SYSd.B*u0;
>> x2 = SYSd.A*x1 + SYSd.B*u1;
>> X = [x0 x1 x2];
>> Y = SYSd.C*X;
14645.00
15268.00
y
>> sum(U.^2) = 25.1807 %Esfuerzo de control
Desarrollando la ecuación de salida, ahora en cuatro instantes podemos determinar la
nueva secuencia de control:
5. Departamento de Ingeniería de Sistemas y Automática
Universidad Politécnica de Valencia
INGENIERÍA DE CONTROL I
2009-10
__________________________________________________________________________________________________
P. Albertos. Dept. Ingeniería de Sistemas y Automática. UPV. Ext.: 79570 e-mail pedro@aii.upv.es
J.V. Roig. Dept. Ingeniería de Sistemas y Automática. UPV. Ext.: 75768 e-mail jvroig@aii.upv.es
0
4
4
#23
3
0
3
0
23
0
4
4
321
2
0
3
0
4
4
3223344
xACyBBABABAC
u
u
u
u
BBABABACxACy
BuCBuACBuACBuACxACy
BuCBuAxACBuAxCxCy
Los comandos de MATLAB para obtener esta secuencia de control y poder aplicarla
son los siguientes:
>> W = [SYSd.A^3*SYSd.B SYSd.A^2*SYSd.B SYSd.A*SYSd.B SYSd.B];
>> U = pinv(SYSd.C*W)*(yf-SYSd.C*SYSd.A^4*x0)
>> u0 = U(1:2);
>> u1 = U(3:4);
>> u2 = U(5:6);
>> u3 = U(7:8);
>> x1 = SYSd.A*x0 + SYSd.B*u0;
>> x2 = SYSd.A*x1 + SYSd.B*u1;
>> x3 = SYSd.A*x2 + SYSd.B*u2;
>> x4 = SYSd.A*x3 + SYSd.B*u3;
>> X = [x0 x1 x2 x3 x4];
>> Y = SYSd.C*X;
10.64940.38430.17510
10.75550.50330.25340
y
>> sum(U.^2) = 20.5018 %Esfuerzo de control
El esfuerzo de control, determinado mediante la suma de todas las acciones de control al
cuadrado, es menor si se utilizan 4 instantes para controlar el sistema que si se utilizan
sólo 2 instantes.