Вы находитесь на странице: 1из 111

Control por realimentacion

del vector de estado


Leonardo Bermeo
Universidad Nacional de Colombia
Control
El vector de estado
Los metodos por realimentacion del vector de estado surgieron en
la decada de los 60 para tratar, ante todo , con sistemas inestables.
Son famosos los desarrollos en este sentido de Kalman.
La representacion de estado de un sistema LTI
Como recordamos el estado en un sistema es la coleccion de
variables que resumen el pasado de un sistema para el proposito de
la estimacion futura. En un sistema de ingeniera el estado se
compone de las variables necesarias para tener en cuenta el efecto
de almacenamiento de masa, momento o energa.
x = Ax + Bu
y = Cx + du
A
nxn
, B
nx1
, C
1xn
, d
1x1
caso siso
u entrada del sistema y salida del sistema
De la representacion de estado a la funcion de transferencia
A partir de la funcion de representacion de estado podemos
obtener la funcion de transferencia de un sistema
x = Ax + BU
Tomando transformada de Laplace y suponiendo condiciones
iniciales nulas
sX(s) = AX(s) + BU(s) (1)
(sI A)X(s) = BU(s) (2)
X(s) = (sI A)
1
BU(s) (3)
De la representacion de estado a la funcion de transferencia
Con la ecuacion de salida
y(t) = Cx(t) + du(t)
y = Cx + du (4)
Y(s) = CX(s) + dU(s) (5)
Y(s) = C(sI A)
1
BU(s) + dU(s) (6)
De manera que la funcion de transferencia es
G(s) =
Y(s)
U(s)
= C(sI A)
1
B + d
De la funcion de transferencia a la realizacion
Supongamos que tenemos una funcion de transferencia propia
G(s) =
grado m

N(s)
D(s)

grado n
Escribamos esta funcion descompuesta en un escalar y una parte
estrictamente propia
G(s) = G
ep
(s) + d
Donde G
ep
(s) es la parte estrictamente propia y d es el escalar que
aparece en la representacion de estado Supongamos para el
ejemplo el caso n=4
G
ep
(s) =
b
1
s
3
+ b
2
s
2
+ b
3
s + b
4
s
4
+ a
1
s
3
+ a
2
s
2
+ a
3
s + a
4
forma canonica controlable
G(s) = G
ep
(s) + d
G
ep
(s) =
b
1
s
3
+ b
2
s
2
+ b
3
s + b
4
s
4
+ a
1
s
3
+ a
2
s
2
+ a
3
s + a
4
Este sistema tiene la representacion en forma canonica controlable
dada por
x =

a
1
a
2
a
3
a
4
1 0 0 0
0 1 0 0
0 0 1 0

x +

1
0
0
0

u
y =

b
1
b
2
b
3
b4

x + du
forma canonica controlable
G(s) = G
ep
(s) + d
G
ep
(s) =
b
1
s
n1
+ b
2
s
n2
+ + b
n1
s + b
n
s
n
+ a
1
s
n1
+ + a
n1
s + a
n
De manera general, este sistema tendra la forma controlable
x =

a
1
a
2
a
n1
a
n
1 0 0
0 1 0 0
.
.
. 0 1
.
.
.
0
.
.
.
.
.
.
.
.
.
.
.
.
0 0
0 0 0 1 0

x +

1
0
.
.
.
.
.
.
0

u
y =

b
1
b
2
b
n1
b
n

x + du
forma canonica observable
Si tenemos la funcion de trnasferencia
G(s) =
N(s)
D(s)
Usamos el hecho de que una funcion de transferencia es igual a su
traspuesta
G(s) = G(s)
T
G(s) = C(sI A)
1
BU(s) + d
G(s)
T
= C(sI A)
1
BU(s) + d
G(s)
T
= [C(sI A)
1
B + d]
T
Y usando las propiedades de la transpuesta:
G(s) = B
T
(sI A
T
)
1
C
T
forma canonica observable
De manera general esta es la forma canonica observable
x =

a
1
1 0 0
a
2
0 1 0 0
.
.
. 0 0 1
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0
a
n1
0 0 0 1
a
n
0 0 0 0

x +

b
1
b
2


b
n1
b
n

u
y =

1 0 . . . . . . 0

x + du
forma canonica observable
De manera general esta es la forma canonica observable
x =

a
1
1 0 0
a
2
0 1 0 0
.
.
. 0 0 1
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0
a
n1
0 0 0 1
a
n
0 0 0 0

x +

b
1
b
2


b
n1
b
n

u
y =

1 0 . . . . . . 0

x + du
Estos nombres tienen mucho que ver con lo que es la
controlabilidad y la observabilidad de un sistema.
Polos y autovalores
Puesto que la funcion de trnasferencia de un sistema, a partir de su
representacion de estado es
G(s) =
Y(s)
U(s)
= C(sI A)
1
B + d
Ademas por teora basica de matrices sabemos que
M
1
=
Adj (M)
det(M)
Para el caso
(sI A)
1
=
Adj (sI A)
det(sI A)
Notese que los polos de G(s) estan conformados por los valores
donde
det(sI A) = 0
polos y autovalores
Recordemos que
det(sI A) = 0
Es el polinomio caracterstico de A y sus races son los valores
propios de A. Si observamos la funcion de transferencia del sistema
G(s) = C
Adj (sI A)
det(sI A)
B + d
Llegamos a la siguiente conclusion
A menos de que existan cancelaciones de polos y ceros, los polos
de G(s) son los valores propios de A
Realizacin en Serie
Esta realizacin se obtiene cuando se considera un sistema como
una cascada de bloques de primer orden puestos en serie.
Si por ejemplo tenemos el sistema
G(s) =
10
(s + 1)(s + 2)(s + 3)
Lo podemos representar en serie suponiendo (y esto a veces no es
una suposicin sino hace parte de la propia construcin del sistema
fsico) que se estructura por bloques en serie
( ) U s
5
1 s +
1
X
1
2 s +
2
X
2
3 s +
3
X
( ) Y s
( ) U s
5
1 s +
1
X
1
2 s +
2
X
2
3 s +
3
X
( ) Y s
Realizacin en Serie
Descomposicin en bloques
En la salida de cada bloque asignamos variables de estado para el
sistema.
( ) U s
5
1 s +
1
X
1
2 s +
2
X
2
3 s +
3
X
( ) Y s
( ) U s
5
1 s +
1
X
1
2 s +
2
X
2
3 s +
3
X
( ) Y s
En el primer bloque se tiene
5
1 s +
( ) U s
1
x
X
1
(s)
U(s)
=
5
s + 1
Realizacin en serie
Obtencin de las ecuaciones
Y tomando transformada inversa se obtiene, para el primer bloque
5
1 s +
( ) U s
1
x
x
1
+x
1
= 5u
x
1
= x
1
+ 5u
Realizacin en serie
Obtencin de las ecuaciones
De similar manera para el segundo bloque
1
2 s +
1
x
2
x
X
2
(s)
X
1
(s)
=
1
s + 2
x
2
+ 2x
2
= x
1
x
2
= 2x
2
+x
1
Realizacin en serie
Obtencin de las ecuaciones
Finalmente para el tercer bloque
2
3 s +
( ) Y s
2
x
3
x
X
3
(s)
X
2
(s)
=
2
s + 3
x
3
+ 3x
3
= 2x
2
x
3
= 3x
3
+ 2x
2
Realizacin en serie
Obtencin de las ecuaciones
La realizacin en serie obtenida para este sistema es
x
1
= x
1
+ 5u
x
2
= 2x
2
+x
1
x
3
= 3x
3
+ 2x
2
Es decir
_
_
x
1
x
2
x
3
_
_
=
_
_
1 0 0
1 2 0
0 2 3
_
_
_
_
x
1
x
2
x
3
_
_
+
_
_
5
0
0
_
_
u
y =
_
0 0 1

_
_
x
1
x
2
x
3
_
_
+ 0u
Realizacin en paralelo
Para obtener una realizacin en paralelo concebimos el sistema
como formado por bloques de primer orden que se suman.
G(s) =
10
(s + 1)(s + 2)(s + 3)
Expandiendo en fracciones parciales
G(s) =
5
s + 1

10
s + 2
+
5
s + 3
Realizacin en paralelo
Entonces interpretamos esta representacin como si el sistema
fuera la suma de bloques "en paralelo". La salida de cada bloque
es una variable de estado.
5
1 s +
5
3 s +
( ) U s ( ) Y s
1
x
3
x
10
2 s

+
2
x
+
Realizacin en paralelo
As las cosas encontramos para cada bloque la representacin
5
1 s +
5
3 s +
( ) U s ( ) Y s
1
x
3
x
10
2 s

+
2
x
+
De esto obtenemos
x
1
= x
1
+ 5u
x
2
= 2x
2
10u
x
3
= 3x
3
+ 5u
Realizacin en paralelo
Tenemos entonces, la representacin de estado
_
_
x
1
x
2
x
3
_
_
=
_
_
1 0 0
0 2 0
0 0 3
_
_
_
_
x
1
x
2
x
3
_
_
+
_
_
5
10
5
_
_
u
y =
_
1 1 1

_
_
x
1
x
2
x
3
_
_
+ 0u
Esta representacin de estado tiene una caracterstica muy especial
y es ser diagonal. Esto siempre ocurrir cuando hacemos una
realizacin paralelo de un sistema con todos los polos distintos.
Otras realizaciones obtenibles. Transformacin de
cooordenadas
Si obtuvimos una realizacin de un sistema fsico podemos obtener
innitas realizaciones, a partir de cambio de coordenadas. Para
esto supongamos un sistema descrito en variables de estado
x = Ax +Bu
y = Cx +du
Si denimos un nuevo estado dado por
z = Px
Supuesto que P 2 R
nxn
y es una matriz invertible
x = P
1
z
x = P
1
z
Otras realizaciones obtenibles. Transformacin de
cooordenadas
Usando x = P
1
z en la representacin de estado
x = Ax +Bu
y = Cx +du
Obtenemos
P
1
z = AP
1
z +Bu
y = CP
1
z +du
Multiplicando por P, obtenemos un sistema con coordenadas
transformadas
z = PAP
1
z +PBu
y = CP
1
z +du
Transformacin de cooordenadas
De manera que podemos denir las matrices del sistema con las
coordenadas transformadas por
z = A
z
z +B
z
u
y = C
z
z +du
Con las deniciones
A
z
= PAP
1
B
z
= PB
C
z
= CP
1
Propiedades deseables de las realizaciones
Adems de las realizaciones bsicas de sistemas dinmicos, cuando
se trata de representar en variables de estado, por ejemplo, la
funcin de transferencia de un controlador, o la representacin
para simulacin se requieren realizaciones que tengan propedades
numricas especiales.
Dos cosas se buscan en una realizacin cuyo propsito es usarla
para implementar o simular un sistema dinmico.
1 Que la realizacin tenga valores preferencialemente del mismo
orden de magnitud. Balanceo de la realizacin
2 Que la matriz A de la realizacin tenga un buen nmero de
componentes nulos, Por ejemplo que sea una matriz de Jordan
o diagonal.
Propiedades deseables de las realizaciones
Diagonalidad
_

_
x
1
x
2
.
.
.
x
n
_

_
=
_

_
a
1
0 0
0 a
2
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0
0 0 a
n
_

_
X +Bu
y = CX +du
Esta es una mala realizacin de un sistema (no balanceada)
_

_
x
1
x
2
.
.
.
x
n
_

_
=
_

_
10
5
0.001 2 0
0 10
3
0.5 2
1 2 3 0
6 10
6
0.5 0.1 1
_

_
x +
_

_
1
1000
0.02
3
_

_
u
y = [ 0.1 1 10 100 ]x +du
Si los clculos se hacen en un computador estas ecuaciones tendern a generar
errores muy grandes
Funciones del MATLAB
Con el comando ss formamos la representacin de estado de un
sistema
SS Creates state-space model or converts model to
state space.
SYS = SS(A,B,C,D) creates a SS object SYS
representing the
continuous-time state-space model
dx/dt = Ax(t) + Bu(t)
y(t) = Cx(t) + Du(t)
Funciones del MATLAB
Denicin de sistemas en variables de estado
Representar el sistema en MATLAB y simular al paso
_
x
1
x
2
_
=
_
1 3
1 2
_ _
x
1
x
2
_
+
_
5
4
_
u
y =
_
2 3

_
x
1
x
2
_
+ 0u
MATLAB
A=[-1 -3;1 -2];
B=[5 4];
C=[2 3];
d=0
sistema=ss(A,B,C,d)
step(sistema)
Funciones del MATLAB
Denicin de sistemas en variables de estado
Tenemos la funcin de transferencia
G(s) =
100s
2
+ 2s + 100
s
3
+ 8s
2
+ 17s + 10
La representamos directamente en variables de estado
MATLAB
gs=tf([100 2 100],[1 8 17 10])
sisestado=ss(gs)
%Recuperamos las matrices
A=sisestado.a
B=sisestado.b
C=sisestado.c
d=sisestado.d
Funciones del MATLAB
Realizaciones balanceadas ssbal
Otras funciones importantes son
SSBAL Balancing of state-space model using diagonal
similarity.
[SYS,T] = SSBAL(SYS) uses BALANCE to compute a
diagonal similarity
transformation T such that [T*A/T , T*B ; C/T 0] has
approximately
equal row and column norms.
Esta produce una realizacin balanceada del sistema que ya ha sido
denido en variables de estado
Funciones del MATLAB
Realizaciones balanceadas- balreal
A=[-100 -3000;0.001 -2];
B=[5 4];
C=[200 3];
d=0
sistema=ss(A,B,C,d)
sistema2=balreal(sistema)
Ubicacin de polos por el mtodo de realimentacin del
vector de estado
Idea general del Mtodo de realimentacin del vector de estado
Supongamos que tenemos un sistema de tres tanques no acoplados
como se ilustra en la gura
( ) u t
( ) y t
1
x
2
x
3
x
Representacin de bloque en serie de los tanques
El sistema tiene la representacin de bloques en seria dada por
( ) U s
2
10 1 s +
1
X
5
5 2 s +
2
X
10
20 1 s +
3
X
( ) Y s
Podemos pensar en realimentar cada una de las variables de salida,
que para el caso, son los niveles de los tanques, es decir las
variables de estado del sistema, que en un sistema fsico real sern
las salidas de cada sensor de nivel.
Ubicacin de polos por el mtodo de realimentacin del
vector de estado
Idea general del Mtodo de realimentacin del vector de estado
Podemos pensar en que cada "estado" o nivel medido en el tanque
puede ser realimentado, multiplicndolo por una ganancia
proporcional.
( ) U s
2
10 1 s +
1
X
5
5 2 s +
2
X
10
20 1 s +
3
X
( ) Y s
( ) U s
2
10 1 s +
1
X
5
5 2 s +
2
X
10
20 1 s +
3
X
( ) Y s
+
1
k
2
k
3
k
f
( ) R s
( ) U s
2
10 1 s +
1
X
5
5 2 s +
2
X
10
20 1 s +
3
X
( ) Y s
( ) U s
2
10 1 s +
1
X
5
5 2 s +
2
X
10
20 1 s +
3
X
( ) Y s
( ) U s
2
10 1 s +
1
X
5
5 2 s +
2
X
10
20 1 s +
3
X
( ) Y s
+
1
k
2
k
3
k
f
( ) R s ( ) U s
2
10 1 s +
1
X
5
5 2 s +
2
X
10
20 1 s +
3
X
( ) Y s
+
1
k
2
k
3
k
f
( ) R s
Ubicacin de polos por el mtodo de realimentacin del
vector de estado
Idea general del Mtodo de realimentacin del vector de estado
La funcin de transferencia del ltimo sistema puede ser calculada
con ayuda de la frmula de MASON.
( ) U s
2
10 1 s +
1
X
5
5 2 s +
2
X
10
20 1 s +
3
X
( ) Y s
+
1
k
2
k
3
k
f
( ) R s ( ) U s
2
10 1 s +
1
X
5
5 2 s +
2
X
10
20 1 s +
3
X
( ) Y s
+
1
k
2
k
3
k
f
( ) R s
Recuerde la frmula de MASON nos dice:
T(s) =

k
M
k

M
k
ganancias de trayectorias directas
: 1

ganancias de lazos+

productos de ganancias de dos lazos no


adyacentes-

productos de ganancias de dos lazos no adyacentes


Ubicacin de polos por el mtodo de realimentacin del
vector de estado
Idea general del Mtodo de realimentacin del vector de estado
( ) U s
2
10 1 s +
1
X
5
5 2 s +
2
X
10
20 1 s +
3
X
( ) Y s
+
1
k
2
k
3
k
f
( ) R s ( ) U s
2
10 1 s +
1
X
5
5 2 s +
2
X
10
20 1 s +
3
X
( ) Y s
+
1
k
2
k
3
k
f
( ) R s
Usando la anterior frmula
T(s) =
Y (s)
R(s)
=
f
2
10s+1
5
5s+2
10
20s+1
1 +
2k
1
10s+1
+
10k
2
(10s+1)(5s+2)
+
100k
3
(10s+1)(5s+2)(20s+1)
=
fN(s)
D
T
(s)
T(s) =
Y (s)
R(s)
=
0.1f
(s
3
+ (0.55 +0.2k
1
)s
2
+ (0.2k
2
+0.09k
1
+0.065)s +0.01k
2
+0.004k
1
+0.1k
3
+ .002
Ubicacin de polos por el mtodo de realimentacin del
vector de estado
Idea general del Mtodo de realimentacin del vector de estado
Podemos observar que con las ganancias k
1
, k
2
, k
3
de
realimentacin de los estados podemos ubicar los polos de lazo
cerrado en las pocisiones que deseemos, esta es la idea central del
mtodo de realimentacion del vector de estado.
Supongamos que deseamos una obicacion de polos el sistema con
polos dominantes de segundo orden.
-1
-10
-1
-10
D
T
(s) = (s + 10)(s + 1 +j )(s + 1 j )
D
T
(s) = s
3
+ 12s
2
+ 22s + 20
Ubicacin de polos por el mtodo de realimentacin del
vector de estado
As las cosas nuestro problema consiste en igualar los dos
polinomios D
T
(s) y de esta manera entontrar las contantes
adecuadas.
D
T
(s) = s
3
+ 12s
2
+ 22s + 20
= s
3
+ (0.55 + 0.2k
1
)s
2
+ (0.2k
2
+ 0.09k
1
+ 0.065)s + ...
... + 0.01k
2
+ 0.004k
1
+ 0.1k
3
+ .002
De esta manera obtenemos las ecuaciones
0.55 + 0.2k
1
= 12
0.2k
2
+ 0.09k
1
+ 0.065 = 22
0.01k
2
+ 0.004k
1
+ 0.1k
3
+ 0.002 = 20
Ubicacin de polos por el mtodo de realimentacin del
vector de estado
Resolviendo las ecuaciones obtendremos las ganancias necesarias
para ubicar los polos donde se desea.
k
1
=
12 0.55
0.2
= 57.2
k
2
=
22 0.09k
1
0.065
0.2
= 83.91
k
3
=
20 0.004k
1
0.01k
2
0.002
0.1
= 189.2
Ubicacin de polos por el mtodo de realimentacin del
vector de estado
De esta manera la funcin de transferencia del sistema de lazo
cerrado es
T(s) =
0.1f
s
3
+ 12s
2
+ 22s + 20
Y si ademas deseamos que el error de estado estacionario al paso
sea nulo, debemos hacer es que T(0) = 1.
Es decir
0.1f
20
= 1
f = 200
Esta es la estratega bsica del mtodo de realimentacin del
vector de estado.
Ubicacin de polos por el mtodo de realimentacin del
vector de estado
Simulacin en Simulink
La simulacin en Simulink nos muestra como el mtodo es
simplemente de contorl proporcional multiple.
10
20s+1
Transfer Fcn2
5
5s+2
Transfer Fcn1
2
10s+1
Transfer Fcn
Step
Scope
k3
Gain3
k2
Gain2
k1
Gain1
f
Gain
Cada variable de estado (nivel de cada tanque) se multiplica por
una ganancia, para cambiar los polos de lazo cerrado.
Miremos la simulacin en tiempo real.
La herramienta real time windows target nos permite hacer una
simulacin virtual que nos permite ganar intuicin sobre el sistema.
Implementacin del controlador.
Un controlador por realimentacin del vector de estado es
fcilmente implementable mediante mediante un algoritmo muy
simple de control por un sistema electrnico.
u(t) = r (t) f k
1
x
1
k
2
x
2
k
3
x
3
Una implementacin electrnica del controlador.
Una implementacin electronica del controlador es
IC=0 IC=0 IC=0
U1
OPAMP
R5
2M
R6
10k
R7
10.56k
R8
23.83k
R9
34.93k
U5
OPAMP
R10
10k
R13
10k
referencia
salida
p 1
1
A.
LP1
1ORD:LP
IC=0
p 1
1
A.
LP2
1 ORD : LP
IC=0
p 1
1
A.
LP3
1ORD:LP
IC=0
Notacin.
Ntese que el controlador que el estado de un sistema se escribe
como un vector.
x =
_
_
x
1
x
2
x
3
_
_
Con esta notacin podemos escrobir la seal de control como
u(t) = fr (t)
K
..
_
k
1
k
2
k
3

x
..
_
_
x
1
x
2
x
3
_
_
u(t) = fr (t) Kx
Notacin grca Sistema en lazo abierto
Asumamos que el proceso se describe por
x = Ax +Bu
y = Cx
1
s
x
&
B
u
+
x
A
C
y
1
s
x
&
B
u
+
x
A
C
y
Discusin general del mtodo
Para el proceso
x = Ax +Bu
y = Cx
el controlador lineal general es
u = fr Kx
De manera que el sistema en lazo cerrado se convierte en
x = Ax +Bu = Ax +B(fr Kx)
x = (A BK)x +Bfr
Notacin grca Sistema en lazo cerrado
1
s
x
&
B
u
+
x
A
C
y
+
K
f
r
Las ecuaciones del sistema de lazo cerrado son:
x = (A BK)x +Bfr
y = Cx
Condiciones para la ubicacin de polos del sistema
Si tenemos el sistema de lazo cerrado dado por
x = (A BK)x +Bfr
y = Cx
Este sistema tiene el polinomio caracterstico
det(sI A +BK) = D
T
(s)
Los polos de lazo cerrado del sistema sern los autovalores de
A BK.
det(sI A +BK) = 0
Condiciones para la asignacin de polos
Ejemplo 1
Si tenemos el modelo de un proceso dado por
x =
_
0 1
0 0
_
x +
_
0
1
_
u
y = Cx =
_
1 0

x
La ley de control es
u = fr k
1
x
1
k
2
x
2
= fr Kx
x =
A
..
_
0 1
0 0
_
x +
B
..
_
0
1
_
fr Kx
..
_
fr
_
k
1
k
2

_
x
1
x
2
__
Condiciones para la asignacin de polos
Ejemplo 1
Sistema de lazo cerrado
x =
ABK
..
_
0 1
k
1
k
2
_
x +
Bfr
..
_
0
f
_
r
El polinomio caracterstico del sistema es:
det(sI A +BK) = D
T
(s)
det(
_
s 0
0 s
_

_
0 1
k
1
k
2
_
) = D
T
(s)
D
T
(s) = s
2
+k
2
s +k
1
Condiciones para la asignacin de polos
Ejemplo 1
D
T
(s) = det(sI A +BK) = s
2
+k
2
s +k
1
Si, por ejemplo queremos asignar los polos para un sistema de
segundo orden perfecto:
D
T
(s) = s
2
+ 2
n
s +
2
n
Entonces
k
2
= 2
n
k
1
=
2
n
Condiciones para la asignacin de polos
Ejemplo 1
El sistema de lazo cerrado es
T(s) =
f
s
2
+ 2
n
s +
2
n
Eligiendo
f =
2
n
Tenemos T(s) =

2
n
s
2
+2
n
s+
2
n
con error al paso nulo
Condiciones para la asignacin de polos
Ejemplo 2
Ahora intentemos lo mismo pra el sistema
x =
_
0 1
0 0
_
x +
_
1
0
_
u
y = Cx =
_
1 0

x
x =
A
..
_
0 1
0 0
_
x +
_
1
0
_
fr Kx
..
_
fr
_
k
1
k
2

_
x
1
x
2
__
El sistema en lazo cerrado es
x =
_
k
1
1 k
2
0 0
_
x +
_
f
0
_
r
Imposibilidad de asignacin arbitraria
Ejemplo 2
El polinomio caracterstico del sistema es
det(sI A +BK) = D
T
(s) = s
2
+k
1
s
Sin importar que valores elijamos para k
1
y k
2
es imposible asignar
libremente los polos de lazo cerrado, pues siempre uno de ellos
estar en s = 0, de manera que no lograremos ni siquiera estabilizar
el sistema con un controlador de variables de estado. El problema
es que la seal de control no tiene inuencia sobre el estado x
2
.
La condicin suciente: controlabilidad
Supongamos la ecuacin de estado del sistema
x = Ax +Bu
queremos encontrar una seal que cambie el sistema de un estado
inicial X(0) = X
0
a un estado nal X(t) = X
f
De esto tenemos
X(t) = X
f
= e
At
X
0
+
t
_
0
e
A(t)
Bu()d
Esto implica que
t
_
0
e
A
Bu()d = X
0
+X
f
e
At
La condicin suciente: controlabilidad
t
_
0
e
A
Bu()d = X
0
+X
f
e
At
A partir de la teora de funciones de matrices
e
At
= I
0
() +A
1
() + ... +A
n1

n1
()
De aqu que
t
_
0
e
A
Bu()d =
n

k=1
A
k1
B
tn1
_
0

k
()u()d
n

k=1
A
k1
B
tn1
_
0

k
()u()d = X
0
+X
f
e
At
La condicin suciente: controlabilidad
n

k=1
A
k1
B
tn1
_
0

k
()u()d = X
0
+X
f
e
At
El lado izquierdo de esta ecuacin es una combinacin lineal de los
vectores B, AB, A
2
B, ...A
n1
B, de manera que solo tiene solucin
si la matriz
W
c
=
_
B AB ... A
n1
B

Puede invertirse (tiene rango n)
La condicin suciente: controlabilidad
Teorema (Kalman): un sistema es controlable (todos sus estados
son controlables) si y solo si la matriz de controlabilidad
W
c
=
_
B AB ... A
n1
B

Puede invertirse (tiene rango n)
Un caso especial la forma cannica controlable
z =
_

_
a
1
a
2
... a
n1
a
n
1 0 0 0
0 1 0 0
.
.
.
0 0 1 0
_

_
z +
_

_
1
0
.
.
.
.
.
.
0
_

_
u
y =
_
b
1
... b
n1
b
n

z
Este sistema es controlable con matriz de controlabilidad
W
c
=
_

_
1 a
1
a
2
1
a
2

0 1 a
1

0 0 1
.
.
.
0 0 0 1
_

_
Un caso especial la forma canonica controlable
La forma cannicfa controlable
z =
_

_
a
1
a
2
... a
n1
a
n
1 0 0 0
0 1 0 0
.
.
.
0 0 1 0
_

_
z +
_

_
1
0
.
.
.
.
.
.
0
_

_
u
y =
_
b
1
... b
n1
b
n

z
Tiene polinomio caracteristco
det(sI A) = s
n
+a
1
s
n1
+ ... +a
n1
s +a
n
Un caso especial fcil
Para un sistema en la forma cannica controlable
z =
_

_
a
1
a
2
... a
n1
a
n
1 0 0 0
0 1 0 0
.
.
.
0 0 1 0
_

_
z +
_

_
1
0
.
.
.
.
.
.
0
_

_
u
y =
_
b
1
... b
n1
b
n

z
Si elegimos la seal de control como:
u(t) = fr k
1
z
1
k
2
z
2
... k
n
z
n
u(t) = fr Kz
Un caso especial fcil
u(t) = fr k
1
z
1
k
2
z
2
... k
n
z
n
El sistema de lazo cerrado es
z =
_

_
a
1
k
1
a
2
k
2
... a
n
k
n
1 0 0
0 1 0
.
.
.
0 0 0
_

_
z +
_

_
f
0
.
.
.
.
.
.
0
_

_
r
y =
_
b
1
... b
n1
b
n

z
Con polinomio caracterstico
s
n
+ (a
1
+k
1
)s
n1
+ (a
2
+k
2
)s
n2
+ ... + (a
n
+k
n
)
Un caso especial
Para el sistema en forma controlable
z =
_

_
a
1
a
2
... a
n1
a
n
1 0 0 0
0 1 0 0
.
.
.
0 0 1 0
_

_
z +
_

_
1
0
.
.
.
.
.
.
0
_

_
u
y =
_
b
1
... b
n1
b
n

z
La seal de realimentacin
u = fr Kx
Produce, en lazo cerrado, el polinomio caracterstico
D
T
(s) = s
n
+p
1
s
n1
+p
2
s
n2
+ ... +p
1
s +p
0
p
1
= a
1
+k
1
, p
2
= a
2
+k
2
, ...p
n
= a
n
+k
n
,
Un caso especial
Como tenemos el polinomio de lazo cerrado que hemos elegido
D
T
(s) = s
n
+p
1
s
n1
+p
2
s
n2
+ ... +p
n

1
s +p
n
ademas
p
1
= a
1
+k
1
, p
2
= a
2
+k
2
, ...p
n
= a
n
+k
n
,
Solucionamos fcilmente
k
1
= p
1
a
1
, k
2
= p
2
a
2
, ...k
n
= p
n
a
n
Un caso especial fcil
En notacin vectorial
K =
_
k
1
k
2
... k
n

p =
_
p
1
p
2
... p
n

a =
_
a
1
a
2
... a
n

De manera que solucionamos el problema asi de simple
K = p a
Un caso especial
Resolvimos el problema para el caso especial de que el sistema esta
en la forma controlable. Ahora para un sistema en cualquier
representacin
x = Ax +Bu
y = Cx
La matriz de controlabilidad de este sistema es
W
c
=
_
B AB ... A
n1
B

Cambiemos las coordenadas a z = Px
z =

Az +

Bu
y =

Cz
Usando el hecho de que

A = PAP
1
,

B = PB,

C = CP
1
Un caso especial
El sistema transformado
z =

Az +

Bu
y =

Cz
Tiene matriz de controlabilidad

W
c
=
_

B

A

B ...

A
n1

B

W
c
= P
_
B AB ... A
n1
B

= PW
c
Despejando P se obtiene:
P =

W
c
W
1
c
Esta matriz transforma un sistema controlable a la forma cannica
controlable
El caso general
Un sistema descrito por las ecuaciones de estado
x = Ax +Bu
y = Cx
El cual es controlable, puede ser transformado de su sistema de
coordenadas, a la forma cannica controlable
z =
_

_
a
1
a
2
... a
n1
a
n
1 0 0 0
0 1 0 0
.
.
.
0 0 1 0
_

_
z +
_

_
1
0
.
.
.
.
.
.
0
_

_
u
y =
_
b
1
... b
n1
b
n

z +du
Caso general
Con el cambio de coordenadas el sistema en forma controlable
tiene, como deciamos anteriormente, un fcil clculo de la
ganancia de realimentacin dado por.

K = p a

K =
_
p
1
a
1
p
2
a
2
... p
n
a
n

Un algoritmo
Transformamos el sistema x = Ax +Bu a la froma cannica
controlable z =

Az +

Bu usando la transformacin
z = Px =

W
c
W
1
c
x.La ganancia del sistema transformado es

K = p a
y como
u = fr Kx
u = fr KP
1
z
u = fr

Kz
Obtenemos que
K =

KP
K =

W
c
W
1
c
Mtodos de calcular la ganancia de realimentacin del
vector de estad
1.Igualacin Directa
D
T
(s) = det(sI A +BK)
2.Forma cannica controlable

K = p a
K =

K

W
c
W
1
c
3. Frmula de Ackermann
K =
_
1 0 ... 0
_
B AB ... A
n1
B

D
T
(A)
4. MATLAB tiene las funciones acker y place para este propsito
Clculo del precompensador
Para calcular el precompensador para lograr error nulo de posicin
usamos que
f = 1/T(0)
En la representacin de estado
T(s) = C(sI A +BK)
1
B
De manera que
T(0) = C(A +BK)
1
B
Ejemplo 1
Se tiene el sistema
x =
_
1 2
3 1
_
x +
_
1
0
_
u
y = Cx =
_
1 2

x
Asignar polos de lazo cerrado en -10,-20
Cdigo en MATLAB del ejemplo 1
A=[1 2;3 1]
B=[1 0];
C=[1 2];
d=0;
sis=ss(A,B,C,d)
polos=[-10 -20]
K=place(A,B,polos)
Alc=A-B*K
sistemaLC=ss(Alc,B,C,d)
f=1/dcgain(sistemaLC);
sistemaLC=f*sistemaLC
step(sistemaLC)
Ejemplo 2
Se tiene el sistema
G(s) =
(s 1)(s + 2)
(s + 1)(s 2)(s + 3)
Disee un controlador por realimentacin del vector de estado tal
que la funcin de trnasferencia de lazo cerrado sea:
T(s) =
(s 1)
(s + 2)(s + 3)
Cdigo en MATLAB del ejemplo 2
gs=zpk([1 -2],[-1 2 -3],1)
sisla=ss(gs)
A=sisla.a
B=sisla.b
C=sisla.c
d=0
polos=[-2 -2 -3]
K=acker(A,B,polos)
Alc=A-B*K
sislc=ss(Alc,B,C,d)
Ts=minreal(zpk(sislc))%vericamos
f=1/dcgain(sislc)
sislc=sislc*f
step(sislc)
Controlador PI vectorial
Una mejora que podemos colocar en un controlador por variables
de estado es un efecto integrador. Es claro que el precompensador
f nos ayuda con el error de estado estacionario, pero este tipo de
control del error es muy dependiente de que no haya cambios en el
modelo. (No es robusto).
Al igual que en el caso de realimentacin unitaria, introducir este
efecto integrador tiene un consecuencia muy favorable en el error
estacionario y en la sensibilidad a bajas frecuencias.
Controlador PI vectorial
1
s
x&
B
u
x
A
C
y
K
i
k
+
+
-
+
-
1
s
e
r
i
x
1
s
x&
B
u
x
A
C
y
K
i
k
+
+
-
+
-
1
s
e
r
1
s
x&
B
u
x
A
C
y
K
i
k
+
+
-
+
-
1
s
e
r
i
x
Creamos una variable para la integral del error.
Controlador PI vectorial
Creamos una variable de estado articial ms x
i
, que es la integral del
error.
1
s
x&
B
u
x
A
C
y
K
i
k
+
+
-
+
-
1
s
e
r
i
x
1
s
x&
B
u
x
A
C
y
K
i
k
+
+
-
+
-
1
s
e
r
1
s
x&
B
u
x
A
C
y
K
i
k
+
+
-
+
-
1
s
e
r
i
x
u = k
i
x
i
Kx
Las ecuaciones de este sistema son
x = Ax +Bu = Ax BKx Bk
i
x
i
x = (A BK)x Bk
i
x
i
x
i
= r Cx
Controlador PI vectorial
1
s
x&
B
u
x
A
C
y
K
i
k
+
+
-
+
-
1
s
e
r
i
x
1
s
x&
B
u
x
A
C
y
K
i
k
+
+
-
+
-
1
s
e
r
1
s
x&
B
u
x
A
C
y
K
i
k
+
+
-
+
-
1
s
e
r
i
x
Las ecuaciones de este sistema son
x = Ax +Bu = Ax BKx Bk
i
x
i
x = (A BK)x Bk
i
x
i
x
i
= r Cx
Controlador PI vectorial
La representacin de estado de este sistema es
_
x
x
i
_
=
_
A BK Bk
i
C 0
_ _
x
x
i
_
+
_
0
1
_
r
Y =
_
C 0

_
x
x
i
_
Diseo del Controlador PI vectorial
Para el diseo del controlador PI vectorial podemos reinterpretar el
sistema de lazo cerrado
_
x
x
i
_
=
_
A BK Bk
i
C 0
_ _
x
x
i
_
+
_
0
1
_
r
Y =
_
C 0

_
x
x
i
_
Reescribiendolo como
_
x
x
i
_
=
A
la
..
_
A 0
C 0
_ _
x
x
i
_

B
la
..
_
B
0
_
_
K k
i

_
x
x
i
_
+
_
0
1
_
r
Y =
_
C 0

_
x
x
i
_
Diseo del Controlador PI vectorial
Con esta reescritura podemos pensar que tenemos un "sistema de
lazo abierto"
_
x
x
i
_
=
A
la
..
_
A 0
C 0
_ _
x
x
i
_

B
la
..
_
B
0
_
K

..
_
K k
i

_
x
x
i
_
+
_
0
1
_
r
Y =
_
C 0

_
x
x
i
_
Cuyas matrices de lazo abierto son:
A
la
=
_
A 0
C 0
_
, B
la
=
_
B
0
_
Y diseamos el PI con las tecnicas ya vistas para encontrar
K

=
_
K k
i

Como en los casos anteriores.
Diseo del Controlador PI vectorial
1
s
x&
B
u
x
A
C
y
K
i
k
+
+
-
+
-
1
s
e
r
i
x
1
s
x&
B
u
x
A
C
y
K
i
k
+
+
-
+
-
1
s
e
r
1
s
x&
B
u
x
A
C
y
K
i
k
+
+
-
+
-
1
s
e
r
i
x
nota importante
El controlador obtenido es
K

=
_
K k
i

K es la realimentacin del vector de estado del sistema y k
i
ES
NEGATIVA EN EL DIAGRAMA POR TANTO DEBEMOS
INVERTIR EL SIGNO DEL VALOR OBTENIDO.
Ejemplo
Disee un controlador PI vectorial para el sistema descrito por las
ecuaciones de estado
_
_
x
1
x
2
x
3
_
_
=
_
_
1 0 0
0 2 0
0 0 3
_
_
_
_
x
1
x
2
x
3
_
_
+
_
_
5
10
5
_
_
u
y =
_
1 1 1

_
_
x
1
x
2
x
3
_
_
+ 0u
Observadores
Para la realimentacin del vector de estado hemos supuesto que
todas las variables de estado puedne medirse. Esto frecuentemente
no es posible por posible por dos razones:
Limitaciones en la disponibilidad de sensores
Las variables de estodo de un sistema pueden no ser variables
fsicas reales
Observadores
Podemos hacer un sistema dinmico que simule el comportamiento
del sistema original mediante
Circuitos electronicos con computador anlogo (idea original)
Algoritmo de simulacin en tiempo real
Cuando es posible estimar el estado a partor de la salida
en un sistema
Supongamos u = 0 en la ecuacion de estado
x = Ax
y = Cx
Si derivamos la salida y
y = Cx
y
(1)
= CAx
.
.
.
y
(n1)
= CA
n1
x
Cuando es posible estimar el estado a partor de la salida
en un sistema
Reescribiendo la ecuacin anterior matricialmente
_

_
C
CA
.
.
.
CA
n1
_

_
x =
_

_
y
y
(1)
.
.
.
y
n1
_

_
Si denimos
W
0
=
_

_
C
CA
.
.
.
CA
n1
_

_
La matriz de observabilidad
Cuando es posible estimar el estado a partor de la salida
en un sistema
El sistema ahora tiene la forma
W
0
x =
_

_
y
y
(1)
.
.
.
y
n1
_

_
De manera que x puede ser calculado a partir de la salida si W
0
es
invertible (tiene rango n)
x = W
1
0
_

_
y
y
(1)
.
.
.
y
n1
_

_
Observabilidad de un sistema
(Kalman). Un sistema dinmico es observable (los estados pueden
ser estimados solo a partir de mediciones de la salida) si la matriz
de observabilidad
W
0
=
_

_
C
CA
.
.
.
CA
n1
_

_
tiene rango n (es invertible)
Ejemplo
Determinar la observabilidad del siguiente sistema dinmico.
_
_
x
1
x
2
x
3
_
_
=
_
_
1 0 0
0 2 0
0 0 3
_
_
_
_
x
1
x
2
x
3
_
_
+
_
_
5
10
5
_
_
u
y =
_
1 1 1

_
_
x
1
x
2
x
3
_
_
+ 0u
Idea Inicial
Hacer un replica exacta del sistema y colocarle la misma entrada
1
s
x&
B
u
+
x
A
C
y
1
s
x&
B
u
+
x%
A
C
y%
Sistema original
Sistema para simulacin
1
s
x&
B
u
+
x
A
C
y
1
s
x&
B
u
+
x
A
C
y
1
s
x&
B
u
+
x%
A
C
y%
1
s
x&
B
u
+
x%
A
C
y%
Sistema original
Sistema para simulacin
Idea Inicial
1
s
x&
B
u
+
x
A
C
y
1
s
x&
B
u
+
x%
A
C
y%
Sistema original
Sistema para simulacin
1
s
x&
B
u
+
x
A
C
y
1
s
x&
B
u
+
x
A
C
y
1
s
x&
B
u
+
x%
A
C
y%
1
s
x&
B
u
+
x%
A
C
y%
Sistema original
Sistema para simulacin
Limitaciones de esta idea
Debemos ajustar en el observador siempre la condicin inicial
Si A es inestable x (el estado estimado) se alejar cada vez
mas de x el estado real del sistema.
Estimador de lazo cerrado de Luenberger
1
s
x&
B
u
+
x
A
C
y
1
s
x&
B
u
+
x%
A
C
y%
Sistema original
L
+

Sistema de simulacin
y
e y y = %
1
s
x&
B
u
+
x
A
C
y
1
s
x&
B
u
+
x%
A
C
y%
Sistema original
L
+

Sistema de simulacin
1
s
x&
B
u
+
x
A
C
y
1
s
x&
B
u
+
x%
A
C
y%
Sistema original
L
+

Sistema de simulacin
y
e y y = %
Le colocamos un controlador a la estimacion que proceda de
acuerdo con el error entre las salidas de ambos sistemas dinmicos.
Aqui y es la salida estimada x el estado estimado y el error en el
estimacin es e
y
= y y
Ecuacin de estado del observador
1
s
x&
B
u
+
x
A
C
y
1
s
x&
B
u
+
x%
A
C
y%
Sistema original
L
+

Sistema de simulacin
y
e y y = %
1
s
x&
B
u
+
x
A
C
y
1
s
x&
B
u
+
x%
A
C
y%
Sistema original
L
+

Sistema de simulacin
1
s
x&
B
u
+
x
A
C
y
1
s
x&
B
u
+
x%
A
C
y%
Sistema original
L
+

Sistema de simulacin
y
e y y = %
En el sistema original
x = Ax +Bu
En el observador
.
x = A x +Bu +Le
y
.
x = A x +Bu +L(Cx C x)
.
x = (A LC) x +LCx +Bu
Convergencia del estado estimado al estado real en el
observador de Luenberger
Denamos el error en la estimacin del estado
e
x
= x x
De manera que
e
x
= x
.
x
e
x
= (Ax +Bu) [(A LC) x +LCx +Bu]
.
e
x
= (A LC)x (A LC) x
.
e
x
= (A LC)e
x
Convergencia del estado estimado al estado real en el
observador de Luenberger
La solucion de la ecuacion de primer orden del erro en la
estimacin de estado
.
e
x
= (A LC)e
x
Es
e
x
(t) = e
(ALC)t
e
x
(0)
La repuesta de esta ecuacin la gobernaran los valores propios de
A LC de la forma e
t
si es grande e
t
tendera a cero
rpidamente. Si elegimos todos los valores propios de A LC
negativos y rpidos
lim
t!
e
x
(t) = 0
t ! , x(t) = x(t)
Convergencia del estado estimado al estado real en el
observador de Luenberger
Si elegimos valores de A LC muy rpidos el estado estimado se
acercar muy rpidamente al estado real. Normalmente los polos
del observador se toman de 5 a 10 veces mas grandes que los del
sistema de control en lazo cerrado.
Diseo del observador
Mtodos
1. Hacemos igualacin directa
det(sI A +LC) = D
0
(s)
Donde D
0
(s) es el polinomio que deseamos para el observador.
2.El problema de diseo del observador es ubicar los valores propios
de la matriz A LC. Puesto que
det(sI A +LC) = det(sI A +LC)
T
= det(sI A
T
+C
T
L
T
)
Con las mismas funciones para determinar la ganancia K de
realimentacin del vector de estado podemos calcular el vector L
del observador.
Veamos el ejemplo en MATLAB
Disear controlador y observador para el sistema
G(s) =
10
s(s 1)(s + 2)
El sistema completo de controlador y observador
Cuando tomamos la muestra del vector de estado estimado y
realimentamos K x tenemos el sistema completo con controlador y
observador.
u
y
1
s
x&
B
+
x%
A
C
y%
L
+

y
e y y = %
K
+

x Ax Bu
y Cx
= +
=
&
f
r
u
y
1
s
x&
B
+
x%
A
C
y%
L
+

y
e y y = %
KK
+

x Ax Bu
y Cx
= +
=
&
f
r
Ecuaciones dinmicas del sistema completo
La seal de control es:
u = fr K x
Reemplazanddo enLas ecuaciones dinamicas del controlador y el
estimador son: x
x = Ax +Bu
x = Ax BK x +Bfr
Y en los estados estimados
.
x = A x +Bu +Le
y
.
x = LCx + (A LC BK) x +Br
Ecuaciones dinmicas del sistema completo
Entonces el sistema completo en variables de estado toma la forma:
_
x
.
x
_
=
A
CE
..
_
A BK
LC A LC BK
_ _
x
x
_
+
B
CE
..
_
B
B
_
r
y =
C
CE
..
_
C 0

_
x
x
_
Con esta descripcin que contiene los estados reales y los estados
estimados hacemos las simulaciones.
Principio de separacin
Una de las preguntas que surgen es como inuiran los polos del
controlador en los polos del observador y viceversa. Para responder
esta pregunta, consideremos la transformacin de coordenadas
_
x
x x
_
=
_
x
e
_
Para obtener este cambio de coordenadas, usamos la
transformacin
_
x
x x
_
=
T
..
_
I 0
I I
_ _
x
e
_
= T
_
x
e
_
Principio de separacin
Si ahora aplicamos a la matriz caracterstica del sistema
A
CE
=
_
A BK
LC A LC BK
_
Obtenemos las matrices

A
CE
= TA
CE
T
1

A
CE
=
_
I 0
I I
_ _
A BK
LC A LC BK
_ _
I 0
I I
_
Principio de separacin
Y obtenemso la matriz

A
CE
del sistema transformado

A
CE
=
_
A BK BK
0 A LC
_
Como esta matriz es triangular superior por bloques, sus
autovalores son los autovalores de cada bloque en la diagonal: los
autovaores de la matriz A BK y los autovalores de la matriz
A LC. Los autovalores de A
CE
son los mismos de

A
CE
, pues una
transformacin de coordenadas no afecta los autovalores de una
matriz.
Principio de separacin
De esto obtenemos la conclusin importante de que, para
propositos de diseo los poslo del controlador no afectan los del
estimador y viceversa. Esto se conoce como el principio de
sepracin. En cualquier caso la funcin de transferencia de lazo
cerrado es
T(s) = C(sI A +BK)
1
B
T(s) = f
b
1
s
n1
+b
2
s
n2
+ ... +b
n
s
n
+p
1
s
n1
+ ... +p
n1
s +p
n

Вам также может понравиться