Hola controleros y controleras, el dia de hoy vamos a entender lo que es una Realización Balanceada (equilibrada) de un sistema dinámico lineal (LTI) descomponiendo el sistema en los valores singulares de Hankel, dando continuidad a nuestro curso gratuito de Sistemas Dinámicos.
Antes de comenzar, te hago la invitación de que te suscribas al canal para que sigas aprendiendo sobre estos temas y sobre la teoría de control.
Realización Balanceada
Ya habíamos visto que la controlabilidad se conserva a través de las transformaciones de semejanza que hacemos en nuestro sistema
\dot{x}=Ax(t)+Bu(t)\\ y=Cx
sea representado por el siguiente sistema equivalente:
\dot{\xi}=A_{\xi}\xi(t)+B_{\xi}u(t)\\ y=C_\xi\xi(t)
Donde:
A_{\xi} = P^{-1}AP,\ B_{\xi} = P^{-1}B,\ C_{\xi} = CP
Siendo una matriz no singular dado que
entonces si
el\ par(A,B) \rightarrow\ Controlable
también lo sera
el\ par((A_{\xi},B_{\xi}) \rightarrow Controlable
Sabemos que la relación entre las matrices de controlabilidad son:
C_{\xi}=P^{-1}C_x
por lo tanto la relación entre los gramianos de controlabilidad de ambos sistemas es
W_{c_\xi}=P^{-1}W_{c_x}P^{-T}
Que es una Realización Balanceada
Es un tipo de realización basado en el gramiano de controlabilidad y observabilidad y este tipo de realización es usado generalmente para hacer una reducción del modelo.
O sea, si tenemos un modelo de un sistema muy complejo que tiene muchos estados, se intenta ver si en aquel sistema es posible llegar a una representación con menos estados y que tenga una dinámica parecida (aproximar para un sistema de orden menor).
Las realizaciones balanceadas son las mejores condicionadas numéricamente. Esto significa que las entradas de las matrices (o vectores) de la realización (A,B,C,D) no difieren en varios ordenes de magnitud (si esto no ocurre es porque el orden del sistema es mayor de lo necesario.
Como llegar en una Realización Equilibrada
Primero debemos partir de la idea del sistema ser controlable y observable.
Suponiendo que se tiene un sistema controlable y observable:
\dot{x}=Ax+Bu
y=Cx
donde se calcula el gramiano de controlabilidad y observabilidad resolviendo las dos ecuaciones de Lyapunov dadas por:
AW_c+W_cA'=-BB'
A'W_o+W_cA=-CC'
donde si y son definidos positivos, entonces el sistema es controlable y observable.
Veremos que diferentes realizaciones tendrán diferentes gramianos de controlabilidad y de observabilidad.
Gramianos de Controlabilidad y Observabilidad
Transformacion de Similitud en Espacio de Estados
Realización Mínima – Funciones Coprimas
Ejemplo
Supongamos el siguiente sistema:
\dot{x}=\begin{bmatrix} -1&-4/\alpha\\ 4\alpha&-2 \end{bmatrix}x+\begin{bmatrix} 1\\ 2\alpha \end{bmatrix}u
y=\begin{bmatrix} -1&2/\alpha \end{bmatrix}x
Si calculo la función de transferencia de ese sistema para todo
g(s)=\dfrac{3s+18}{s^2+3s+18}
Los gramianos de Controlabilidad y Observabilidad dependerán de son:
W_c=\begin{bmatrix} 0.5&0\\ 0&\alpha^2 \end{bmatrix}, W_o=\begin{bmatrix} 0.5&0\\ 0&1/\alpha^2 \end{bmatrix}
note que para cada van a existir diferentes realizaciones, pero siempre el producto entre los gramianos será constante
W_cW_o=\begin{bmatrix} 0.25&0\\ 0&1 \end{bmatrix}
Esa es una propiedad que va a parecer en todos los sistemas.
Obtención de la Realización Balanceada
En otras palabras, puedo tomar CULQUIER realización de una función de transferencia que sea controlable y observable, calculo los gramianos, y siempre el producto de ellos será constante independiente de la realización.
Se dice que un sistema es balanceado, si se cumple que eligiendo una matriz de semejanza () hacen que los gramianos de controlabilidad y observabilidad de la nueva realización sean iguales.
W_c=W_o
P^{-1}W_cP^{-T}=P^{T}W_oP
La idea entonces es reescribir con esos gramianos una forma diagonal, donde voy a tener los valores singulares () ordenados de menor a mayor.
\Sigma=diag\left\lbrace\sigma_1,\sigma_2,\cdots,\sigma_n\right\rbrace
Los elementos de la diagonal son todos positivos y se les denomina valores singulares de Hankel
donde
\sigma_i=\sqrt{\lambda_i}
Con como un autovalor del producto de los gramianos:
W_cW_o
Por efectos de simplicidad, se supone que:
\sigma_1\geq\sigma_2\geq\cdots\geq\sigma_n>0
de la expresión anterior puedo inferir que si los autovalores menores son muy pequeños podría despreciarlos de la representación eliminando asi algunos estados del sistema.
Herramientas para conseguir la realización equilibrada
Como visto anteriormente, la dificultad aquí es encontrar dicha matriz de semejanza (). Usando métodos computacionales es fácil hallar la realización balanceada, tal como es el caso de usar el comando de matlab llamado balreal.
Sin embargo también pueden ser usadas otras herramientas descritas a continuación:
Descomposición de Cholesky
Esta descomposición dice que una matriz simétrica definida positiva puede ser descompuesta como el producto de una matriz triangular inferior y la traspuesta de la matriz triangular inferior.
Sea M una matriz de elementos reales, simétrica y definida positiva; entonces dicha matriz se puede descomponer como:
M=LL^T
siendo L una matriz triangular inferior, con los elementos en la diagonal positivos.
Existen varios métodos para el cálculo de la factorización de Cholesky, principalmente métodos iterativos. En este caso nos valemos de la función de MATLAB conocida como:
Descomposición en valores singulares (SVD)
Cualquier matriz real M de dimensiones puede ser descompuesta como:
M=U\Sigma V^T
donde U es una matriz ortogonal de dimensiones , V es una matriz ortogonal de dimensiones y es una matriz diagonal única de dimensiones con elementos reales y no negativos en orden descendente:
\sigma_1\geq\sigma_2\geq\cdots\geq\sigma_n>0
En MATLAB podemos calcularlo como:
La realización del sistema será internamente equilibrada si:
W_c=W_o=\Sigma
Transformación a la realización internamente equilibrada
El algoritmo comienza por calcular la descomposición de Cholesky de los gramianos de controlabilidad y observabilidad:
W_c=L_cL_c^T\\\\ W_o=L_oL_o^T
donde y representan los factores triangulares inferiores de Cholesky de los gramianos de controlabilidad y observabilidad, respectivamente. A continuación, se calcula la descomposición en valores singulares del producto de los factores de Cholesky:
L_o^TL_c = U\Sigma V^T
y a partir de ella se construye la transformación a la realización internamente equilibrada
P=L_cV\Sigma^{-1/2}
Nótese que:
P^{-1}=\Sigma^{-1/2}UL_o
Ejemplo de Realizaciones Balanceadas de un sistema LTI
considerando la siguiente realización de la función de transferencia
g(s)=\dfrac{20}{s^3+13s^2+32s+20}
Donde su representación por variables de estado es:
A=\begin{bmatrix} -13&-32&-20\\ 1&0&0\\ 0&1&0 \end{bmatrix},B=\begin{bmatrix} 1\\ 0\\ 0 \end{bmatrix},C=\begin{bmatrix} 0&0&20 \end{bmatrix}
Vamos a ver si se puede reducir ese modelo, aproximandolo a una función de grado menor.
Primero debemos Calcular el gramiano de Controlabilidad y Observabilidad:
Usando el comando de matlab puedo hallar facil los gramianos
>> Wc=gram(sys,’c’)
W_c=\begin{bmatrix} 0.0404& -0.0000& -0.0013\\ -0.0000& 0.0013& 0.0000\\ -0.0013& 0.0000& 0.0008\\ \end{bmatrix}
>> Wo=gram(sys,’o’)
W_o=\begin{bmatrix} 0.3283& 4.2677& 10.0000\\ 4.2677& 55.9848& 136.5657\\ 10.0000& 136.5657& 405.3535\\ \end{bmatrix}
Luego encuentro el producto de los dos gramianos:
W_cW_o=\begin{bmatrix} 0.0006& -0.0000& -0.1078\\ 0.0054& 0.0707& 0.1724\\ 0.0078& 0.1067& 0.3201\\ \end{bmatrix}
Ahora encuentra los valores singulares con:
\sigma_i=\sqrt{\lambda_i}
donde solucionando se llega a lo siguiente organizando de mayor a menor:
\Sigma=diag\left\lbrace0.614,0.1186,0.0044\right\rbrace
La reducción del modelo puede realizarse utilizando la realización balanceada siempre y cuando exista una gran diferencia entre los valores singulares, por ejemplo en este caso el valor 0.0044 es mucho menor que los otros valores por lo tanto podemos reducir el modelo a un sistema de segundo orden.
Utlizando la función de Matlab balreal en el sistema en espacio de estados, llegamos a su representación balanceada, dado que esta función ya entrega el resultado con la matriz de semejanza (P) ya calculada.
A_\xi=\begin{bmatrix} -0.3522& -0.9606& 0.3214\\ 0.9606 &-2.209 &1.915\\ 0.3214 &-1.915 &-10.44 \end{bmatrix},B_\xi=\begin{bmatrix} -0.6577\\ 0.7239\\ 0.3023 \end{bmatrix},C_\xi=\begin{bmatrix} -0.6577 &-0.7239 & 0.3023 \end{bmatrix}
De esta manera puede obtenerse un modelo de orden reducido despreciando la dinámica relacionada al valor singular 0.0044 , En este caso al estado
\dot{x}_r=\begin{bmatrix} -0.3522& -0.9606\\ 0.9606& -2.209 \end{bmatrix}x_r(t)+\begin{bmatrix} -0.6577\\ 0.7239 \end{bmatrix}u(t)
y=\begin{bmatrix} -0.6577& -0.7239 \end{bmatrix}x_r(t)
A continuación podemos ver la respuesta del sistema original de tercer orden y la respuesta del sistema reducido
Método 2
Podemos intentar encontrar la matriz de semejanza usando la descomposición de Cholesky y la descomposición en valores singulares
Aplico la factorización de cholesky a ambos gramianos
>> Lc = chol(Wc)’;
L_c=\begin{bmatrix} 0.2010& 0 & 0\\ -0.0000& 0.0355 & 0\\ -0.0063 & 0.0000 & 0.0280\\ \end{bmatrix}
>> Lo = chol(Wo)’;
L_o=\begin{bmatrix} 0.5730 & 0 & 0\\ 7.4485 & 0.7107 & 0\\ 17.4532 & 9.2387 & 3.9223\\ \end{bmatrix}
Dados los factores de Cholesky de los gramianos de controlabilidad y de observabilidad se procede a la descomposición en valores singulares del producto
>> [U,S,V]=svd(Lo’*Lc);
y a partir de estos valores se genera la matriz de transformación a la realización internamente equilibrada del sistema :
P=L_cVS^{-1/2}
P=\begin{bmatrix} -0.0094& -0.2904 & 2.6333\\ 0.0183 & -0.0826 & -0.2377\\ 0.0329 & 0.0362 & 0.0151\\ \end{bmatrix}
Aplicando esta transformación, las matrices del sistema resultan :
A_\xi=P^{-1}AP=\begin{bmatrix} -0.3522& -0.9606& 0.3214\\ 0.9606 &-2.209 &1.915\\ 0.3214 &-1.915 &-10.44 \end{bmatrix},\\B_\xi=P^{-1}B=\begin{bmatrix} -0.6577\\ 0.7239\\ 0.3023 \end{bmatrix},\\C_\xi=CP=\begin{bmatrix} -0.6577 &-0.7239 & 0.3023 \end{bmatrix}
Código en Matlab
A continuación tienes a disposición el código en Matlab de los ejemplo abordados en esta entrada.
Comprobar que el producto de los gramianos es constante:
%% Realizaciones Balanceadas 2 % Sergio Andres Castaño Giraldo % controlautomaticoeducacion.com % Rio de Janeiro - 2018 clc clear all close all alpha=10; %Crea el sistema A=[-1 -4/alpha; 4*alpha -2]; B=[1;2*alpha]; C=[-1 2/alpha]; D=0; sys=ss(A,B,C,D); [NUM,DEN]=ss2tf(A,B,C,D,1); G=tf(NUM,DEN) %% Gramianos disp('Gramiano de Controlabilidad') Wc=gram(sys,'c') disp('Gramiano de Observabilidad') Wo=gram(sys,'o') disp('Producto de los Gramianos') WcWo=Wc*Wo
Ejemplo de Realización balanceada por los dos métodos mostrados aquí
%% Realizaciones Balanceadas % Sergio Andres Castaño Giraldo % controlautomaticoeducacion.com % Rio de Janeiro - 2018 clc clear all close all %Crea el sistema A=[-13 -32 -20;1 0 0;0 1 0]; B=[1;0;0]; C=[0 0 20]; sys=ss(A,B,C,0); %Graminiano de Controlabilidad Wc=gram(sys,'c') %Si el graminiano es mayor que cero quiere decir que el sistema es %controlable y estable, para eso observo los autovalores de la matriz eig(Wc) %Graminiano de Observabilidad Wo=gram(sys,'o') %Si los autovalores del graminiano son todos positivos el sistema es %observable y estable eig(Wo) %% __________ %Ahora se toma la raiz cuadrada de los autovalores del producto de los dos %graminianos WcWo=Wc*Wo; disp('Buscar el valor singular que es muy pequeño con relación a los otros') sqrt(eig(WcWo)) %Con esto podemos reducir el sistema a una expresión de segundo orden, %para eso puedo usar la siguiente funcion de MATLAB disp('Sistema Balanceado') [sysBal,h] = balreal(sys) %Separo las matrices en variables Ab=sysBal.A; Bb=sysBal.B; Cb=sysBal.C; %Tomo el subloque correspondiente al sistema reducido Ar=Ab(1:2,1:2); Br=Bb(1:2); Cr=Cb(1:2); %Creo el sistema Reducido disp('Sistema Reduzido') sysRed=ss(Ar,Br,Cr,0) %Respuesta ante un escalon de los dos sistemas step(sys,'-k',sysRed,'--r'),grid legend('Sistema 3ord','Sistema reducido 2ord') %% METODO 2 % Obtener la representación del sistema balanceado encontrando la matriz de % semejanza (P) a traez del álgoritmo de Cholesky %Aplico la factorización de cholesky a ambos gramianos Lc = chol(Wc)'; Lo = chol(Wo)'; % Dados los factores de Cholesky de los gramianos de controlabilidad y de observabilidad % se procede a la descomposición en valores singulares del producto [U,S,V]=svd(Lo'*Lc) % donde U es una matriz ortogonal de dimensiones m x m , V es una matriz % ortogonal de dimensiones n x n y S es una matriz diagonal única de dimensiones % m x n con elementos reales y no negativos en orden descendente (valores % singulares) % y a partir de estos valores se genera la matriz de tra nsformación a la realización % internamente equilibrada del sistema : P = Lc * V * S^(-0.5) % Aplicando esta transformación, las matrices del sistema resultan : disp ('Sistema Balanceado usando Método 2') Ab1=P^(-1)*A*P; Bb1=P^(-1)*B; Cb1=C*P; %Tomo el subloque correspondiente al sistema reducido Ar1=Ab1(1:2,1:2); Br1=Bb1(1:2); Cr1=Cb1(1:2); %Creo el sistema Reducido disp('Sistema Reduzido (metodo 2)') sysRed1=ss(Ar1,Br1,Cr1,0) %Respuesta ante un escalon de los dos sistemas figure title('Método 2') step(sys,'-k',sysRed1,'--r'),grid legend('Sistema 3ord','Sistema reducido 2ord')
Eso es todo por la entrada del dia de hoy, espero les haya gustado y hayan aprendido algo nuevo. Si te ha servido el contenido de esta entrada, de los videos y los códigos de implementación y deseas apoyar mi trabajo invitandome a un café super barato, puedes hacerlo en el siguiente link:
👉 Invitar a Sergio a un Café ☕️
Que esten muy bien, nos vemos en la siguiente entrada.
Bibliografia
- CONTROL EN EL ESPACIO DE ESTADO, Domínguez, S.; Campoy, P.; Sebastián, J.M.; Jiménez, A.
- Chi-Tsong Chen. Linear System: Theory and Design (3ª Edição). Oxford University Press, Nova York, 1999.
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.