Cuando trabajamos con sistemas de control, en específicamente cuando trabajamos con sistemas en variables de estado, nos vemos en la necesidad de saber si es sistema es controlable antes de dedicar nuestro tiempo y esfuerzo a dicha tarea, por lo tanto resulta importante tener claro tanto el concepto de controlabilidad como la forma en que podemos saber si el sistema es o no controlable, en este caso vamos a mostrar como podemos saber si se cumple la última premisa haciendo uso del software libre Scilab.

¿Qué es la Controlabilidad de un Sistema?

Se dice que un sistema es controlable si por medio de unos valores de ganancias de retroalimentación definidos (o también llamada ley de control), se puede llevar a dicho sistema de un estado inicial X(t_{0}) a un estado final X(t_{f}) en un tiempo finito.

Para controlar un sistema en variables de estado, se busca encontrar una ley de control de la forma U=-KX tal que pueda convertir al sistema en autónomo y que por medio de la retroalimentación de los estados, pueda llevarlos a su punto de equilibro en X=0 o a un valor de referencia si se contempla la ley de control como U=-KX+K_{r}r.

Como se comentó anteriormente, es necesario que antes de comenzar a controlar el sistema, debe considerarse si efectivamente es controlable, de lo contrario no se obtendrán los resultados esperados.

Teniendo un sistema lineal continuo en invariante en el tiempo, de la forma:

dot{X}=AX + BU

Y=CX + DU

Se define una matriz (cuya deducción se remite a libros más especializados) de la siguiente forma:

Mc=[B | AB | ... | A^{n-1}B]

Entonces se conoce a la matriz Mc como la matriz de controlabilidad del sistema, donde n indica el orden del mismo. Luego, para que todos los estados del sistema puedan ser controlados, se debe satisfacer que dicha matriz de controlabilidad Mc sea de rango n.

¿Cómo Podemos Conocer la Controlabilidad del Sistema con Scilab?

En Scilab resulta muy sencillo obtener la matriz de controlabilidad y además calcular su rango, que al final de cuentas resulta ser el parámetros decisivo, para demostrarlo, vamos a valernos de un ejemplo que hemos venido trabajando en artículos anteriores, es un sistema que está definido de la siguiente forma.

matrices espacio de estados

Luego, como vemos que lo único que necesitamos para conocer la controlabilidad del sistema es la matriz A y el vector de entradas B, las cuales se ven rápidamente en el sistema anterior como:

matrices espacio de estados 2

Entonces se procede en primer lugar a ingresar las matrices al espacio de trabajo de Scilab, este proceso resulta ser idéntico a como se haría en el software Matlab.

Ingresando las matrices del sistema en Scilab.
Ingresando las matrices del sistema en Scilab.

A continuación definimos nuestra matriz Mc y le asignamos el valor que nos va a retornar la función cont_mat(), la cual recibe como parámetros a las matrices A y B anteriormente declaradas y se obtiene lo siguiente, y que es la función que Scilab nos proporciona para hallar dicha matriz.

Matriz de controlabilidad en Scilab.
Matriz de controlabilidad en Scilab.

Una vez que se ha obtenido la matriz de controlabilidad, ahora solo queda encontrar el rango de dicha matriz y observar si este valor es el mismo que el orden del sistema, es decir, si el sistema es de segundo orden entonces el rango de esta matriz debería ser 2, en este caso, nuestro sistema es de orden 3, por lo que se espera que si es controlable el orden de la matriz debe ser 3.

Se puede calcular el rango de una matriz haciendo uso de la función rank() de Scilab, lo podemos ver a continuación, para nuestro caso vamos a pasar como parámetro la matriz Mc, que evidentemente es en la que estamos interesados.

Rango de la matriz de controlabilidad en Scilab.
Rango de la matriz de controlabilidad en Scilab.

En efecto se ha encontrado que para este ejemplo, el rango de la matriz de controlabilidad coincide con el orden del sistema, por lo que se puede asegurar que dicho sistema es de estado completo controlable, a partir de ahora se puede buscar entonces la ley de control requerida, dicho tema se deja para otros artículos de este mismo blog.

Hasta aquí este artículo, esperamos que esta información te haya sido de utilidad, si crees que puede ser útil para alguien más, ayúdanos a compartirla.

Saludos.

Autor: Julio César Echeverri M.