ER4.5. Control de asignación de polos por realimentación del estado

Introducción (planteamiento)

Dada una planta lineal continua aleatoria de orden n con m entradas y p salidas, diseñar un controlador de asignación de polos por realimentación del estado con eliminación del error en estado estacionario con una entrada escalón unitario, simular y analizar los resultados, en especial el esfuerzo de control.

Método (plan de solución)

Pasos: (i) generar un modelo aleatorio continuo de orden 4 con 2 entradas y 2 salidas, además de otros órdenes; (ii) discretizar con un período de muestreo de 0.1 seg y verificar la controlabilidad del sistema; (iii) diseñar el control asignando los (n+p) polos en diferentes lugares; (iv) obtener el diagrama de simulación en Simulink y simular; (v) para un modelo de orden 2 con 1 entrada y 1 salida, graficar el valor del esfuerzo de control con diferentes ubicaciones de los polos deseados, medido como la suma del valor absoluto de los valores de la acción de control en cada instante de muestreo; (vi) analizar los resultados. Las operaciones que se realizan a continuación se detallan en el código de MATLAB de este enlace.

Resultados (solución)

El diagrama de simulación que puede utilizarse con distintos valores de (m,n,p) es el siguiente, donde el integrador discreto multivariable (integración de cada error) está implementado de acuerdo con lo explicado en el libro y se aplica una perturbación determinística tipo escalón unitario solo al primer canal de entrada a los 5 segundos:

Diagrama de simulación del sistema de control

Se probó con diferentes órdenes de (m,n,p) y diferentes valores de la semilla del número aleatorio, donde se presentaron casos de mal condicionamiento de la matriz de controlabilidad y con comportamientos extremos de las salidas y variables de control. A manera de ilustración, se presentan los resultados para n=4,m=2,p=2. Para diferentes ubicaciones de los polos (0, 0.5 y 0.8) se obtienen los siguientes gráficos, donde se puede observar que entre más cercanos al origen están los polos deseados más rápida es la respuesta temporal, pero con mayores sobreimpulso y esfuerzo de control:

Resultados con los polos deseados en 0.5

Resultados con los polos deseados en 0

Resultados con los polos deseados en 0.8
 

Resultado de la simulación que muestra el efecto de la ubicación de los polos en el esfuerzo de control (el esfuerzo de control aumenta al acercar los polos deseados al centro del círculo unitario):

Esfuerzo de control vs Posición de los polos

Análisis y verificación

En este problema se implementó un código de MATLAB que permite diseñar un controlador de asignación de polos por realimentación del estado para modelos lineales de cualquier orden, número de entradas y salidas, y simularlo con Simulink. Un componente importante del diagrama es la implementación de un integrador multivariable por medio de una ecuación de estado.

Se realizaron simulaciones con diferentes semillas del número aleatorio y diferentes (m,n,p), y en muchos casos la matriz de controlabilidad estaba mal condicionada y no se pudo obtener un controlador, lo cual es interesante e ilustra las dificultades del diseño, en especial cuando en el modelo se tienen polos y ceros cercanos que se cancelan dependiendo de la selección de la matriz C

Las diferentes pruebas muestran que si el sistema es controlable se puede diseñar un controlador de tiempo discreto que elimine el error en estado estacionario para cada una de las salidas, pero si se tienen limitaciones con los valores máximos de la acción de control es necesario ubicar los polos no tan cerca del origen ni tan alejados de los polos estables de la planta discreta, por lo cual se debe tantear la mejor ubicación para un esfuerzo de control aceptable. Los valores propios de la planta discreta son {1.1209, 0.9796}, por lo que al acercarnos al borde del círculo es normal que el esfuerzo de control decaiga más rápidamente, pero es necesario tener en cuenta la ubicación de los ceros, dado que una cancelación de polos y ceros incrementa la acción de control al hacer la matriz de controlabilidad peor condicionada.

En el problema no se implementa una técnica antisaturación en el control (ver el ejercicio resuelto 4.4), dado que ese no es el objetivo del estudio, pero en una aplicación real y específica es necesario hacerlo. Igualmente, aunque se hizo el estudio con un controlador de tiempo discreto, el diseño y el código es similar para el caso de tiempo  continuo.

Comentarios