Sabemos diseñar controladores efectivamente usando la realimentación del estado.
Pero como hacemos con $y$ ?
A partir de la medida $y$ debemos encontrar los estados del sistema $x$ a traves de una predición $\hat{x}$.
Predictor-Corrector¶
Supongamos un sistema:
$$\dot{x}=A\,x \qquad y=C\, x$$
- Primer idea hagamos una copia del sistema (predictor): $$\dot{\hat{x}}= A\, \hat{x}$$
- Segunda idea agreguemos la noción de cuan mal estimamos el modelo (correcto). $$\dot{\hat{x}}= A\, \hat{x} + L(y-C\, \hat{x})$$
Esto se conoce como el observador de Luenberger
Elegiendo la ganancia del observador¶
Lo que queremos estabilizar (llevar a cero) es la estimación del error, es decir, la diferencia del estado actual y la estimación del estado $e=x-\hat{x}$
$$\dot{e} = \dot{x} - \dot{\hat{x}} = Ax - A\hat{x} - L(y-C\hat{x}) \qquad \text{con} \qquad y=Cx$$
luego,
$$\dot{e} = A(x-\hat{x}) - LC(x-\hat{x}) = (A-LC)e$$
por lo que debemos elegir L de tal forma que los valores propios de $A-LC$ tenga parte real negativa.
Nuevamente posicionamiento de polos¶
$$\dot{e} = (A-LC)e$$
queremos
$$\text{Re}\left(\text{eig}(A-LC)\right)<0$$
ya sabemos hacer posicionamiento de polos.
Ejemplo¶
Partimos de:
$$\dot{x} = \left[\array{-1&2\\0&-2}\right]x \qquad y = \left[\array{1&-1}\right]x$$
el error será:
$$\dot{e} = (A-LC)e = \left(\left[\array{-1&2\\0&-2}\right]-\left[\array{L_1\\L_2}\right]\left[\array{1&-1}\right]\right)e$$ $$\dot{e}= \left[\array{-1-L_1&2+L_1\\-L_2&-2+L_2}\right]e$$
Ejemplo¶
$$\dot{e}= \left[\array{-1-L_1&2+L_1\\-L_2&-2+L_2}\right]e$$
Ecuación característica:
$$\chi A-LC (\lambda) = \left|\array{\lambda+1+L_1&-2-L_1\\L_2&\lambda+2-L_2}\right|$$ $$\chi A-LC (\lambda) = \lambda^2 + \lambda (3+L_1-L_2) + 2 + 2L_1+L_2$$
$$\varphi(\lambda) = (\lambda+1)^2 = \lambda^2 + 2\lambda+1$$
de aquí:
$$L_1 = -2/3 \qquad \text{y} \qquad L_2=1/3$$
Ejemplo¶
$$\dot{\hat{x}} = A\hat{x} + \frac{1}{3}\left[\array{-2\\1}\right](y-C\,\hat{x})$$
$$\dot{x} = \left[\array{-1&2\\0&-2}\right]x \qquad y = \left[\array{1&-1}\right]x$$
Podemos diseñar observadores todo el tiempo?¶
Observabilidad¶
Necesitamos hacer lo que hicimos para el diseño del controlador para entender cuando podemos recuperar la información del estado de la salidad.
Un ejemplo modesto¶
Dado un sistema en tiempo discreto: $$x_{k+1}= A\, x_k \qquad y_k = C x_k$$
¿Podemos recuperar la condición inicial recolectando n valores de salida?
$$ \array{ y_0 &=& Cx_0 \\ y_1 &=& Cx_1 &=& CAx_0 \\ &\vdots\\ y_{n-1} &=& Cx_{n-1} &=& CA^{n-1}x_0 } $$
La matriz de observabilidad¶
$$\left[\array{y_0\\y_1\\y_2\\\vdots\\y_{n-1}}\right] = \left[\array{C\\CA\\CA^2\\\vdots\\CA^{n-1}}\right]\,x_0 = \Omega x_0$$
donde $\Omega$ es la matriz de observabilidad. La condición inicial del sistema puede ser recuperadad de las medidas/salidas del sistema cuando la matriz de observabilidad tiene rango completo.
Observabilidad : Teorema 1¶
Dado un sistema:
$$x_{k+1}= A\, x_k \qquad y_k = C x_k \qquad x \in \mathscr{R}^n$$
Definición el sistema es completamente observable (CO) si es posible recuperar la condicion inicial a partir de su salida.
$$\Omega = \left[\array{C\\CA\\CA^2\\\vdots\\CA^{n-1}}\right]$$
Teorema 1 el sistema es CO si y solo si
$$\text{rank}\left(\Omega\right) = n$$
Observabilidad : Teorema 2¶
Dado un estimador:
$$\dot{\hat{x}}= A\, \hat{x} + L(y-C\, \hat{x}) \qquad \dot{e} = (A-LC)e$$
Teorema 2 se puede hacer un posicionamiento de polos arbitrariamente si y solo if el sistema es CO.
El principio de separación¶
Estamos muy cerca de poder diseñar controladores como si tuvieramos el estado $x$ aunque solo conozcamos $y$, ya que podemos estimar $x$.
En este momento tenemos muchos buenos bloques para construir un controlador:
- Controlabilidad
- Observabilidad
- Realimentación del estado
- Observadores
- Posicionamiento de polos
¿Cómo ponemos todo esto juntos?
El principio de separación
Ejercicio¶
Evaluar la observabilidad del sistema de la particula para diferentes conjunto de sensores:
$$\dot{x} = \begin{bmatrix}0&1\\ 0&0\end{bmatrix}\,x + \begin{bmatrix}0\\ 1\end{bmatrix}\,u$$
$$y=C_i\,x$$
con $C$:
$$C_c = \begin{bmatrix}1&0\\ 0&1\end{bmatrix} \qquad C_p = \begin{bmatrix}1&0\end{bmatrix} \qquad C_v = \begin{bmatrix}0&1\end{bmatrix} $$
¿Con qué sensores podemos observar el sistema?