En esta entrada vas a entender todo sobre la controlabilidad y observabilidad de un sistema representado por el espacio de estados. Aquí podrás encontrar ejercicios resueltos sobre la controlabilidad y observabilidad, entenderás sobre la estabilidad de sistemas y verás como resolver probleas usando el MATLAB.
Antes te comenzar te hago la invitación de que veas todo nuestro curso gratuito sobre Sistemas en Variables de Estado.
👇👇Puedes mirar el video en YouTube 👇👇 y si todavía no te has suscrito al Canal, NO sabes la información Valiosa que te estás perdiendo.
Vamos a abordar el concepto de la controlabilidad y observabilidad por separado, para eso comencemos con la controlabilidad en espacio de estados.
Veremos que la controlabilidad de un sistema puede darse de dos formas: Controlabilidad de Estado y Controlabilidad de Salida.
Controlabilidad de Estado
Un sistema de control es de “estado completamente controlable”, si es posible transferir el sistema desde un estado inicial arbitrario a cualquier otro estado deseado en un intervalo de tiempo finito.
Si se tiene un sistema dado por:
x(k+1)=Ax(k)+Bu(k)\\ y(k)=Cx(k)+Du(k)
La variación del estado solo depende de las matrices A y B, asi que expandiendo el estado hasta n, tenemos que:
\vdots
La expresión anterior se puede escribir en la forma:
Si conocemos el estado final y el estado inicial la ecuación se puede reescribir como:
El vector de estados tiene una dimensión de , de esta forma implica que se deben generar ecuaciones simultaneas, y para ello la matriz
debe ser igual a , o sea debe tener rango completo para afirmar que el sistema es controlable.
Al final de este post verás ejemplos de controlabilidad para que el concepto te quede más claro.
Rango de una Matriz
A continuación veremos un ejemplo de como podemos determinar el rango de una matriz, lo cual será muy útil si deseamos saber si un sistema es controlable y observable.
Determinemos el rango de la siguiente matriz:
Rango de una Matriz en MATLAB:
>>A=[4 1 -1;3 2 0;1 1 0]
>> rank(A)
ans =
3
Calculo Manual, se debe llevar la matriz a la forma triangular inferior:
Si se consigue llegar a una matriz triangular inferior, o por lo menos se consigue que ninguna columna o fila sea nula, se puede decirse que todas las columnas de la matriz son linealmente independientes, por lo tanto el rango de la matriz es igual al numero de columnas linealmente independientes, en este caso las tres columnas de la matriz A, son linealmente independientes por lo tanto:
Controlabilidad de la salida
Se dice que un sistema de control es de “Salida completamente controlable”, si es posible transferir la salida del sistema desde un valor inicial arbitrario a cualquier otro valor deseado en un intervalo de tiempo finito.
Para encontrar la controlabilidad de la salida tomamos la salida y la expandimos hasta m, miremos que aqui usaremos el valor del estado para poder involucrar la entrada con la salida , recordemos que .
\vdots
Podemos relacionar asi la salida del sistema
El vector de salida tiene una dimensión de , de esta forma implica que se deben generar ecuaciones simultaneas, y para ello la matriz
debe ser igual a , osea debe tener rango completo.
Así mismo, se puede demostrar que si el sistema tiene la matriz de paso , puede representarse de la forma
Observabilidad y Detectabilidad
El concepto de observabilidad de un sistema se relaciona con la posibilidad de obtener el estado de un sistema a partir de la medición o el conocimiento de las entradas y de las salidas del mismo.
Partiendo de la representación de estados discretos
Se dice que el sistema es complemente observable si cualquier estado inicial puede determinarse a partir de la observación de en períodos de muestreo como máximo.
Para eso se asume que
Si variamos k desde cero hasta n:
De forma matricial las ecuaciones anteriores son representadas por:
El vector de salida tiene n elementos por lo tanto, se deben generar n ecuaciones simultáneas, esta condición solo es posible si:
Una condición suficiente y necesaria para la observabilidad completa del estado es que no se presente cancelación de ceros y polos en la función de transferencia de pulso.
A continuación vamos a ver ejemplos de observabilidad haciendo los calculos a mano y haciendo observabilidad en matlab.
Controlabilidad y Observabilidad Ejemplos:
En el espacio de estados la controlabilidad y observabilidad son muy importantes, por eso vamos a ver algunos ejemplos.
Determinar si el siguiente sistema es completamente controlable y completamente observable.
Solucion:
La matriz de controlabilidad viene dada por:
C_o=\begin{bmatrix} B & AB & A^2B \end{bmatrix}
Resuelvo independientemente cada columna de la matriz de controlabilidad:
AB=\begin{bmatrix} 0 & 1 & 0\\ 0 & 0 & 1\\ -0.6 & -0.7 & -0.5 \end{bmatrix} \begin{bmatrix} 1\\ 0\\ 0 \end{bmatrix}= \begin{bmatrix} 0\\ 0\\ -0.6 \end{bmatrix}
A^2B=\begin{bmatrix} 0 & 0 & 1\\ -0.6 & -0.7 & -0.5\\ 0.3 & -0.25 & -0.45 \end{bmatrix} \begin{bmatrix} 1\\ 0\\ 0 \end{bmatrix}= \begin{bmatrix} 0\\ -0.6\\ 0.3 \end{bmatrix}
La matriz de controlabilidad viene dado por:
C_o=\begin{bmatrix} 1 & 0 & 0\\ 0 & 0 & -0.6\\ 0 & -0.6 & 0.3 \end{bmatrix}
Intercambio fila 2 por la fila 3 para que quede una matriz triangular inferior
Tiene rango completo por lo tanto el sistema es Completamente Controlable.
La matriz de observabilidad viene dada por:
Por lo tanto el sistema es completamente Observable
Controlabilidad y Observabilidad en Matlab
A=[0 1 0;0 0 1;-0.6 -0.7 -0.5]; B=[1;0;0]; C=[1 0 0]; %Matriz de Controlabilidad Co=[B A*B A^2*B] rank(Co) %Matriz de Observabilidad Ob=[C;C*A;C*A^2] rank(Ob)
Caso Multivariable – MIMO – Ejemplo
Dado el siguiente Sistema Multivariable MIMO representado en variables de estado:
Recordemos que la Matriz de Controlabilidad viene dada por:
Y que n es la dimensión, en este ejemplo n=3 (Dimension de la matriz A). Vemos que la matriz de controlabilidad debe ir hasta (n-1) osea hasta elevar la matriz A a (3-1=2).
Mirando las dimensiones de la matriz de controlabilidad tenemos que:
Vemos que la matriz de controlabilidad tendra una dimensión de , Lo que haria muy tedioso el calculo. Por definicion, sabemos que el rango de una matriz nunca sera mayor que el menor de sus dimensiones, en itras palabras sabemos que el rango va a ser menor igual a 3.
Para simplificar el calculo de controlabilidad, basta con inicialmente determinar el rango de la Matriz B.
Ahora restamos la dimension del sistema con el rango de la matriz B:
Osea que para este sistema basta con calcular hasta la matriz de A elevado a la 1, es decir, basta con calcular la controlabilidad hasta:
Controlabilidad MIMO Matlab
A=[0,1,0;0,0,1;-1,-2,-3] B=[0,0;0,1;1,0] %Controlabilidad método 1 Co1=[B,AB,A^2B] rank(Co1) %controlabilidad método 2 Co2=[B,A*B] rank(Co2)
Como el rango es igual a la dimensión, el sistema es controlable.
Vemos que de esta forma podemos simplificar mucho el calculo porque solo tendriamos una matriz de controlabilidad de 3×4 en lugar de una de 3×6.
El mismo concepto lo aplicamos para la matriz de observabilidad, solo que en este caso debemos determinar el rango de la matriz C.
Ahora restamos la dimension del sistema con el rango de la matriz C:
O sea que para este sistema basta con calcular hasta la matriz de A elevado a la 1, es decir, basta con calcular la observabilidad hasta:
Observabilidad MIMO en Matlab
C=[0,1,0;1,0,1] Ob1=[C;CA;CA^2] rank(Ob1) Ob2=[C;C*A] rank(Ob2)
Como el rango es igual a la dimensión, el sistema es observable.
De la misma forma vemos que solo basta calcular hasta A^1 en este ejemplo para determinar la observabilidad del sistema MIMO.
Codigo de Controlabilidad y Observabilidad en MATLAB del sistema MIMO (Multivariable):
A=[0,1,0;0,0,1;-1,-2,-3] B=[0,0;0,1;1,0] C=[0,1,0;1,0,1] %Controlabilidad Tradicional Co1=[B,A*B,A^2*B] rank(Co1) %Controlabilidad Reducida Co2=[B,A*B] rank(Co2) %Observabilidad Tradicional Ob1=[C;C*A;C*A^2] rank(Ob1) %Observabilidad Reducida Ob2=[C;C*A] rank(Ob2)
Perfecto Controleros y Controleras, eso es todo por la clase del día de hoy donde aprendimos sobre la CONTROLABILIDAD y la OBSERVABILIDAD de un sistema, lo cual nos ayudará más adelante en el análisis de nuestros proyectos de control.
Si te ha gustado este post y el video de YouTube, quizás puedas invitarme a un café y ayudarme a pagar los servidores para poder mantener en pie este sitio WEB.
👉 Invitar un café a Sergio ☕️
Nos vemos en la siguiente clase de nuestro maravilloso curso de Sistemas Dinámicos Lineales, les deseo un excelente día.
Mi nombre es Sergio Andres Castaño Giraldo, y en este sitio web voy a compartir una de las cosas que mas me gusta en la vida y es sobre la Ingeniería de Control y Automatización. El sitio web estará en constante crecimiento, voy a ir publicando material sobre el asunto desde temas básicos hasta temas un poco más complejos. Suscríbete al sitio web, dale me gusta a la página en Facebook y únete al canal de youtube. Espero de corazón que la información que comparto en este sitio, te pueda ser de utilidad. Y nuevamente te doy las gracias y la bienvenida a control automático educación.