Professional Documents
Culture Documents
S10 Diseño Control Espacio de Estados Uno
S10 Diseño Control Espacio de Estados Uno
ESTADO COMPLETO
2.1 INTRODUCCION
En este capítulo se analiza los métodos de diseño en el espacio de estados
basados en los métodos de asignación de polos y del regulador óptimo
cuadrático. El método de asignación de polos es algo análogo al método del lugar
de las raíces ya que se colocan los polos en lazo cerrado en posiciones
deseadas. La diferencia básica es que en el diseño en lugar de las raíces se
sitúan solo los polos en lazo cerrado dominantes, mientras que en el diseño por
asignación de polos se colocan todos los polos en lazo cerrado en las posiciones
que se deseen.
2.2 ASIGNACION DE POLOS
Se supone que todas las variables de estado son medibles y que están
disponibles para su realimentación. Si el sistema considerado es de estado
completamente controlable, los polos del sistema en lazo cerrado se pueden
colocar en cualquier posición deseada mediante una realimentación del estado
a través de una adecuada matriz de ganancias de la realimentación del estado.
A continuación, se demostrara que una condición necesaria y suficiente para que
los polos en lazo cerrado se puedan localizar en cualquier posición arbitraria en
el plano 𝑠 es que el sistema sea de estado completamente controlable.
Diseño mediante asignación de polos
Sea un sistema de control
Figura 2.1
Sistema de control
D
* +
u + x x +
y
B dt C
+
𝑥ሶ= 𝐴𝑥 + 𝐵𝑢, 𝑦 = 𝐶𝑥 + 𝐷𝑢 58
donde
𝑥 = 𝑣𝑒𝑐𝑡𝑜𝑟 𝑑𝑒 𝑒𝑠𝑡𝑎𝑑𝑜 ሺ𝑣𝑒𝑐𝑡𝑜𝑟 𝑑𝑒 𝑑𝑖𝑚𝑒𝑛𝑠𝑖𝑜𝑛 𝑛ሻ
𝑦 = 𝑠𝑒ñ𝑎𝑙 𝑑𝑒 𝑠𝑎𝑙𝑖𝑑𝑎 ሺ𝑒𝑠𝑐𝑎𝑙𝑎𝑟ሻ
𝑢 = 𝑠𝑒ñ𝑎𝑙 𝑑𝑒 𝑐𝑜𝑛𝑡𝑟𝑜𝑙 ሺ𝑒𝑠𝑐𝑎𝑙𝑎𝑟 ሻ
𝐴 = 𝑚𝑎𝑡𝑟𝑖𝑧 𝑑𝑒 𝑐𝑜𝑒𝑓𝑖𝑐𝑖𝑒𝑛𝑡𝑒𝑠 𝑐𝑜𝑛𝑠𝑡𝑎𝑛𝑡𝑒𝑠 𝑛 𝑥 𝑛
𝐵 = 𝑚𝑎𝑡𝑟𝑖𝑧 𝑑𝑒 𝑐𝑜𝑒𝑓𝑖𝑒𝑛𝑡𝑒𝑠 𝑐𝑜𝑛𝑠𝑡𝑎𝑛𝑡𝑒𝑠 𝑛 𝑥 1
𝐶 = 𝑚𝑎𝑡𝑟𝑖𝑧 𝑑𝑒 𝑐𝑜𝑒𝑓𝑖𝑐𝑖𝑒𝑛𝑡𝑒𝑠 𝑐𝑜𝑛𝑠𝑡𝑎𝑛𝑡𝑒𝑠 1 𝑥 𝑛
𝐷 = 𝑐𝑜𝑛𝑠𝑡𝑎𝑛𝑡𝑒𝑠 ሺ𝑒𝑠𝑐𝑎𝑙𝑎𝑟 ሻ
Se selecciona la señal de control como
𝑢 = −𝐾𝑥 59
Esto significa que la señal de control 𝑢 se determina mediante un estado
instantáneo. Tal esquema se denomina realimentación del estado.
Figura 2.2
Sistema de control en lazo cerrado con 𝑢 = −𝐾𝑥
u x x +
B + C +
+
-K
0 1 0 ⋯ 0 66
0 ۍ 0 1 ⋯ 0 ې
ێ ⋯ ۑ
𝑇 −1 𝐴𝑇 = ⋮ ێ ⋮ ⋮ ⋮ ۑ
0ێ 0 0 ⋯ 1 ۑ
𝑛 ۏ−𝑎𝑛 −1
−𝑎 −𝑎𝑛−2 ⋯ −𝑎1 ے
0 67
0 ېۍ
ۑێ
𝑇 −1 𝐵 = ⋮ ۑ ێ
0 ۑێ
1ۏ ے
Se selecciona el conjunto de valores propios deseados como 𝜇1 , 𝜇2 , ⋯ , 𝜇𝑛 . En
este caso la ecuación característica deseada es
ሺ𝑠 − 𝜇1 ሻሺ𝑠 − 𝜇2 ሻ… ሺ𝑠 − 𝜇𝑛 ሻ = 𝑠 𝑛 + 𝛼1 𝑠 𝑛−1 + ⋯ + 𝛼𝑛 −1 𝑠 + 𝛼𝑛 = 0 68
Si se denota
𝐾𝑇 = ሾ𝛿𝑛 𝛿𝑛 −1 ⋯ 𝛿1 ሿ, 𝐾 = ሾ𝛿𝑛 𝛿𝑛 −1 ⋯ 𝛿1 ሿ𝑇 −1 69
La ecuación del sistema es
ሶ= 𝑇 −1 𝐴𝑇𝑥ො
𝑥ො + 𝑇 −1 𝐵𝐾𝑇𝑥ො 70
La ecuación característica es
ȁ𝑠𝐼 − 𝑇 −1 𝐴𝑇 + 𝑇 −1 𝐵𝐾𝑇ȁ = 0 71
Cuando se usa 𝑢 = −𝐾𝑥 como señal de control
𝑥ሶ= 𝐴𝑥 + 𝐵𝑢 = ሺ𝐴 − 𝐵𝐾 ሻ𝑥
La ecuación característica del sistema es
ȁ𝑠𝐼 − 𝐴 + 𝐵𝐾 ȁ = 0 72
ȁ𝑠𝐼 − 𝐴 + 𝐵𝐾 ȁ = 𝑠 𝑛 + (𝑎1 + 𝛿1 )𝑠 𝑛−1 + ⋯ + (𝑎𝑛 −1 + 𝛿𝑛−1 )𝑠 + (𝑎𝑛 + 𝛿𝑛 ) = 0
𝑎1 + 𝛿1 = 𝛼1 73
𝑎2 + 𝛿2 = 𝛼2
⋮
𝑎𝑛 + 𝛿𝑛 = 𝛼𝑛
𝐾 = ሾ𝛿𝑛 𝛿𝑛 −1 ⋯ 𝛿1 ሿ𝑇 −1 74
Paso 4. Usando los valores propios deseados (los polos en lazo cerrado
deseado), escriba el polinomio característico deseado:
ሺ𝑠 − 𝜇1 ሻሺ𝑠 − 𝜇2 ሻ… ሺ𝑠 − 𝜇𝑛 ሻ = 𝑠 𝑛 + 𝛼1 𝑠 𝑛−1 + ⋯ + 𝛼𝑛 −1 𝑠 + 𝛼𝑛 = 0 77
Y determine los valores de 𝛼1 , 𝛼2 , … , 𝛼𝑛
𝑀 = ሾ𝐵 𝐴𝐵 … 𝐴𝑛−2 𝐵 𝐴𝑛−1 𝐵 ሿ 80
u x x
B +
+
-K
Solución
Primero hallamos la matriz de Controlabilidad Mc del sistema: 𝑀𝑐 =
ሾ𝐵 𝐴𝐵 𝐴2 𝐵ሿ
Mc =
0 0 1
0 1 -6
1 -6 31
ans = 3
ans = -1
De los resultados de la corrida del programa, el rango de Mc es 3 y el
determinante de Mc es -1 por lo que se concluye que el sistema es
completamente controlable.
0 0 1
𝑀𝑐 = 0 1 −6൩
1 −6 31
Como det(𝑀𝑐) ≠ 0, el sistema es completamente controlable y es posible la
colocación arbitraria de los polos. La respuesta del sistema sin compensar ante
un escalón unitario es estable, con un tiempo de estabilización de 20 seg.
Close all; clear all; clc;
%respuesta en el tiempo ante un escalón unitario
A=[0 1 0; 0 0 1; -1 -5 -6];
B=[0; 0; 1];
C=[1 0 0];
D=[0];
step(A,B,C,D)
Figura 2.4
Respuesta en el tiempo del sistema ante un escalón unitario
Step Response
1
0.9
0.8
0.7
0.6
Amplitude
0.5
0.4
0.3
0.2
0.1
0
0 5 10 15 20 25
Time (seconds)
Método 1:
Determinamos el polinomio característico
𝑠 −1 0
ȁ𝑠𝐼 − 𝐴ȁ = อ0 𝑠 −1 อ= 𝑠 3 + 6𝑠 2 + 5𝑠 + 1 = 𝑠 3 + 𝑎1 𝑠 2 + 𝑎2 𝑠 + 𝑎3
1 5 𝑠+6
𝑎1 = 6 , 𝑎2 = 5 , 𝑎3 = 1
La ecuación característica deseada es
ห𝑠𝐼 − 𝐴ሚ
ห= ሺ𝑠 − 𝜇1 ሻሺ𝑠 − 𝜇2 ሻ(𝑠 − 𝜇3 ) = 𝑠 3 + 𝛼1 𝑠 2 + 𝛼2 𝑠 + 𝛼3
ሺ𝑠 + 2 − 𝑗4ሻሺ𝑠 + 2 + 𝑗4ሻሺ𝑠 + 10ሻ = 𝑠 3 + 14𝑠 2 + 60𝑠 + 200
𝛼1 = 14 , 𝛼2 = 60 , 𝛼3 = 200
𝐾 = ሾ𝛼3 − 𝑎3 𝛼2 − 𝑎2 𝛼1 − 𝑎1 ሿ𝑇 −1
Figura 2.5
Respuesta en el tiempo ante un escalón unitario del sistema compensado
-3
x 10 Step Response
6
4
Amplitude
0
0 0.5 1 1.5 2 2.5 3
Time (seconds)
Multiplicando por el factor 1/5. Aquí se observa que el tiempo de subida ha
disminuido de 20 segundos a 0.6 segundos con un tiempo de estabilización de
2.5 segundos; entonces de observa que la realimentación K es efectiva.
Figura 2.6
Respuesta en el tiempo del sistema realimentado con factor 1/5
-3
x 10 Step Response
1.2
Amplitude 0.8
0.6
0.4
0.2
0
0 0.5 1 1.5 2 2.5 3
Time (seconds)
2.3 SOLUCION DE PROBLEMAS DE ASIGNACION DE POLOS CON
MATLAB
La orden acker se basa en la fórmula de Ackermann, esta se aplica solo a
sistemas de una única entrada. Los polos en lazo cerrado deseados pueden
incluir polos múltiples (polos localizados en el mismo lugar). La asignación de
polos basada en este método se llama asignación robusta.
La orden place es la asignación robusta de los polos, se puede utilizar tanto
para sistemas de única entrada como de múltiples entradas, requiere que la
multiplicidad de los polos en lazo cerrado deseados no sea mayor que el rango
de B, esto es la matriz B es de 𝑛 × 1, la orden place no necesita que no haya
polos múltiples en el conjunto de polos en lazo cerrado deseado.
Para sistemas de una única entrada acker y place dan la misma K. pero para
sistemas con múltiples entradas se debe emplear la orden place.
Para utilizar la orden place o acker, se introducen en primer lugar las
siguientes matrices en el programa:
𝑚𝑎𝑡𝑟𝑖𝑧 𝐴, 𝑚𝑎𝑡𝑟𝑖𝑧 𝐵, 𝑚𝑎𝑡𝑟𝑖𝑧 𝐽
Donde J es la matriz consistente de los polos en lazo cerrado deseados, tal que
𝐽 = ሾ𝜇1 𝜇2 ⋯ 𝜇𝑛 ሿ
A continuación se introduce K=acker(A,B,J)o bien K=place(A,B,J)
La orden eig(A-B*K)se puede utilizar para verificar que la matriz K asi
obtenida da los valores propios deseados.
EJEMPLO 2.2
Se considera el mismo problema analizado en el ejemplo 2.1. la ecuación del
sistema es
0 1 0 0
𝑥ሶ= 𝐴𝑥 + 𝐵𝑢, 𝐴 = 0 0 1 ൩, 𝐵 = 0൩
−1 −5 −6 1
Utilizando un control mediante realimentación del estado 𝑢 = −𝐾𝑥, se pretende
que los polos en lazo cerrado en 𝑠 = 𝜇𝑖 (𝑖 = 1, 2, 3), donde 𝜇1 = −2 + 𝑗4 , 𝜇2 =
−2 − 𝑗4 , 𝜇3 = −10. Determine la matriz de ganancias de realimentación del
estado K con Matlab.
Solución
Con la orden acker
close all; clear all; clc;
A=[0 1 0; 0 0 1; -1 -5 -6];
B=[0; 0; 1];
J=[-2+j*4 -2-j*4 -10];
K=acker(A,B,J)
K =
199 55 8
Con la orden place
K =
199.0000 55.0000 8.0000
EJEMPLO 2.3
Considerando el mismo Sistema anterior. Se desea que este sistema regulador
tenga polos en lazo cerrado en
𝑠 = −2 + 𝑗4 , 𝑠 = −2 − 𝑗4 , 𝑠 = −10.
La matriz de ganancias de realimentación del estado K necesaria que se obtuvo
𝐾 = ሾ199 55 8ሿ
Obtenga la respuesta para la condición inicial
1
𝑥 ሺ0ሻ = 0൩
0
Solución
Sustituyendo en la ecuación de la planta 𝑢 = −𝐾𝑥
𝑥ሶ= ሺ𝐴 − 𝐵𝐾 ሻ𝑥
𝑥ሶ= ሺ𝐴 − 𝐵𝐾 ሻ𝑥 + 𝐼𝑢
𝑦 = 𝐼𝑥 + 𝐼𝑢
Sys=ss(A-BK,eye(3),eye(3),eye(3))
Y la orden initial de la forma siguiente
x=initial(sys, [1;0;0],t)
t=0:0.01:4;
x1=[1 0 0]*x’;
x2=[0 1 0]*x’;
x3=[0 0 1]*x’;
close all; clear all; clc;
%respuesta a condicion inicial
A=[0 1 0; 0 0 1; -1 -5 -6];
B=[0; 0; 1];
J=[-2+j*4 -2-j*4 -10];
K=place(A,B,J);
sys=ss(A-B*K,eye(3),eye(3),eye(3));
t=0:0.01:4;
x=initial(sys,[1;0;0],t);
x1=[1 0 0]*x';
x2=[0 1 0]*x'
x3=[0 0 1]*x'
subplot(3,1,1); plot(t,x1),grid
title('respuesta a condicion inicial')
ylabel('variable de estado x1')
subplot(3,1,2); plot(t,x2),grid
ylabel('variable de estado x2')
subplot(3,1,3); plot(t,x3),grid
xlabel('t (seg)')
ylabel('variable de estado x3')
Figura 2.7
Respuesta a condición inicial
variable de estado x1
1
0.5
-0.5
0 0.5 1 1.5 2 2.5 3 3.5 4
variable de estado x2
2
-2
-4
0 0.5 1 1.5 2 2.5 3 3.5 4
variable de estado x3
10
-10
0 0.5 1 1.5 2 2.5 3 3.5 4
t (seg)