Subido por Jorge Valencia

diseño de observadores

Anuncio
Sistemas dinamicos
Realimentacion de la salida
1 /59
Contenido
1. El estimador de estado
2. El observador a lazo abierto
3. El observador a lazo cerrado
4. Diseño del observador
5. El observador de orden reducido
2 /59
EL ESTIMADOR DE ESTADO
3 /59
El observador de estado

El control por realimentacion de estados asume la
disponibilidad de todas las variables de estado.
u  r  Kx
» En la practica, sin embargo, este puede no ser el caso, ya
sea porque ciertos estados no son medibles, o es muy
dificil o muy caro medirlos.
4 /59
El observador de estado

A fin de implementar una realimentacion de
estados debemos entonces diseñar un dispositivo
dinamico cuya salida sea una estimacion del vector
de estados:
El observador de estados
x̂
x  Ax  Bu

 y  Cx
es una estimacion de x
5 /59
Arquitectura del control
Se asume el sistema
conocido, con D = 0
u t 
u  t    Kxˆ  t 
Se usa una estimacion
del estado para generar
el control

x  Ax  Bu

 y  Cx
Resultados validos si D  0
remplazando y(t) por
y  t   y  t   Du  t 
Open Loop System


x
t
1
C
 sI  A  B
xˆ  t 
K
State Observer
Compensator
6 /59
EL OBSERVADOR A LAZO
ABIERTO
7 /59
El observador a lazo abierto
u (t )
b

x
Idea:
1
s
x
A
Conociendo A y B,
duplicar la ecuacion de
estados original
b

x̂
1
s
A

Usando solo la entrada para exitar el estimador de lazo
abierto

Si el sistema y el observador tienen las mismas
condiciones iniciales, entonces, x̂  t   x  t  para, t  0
para cualquier entrada
c
y (t )
x  Ax  Bu

 y  Cx
x̂
xˆ  Axˆ  Bu
8 /59
Calculo del estado inicial
¿Como hallar el estado inicial x(0) del sistema para usarlo en el
observador?

Si el sistema es observable, su estado inicial x(0) puede
ser calculado de u y y en cualquier intervalo de tiempo,
por ejemplo, [0, t1].
9 /59
Calculo del estado inicial

Pasos a implementar en el observador:
1. Calcular el estado inicial x(0)
2. Calcular el estado en t2 y hacer xˆ (t2 )  x(t2 )
t2  t1
Entonces:
xˆ (t )  x(t )
para todo t  t2.
¿algun problema?
10 /59
Dinamica del error

La ecuacion del error de estimacion esta dada por
At
ˆ
x  t   x  t   x t   e x  0
Si A es Hurwitz, entonces x  t  → 0 cuando t → ∞.
Por lo tanto, la dinamica del error esta completamente
determinada por la dinamica en lazo abierto del
sistema
(los valores propios de la matriz A).
¿algun problema?
11 /59
Limitaciones del observador a lazo abierto

El observador en lazo abierto tiene las siguientes
importantes desventajas:

Aun con la matriz A estable, esta dinamica pudiera ser
muy lenta.

Si A tiene autovalores con parte real positiva,
» entonces cualquier pequeña diferencia entre x(t 0 ) y xˆ (t0 )
para algun t0, causada por un disturbio o una imperfeccion en
la estimacion del estado inicial, hara que:
x  t   xˆ  t  crezca con el tiempo
12 /59
EL OBSERVADOR A LAZO
CERRADO
13 /59
El observador a lazo cerrado

Observador a lazo cerrado = estimador asintotico

Usando la entrada y la salida
A, B and C son conocidos
14 /59
El observador a lazo cerrado

Estimador a lazo cerrado = estimador asintotico
A, B and C son conocidos
y  t   y  t   Cxˆ  t 

El error de estimacion de la
salida, y  t  pasando por una
ganancia constante L, es usado
como un termino de correccion.

Si el error es cero, no es
necesaria ninguna correcion.
15 /59
El observador a lazo cerrado

Estimador a lazo cerrado = estimador asintotico
A, B and C son conocidos

Forma simplificada
Si la diferencia no es cero y si
la ganancia L se diseña
apropiadamente, la diferencia
llevara al estado estimado a
su estado real
xˆ  Axˆ  Bu  L( y  Cxˆ )
 ( A  LC ) xˆ  Bu  Ly
16 /59
El error de estimacion
x  Ax  Bu; y  Cx

El estado verdadero:

El estado de estimado: xˆ  ( A  LC )xˆ  Bu  Ly

El error de Estimacion: x : x  xˆ

La dinamica del error

x  x  xˆ  ( A  LC ) x
Si todos los autovalores de (A  LC) pueden ser
asignados arbitrariamente, podemos controlar la
velocidad con que el error de estimacion se aproxima a
cero
No hay necesidad de calcular el estado inicial de
la ecuación de estado original.
17 /59
Teorema

Teorema de la asignacion de Autovalores en
observadores

Considere el par (A, C)

Todos los autovalores de (A  LC) pueden asignarse
arbitrariamente seleccionando un vector real L si y solo
si (A, C) es observable.
x  x  xˆ  ( A  LC ) x
18 /59
Teorema

Teorema de la signacion de Autovalores en observadores
Considere el par (A, C). Todos los autovalores de (A  LC)
pueden asignarse arbitrariamente seleccionando un vector real L
si y solo si (A, C) es observable.
Prueba:
Recurriendo a la dualidad controlabilidad/observabilidad, el
par (A, C) es observable si y solo si (AT, CT) es controlable.
Si (AT, CT) es controlable todos los autovalores de (AT  CTK)
pueden asignarse arbitrariamente mediante una eleccion
adecuada de K.
La transpuesta de (AT  CTK) es (A  KTC) y por lo tanto,
hacemos L = KT.
19 /59
Teorema

Teorema de la signacion de Autovalores en observadores
Considere el par (A, C). Todos los autovalores de (A  LC)
pueden asignarse arbitrariamente seleccionando un vector real L
si y solo si (A, C) es observable.
Si (AT, CT) es controlable todos los autovalores de (AT  CTK)
pueden asignarse arbitrariamente mediante una eleccion
adecuada de K.
La transpuesta de (AT  CTK) es (A  KTC) y por lo tanto,
hacemos L = KT.
El mismo procedimiento usado para calcular la matriz de realimentacion
de estados K sirven para calcular la matriz L del observador.
20 /59
Procedimiento de diseño del observador



Obtener el par (AT, CT). Si el par es controlable
continuar
Elegir los valores propios deseados del observador
en lazo cerrado
Usando (AT, CT), calcular la matriz de realimentacion
K mediante el procedimiento para la asignacion de
autovalores, via la forma canonica.
con la funcion K = place(AT, CT,P) de MATLAB

Obtener L = KT
21 /59
REALIMENTACION DE LA
SALIDA
22 /59
Arquitectura del control
Se asume el sistema
conocido, con D = 0
u  t    Kxˆ  t 
u t 
Se usa una estimacion
del estado para generar
el control
x  Ax  Bu

 y  Cx
Resultados validos si D  0
remplazando y(t) por
y  t   y  t   Du  t 
Open Loop System
x t 
1
 sI  A  B

xˆ  t 
K
Compensator
y t 
C
B
 sI  A 
C
1
L

Estimator
23 /59
Dinamica del estado en lazo cerrado

Definiendo el estado del sistema aumentado, en lazo
cerrado
 x  I 0   x 
xa     
  xˆ 
x
I

I
  
 
» Partiendo de las ecuaciones
x  Ax  Bu; y  Cx
x  0   x0
xˆ  ( A  LC )xˆ  Bu  Ly
xˆ  0   xˆ0
u  Kxˆ
24 /59
Dinamica del estado en lazo cerrado
» Dinamica del estado, en lazo cerrado
x  Ax  BKxˆ
u  Kxˆ
 Ax  BKxˆ  BKx  BKx   A  BK  x  BK  x  xˆ 
  A  BK  x  t   BKx
» Dinamica del error
x  x  xˆ  ( A  LC ) x
25 /59
Dinamica del estado en lazo cerrado

La dinamica del sistema aumentado:
x   A  BK  x  t   BKx
 A  BK
xa  
0

BK   x 

A  LC   x 
x  x  xˆ  ( A  LC ) x
 x0 
xa  0   

ˆ
 x0  x0 
xa
Los autovalores del sistema realimentado son la union de los
autovalores de A  BK y A  LC
26 /59
Caracteristicas
 x   A  BK
 x   0
  

BK   x   B 
 r



A  LC   x   0 
x
y  C 0  
 x
La ecuacion de estado resultante no es controlable y la
funcion de transferencia es igual a
x  ( A  BK )x  Br y  Cx
ˆg f ( s )  C ( sI  A  BK ) 1 B

Esta es la funcion de transferencia del sistema
realimentado original sin usar el estimador de estado

El estimador es completamente cancelado en la
funcion de transferencia desde r a y
27 /59
Diseño del control

Los autovalores del sistema realimentado son la union
de los autovalores de
A  BK y A  LC

Esta es la propiedad de la separacion: la solucion en
dos diseños separados


Obtener los autovalores deseados de A – BK seleccionando
la ganancia de realimentacion
Obtener los autovalores deseados de A – LC seleccionando
la ganancia del observador
28 /59
Ejemplo 1
Diseñar la realimentacion de estado u = r  Kx para ubicar
los autovalores en 1 y 2.
0 1 0
x  
x   u

1 1 1
y  1 0x
Solucion:
1 
 0
0 1 0
A  BK  
    k1 k2   


1

k
1

k
1
1
1

  

1
2
 f ( s)  sI  ( A  BK )  s 2  (k2  1) s  (1  k1 )  ( s  1)( s  2)
 k1  3, k2  4
29 /59
Ejemplo 1
Diseñar la realimentacion de estado u = r  Kx para ubicar
los autovalores en 1 y 2.
Realimentacion de estado:
u  r  3 4x
1  0 
0
x  
x   r

 2  3 1
y  1 0x
30 /59
Ejemplo 1
Sistema original:
0 1 0
x  
x   u

1 1 1
y  1 0x
1  0 
0
x   r
Sistema realimentado: x  

 2  3 1
y  1 0x
1
1
u  r  3 4x
r
+
u
+
x 2

x2

x1
1
y
-4
-3
31 /59
Ejemplo 1
Diseñar el estimador de estado completo con autovalores
en 4 y 5.
Solucion:
 l1 1
0 1  l1 
A  LC  
   1 0  


l
1

l
1
1
1

  2
 2 
o ( s)  sI  ( A  LC )  s 2  (l1  1) s  (l2  l1  1)
 ( s  4)( s  5)  l1  10, l2  31
32 /59
Ejemplo 1
Diseñar el estimador de estado completo con autovalores
en 4 y 5.
1
1
Es estimador de estado:
r
+
u
+
x 2

xˆ  ( A  LC )xˆ  Bu  Ly

x1
1
y
1
1
 10 1
0
10 

xˆ    u    y

 30 1
1 
31
x2
31
10
+

x̂2
+
1

x̂1
-10
-30
-3
-4
33 /59
Ejemplo 2
Diseñar el observador para el pendulo invertido en el carro
m
0
0
x t   
0
0

l

0
0
1
0 1 0 
 x t     u t 
0 0 1
0
 2 
0 5 0 
 
1
0
A
u
b
1 0 0 0 
y t   
x t 

0 0 1 0 
M
C
y
x1  y
x2  y
x3  
x4  
34 /59
Ejemplo 2
Comprobamos si el par (AT, CT) es controlable desde la
primera salida
 y1 
y 
 y2 
 T
Q  C

 CA
T
C  1 0 0 0
1

0
3 T

CA
 
0

0

CA   
2 T
x1  
0
1 0 0

0 1 0 
0 0 1
0
0
matlab
sysO = ss(A',C',C,D)
Q = ctrb(sysO)
35 /59
Ejemplo 2
Se seleccionan los autovalores deseados del observador
escogidos por las propiedades de la respuesta
3  10  10 j
4  10  10 j
1  15  5 j
2  15  5 j
Polinomio caracteristico deseado en lazo cerrado
q  s    s  10  10 j  s  10  10 j  s  15  5 j  s  15  5 j 


 s 2  20s  200 s 2  30s  250

 s 4  50 s3  1050 s 2  11000 s1  50000 s 0
3
2
1
0
36 /59
Ejemplo 2
Polinomio caracteristico en lazo abierto
q  s   det  sI  A
4
3
2
1
s  0 s  5 s  0s  0 s
3
2
1
0
0
Ganancia del observador, para el sistema en la forma canonica
L1   0   0 1  1  2   2 3  3 
T
T
L1  50000 11000 1055 50
37 /59
Ejemplo 2
La ganancia de realimentacion en las coordenadas
originales es,
L  L P  L CC
T
T
P 1   B
Finalmente
T
AB
1
A2 B
 1 1  2  3 
0 1   
1
2
A3 B  
 0 0 1 1 


0
0
0
1


T
L1  50 1055 11250 55275
38 /59
Ejemplo 2
L   L1 0
El observador
xˆ   A  LC  xˆ  Bu  Ly
y  Cxˆ
 50
 1055
xˆ  
11250
 55275

0
0
 50
1
 1055
0 1 0 
 xˆ    u  
0 0 1
0
 11250
 2 
 55275
0 5 0 
 

1
0
0
0
y
0
0 
39 /59
Ejemplo 2
El observador con realimentacion
Para
K   5
 3
11
u   Kxˆ  r
103
13 
3
12
2
1
0
0 
 50
 50
 1053 3.667
 1055
7.583
4.333 
 xˆ  
xˆ  
0
0
1 
11250
 11250
 55272 7.333 12.167 8.667 
 55275



0
1
 r
0
 2 
 
0
0
y
0
0 
40 /59
Ejemplo 2
0.1
Comparacion
Observer feedback
State feedback
0
Cart position
-0.1
-0.2
-0.3
-0.4
-0.5
-0.6
-0.7
0
1
2
3
4
5
6
7
Time (s)
0.1
Observer feedback
State feedback
Cart position
0.05
0
-0.05
-0.1
-0.15
0
1
2
3
4
Time (s)
5
6
7
41 /59
Ejemplo 3
Considere el péndulo invertido del ejemplo anterior
Sean los autovalores deseados 1.50.5j y 1j .
EJERCICIO: Diseñar el controlador con observador
y construir y observar el comportamiento del sistema
en lazo cerrado en Simulink
MATLAB tiene la funcion K = place(A,B,P) que calcula K
para ubicar los autovalores en los valores dados en el
vector P.
42 /59
EL OBSERVADOR DE ORDEN
REDUCIDO
43 /59
El observador de orden reducido

Se supondra, ahora, que q de los n estados del sistema
pueden ser medidos en forma directa.
» Estos estados se agrupan en el vector x1
x1T   x1 , x2 ,
, xq 
» mientras que los restantes n − q estados se agrupan en
x2T   xq 1 , xq  2 ,
, xn 
» La ecuacion de estado original
x  Ax  Bu
:
 y  Cx
A : n  n, B : n  p, C : q  n
C tiene rango completo de fila
44 /59
El observador de orden reducido

Si C = [ I 0 ], entonces y(t) son los primeros q
estados

definiendo,



1
T
Q1  CT CC
 R nq
CQ1  I q
45 /59
El observador de orden reducido

definiendo
Q2  R
n n  q 
: CQ2  0 y rank  Q2   n  q
Una base para Null(C)


1 T
T
nq
R  Q2 Q2 Q2  R


1 T
T
RQ2  Q2 Q2 Q2 Q2  I n  q  n  q 
46 /59
El observador de orden reducido
47 /59
El observador de orden reducido

Definiendo la transformacion P
Q : P 1  Q1 Q 2  Q1 : n  q, Q 2 : n  (n  q )


 CQ1 CQ2  I q 0 
C 
I n  PQ    Q1 Q2   



0
I
RQ
RQ
R
nq 
 
 1
2

Por la transformacion x  Px
  x1   A11 A12   x1   B1 
 x  PAP x  PBu
    
     u
x2   A 21 A 22   x2   B2 
:



1
y

C
P
x  I q 0 x


y  I q 0  x  x1
1
48 /59
El observador de orden reducido


Todos los estados x1 son accesibles. Solo necesitan ser
estimados los ultimos nq elementos de x
Usando y  x1 , tenemos
 x2  A 21 y  A 22 x2  B2u

y  A11 y  A12 x2  B1u

Definiendo,
u  A 21y  B2u


w  y  A11y  B1u
  x1   A11 A12   x1   B1 
    
     u
  x2   A 21 A 22   x2   B2 

y  I q 0  x  x1
En la ecuacion de salida se ha puesto
de manifiesto que todos los estados x1
son accesibles y seran tomados como
salidas para su realimentacion
x 2  A 22 x 2  u

w  A12 x 2
49 /59
El observador de orden reducido

El problema se reduce a diseñar un observador
para el sistema:
x 2  A 22 x 2  u

w  A12 x 2

Definiendo,
u  A 21y  B2u

w  y  A11y  B1u
50 /59
El observador de orden reducido

El observador:


xˆ 2  A 22 xˆ2  u  L w  A12 xˆ2

Definiendo,

u  A 21y  B2u

w  y  A11y  B1u
Requiere derivar la salida!!
51 /59
El observador de orden reducido

Para eliminar la derivada, definir
  t   xˆ 2  t   Ly  t 

Entonces,
d
d
d
  t   xˆ 2  t   L y  t 
dt
dt
dt
52 /59
El observador de orden reducido

Para eliminar la derivada, definir
  t   xˆ 2  t   Ly  t 

Entonces,
d
  t    A 22  LA12    t    B 2  LB1  u  t 
dt
  A 21  LA11   A 22  LA12  L  y  t 
53 /59
El observador de orden reducido

Entonces,
d
  t    A 22  LA12    t    B 2  LB1  u  t 
dt
  A 21  LA11   A 22  LA12  L  y  t 

Estimar:


y t 
xˆ  t   

  t   Ly  t  
54 /59
Realimentacion de los estados estimados

El control se genera por la realimentacion de los
estados estimados


y t 
u  t   K P xˆ  t     K1 K 2  


t

Ly
t
  y  t   
u  t    Kxˆ  t     K1 K 2  

 y  t  t   Ly  t  
   K1  K 2L K 2  

 y tt 
   K1  K 2 L K 2  


t
  
55 /59
Realimentacion de los estados estimados

Sistema aumentado en lazo cerrado
 A  BK
d
xa  t   
dt
 0


xa  t 

A 22  LA12 
BK 2
Existe separacion de los problemas de la
estimacion de los estados y el control
56 /59
Realimentacion de los estados estimados

Si (A, C) es observable, puede ser construido un
estimador completo o de orden reducido con
valores propios arbitrarios

Si las variables de estado NO
estan disponibles para realimentacion,
podemos diseñar un estimador de estado
u  r  kxˆ
r (t )
u (t )
Plant

k
x̂
y (t )
Estimator
57 /59
Bibliografia

A. D. Lewis, A Mathematical Approach to
Classical Control, 2003, on line acces
http://www.mast.queensu.ca/~andrew/teaching/
math332/notes.shtml

Robert L., Williams, Douglas A. Lawrence
“Linear State-Space Control Systems”, Wiley,
2007
58 /59
FIN
59 /59
Descargar