Está en la página 1de 32

Tema 5

Diseño de controladores por realimentación de estado.

1. Sistemas en forma canónica controlable


2. Realimentación de estado con una representación cualquiera.
3. Sistemas con referencia distinta de cero.
1. Sistemas que tienen un integrador.
2. Sistemas de tipo 0.
4. Observadores de estado.
1. Definición de Observador de estado
2. Comportamiento del conjunto sistema-observador.
a. Antes de realimentar
b. Después de realimentar
3. Cálculo del observador

1
El método de diseño que se presenta en este capítulo se conoce como técnica de
asignación de polos o realimentación de estado. Se supone que todas las
variables de estado son medibles y que están disponibles para su realimentación.
Si el sistema es completamente controlable, los polos del sistema en lazo cerrado
se puede ubicar en cualquier posición deseada realimentando el estado a través
de una matriz de ganancias adecuada.
Se supondrá inicialmente que la señal de referencia es nula r(t)=0.

2
Vamos a diseñar un controlador de la forma:
𝒙𝒙
𝑥𝑥̇ (𝑡𝑡) = 𝑨𝑨𝑨𝑨(𝑡𝑡) + 𝑩𝑩𝑩𝑩(𝑡𝑡)
𝒖𝒖

𝒖𝒖(t)=-K 𝒙𝒙

Quedando el sistema global:


D
x(t) y(t)
B �⬚ C
u(t)

-K

3
Se cumplen entonces las relaciones:
𝑢𝑢(𝑡𝑡) = −𝐾𝐾𝐾𝐾(𝑡𝑡)
𝑥𝑥̇ (𝑡𝑡) = 𝐴𝐴𝐴𝐴(𝑡𝑡) − 𝐵𝐵𝐵𝐵𝐵𝐵(𝑡𝑡) = (𝐴𝐴 − 𝐵𝐵𝐵𝐵 )𝑥𝑥(𝑡𝑡)

La dinámica del sistema viene expresada ahora por la matriz:


𝐴𝐴𝑟𝑟 = 𝐴𝐴 − 𝐵𝐵𝐵𝐵
La solución de esta ecuación está dada por:
𝑥𝑥 (𝑡𝑡) = 𝑒𝑒 (𝐴𝐴−𝐵𝐵𝐵𝐵)𝑡𝑡 𝑥𝑥(0)
La condición necesaria y suficiente para que el sistema lineal
𝑥𝑥̇ (𝑡𝑡) = 𝑨𝑨𝒓𝒓 𝒙𝒙(𝑡𝑡)
sea estabilizable mediante realimentación del estado es que sea controlable.

Para diseñar el controlador:


• Se estudia la controlabilidad
• Se toma 𝑢𝑢 = 𝐾𝐾1 𝑥𝑥1 + 𝐾𝐾2 ∙ 𝑥𝑥2 + ⋯ + 𝐾𝐾𝑛𝑛 ∙ 𝑥𝑥𝑛𝑛
• Se calcula el polinomio característico det(sI-Ar)
• Tomamos un polinomio conocido con los polos colocados según nos interese,
igualamos coeficientes y hallamos las Ki.
4
5.1 Sistemas en forma canónica controlable.

𝑏𝑏𝑛𝑛−1 𝑠𝑠 𝑛𝑛−1 +⋯+𝑏𝑏1 𝑠𝑠+𝑏𝑏0


Dado un sistema clásico con función de transferencia: 𝐹𝐹 =
𝑠𝑠 𝑛𝑛 +𝑎𝑎𝑛𝑛−1 𝑠𝑠 𝑛𝑛−1 +⋯+𝑎𝑎1 𝑠𝑠+𝑎𝑎0

Se elige la representación en variables de estado de fase de la siguiente forma:


1
𝑥𝑥1 = 𝑛𝑛 𝑢𝑢
𝑠𝑠 + 𝑎𝑎𝑛𝑛−1 𝑠𝑠 𝑛𝑛−1 + ⋯ + 𝑎𝑎1 𝑠𝑠 + 𝑎𝑎0

(Forma Canónica Controlable)

Y las variables siguientes se eligen por sucesiva derivación:


𝑥𝑥2 = 𝑥𝑥̇ 1

𝑥𝑥𝑛𝑛 = 𝑥𝑥̇ 𝑛𝑛−1

Que se puede representar en forma matricial por:

5
𝑥𝑥1̇ 0 1 0 ⋯ 0 ⎤ 𝑥𝑥1
⎡ 0
⎡ 𝑥𝑥 ̇ ⎤ 0 0 1 ⋯ 0 ⎥ ⎡ 𝑥𝑥2 ⎤ ⎡0⎤
⎢ 2 ⎥ ⎢⎢ ⎥ ⎢ ⋮ ⎥ ⎢ ⎥
⎢ ⋮ ⎥=⎢ ⋮ ⋮ ⋮ ⋮ ⎥⎢ ⎥ + ⎢⋮⎥ u
⎢𝑥𝑥̇ 𝑛𝑛−1 ⎥ ⎢ 0 0 ⎢𝑥𝑥𝑛𝑛−1 ⎥ ⎢0⎥
0 ⋯ 0 ⎥ ⎣ 𝑥𝑥 ⎦ ⎣1⎦
⎣ 𝑥𝑥̇ 𝑛𝑛 ⎦
⎣−𝑎𝑎0 −𝑎𝑎1 −𝑎𝑎2 ⋯ −𝑎𝑎𝑛𝑛−1 ⎦ 𝑛𝑛
𝑥𝑥1
𝑥𝑥
𝑦𝑦 = [𝑏𝑏0 − 𝑏𝑏1 ⋯ 𝑏𝑏𝑛𝑛−1 ] � ⋮2 �
𝑥𝑥𝑛𝑛

Si se realimenta como hemos visto nos quedaría:

6
𝑥𝑥1̇ 0 1 0 ⋯ 0 ⎤

⎡ 𝑥𝑥 ̇ ⎤ 0 0 1 ⋯ 0 ⎥
⎢ 2 ⎥ ⎢⎢
𝐴𝐴𝑟𝑟 = (𝐴𝐴 − 𝐵𝐵𝐵𝐵 ) = ⎢ ⋮ ⎥ = ⋮

⋮ ⋮ ⋮ ⎥⎥
⎢𝑥𝑥̇ 𝑛𝑛−1 ⎥ ⎢ 0 0 0 ⋯ 0 ⎥
⎣ 𝑥𝑥̇ 𝑛𝑛 ⎦
⎣−𝑎𝑎0 −𝑎𝑎1 −𝑎𝑎2 ⋯ −𝑎𝑎𝑛𝑛−1 ⎦
0 1 0 ⋯ 0
0 ⎡ ⎤
⎡0⎤ ⎢ 0 0 1 ⋯ 0 ⎥
⎢ ⋮ ⎥ [𝑘𝑘 𝑘𝑘 𝑘𝑘 ⋯ 𝑘𝑘 ] ⎢ ⎥
−⎢ ⎥ 1 2 3 𝑛𝑛 = ⋮ ⋮ ⋮ ⋮
⎢0⎥ ⎢ ⎥
⎢ 0 0 0 ⋯ 0 ⎥
⎣1⎦
⎣−𝑘𝑘1 − 𝑎𝑎0 −𝑘𝑘2 − 𝑎𝑎1 −𝑘𝑘3 − 𝑎𝑎2 ⋯ −𝑘𝑘𝑛𝑛 − 𝑎𝑎𝑛𝑛−1 ⎦
La matriz C queda inalterada.

La función de transferencia correspondiente a la matriz Ar será de la forma:


𝑏𝑏𝑛𝑛−1 𝑠𝑠 𝑛𝑛−1 + ⋯ + 𝑏𝑏1 𝑠𝑠 + 𝑏𝑏0
𝑀𝑀(𝑠𝑠) = 𝑛𝑛
𝑠𝑠 + (𝑎𝑎𝑛𝑛−1 + 𝑘𝑘𝑛𝑛 )𝑠𝑠 𝑛𝑛−1 + ⋯ + (𝑎𝑎1 + 𝑘𝑘2 )𝑠𝑠 + (𝑎𝑎0 + 𝑘𝑘1 )

Podemos hacer ahora que los polos se igualen a unos polos deseados.
7
Ejemplo:
3𝑠𝑠+6
Dado 𝐹𝐹 (𝑠𝑠) =
𝑠𝑠 3 +3𝑠𝑠 2 +7𝑠𝑠+1

se desea diseñar un controlador por realimentación de estado tal que los polos de
lazo cerrado sean -1±j y -10.

El polinomio deseado será entonces:


𝑃𝑃(𝑠𝑠) = (𝑠𝑠 + 10)(𝑠𝑠 2 + 2𝑠𝑠 + 2) = 𝑠𝑠 3 + 12𝑠𝑠 2 + 22𝑠𝑠 + 20

Igualando coeficientes nos queda:

20 = 1 + 𝑘𝑘1
22 = 7 + 𝑘𝑘2 𝐾𝐾 = [19 15 9]
12 = 3 + 𝑘𝑘3

Lo que queda inalterado es la posición de los ceros, por lo que el comportamiento


en régimen permanente no varía.

8
5.2 Realimentación de estado con una representación cualquiera.

Si el sistema no se encuentra representado en forma canónica controlable


(variables de fase), se puede usar la matriz de transformación T para pasarlo a
esta forma :
𝑇𝑇 = 𝑀𝑀𝑀𝑀
donde
𝑀𝑀 = [𝐵𝐵 ⋮ 𝐴𝐴𝐴𝐴 ⋮ ⋯ ⋮ 𝐴𝐴𝑛𝑛−1 𝐵𝐵]
y
𝑎𝑎𝑛𝑛−1 𝑎𝑎𝑛𝑛−2 ⋯ 𝑎𝑎1 1
⎛𝑎𝑎𝑛𝑛−2 𝑎𝑎𝑛𝑛−3 ⋯ 1 0⎞
𝑊𝑊 = ⎜ ⋮ ⋮ ⋱ ⋮ ⋮⎟
𝑎𝑎1 1 ⋯ 0 0
⎝ 1 0 ⋯ 0 0⎠

donde los ai son los coeficientes del polinomio característico |𝑠𝑠𝑠𝑠 − 𝐴𝐴|
Y entonces transformamos A de la siguiente forma:

𝑇𝑇 −1 𝐴𝐴𝐴𝐴
9
Ejemplo:
Sea el sistema representado por las matrices
−0.4286 1 0.7
𝐴𝐴 = � � , 𝐵𝐵 = � �
0 −1.4286 0.7

El polinomio característico sería:

𝑠𝑠 + 0.4286 −1
det(𝑠𝑠𝑠𝑠 − 𝐴𝐴) = � �=
0.7 𝑠𝑠 + 1.4286

𝑠𝑠 2 + 1.8572𝑠𝑠 + 0.6123 = 0
1.8572 1 0.7 0.4
𝑊𝑊 = � � y 𝑀𝑀 = � �
1 0 0.7 −1
1.7 0.7
𝑇𝑇 = 𝑀𝑀𝑀𝑀 = � �
0.3 0.7
0 1
𝐴𝐴𝐴𝐴 = 𝑇𝑇 −1 𝐴𝐴𝐴𝐴 = � �
−0.6124 −1.8572
0
𝐵𝐵𝐵𝐵 = 𝑇𝑇 −1 𝐵𝐵 = � �
1
10
El polinomio característico de Ar sería ahora:
0 1
(
𝐴𝐴𝑟𝑟 = 𝐴𝐴𝐴𝐴 − 𝐵𝐵𝐵𝐵𝐵𝐵𝐵𝐵 = �) �
−0.6124 − 𝐾𝐾1𝑐𝑐 −1.8572 − 𝐾𝐾2𝑐𝑐
|𝑠𝑠𝑠𝑠 − 𝐴𝐴𝑟𝑟 | = 𝑠𝑠 2 + (1.8572 + 𝐾𝐾2𝑐𝑐 )𝑠𝑠 +0.6124+𝐾𝐾1𝑐𝑐

Si el polinomio deseado fuese por ejemplo: 𝑠𝑠 2 + 2𝑠𝑠 + 10 tendríamos:


𝐾𝐾1𝑐𝑐 = 10 − 0.6124 = 9.3876
𝐾𝐾2𝑐𝑐 = 2 − 1.8572 = 0.1428

Otra forma de obtener la matriz K es a partir de la fórmula de Ackerman:

𝐾𝐾 = [0 0 … 0 1][𝐵𝐵 ⋮ 𝐴𝐴𝐴𝐴 ⋮ ⋯ ⋮ 𝐴𝐴𝑛𝑛−1 𝐵𝐵]−1 Φ(𝐴𝐴)

en nuestro ejemplo:
−1
0.7 0.4
𝐾𝐾 = (0 1) � � (𝐴𝐴2 + 2𝐴𝐴 + 10) = (6.6618 −6.4578)
0.7 −1
Se puede comprobar que
𝐾𝐾 = 𝐾𝐾𝑐𝑐 𝑇𝑇 −1 ó 𝐾𝐾𝑐𝑐 = 𝐾𝐾𝐾𝐾

11
5.3 Sistemas con referencia distinta de cero.

5.3.1 Sistemas que tienen un integrador

𝑏𝑏𝑛𝑛−1 𝑠𝑠 𝑛𝑛−1 +𝑏𝑏𝑛𝑛−2 𝑠𝑠 𝑛𝑛−2 +⋯+𝑏𝑏1 𝑠𝑠+𝑏𝑏0


Se parte de un sistema de tipo 1 dado por: 𝐺𝐺 (𝑠𝑠) =
𝑠𝑠 𝑛𝑛 +𝑎𝑎𝑛𝑛−1 𝑠𝑠 𝑛𝑛−1 +𝑎𝑎𝑛𝑛−2 𝑠𝑠 𝑛𝑛−2 +⋯+𝑎𝑎1 𝑠𝑠

𝑥𝑥 = 𝐴𝐴𝐴𝐴̇ + 𝐵𝐵𝐵𝐵
𝑦𝑦 = 𝐶𝐶𝐶𝐶
donde
0 1 0 ⋯ 0 0
⎛0 0 1 ⋯ 0 ⎞ ⎛0⎞
𝐴𝐴 = ⎜ ⋮ ⋮ ⋮ ⋱ ⋮ ⎟ 𝐵𝐵 = ⎜ ⋮ ⎟
0 0 0 ⋯ 1 0
⎝0 −𝑎𝑎1 −𝑎𝑎2 ⋯ −𝑎𝑎𝑛𝑛−1 ⎠ ⎝1⎠

𝐶𝐶 = (𝑏𝑏0 𝑏𝑏1 𝑏𝑏2 ⋯ 𝑏𝑏𝑛𝑛−1 )

12
Se realimenta el estado de forma que se conserve el tipo del sistema y luego se
realimenta la salida, para globalmente situar los polos en los lugares deseados.
La entrada r se supone un escalón.

+ + y(t)=x1(t)
x(t)
r(t) k1 B � C
- u(t) - +

[0 k2 k3 …kn ]

Realimentamos con una matriz:


𝐾𝐾 = [0 𝑘𝑘2 … 𝑘𝑘𝑛𝑛 ]
Obteniendo:
0 1 0 ⋯ 0
⎛0 0 1 ⋯ 0 ⎞
� = 𝑨𝑨 − 𝑩𝑩𝑩𝑩 = ⋮
𝑨𝑨 ⋮ ⋮ ⋱ ⋮
⎜ ⎟
0 0 0 ⋯ 1
⎝0 −𝑘𝑘2 − 𝑎𝑎1 −𝑘𝑘3 − 𝑎𝑎2 ⋯ −𝑘𝑘𝑛𝑛 − 𝑎𝑎𝑛𝑛−1 ⎠
Sistema de tipo 0 con todos sus polos modificados.
13
Al realimentar la salida:
𝑢𝑢(𝑡𝑡) = 𝑘𝑘1 (𝑟𝑟 − 𝑦𝑦) = 𝑘𝑘1 𝑟𝑟 − 𝑘𝑘1 𝑪𝑪𝑪𝑪
� 𝒙𝒙 + 𝑩𝑩𝑢𝑢 = 𝑨𝑨
𝑥𝑥̇ = 𝑨𝑨 � − 𝑘𝑘1 𝑩𝑩𝑩𝑩�𝒙𝒙 + 𝑘𝑘1 𝑩𝑩𝑟𝑟
� 𝒙𝒙 + 𝑘𝑘1 𝑩𝑩𝑟𝑟 − 𝑘𝑘1 𝑩𝑩𝑩𝑩𝑩𝑩 = �𝑨𝑨
Obteniéndose un sistema realimentado con matriz de transferencia:
𝑨𝑨𝒓𝒓 = 𝑨𝑨 − 𝑩𝑩𝑩𝑩 − 𝑘𝑘1 𝑩𝑩𝑩𝑩 =
0 1 0 ⋯ 0
⎛ 0 0 1 ⋯ 0 ⎞
=⎜ ⋮ ⋮ ⋮ ⋱ ⋮ ⎟
0 0 0 ⋯ 1
⎝−𝑘𝑘1 𝑏𝑏0 −𝑘𝑘2 − 𝑎𝑎1 − 𝑘𝑘1 𝑏𝑏1 −𝑘𝑘3 − 𝑎𝑎2 − 𝑘𝑘1 𝑏𝑏2 ⋯ −𝑘𝑘𝑛𝑛 − 𝑎𝑎𝑛𝑛−1 − 𝑘𝑘1 𝑏𝑏𝑛𝑛−1 ⎠
Basta que b0≠0 para que todos los polos del sistema se puedan fijar a voluntad.
Ejemplo:
Diseñe un controlador de forma que el sistema:
3𝑠𝑠 + 6
𝐺𝐺 (𝑠𝑠) = 3
𝑠𝑠 + 3𝑠𝑠 2 + 7𝑠𝑠
Tenga sus polos en -1±j y -10 con error nulo ante un escalón unitario.

14
Como el sistema es de tipo 1 ya cumple la condición del error. Para situar los
polos en las posiciones requeridas, realimentamos según lo visto anteriormente.
El modelo en espacio de estado en forma controlable es:
0 1 0 0
𝒙𝒙̇ = �0 0 1 � 𝒙𝒙 + �0� 𝑢𝑢
0 −7 −3 1
𝑦𝑦 = (6 3 0)𝒙𝒙
El polinomio característico realimentado deseado es:
𝑝𝑝(𝑠𝑠) = (𝑠𝑠 + 1 + 𝑗𝑗)(𝑠𝑠 + 1 − 𝑗𝑗)(𝑠𝑠 + 10) = 𝑠𝑠 3 + 12𝑠𝑠 2 + 22𝑠𝑠 + 20
La matriz de realimentación sería:
0 1 0
𝑨𝑨𝒓𝒓 = � 0 0 1 � = 𝑨𝑨 − 𝑩𝑩𝑩𝑩 − 𝑘𝑘1 𝑩𝑩𝑩𝑩
−20 −22 −12
0 1 0 0 0
= �0 0 1 � − �0� (0 𝑘𝑘2 𝑘𝑘3 ) − 𝑘𝑘1 �0� (6 3 0)
0 −7 −3 1 1
Resultando
10
𝑘𝑘1 = 𝑦𝑦 𝑲𝑲 = (0 5 9)
3

15
5.3.2 Sistemas de tipo 0.

r(t) e y(t)
xN + x(t)
�⬚ Ke B + �⬚ C
u(t)
+ +

-K

Se añade un integrador que aumenta el tipo del sistema y reduce a cero el error
finito previo. A continuación deducimos la forma de las ecuaciones de estado
para el sistema de la figura y lo usamos para hallar el controlador.
Tenemos una nueva variable 𝑥𝑥𝑁𝑁 a la salida del integrador. El error es la derivada
de esta variable:
𝑥𝑥̇ 𝑁𝑁 = 𝑟𝑟 − 𝑪𝑪𝑥𝑥

16
Al escribir las ecuaciones de estado tenemos:
𝒙𝒙̇ = 𝑨𝑨𝑨𝑨 + 𝑩𝑩𝑢𝑢
𝑥𝑥̇ 𝑁𝑁 = 𝑟𝑟 − 𝑪𝑪𝑥𝑥
𝑦𝑦 = 𝑪𝑪𝑥𝑥
En forma vectorial:
𝒙𝒙̇ 𝑨𝑨 0 𝒙𝒙 𝑩𝑩 0
� �=� � �𝑥𝑥 � + � � 𝑢𝑢 + � � 𝑟𝑟
𝑥𝑥̇ 𝑁𝑁 −𝑪𝑪 0 𝑁𝑁 0 1
𝒙𝒙
[
𝑦𝑦 = 𝑪𝑪 0 �𝑥𝑥 � ]
𝑁𝑁
Y ahora
𝒙𝒙
𝑢𝑢 = −𝑲𝑲𝑲𝑲 + 𝐾𝐾𝑒𝑒 𝑥𝑥𝑁𝑁 = −[𝑲𝑲 −𝐾𝐾𝑒𝑒 ] �𝑥𝑥 �
𝑁𝑁
Sustituyendo en las ecuaciones del sistema:
𝒙𝒙̇ (𝑨𝑨 − 𝑩𝑩𝑩𝑩) 𝑩𝑩𝐾𝐾𝑒𝑒 𝒙𝒙 0
� �=� � �𝑥𝑥 � + � � 𝑟𝑟
𝑥𝑥̇ 𝑁𝑁 −𝑪𝑪 0 𝑁𝑁 1
𝒙𝒙
𝑦𝑦 = [𝑪𝑪 0] �𝑥𝑥 �
𝑁𝑁
Podemos usar la ecuación característica relacionada con este sistema para
diseñar K y Ke.

17
Ejemplo:
Diseñe un controlador de forma que el sistema:
3𝑠𝑠 + 6
𝐺𝐺 (𝑠𝑠) = 3
𝑠𝑠 + 3𝑠𝑠 2 + 7𝑠𝑠 + 1
Tenga sus polos en -1±j y -10 con error nulo ante un escalón unitario.
El modelo en espacio de estado en forma controlable es:
0 1 0 0
𝒙𝒙̇ = � 0 0 1 � 𝒙𝒙 + �0� 𝑢𝑢
−1 −7 −3 1
𝑦𝑦 = (6 3 0)𝒙𝒙
La inclusión del integrador aumenta el orden del sistema, lo que obliga a incluir
una nueva variable de estado y por tanto una nueva especificación para la
posición del polo correspondiente en lazo cerrado. Suponiendo que los polos
complejos conjugados van a ser los dominantes, añadimos un nuevo polo en s=-
10.
𝑝𝑝(𝑠𝑠) = (𝑠𝑠 + 1 + 𝑗𝑗)(𝑠𝑠 + 1 − 𝑗𝑗)(𝑠𝑠 + 10)2 = 𝑠𝑠 4 + 22𝑠𝑠 3 + 142𝑠𝑠 2 + 240𝑠𝑠 + 200
Por otro lado el valor de:

18
0 1 0 0
(𝑨𝑨 − 𝑩𝑩𝑩𝑩) 𝑩𝑩𝐾𝐾𝑒𝑒 0 0 1 0
𝑨𝑨𝒓𝒓 = � �=� �
−𝑪𝑪 0 −𝑘𝑘1 − 1 −𝑘𝑘2 − 7 −𝑘𝑘3 − 3 𝐾𝐾𝑒𝑒
−6 −3 0 0
y
𝑑𝑑𝑑𝑑𝑑𝑑(𝑠𝑠𝑠𝑠 − 𝐴𝐴𝐴𝐴) = 𝑠𝑠 4 + (𝑘𝑘3 + 3)𝑠𝑠 3 + (𝑘𝑘2 + 7)𝑠𝑠 2 + (3𝐾𝐾𝑒𝑒 + 𝑘𝑘1 + 1)𝑠𝑠 + 6𝐾𝐾𝑒𝑒 =
= 𝑠𝑠 4 + 22𝑠𝑠 3 + 142𝑠𝑠 2 + 240𝑠𝑠 + 200
De donde obtenemos:
100
𝑘𝑘1 = 139, 𝑘𝑘2 = 135, 𝑘𝑘3 = 19, 𝐾𝐾𝑒𝑒 =
3

19
5.4.- Observadores de estado

Hasta ahora se ha supuesto que todos los estados del sistema están disponibles
para utilizarlos.
Normalmente no se pueden medir todos los estados y en la mayoría solamente
está disponible la salida.
Lo que se hace entonces es intentar estimar el vector de estado a partir de la
salida y los valores de control aplicados.
Este proceso se conoce como ESTIMACIÓN ó RECONSTRUCCIÓN del vector
de estado.
Al sistema reconstructor del estado se le llama OBSERVADOR y para sistemas
lineales fue resuelto por David Luenberger, por lo que se le conoce como
Observador de Luenberger.
u(t)
𝒙𝒙̇ = 𝑨𝑨𝑨𝑨 + 𝑩𝑩𝑢𝑢 y(t)

𝑦𝑦 = 𝑪𝑪𝑪𝑪 + 𝑫𝑫𝑢𝑢

𝑥𝑥�(t) (estado estimado)

OBSERVADOR

20
5.4.1.- Definición de Observador de estado

Teorema:
Dado un sistema lineal, invariante y observable:
𝒙𝒙̇ = 𝑨𝑨𝑨𝑨 + 𝑩𝑩𝑢𝑢
𝑦𝑦 = 𝑪𝑪𝑪𝑪

se dice que el sistema definido de la forma:


𝒙𝒙̇ 𝒆𝒆 = 𝐹𝐹𝑥𝑥𝑒𝑒 + 𝐺𝐺𝐺𝐺 + H y

Es un observador del sistema anterior, si verifica las 2 condiciones siguientes:


1. Si los estados de ambos sistemas coinciden en un instante t0,
xe(t0)=x(t0), entonces los estados coinciden para todo instante posterior
xe(t)=x(t) para cualquier entrada u(t) aplicada al sistema.
2. Xe(t) debe tender asintóticamente al estado x(t) para cualquier entrada
u(t) y para cualesquiera estados iniciales xe(t0) y x(t0).
lim 𝑥𝑥𝑒𝑒 (𝑡𝑡) − 𝑥𝑥 (𝑡𝑡) = 0
𝑡𝑡→∞

21
Estas 2 condiciones imponen diversas restricciones a las matrices del
observador. Así, si se forma la diferencia entre la evolución del estado observado
y el real:
𝑥𝑥̇ 𝑒𝑒 (𝑡𝑡) − 𝑥𝑥̇ (𝑡𝑡) = 𝐹𝐹𝑥𝑥𝑒𝑒 (𝑡𝑡) − 𝐴𝐴𝐴𝐴(𝑡𝑡) + (𝐺𝐺 − 𝐵𝐵)𝑢𝑢(𝑡𝑡) + 𝐻𝐻𝐻𝐻𝐻𝐻(𝑡𝑡)
Por la 1ª condición, si los estados deben coincidir en todo instante para toda
entrada, para que la entrada no influya se debe cumplir:
𝐺𝐺 = 𝐵𝐵
Y para que los estados coincidan en todo instante:
𝑥𝑥̇ 𝑒𝑒 (𝑡𝑡) − 𝑥𝑥̇ (𝑡𝑡) = 𝐹𝐹𝑥𝑥𝑒𝑒 (𝑡𝑡) − 𝐴𝐴𝐴𝐴(𝑡𝑡) + 𝐻𝐻𝐻𝐻𝐻𝐻(𝑡𝑡) = 0
Se debe cumplir:
𝐹𝐹 = 𝐴𝐴 − 𝐻𝐻𝐻𝐻
Con lo que nos queda:
𝑥𝑥̇ 𝑒𝑒 (𝑡𝑡) − 𝑥𝑥̇ (𝑡𝑡) = (𝐴𝐴 − 𝐻𝐻𝐻𝐻 )�𝑥𝑥𝑒𝑒 (𝑡𝑡) − 𝑥𝑥 (𝑡𝑡)�
Por tanto la dinámica del error entre el estado observado y el error viene
gobernado por la matriz 𝐴𝐴 − 𝐻𝐻𝐻𝐻

De la 2ª condición, si los estados iniciales no coinciden, 𝑥𝑥𝑒𝑒0 ≠ 𝑥𝑥0 , 𝑥𝑥𝑒𝑒 debe tender
asintóticamente al estado del sistema, por lo que los valores propios de la matriz
𝐴𝐴 − 𝐻𝐻𝐻𝐻 deben estar en el semiplano negativo.
22
En la práctica se necesita que la dinámica del observador dado por F sea más
rápida que la del sistema dado por A, para que el observador estime las variables
de estado más deprisa que la variación de éstos y, por tanto, puedan usarse de
forma eficaz en su estimación. Esto se consigue si la parte real de los valores
propios de la matriz A-HC es significativamente menor que la de los valores
propios de la matriz A.

5.4.2 Comportamiento del conjunto sistema-observador.

El objetivo final de la utilización de un observador es diseñar un control por


realimentación de estado a partir del estado estimado. Vamos a analizar la
controlabilidad del sistema con el observador antes y después de realimentar.

5.4.2.1 Antes de realimentar.

Las ecuaciones del sistema inicial y del observador son:


𝒙𝒙̇ = 𝑨𝑨𝑨𝑨 + 𝑩𝑩𝑢𝑢
𝒙𝒙̇ 𝒆𝒆 = (𝑨𝑨 − 𝑯𝑯𝑯𝑯)𝒙𝒙𝒆𝒆 + 𝑩𝑩𝑢𝑢 + 𝑯𝑯𝑯𝑯𝑯𝑯(𝒕𝒕)

23
En forma matricial:
𝒙𝒙̇ (𝒕𝒕) 𝑨𝑨 𝟎𝟎 𝒙𝒙(𝒕𝒕) 𝑩𝑩
� �=� �� � + � � 𝑢𝑢(𝑡𝑡)
𝒙𝒙̇ 𝒆𝒆 (𝒕𝒕) 𝑯𝑯𝑯𝑯 𝑨𝑨 − 𝑯𝑯𝑯𝑯 𝒙𝒙𝒆𝒆 (𝒕𝒕) 𝑩𝑩

Cuya representación puede verse en la siguiente figura:

Esquema del sistema con observador

24
La matriz de controlabilidad es:
𝟐𝟐 𝒏𝒏−𝟏𝟏
𝑸𝑸 = � 𝑩𝑩 𝑨𝑨𝑨𝑨 𝑨𝑨 𝑩𝑩 ⋯ 𝑨𝑨 𝑩𝑩�
𝑩𝑩 𝑨𝑨𝑨𝑨 𝑨𝑨𝟐𝟐 𝑩𝑩 ⋯ 𝑨𝑨𝒏𝒏−𝟏𝟏 𝑩𝑩

Como puede verse el conjunto no es controlable.


Dado que partimos de que el sistema inicial es controlable, el rango de esta
matriz sigue siendo n, se puede separar la parte controlable de la que no lo es
mediante el cambio:
𝑰𝑰 𝟎𝟎 𝒙𝒙(𝒕𝒕) 𝒙𝒙(𝒕𝒕)
�(𝒕𝒕) = �
𝒙𝒙 �� �=� �
−𝑰𝑰 𝑰𝑰 𝒙𝒙𝒆𝒆 (𝒕𝒕) 𝒙𝒙𝒆𝒆 (𝒕𝒕) − 𝒙𝒙(𝒕𝒕)

Con lo que la nueva representación del sistema es:


𝒙𝒙̇ (𝒕𝒕) 𝒙𝒙̇ (𝒕𝒕) 𝑨𝑨 𝟎𝟎 𝒙𝒙(𝒕𝒕) 𝑩𝑩
� �=� �=� �� � + � � 𝑢𝑢(𝑡𝑡)
𝒆𝒆̇ (𝒕𝒕) 𝒙𝒙̇ 𝒆𝒆 (𝒕𝒕) − 𝒙𝒙̇ (𝒕𝒕) 𝟎𝟎 𝑨𝑨 − 𝑯𝑯𝑯𝑯 𝒙𝒙𝒆𝒆 (𝒕𝒕) − 𝒙𝒙(𝒕𝒕) 𝟎𝟎

Ecuación de la que se pueden extraer las siguientes conclusiones:

1. La parte no controlable es el error entre el estado real y el estimado.

25
2. La evolución de la parte no controlable es:
𝑒𝑒(𝑡𝑡) = 𝑒𝑒 (𝐴𝐴−𝐻𝐻𝐻𝐻)(𝑡𝑡−𝑡𝑡0 ) 𝑒𝑒0
es decir, será cero si el error inicial es cero (mismo estado inicial real y
estimado), y si es distinto de cero, tenderá a cero si los valores propios de la
matriz A-HC tienen parte real negativa.

5.4.2.2 Después de realimentar.


Tomando para realimentar el estado estimado nos queda:

Sistema con observador y realimentación del estado�

26
Las ecuaciones del sistema realimentado son:
𝒘𝒘(𝒕𝒕) = 𝑲𝑲𝒙𝒙𝒆𝒆 (𝒕𝒕)
𝑢𝑢(𝑡𝑡) = 𝑟𝑟(𝑡𝑡) + 𝒘𝒘(𝒕𝒕)
𝒙𝒙̇ (𝒕𝒕) = 𝑨𝑨𝑨𝑨(𝒕𝒕) + 𝑩𝑩�𝑟𝑟(𝑡𝑡) + 𝑲𝑲𝒙𝒙𝒆𝒆 (𝒕𝒕)� = 𝑨𝑨𝑨𝑨(𝒕𝒕) + 𝑩𝑩𝑩𝑩𝒙𝒙𝒆𝒆 (𝒕𝒕) + 𝑩𝑩𝑟𝑟(𝑡𝑡)
𝒙𝒙̇ 𝒆𝒆 = (𝑨𝑨 − 𝑯𝑯𝑯𝑯)𝒙𝒙𝒆𝒆 + 𝑩𝑩𝑩𝑩𝒙𝒙𝒆𝒆 (𝒕𝒕) + 𝑩𝑩𝑟𝑟(𝑡𝑡) + 𝑯𝑯𝑯𝑯𝑯𝑯(𝒕𝒕)

que escritas en forma matricial:


𝒙𝒙̇ (𝒕𝒕) 𝑨𝑨 𝑩𝑩𝑩𝑩 𝒙𝒙(𝒕𝒕) 𝑩𝑩
� �=� �� � + � � 𝑟𝑟(𝑡𝑡)
𝒙𝒙̇ 𝒆𝒆 (𝒕𝒕) 𝑯𝑯𝑯𝑯 𝑨𝑨 − 𝑯𝑯𝑯𝑯 + 𝑩𝑩𝑩𝑩 𝒙𝒙𝒆𝒆 (𝒕𝒕) 𝑩𝑩

de nuevo al estudiar la controlabilidad, vemos que no es controlable:

𝑩𝑩 (𝑨𝑨 + 𝑩𝑩𝑩𝑩)𝑩𝑩 (𝑨𝑨 + 𝑩𝑩𝑩𝑩)𝟐𝟐 𝑩𝑩 ⋯ (𝑨𝑨 + 𝑩𝑩𝑩𝑩)𝒏𝒏−𝟏𝟏 𝑩𝑩


𝑸𝑸 = � 𝟐𝟐 𝒏𝒏−𝟏𝟏 �
𝑩𝑩 (𝑨𝑨 + 𝑩𝑩𝑩𝑩)𝑩𝑩 (𝑨𝑨 + 𝑩𝑩𝑩𝑩) 𝑩𝑩 ⋯ (𝑨𝑨 + 𝑩𝑩𝑩𝑩) 𝑩𝑩
Haciendo el mismo cambio de variable que en el caso anterior, tomando x(t) y el
error e(t):

𝒙𝒙̇ (𝒕𝒕) 𝒙𝒙̇ (𝒕𝒕) 𝑨𝑨 + 𝑩𝑩𝑩𝑩 𝑩𝑩𝑩𝑩 𝒙𝒙(𝒕𝒕) 𝑩𝑩


� �=� �=� �� � + � � 𝑢𝑢(𝑡𝑡)
𝒆𝒆̇ (𝒕𝒕) 𝒙𝒙̇ 𝒆𝒆 (𝒕𝒕) − 𝒙𝒙̇ (𝒕𝒕) 𝟎𝟎 𝑨𝑨 − 𝑯𝑯𝑯𝑯 𝒆𝒆(𝒕𝒕) 𝟎𝟎
27
Expresión de la que podemos concluir:
1. La parte no controlable sigue siendo la diferencia entre el estado estimado y
el estado real. La estimación del estado no se modifica por la existencia de la
realimentación, como ya se anticipó.
2. La dinámica del sistema realimentado viene marcada por la expresión:
𝒙𝒙̇ (𝒕𝒕) = (𝑨𝑨 + 𝑩𝑩𝑩𝑩)𝒙𝒙(𝒕𝒕) + 𝑩𝑩𝑩𝑩𝑩𝑩(𝒕𝒕) + 𝑩𝑩𝑟𝑟(𝑡𝑡)
donde se puede apreciar que el sistema realimentado con observador se
comporta de forma similar al sistema realimentado sin observador, salvo en el
término 𝑩𝑩𝑩𝑩𝑩𝑩(𝒕𝒕), que tenderá a cero en función de la dinámica del
observador.
3. Los polos del observador van a aparecer como ceros del sistema
realimentado, por lo que se tiende a que su valor sea claramente superior al
de los polos del sistema observado. De esta forma, su efecto sobre la
dinámica del sistema se ve minimizado; llega incluso a ser despreciable en el
caso de que se encuentren lo suficientemente alejados del eje imaginario en
relación con los polos dominantes.
Esto, sin embargo, se consigue a costa de manejar una matriz H con
coeficientes considerablemente grandes (como se verá a continuación en la
sección dedicada a su cálculo), hecho que presenta el inconveniente de
28
hacer al observador muy sensible a cualquier ruido en la observación que
pueda presentarse añadido a la variable de salida y(t); este ruido magnificado
se usa como entrada al sumador donde se define 𝒙𝒙̇ 𝒆𝒆 y, al ser integrado,
aparece como un error acumulativo en 𝒙𝒙𝒆𝒆 , perjudicando la calidad de la
estimación.

5.4.3. Cálculo del observador

Conocidas A, B y C, el observador cumple que G=B y F=A-HC, siendo la matriz H


tal que los valores propios de F estén en el semiplano negativo y, además, de
parte real significativamente menor que los valores propios dominantes de la
matriz A o Ar , en el caso de un sistema con realimentación del estado.
El objetivo entonces es calcular H de forma que se cumplan las condiciones
anteriores.
Si partimos del sistema:
𝑏𝑏𝑛𝑛−1 𝑠𝑠 𝑛𝑛−1 + 𝑏𝑏𝑛𝑛−2 𝑠𝑠 𝑛𝑛−2 + ⋯ + 𝑏𝑏1 𝑠𝑠 + 𝑏𝑏0 𝑌𝑌(𝑠𝑠)
𝐺𝐺 (𝑠𝑠) = 𝑛𝑛 =
𝑠𝑠 + 𝑎𝑎𝑛𝑛−1 𝑠𝑠 𝑛𝑛−1 + 𝑎𝑎𝑛𝑛−2 𝑠𝑠 𝑛𝑛−2 + ⋯ + 𝑎𝑎1 𝑠𝑠 𝑈𝑈(𝑠𝑠)

y tomamos su representación en forma canónica observable:


29
𝑥𝑥1̇ 0 0 ⋯ 0 −𝑎𝑎0 𝑥𝑥1
⎡ 𝑥𝑥 ̇ ⎤ ⎡1 𝑏𝑏0 − 𝑎𝑎0 𝑏𝑏𝑛𝑛
0 ⋯ 0 −𝑎𝑎1 ⎤ ⎡ 𝑥𝑥2 ⎤
⎢ 2 ⎥ ⎢ ⎥⎢ ⎥ 𝑏𝑏1 − 𝑎𝑎1 𝑏𝑏𝑛𝑛
⎢ ⋮ ⎥ = ⎢⋮ ⋮ ⋮ ⋮ ⋮ ⎥⎢ ⋮ ⎥+� �u

⎢𝑥𝑥̇ 𝑛𝑛−1 ⎥ ⎢0 0 ⋯ ⋮ −𝑎𝑎𝑛𝑛−2 ⎥ ⎢𝑥𝑥𝑛𝑛−1 ⎥
𝑏𝑏𝑛𝑛−1 − 𝑎𝑎𝑛𝑛−1 𝑏𝑏𝑛𝑛
⎣ 𝑥𝑥̇ 𝑛𝑛 ⎦ ⎣0 0 ⋯ 1 −𝑎𝑎𝑛𝑛−1 ⎦ ⎣ 𝑥𝑥𝑛𝑛 ⎦
𝑥𝑥1
⎡ 𝑥𝑥2 ⎤
⎢ ⎥
𝑦𝑦 = [0 0 ⋯ 0 1] ⎢ ⋮ ⎥ + 𝑏𝑏𝑛𝑛 u
⎢𝑥𝑥𝑛𝑛−1 ⎥
⎣ 𝑥𝑥𝑛𝑛 ⎦

Si el polinomio 𝑝𝑝𝑓𝑓 (𝑠𝑠) = 𝑠𝑠 𝑛𝑛 + 𝑓𝑓𝑛𝑛−1 𝑠𝑠 𝑛𝑛−1 + ⋯ + 𝑓𝑓1 𝑠𝑠 + 𝑓𝑓0


es el polinomio característico hallado a partir de los polos deseados para F, la
matriz F tendrá la forma:

30
0 0 ⋯ 0 −𝑓𝑓0
⎡ ⎤
1 0 ⋯ 0 −𝑓𝑓1
⎢ ⎥
𝐹𝐹 = 𝐴𝐴 − 𝐻𝐻𝐻𝐻 = ⎢ ⋮ ⋮ ⋮ ⋮ ⋮ ⎥
⎢0 0 ⋯ ⋮ −𝑓𝑓𝑛𝑛−2 ⎥
⎣0 0 ⋯ 1 −𝑓𝑓𝑛𝑛−1 ⎦
0 0 ⋯ 0 −𝑎𝑎0 ℎ1
⎡1 0 ⋯ 0 −𝑎𝑎1 ⎤ ⎡ ℎ2 ⎤
⎢ ⎥ ⎢ ⎥
= ⎢⋮ ⋮ ⋮ ⋮ ⋮ ⎥ − ⎢ ⋮ ⎥ [0 0 ⋯ 0 1]
⎢0 0 ⋯ ⋮ −𝑎𝑎𝑛𝑛−2 ⎥ ⎢ℎ𝑛𝑛−1 ⎥
⎣0 0 ⋯ 1 −𝑎𝑎𝑛𝑛−1 ⎦ ⎣ ℎ𝑛𝑛 ⎦
0 0 ⋯ 0 −(𝑎𝑎0 + ℎ1 )
⎡ ⎤
⎢1 0 ⋯ 0 −(𝑎𝑎1 + ℎ2 ) ⎥
= ⎢⋮ ⋮ ⋮ ⋮ ⋮ ⎥
⎢0 0 ⋯ ⋮ −(𝑎𝑎𝑛𝑛−2 + ℎ𝑛𝑛−1 )⎥
⎣0 0 ⋯ 1 −(𝑎𝑎𝑛𝑛−1 + ℎ𝑛𝑛 ) ⎦
Conociendo los valores de fi se pueden calcular los valores de las hi de la forma
siguiente:

31
ℎ1 = −𝑎𝑎0 + 𝑓𝑓0
ℎ2 = −𝑎𝑎1 + 𝑓𝑓1

ℎ𝑛𝑛−1 = −𝑎𝑎𝑛𝑛−2 + 𝑓𝑓𝑛𝑛−2
ℎ𝑛𝑛 = −𝑎𝑎𝑛𝑛−1 + 𝑓𝑓𝑛𝑛−1
Si el sistema no está en forma canónica observable se puede calcular la matriz
de transformación para ponerlo en forma observable.

Si no está en forma observable, pero el sistema es de orden bajo, se puede


calcular por sustitución directa:
|𝑠𝑠𝑰𝑰 − (𝑨𝑨 − 𝑯𝑯𝑯𝑯)| = 𝑠𝑠 𝑛𝑛 + 𝑓𝑓𝑛𝑛−1 𝑠𝑠 𝑛𝑛−1 + ⋯ + 𝑓𝑓1 𝑠𝑠 + 𝑓𝑓0
igualando términos de ambos polinomios.
Otra forma es usando la fórmula de Ackerman:
−1 0
𝐶𝐶 ⎡0⎤
𝐶𝐶𝐶𝐶 ⎢ ⎥
𝐻𝐻 = 𝑝𝑝𝑓𝑓 (𝐴𝐴) � � ⎢⋮⎥

⎢0⎥
𝐶𝐶𝐴𝐴𝑛𝑛−1 ⎣1⎦
donde 𝑝𝑝𝑓𝑓 es el polinomio característico deseado para el observador de estado.

32

También podría gustarte