Cómo Calcular la Matriz y el Polinomio de Lazo Cerrado con Maxima (wxMaxima).

Ya habíamos mostrado en una entrada anterior, la gran capacidad de Maxima y como puede ayudarnos cuando estamos trabajando con sistemas de control (ver Cómo Obtener la Función de Transferencia a Partir de las Variables de Estado con Maxima). En esta ocasión vamos a mostrarte de forma clara y rápida como calcular la matriz y el polinomio de lazo cerrado en Maxima cuando trabajamos con sistemas en variables de estado. Para poder desarrollar de forma clara vamos a continuar el ejemplo que habíamos tratado en la entrada del enlace anterior, así, recordemos como va definido un sistema en variables de estado.

\dot{X}=AX+BU

Y=CX+DU

Sin embargo, cuando hablamos de lazo cerrado, hacemos referencia a que existe entonces una retroalimentación de los estados del sistema, entonces la expresión para la entrada U cambia según la ley de control.

U=-KX+K_{r}r

Entonces al remplazar esta nueva expresión de la entrada U en el sistema de arriba, tenemos la siguiente forma:

\dot{X}=AX-BKX+BK_{r}r

Haciendo factor común X, tenemos entonces nuestro sistema en lazo cerrado con la ley de control:

\dot{X}=A_{c}X+BK_{r}r

Y=CX+DU

donde Ac es la matriz de lazo cerrado, y es:

A_{c}=A-BK

Y por lo tanto el llamado polinomio de lazo cerrado, vendrá dado por el determinante la matriz de lazo cerrado ( A_c).

¿Cómo calcular la matriz de lazo cerrado Ac en Maxima?

Nuestro objetivo ahora es entonces, calcular la matriz de lazo cerrado de forma simbólica haciendo uso de la herramienta de cálculo Maxima (en este caso, usamos wxMaxima). Entonces para ejemplificar esto, como ya habíamos mencionado, vamos a continuar el ejemplo que usamos en el tema de función de transferencia y que cuyas matrices, contenían los valores:

ecuaciones de estado

Entonces, el primer paso será definir estas variables dentro de Maxima, como te mostramos en la figura 1.

Fig 1. Así introducimos las matrices en Maxima (wxMaxima)

Fig 1. Así introducimos las matrices en Maxima (wxMaxima)

Ahora, además de introducir las matrices propias del sistema en lazo abierto, necesitamos ingresar la matriz K (que en realidad por dimensiones es un vector). Entonces, para que sea más claro lo de las dimensiones, observemos a continuación cómo debería ser la matriz Ac.

matriz de lazo cerrado maxima

Entonces definamos el vector K en Maxima, lo hacemos como en la figura 2, sin embargo, cabe recordar que las K son meramente simbólicas, ya que sus valores los obtenemos en un proceso aparte (que también veremos en otro artículo).

Fig 2. Introducimos el vector K con sus componente K1 y K2 de forma simbólica.

Fig 2. Introducimos el vector K con sus componente K1 y K2 de forma simbólica.

Entonces después de tener todas las matrices ingresadas en Maxima, podemos realizar la operación de arriba para calcular la matriz de lazo cerrado Ac, te mostramos como hacerlo en la figura 3. (recuerda que el producto de matrices en Maxima se hace con el operador punto (.) )

Fig 3. Cálculo de la matriz de lazo cerrado en Maxima.

Fig 3. Cálculo de la matriz de lazo cerrado en Maxima.

Entonces de esta forma ya tenemos nuestra matriz de lazo cerrado (Ac), y el resultado es idéntico si nos ponemos en la tarea de realizar dicha operación de forma manual, sin embargo no resulta tan simple calcular de forma manual el polinomio de lazo cerrado y que es nuestro siguiente paso.

 ¿Cómo calcular el polinomio de lazo cerrado con Maxima?

El siguiente paso después de haber obtenido la matriz de lazo cerrado Ac, es calcular el polinomio característico en lazo cerrado.

Cómo se había mencionado en otros artículos, y como es de suponer que ya sabes de donde salen los polinomios característicos, solo recordaremos cual es el procedimiento u origen de dicho polinomio, para nuestra matriz Ac.

\left |sI-Ac\right |=0   (Determinante)

Entonces, como vemos para realizar este cálculo debemos ingresar una nueva matriz a Maxima, y que en este caso será I que es la identidad, y te mostramos como generar una matriz identidad en la figura 4, a continuación.

Fig 2. Como declarar una matriz identidad en Maxima.

Fig 4. Como declarar una matriz identidad en Maxima.

Entonces procedemos a realizar la resta sI-Ac y la almacenaremos en una nueva matriz temporal que llamaremos M, este paso no es necesario, pero lo hacemos para mantener la claridad en el ejemplo.

determinante lazo cerrado

Entonces ahora el cálculo del polinomio de lazo cerrado solo se reduce a sacar el determinante de la matriz M que hemos creado, el determinante de dicha matriz lo podemos sacar como se muestra a continuación:

Fig 5. Obtención del polinomio de lazo cerrado de forma simplificada.

Fig 5. Obtención del polinomio de lazo cerrado de forma simplificada.

De esta forma Maxima nos ha retornado el polinomio de lazo cerrado de nuestro sistema, evidentemente las K (o ganancias) deben ser calculadas en un proceso posterior, que mostraremos en otra entrada en este blog. En este punto debemos hacer una aclaración, sobre una nueva función que hemos introducido ratsimp(), esta función se usa (normalmente) para la simplificación de expresiones racionales, de ahí su nombre ‘rational simplification‘, aquí solo debemos entender que hemos hecho uso de ella con el fin de obtener una expresión simplificada y factorizada, que se reflejó en la salida del polinomio de lazo cerrado.

A continuación te mostramos todo este proceso en un corto video que te puede servir como ejemplo para afirmar lo que has comprendido, estaremos atentos a cualquier sugerencia.

Esperamos que este artículo haya sido de tu ayuda, si crees que deberíamos agregar algo o mejorarlo, nos puedes hablar en los comentarios, si resultó útil para ti, ayúdanos a compartirlo para que le pueda servir a más personas. Saludos.

Autor: Julio Marulanda.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s