Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Los observadores de estado, son herramientas virtuales, que permiten estimar las
variables o estados de un sistema basndose en mediciones de las seales de salida.
Estos observadores permiten enviar informacin estimada acerca del valor que toman
dichos estados, permitiendo conocer un aproximado del valor real, adems cuentan con
muy poco margen de diferencia o error, sobre todo en una etapa inicial que podramos
considerar de sintona. Posteriormente, la estimacin de la salida es muy precisa.
Para poder comprender el empleo de los Observadores de Estado, debemos tener una
idea de la funcin completa de un sistema controlado. Los Controladores de Estado se
van a encargar de manipular al sistema de una manera estable hacia salidas esperadas,
pero para funcionar adecuadamente deben realimentarse todos los estados del sistema,
lo cual es un concepto que ya fue tocado en el captulo correspondiente.
Los observadores son tiles debido a que muchas veces los estados necesarios para la
realimentacin mediante el controlador, no estn disponibles por motivos muy sencillos:
a.
b.
Los Sensores No Existen: Es obvio que para realimentar un estado, ste debe ser
sensado. Si el sensor an no ha sido inventado, la realimentacin sera imposible,
como es el caso de las reacciones nucleares o de estados de orden elevado como la
derivada de la aceleracin.
Los Sensores son Demasiado Caros: Un motivo frecuente. Normalmente
queremos medir estados como posicin, aceleracin, variacin de ngulo, tensin,
y ellos solamente pueden ser sensados por instrumentos de medicin
extremadamente caros con respecto al sistema a controlar. Por ejemplo, colocarle
c.
A los Observadores de Estado, se les considera una herramienta virtual, puesto que son
software que corrige y estima al sistema.
8.1. Tipos de Observadores de Estado:
Existen 2 tipos de observadores: observadores de orden completo, y observadores de
orden reducido u orden mnimo.
a. Los observadores de orden Completo, son aquellos utilizados para observar o
estimar todos los estados de un sistema.
b. Los observadores de orden Reducido, son aquellos utilizados para observar o
estimar slo algunos estados de un sistema, los cuales no sern tratados en este
texto.
8.2. Observadores de Estado de Orden Completo:
Dado el sistema:
x& = Ax + Bu
y = Cx + Dx
Es factible asumir estados estimados para un sistema conocido, pero como ellos no son
exactos y deseamos reproducir fielmente el sistema real, debemos agregarle una
proporcin del error entre las salidas del sistema, o factor de correccin, con la finalidad
de compensarlo:
Sistema Real:
Sistema Estimado u Observado:
x& = Ax + Bu
~
x& = A~
x + Bu + L( y ~
y)
donde:
L
~
x
y
188
Captulo 8
Debe notarse que las matrices A, B, C, D son las mismas tanto para un sistema real
como para el sistema estimado.
189
1 4
1
y = [0 1]x + [0]u
Solucin:
Si el sistema es de orden 2, es de suponer que el observador tambin ser de orden 2, y
lo podemos definir como:
l
L = 1
l 2
Luego el polinomio caracterstico estar dado por:
1 0 0 2 l1
+ [0 1]
0 1 1 4 l 2
s 0
0 2 0 l1
[sI A + LC ] =
+
0 s 1 4 0 l2
s
2 + l1
[sI A + LC ] =
1 s + 4 + l 2
[sI A + LC ] = s( s + 4 + l 2 ) + (2 + l1 )
[sI A + LC ] = s
[sI A + LC ] = s 2 + (4 + l2 ) s + (2 + l1 )
Para calcular el valor del Observador de Estados, vamos a desarrollar tres formas que
pueden utilizarse a conveniencia de cada uno.
8.3.1. Algoritmo para el Clculo del Observador de Estados:
a.
190
Observabilidad: =
M
n 1
CA
Captulo 8
b.
c.
a1
1
a n2
a n 3
M
1
0
K a1
K 1
N M
L 0
L 0
1
0
M
0
0
En donde a1, a2, an-2, an-3, son los coeficientes del polinomio
caracterstico original |sI-A|.
d.
e.
b1 a1
0
1 x + 0u
x& = 0
2 1 2
1
y = [1 0 0]x + [0]u
191
Solucin:
a.
Observabilidad
1 0 0
= 0 1 0
0 0 1
rank( ) = 3
det( ) = 1
b.
El sistema es observable
sI A = 0 s 0 0
0
1
0 0 s 2 1 2
s 1
0
sI A = 0 s
1
2 1 s+2
sI A = s ( s 2 + 2 s + 1) + 2
sI A = s 3 + 2 s 2 + s + 2
sI A = s 3 + a1s 2 + a2 s + a3
Q = ( W x )-1
a 2 a1 1 1 2
W = a1 1 0 = 2 1
1 0 0 1 0
1 2 1 1 0 0 1
W = 2 1 0 0 1 0 = 2
1 0 0 0 0 1 1
1
0 0
Q = 0 1 2
1 2 3
d.
1
0
0
2 1
1 0
0 0
192
Captulo 8
(s - 1) (s - 2) (s - 3) = s3 + 9s2 + 25s + 25
Donde los coeficientes son b1 = 9 , b2 = 25 y b3 = 25 .
e.
L = Q b2 a 2 = 0 1 2 24
b1 a1 1 2 3 7
l1 7
L = l 2 = 10
l 3 4
0 1
0
x& =
x + u
1 2
1
y = [0 1]x + [0]u
Solucin:
a.
( s ) = ( s 1 )( s 2 )
( s ) = ( s + 3 j )( s + 3 + j )
( s ) = s 2 + 6 s + 10
b.
193
0 1
0 1
1 0
( A) =
+ 6
+ 10
1 2
1 2
0 1
1 2 0 6 10 0
( A) =
+
+
2 3 6 12 0 10
9 4
( A) =
4 1
2
c.
1 2
El sistema es observable.
d.
1
2
1
2
1
2
2 1
1 0
1 =
1
2 1
1 =
1 0
e.
4 1 1 0 1
9 4 1
L=
4 1 0
9
L=
4
194
Captulo 8
9
El Observador de Estados es: L =
4
8.3.3. Mtodo por Excepcin:
Analizando la respuesta del ejemplo E.8.1, se aprecia que los valores que toman
l1 y l2 estn en funcin del polinomio caracterstico y del polinomio caracterstico
deseado. Este ltimo depende de los polos deseados para el observador. Es un
caso similar al que desarrollamos en los controladores.
Por lo tanto podemos asumir valores para dichas races, a los que llamaremos 1
y 2 de modo tal que el polinomio tenga una respuesta estable. Luego, por
simple equivalencia de trminos, podemos hallar el valor de las incgnitas.
Podemos generalizar la metodologa que se va a presentar, diciendo que si
tenemos [1 2 3 n], que son los autovalores deseados para la matriz del
observador |A-LC|, stos conforman el polinomio caracterstico (s-1) (s-2) (s3) (s-n).
Este polinomio se iguala al polinomio caracterstico original donde se ha
considerado el observador |sI-A+LC|, crendose una equivalencia entre trminos:
|sI-A+LC| = (s-1) (s-2) (s-3) (s-n)
Resolviendo la equivalencia se podr encontrar el valor del vector L.
Como la solucin depende de un sistema de ecuaciones simultneas, este mtodo
est restringido a sistemas de hasta 3er orden.
Ejemplo E.8.4: Dado el polinomio caracterstico del ejemplo E.8.1:
s2+(4+l2)s+(2+l1)
Determinar el valor de l1 y l2 si se quiere que los polos deseados del sistema se ubiquen
en -4 y -3.
Solucin:
a.
s 2 + 7 s + 12
195
b.
c.
+ [0 1]
0 1 1 4 l 2
s 0 0 2 0 l1
0 s 1 4 + 0 l
2
s
l1 + 2
1 s + l2 + 4
( s )( s + l 2 + 4) (1)(l1 + 2)
s 2 + (l 2 + 4) s + (l1 + 2)
d.
e.
f.
Es aconsejable que los polos del observador sean de 3 a 5 veces mayores (ms
negativos) que los polos del controlador por realimentacin de estados, pero sin salirse
de la regin de estabilidad. La eleccin de los polos deseados van a determinar las
caractersticas de la respuesta obtenida, por lo que puede existir un conjunto infinito de
vectores L como solucin, de las cuales slo un limitado nmero de soluciones cumplen
con las necesidades requeridas para el sistema (como por ejemplo: sobreimpulso,
velocidad de respuesta, etc. del sistema estimado), por lo que se aconseja probar,
mediante simulacin, la respuesta del sistema a diferentes valores de polos escogidos.
196
Captulo 8
Vamos a usar, por su simplicidad, archivo-m controlador del captulo anterior, que se
encarga de disear los controladores de estado. Este comando tiene la siguiente forma:
K = controlador(A,B,polos_d)
Asimismo, recordemos que existen formas cannicas controlables y observables. Ellas
determinan en el diseo, si es necesaria la matriz de transformacin o no. En otras
palabras, si para el un sistema que tiene forma cannica controlable va a ser utilizado
para disearle u controlador, la matriz de transformacin no ser necesaria porque el
sistema ya se encuentra en la forma establecida. Del mismo modo, para el diseo de
observadores de estado, cuando el sistema est en forma cannica observable.
Las formas cannicas controlable y observable, tienen cierta relacin con respecto a sus
traspuestas, la cual resumiremos en los siguientes cuadros, los cuales han sido
presentados en el captulo de transformaciones:
Forma Cannica Controlable
ACC
BCC
CCC
DCC
A, B,
Polos Deseados
b.
Algoritmo de
Controlador
Controlador de
Estados (K)
197
A, C,
Polos Deseados
Algoritmo de
Controlador
Observador de
Estados (L)
Como conclusin tenemos que todos los algoritmos para el diseo de controladores y
observadores de estado parten del mismo principio, y pueden ser utilizados para el
diseo de ambos, siempre y cuando entreguemos las entradas en la forma cannica
correspondiente o su equivalente.
8.5. Utilizando el Matlab para el Diseo de Observadores de Estado:
Tal como se describi en las comparaciones con respecto al diseo de los controladores
de estado (8.4), vamos a utilizar comandos conocidos del Matlab para el diseo y
simulacin de los Observadores de Estado. Adicionalmente, para los casos SISO, se
pueden emplear los comandos acker o place.
Para utilizar cualquiera de estos comandos, debemos considerar a un sistema de la
forma:
x& = Ax + Bu
y = Cx + Dx
y a un vector de polos deseados: P = [1
2 L n ]
0
0
0
1 x + 0u
1
2 1
1
0 0]x + [0]u
Solucin:
Digitar en Matlab los siguientes comandos para obtener las soluciones:
A = [0 1 0; 0 0 1; -3 -2 -1];
C = [2 0 0];
P = [-2 -1+j -1-j];
L = acker(A',C',P)'
198
Captulo 8
En la prctica real, tal vez un estado de x(t ) no pueda medirse y sea necesario generar
un estado observado ~
x para la realimentacin.
(t )
199
Donde quedara:
x& = ( A BK ) x + BK ( x ~
x)
x& = ( A BK ) x + BKe
1
18.1 0
y = [1 0]x + [0]u
Donde los polos deseados del controlador sean 2.43.6j y los del observador sean 12.
200
Captulo 8
Solucin:
Diseando al controlador de estados:
sI A + BK = ( s + 2.4 j 3.6)( s + 2.4 + j 3.6)
s 0 0 1 0
0 s 18.1 0 + 1[k1
k 2 ] = ( s + 2 .4 ) 2 ( j 3 .6 ) 2
1 0 0
s
2
18.1 s + k k = ( s + 4.8s + 5.76) (12.96)
1
2
1
s
= s 2 + 4.8s + 18.72
k1 18.1 s + k 2
( s )( s + k 2 ) (1)(k1 18.1) = s 2 + 4.8s + 18.72
s 2 + k 2 s + (k1 18.1) = s 2 + 4.8s + 18.72
Igualando coeficientes:
k1 = 36.82
k 2 = 4.8
El Controlador de Estados es:
K = [36.82 4.8]
s 0 0 1 l1
2
0 s 18.1 0 + l [1 0] = ( s + 12)
2
1 l1 0
s
2
18.1 s + l 0 = s + 24s + 144
s + l1
1
= s 2 + 24 s + 144
l 2 18.1 s
( s + l1 )( s ) (l 2 18.1)(1) = s 2 + 24 s + 144
s 2 + l1 s + (l 2 18.1) = s 2 + 24 s + 144
Igualando coeficientes:
l1 = 24
l 2 = 162.1
El Observador de Estados es:
24
L=
162.1
201
BK x
A LC e
Donde:
x
e
x = 1 y e = 1
x2
e 2
x&1 0 1 0
x1
0
36
.
82
4
.
8
36
.
82
4
.
8
[
]
[
]
1
x& 2 = 18.1 0 1
x2
e&1
e
0 0
0 1 24
[1 0] 1
0 0
18.1 0 162.1
e 2
e&2
x&1 0 1 0
x1
0
0
0
36.82 4.8
x& 2 = 18.1 0 36.82 4.8
x2
e&1
0 0
0 1 24 0 e1
18.1 0 162.1 0 e
0 0
2
e&2
x&1 0
x& 2 = 18.72
e&1
0
0
e&2
1 0
4.8 36.82
0
24
144
0 x1
4.8 x 2
1 e1
0 e2
202
Captulo 8
L = [L1
L2 ]
y
y = 1
y2
C
C = 1
C 2
b.
L = [L1
L2 ]
203
Es importante resaltar que para todos los casos puede usarse el mismo polinomio
caracterstico deseado, cuando no se especifica que stos deben ser diferentes.
Del mismo modo, se deben verificar las propiedades de observabilidad de L1 y L2 . Si
L1 y L2 son observables, entonces L es observable.
Si alguna de las Li no es observable o si una de las salidas no se necesita observar,
simplemente sta se puede dejara de considerar y se reduce el orden del L completo,
Pero se debe tener mucho cuidado con la Ecuacin de Estado, por ejemplo si tenemos
un sistema con tres salidas:
~
x& = A~
x + Bu + L( y ~
y)
~
x& = A~
x + Bu + [L1
L2
y1 C1
L3 ] y 2 C 2 ~
x
y C
3 3
L3 ]
y C
L3 ] 1 1 ~
x
y
C
3
3
En este tipo de operaciones, es importante tener mucho cuidad con los ordenes de las
diferentes matrices del sistema.
Ejemplo E.8.7: Determinar el Observador de Estados del siguiente sistema:
1
0
0
0
x& = 0
0
1 x + 0u
1
1 5 6
y = [0 1 0]x + [0]u
Asumiendo que los polos deseados del observador estn en 10, -10 y 15.
Solucin:
Utilizaremos las herramientas planteadas para el diseo de controladores de estado y las
propiedades de las equivalencias de lo controladores con los observadores:
Para ello debemos digitar:
204
Captulo 8
clear all
clc
A=[0 1 0;0 0 1;-1 -5 -6];
C=[0 1 0];
polos=[-10 -10 -15]';
L=controlador(A,C,polos)
La respuesta del Matlab es:
El sistema es controlable
-----------------------------------------------------------------------Comprobacion: Deben aparecer los polos deseados que ingreso
polos_deseados = -10.0000 + 0.0000i
-10.0000 - 0.0000i
-15.0000
-----------------------------------------------------------------------Matriz K de controlabilidad
L = 1.0e+003 *
-1.4990
0.0290
0.2210
Como se puede apreciar, los resultados obtenidos mediante el Matlab seran:
1499
L = 29
221
1
18.1 0
y = [1 0]x + [0]u
205
C=[1 0];
polos=[-2.4+3.6*j -2.4-3.6*j]';
L = acker(A,C,polos)
El resultado es el siguiente:
L = 24.0000
162.1000
En otras palabras el Observador de Estados es:
24
L=
162.1
0
1
L
0 x + 0 u
0
0
y = [0 0 1]x + [0]u
u = [ 2 32.99 34]x
R
L
K
x& =
J
0
K
L
b
J
1
J = 0.01 kg.m2/s2
b = 0.1 Nms
K =Ke=Kt = 0.01 Nm/Amp
R = 1 Ohm
L = 0.5 H
Solucin:
Como en el ejemplo anterior, el anlisis del sistema lo desarrollaremos con Matlab.
Adicionalmente, utilizaremos los conceptos de las comparaciones de los Controladores
y los Observadores con la finalidad de usar los comandos ya conocidos para los
primeros en los segundos.
Para ello iniciamos nuestro programa, cargamos las constantes del sistema y las
matrices del mismo:
% Motor DC con Control de Posicin.
206
Captulo 8
10 0 x + 0u
x& = 1
0
0
1
0
y = [0 0 1]x + [0]u
u = [ 2 32.99 34]x
207
% Entrada Inicial.
u = 1;
% Escaln Unitario.
% Definicin de Tiempos de Simulacin.
ti = 0;
% Tiempo Inicial.
tf = 6;
% Tiempo Final.
dt = 0.001; % Diferencial de Tiempo.
% Condiciones Iniciales.
x = [ 0; 0; 0.5 ];
xo = [ 1; 1; 0 ];
Simulamos agregando al sistema observado, almacenamos los datos para su posterior
ploteo e integramos.
% Simulacin.
k = 1;
for t = ti:dt:tf
CORR(k,1) = x(1,1);
THETAP(k,1) = x(2,1);
THETA(k,1) = x(3,1);
CORRO(k,1) = xo(1,1);
THETAPO(k,1) = xo(2,1);
THETAO(k,1) = xo(3,1);
TIEMPO(k,1) = t;
% Ecuaciones de Estado.
xp = A*x + B*u;
y = C*x + D*u;
xop = A*xo + B*u + L*(C*x-C*xo);% Sistema Estimado u observado.
u = -K*xo; %Realimentacin de Estados Estimados.
Y(k,1) = y;
% Integrando mediante Euler.
x = x + dt*xp;
xo = xo + dt*xop;
k = k + 1;
end
Como ltimo paso, graficamos las variables de estado y la salida:
% Graficamos las Salidas.
figure(1)
subplot(221)
plot(TIEMPO,CORR,b, TIEMPO,CORRO,r:)
title('Estado x1: Corriente')
xlabel('Tiempo (Segundos)')
ylabel('Amperios')
208
Captulo 8
legend(Real,Observado)
grid on
subplot(222)
plot(TIEMPO,THETAP,b, TIEMPO,THETAPO,r:)
title('Estado x2: Velocidad Angular')
xlabel('Tiempo (Segundos)')
ylabel('Radianes/Segundo')
legend(Real,Observado)
grid on
subplot(223)
plot(TIEMPO,THETA,b, TIEMPO,THETAO,r:)
title('Estado x3: Posicin Angular')
xlabel('Tiempo (Segundos)')
ylabel('Radianes')
legend(Real,Observado)
grid on
subplot(224)
plot(TIEMPO,Y,'r')
title('Salida y: Angular Theta')
xlabel('Tiempo (Segundos)')
ylabel('Radianes')
grid on
La figura de la simulacin es la siguiente:
Estado x1: Corriente
10
2
Radianes/Segundo
Amperios
Real
Estimado
0
-10
-20
0.6
2
4
Tiempo (Segundos)
Salida y: Angular Theta
2
4
Tiempo (Segundos)
0.4
Radianes
Radianes
-1
0.6
Real
Estimado
0.4
0.2
0
-0.2
-2
2
4
6
Tiempo (Segundos)
Estado x3: Posicin Angular
Real
Estimado
0.2
0
2
4
Tiempo (Segundos)
-0.2
209
210