- Introducción – Control
Moderno - Objetivos y alcances del
trabajo - Ejemplo a
Desarrollar - Clasificación del Sistema
Ejemplo bajo estos supuestos - Discretización del
sistema continuo - Análisis de Estabilidad
del Sistema - Análisis de
Controlabilidad del Sistema Muestreado - Análisis de
Observabilidad del Sistema Muestreado - Aplicando control sobre el
sistema - Conclusiones
Finales - Referencias
*El desarrollo y
análisis realizado en el presente trabajo, a
pesar de que solo abarca algunos conceptos importantes sobre el
inmenso ámbito del control de
procesos,
engloba nociones básicas para el
conocimiento y comprensión de la teoría
de control y su aplicación.
1- Introducción – Control
Moderno
Las aplicaciones de control automático son
sinónimos de la tecnología moderna,
se encuentran dentro del ámbito de la robótica hasta en un simple tostador. El
control moderno aborda el problema de obtener el comportamiento
deseado de un sistema que
trabaja por sí solo.
El control de procesos se basa en los fundamentos de la
teoría de retroalimentación, análisis de
sistemas, modelización de sistemas,
conversión de señales, control óptimo,
teoría de seguimiento, etc.
Un sistema de control es una interconexión de
componentes que forman una configuración del sistema, la
cual proporcionará una respuesta deseada del mismo
sistema.
Debido a la complejidad en aumento de los sistemas de
control y al interés de
obtener funcionamientos óptimos, se consideran cada vez un
mayor número de variables del
proceso.
Así se tienen los sistemas multivariables en
relación con indicadores
para mejorar su eficiencia en el
desempeño.
2- Objetivos y
alcances del trabajo
El siguiente trabajo pretende introducir en conjunto,
temas teóricos (vistos en clases) en relación con
un ejemplo real donde se puedan desarrollar e ilustrar conceptos
tales como: los de un sistemas y su clasificación;
modelo
matemático asociado y sus formas de representación;
discretización, retroalimentación y control
(vía ubicación de polos); observación de variables del sistema por
medio de su salida y control óptimo cuadrático en
referencia a índices de optimización.
El desarrollo de este trabajo también procura ser
una guía para el lector; por lo cual, para entender los
temas a desarrollar, se han hecho algunas reseñas de los
contenidos expuestos en el mismo, así como también,
se utilizó algunos comandos de la
herramienta Matlab para el desarrollo y resolución de
algunos puntos(Control System Toolbox).
Con este ejemplo se tratará de ilustrar una serie
de conceptos:
Versión muestreada de un sistema continuo;
estabilidad, controlabilidad y observabilidad del sistema;
reubicación de polos y control óptimo.
- Sistema eléctrico de doble recinto -sistema
térmico- que supondremos a modo de ejemplo y como
hipótesis, que éste debe mantener
y ajustar las temperaturas de los recintos acotándolas
en ciertos valores,
teniendo en cuenta algunos parámetros físicos de
los recintos. También supondremos que estos recintos
contienen fluidos que no afectan al modelo propuesto y que sus
propiedades físicas y químicas no varían y
tampoco hay entrada o salida de fluido dentro de los recintos
en el período de ensayo.
Se toman en cuenta los siguientes
parámetros:
- u(t)es la cantidad de calor de
entrada al recinto Tj.(calentador
eléctrico) - To, Tj, Ti son las
temperaturas en el exterior del horno (ambiente),
en el primer recinto y en el recinto interior
respectivamente. - Ai, Ao: son las superficies
interiores y exteriores de los recintos
respectivamente. - Ci, Cj: son la capacidades
caloríficas del espacio interior y del
exterior
respectivamente.
- hi, ho son los coeficientes de
transmisión de calor para las superficie interior y
exterior respectivamente.
Consideraciones
Teniendo en cuenta una serie de consideraciones
físicas, se supondrá que: los valores
reales de superficie, los valores para las capacidades
caloríficas de los recintos y sus coeficientes de
transmisión de calor, permanecerán constantes en
todo momento, bajo cualquier condición.
Se tomarán como variables de estado las
temperaturas de los recintos.
x1 = Ti
x2 = Tj
y u(t) la señal de control.
Las ecuaciones propuestas del sistema son:
x´1= -2×1 +
2×2
x´2= 0,5×1
-0,75×2 + 0,5u + 0,25T0(amb)
Los valores propuestos anteriores, tienen como finalidad
mostrar como los recintos podrían estar interactuando con
la entrada (resistencia
eléctrica) que solo afecta al recinto exterior
(según figura); como se ve en el modelo, los dos recintos
pierden temperatura,
pero parte de la energía es absorbida por el otro recinto.
Como se mencionó, el recinto exterior recibe la
energía de la entrada, pero del mismo modo éste
recibe la energía calórica que aporta el ambiente
exterior.
Considerando constante la temperatura ambiente, se puede
eliminar el correspondiente término compensándolo
con un término de valor
-0,25Tamb.
Se tomará como salida la temperatura del recinto
interior X1. Es la de mayor interés
hipotéticamente.
En Matlab escribiremos las ecuaciones de
estado y de
salida que conforman al sistema como sigue:
A = [-2 2 ;0.5 -0.75];
B = [0 ;0.5];
C = [1 0];
D = 0; % no existe transmisión directa entre la
entrada y la salida
HC = ss(A,B,C,D)
La sintaxis es sencilla, se definen cada una de las
matrices con
nombres; para indicar las distintas filas se coloca "punto y
coma". El comando "ss" nos permite representar a nuestro
sistema en el espacio de estados, quedando con el nombre
propuesto "HC". Más adelante se visualiza como quedan las
instrucciones en el editor de líneas de comando "el
Prompt" de Matlab.
4-
Clasificación del Sistema Ejemplo bajo estos
supuestos
Es un sistema de tiempo continuo
(analógico), ya que las variables que se toman en cuenta
pueden modificar sus valores (reales -de temperatura-) en
cualquier momento.
Se trata de un sistema estacionario
(invariante en el tiempo), ya
que su respuesta a una misma entrada es la misma
independientemente del instante en que se aplica la entrada. Es
decir, como se verá mas adelante al discretizar la
representación del sistema, en nuestro caso, las matrices
del Modelo en Espacio de Estados asociadas al sistema no
están afectadas por el período de muestreo (k);
esto es porque las temperaturas registradas en los recintos no
depende del momento en que son evaluadas.
Además, es un sistema lineal, ya
que se verifica el Principio de Superposición, es
decir, que su respuesta a una combinación lineal de
entradas es la misma combinación lineal de las respuestas
a las entradas individuales. La condición de linealidad
implica que a una combinación lineal de entradas le
corresponde la combinación lineal de salidas.
Dicho de otro modo, en nuestro caso tenemos una sola
entrada, la cual pudiendo variar, hará variar linealmente
a la salida (por ejemplo: si midiendo las dos temperaturas
correspondientes a los recintos en relación a la
temperatura del calentador u(t)) siempre se tiene una misma
relación-ej: la suma de las temperaturas de los recintos
es la mitad de la del calentador/es-, si tuviésemos 2
calentadores (2 entradas) debería suceder
igual(proporcionalmente) siguiendo el mismo principio; siempre y
cuando se cumplan las consideraciones propuestas
inicialmente.
Por otro lado, es un sistema causal ya que
la salida en un instante depende de las entradas pasadas hasta
ese instante (no depende de valores futuros). Para un sistema en
tiempo discreto una condición necesaria y
suficiente para causalidad es:
Causalidad ó
H(n) =0 con n <0 , donde H(n) es la función
transferencia de pulso(S/E) del sistema. Por eso es, en nuestro
caso, trabajamos con Transformada Z unilateral. (Que corresponde
a las sucesiones que
tienen todos los términos de la serie de potencias
positivas nulos, es decir la serie sólo está
compuesta por los términos de potencias negativas y el
término independiente).
La estabilidad del sistema es estudiada
mas adelante. Un Sistema estable es aquel cuya
salida es acotada, es decir no diverge. A una entrada acotada le
corresponde una salida acotada; en nuestro caso hay que tener en
cuenta que se trata de un sistema térmico, por lo que se
podrían considerar factores como la velocidad y
temperatura de calentamiento máximo y la respuesta de los
recintos (que no excedan de cierta temperatura, etc.) como
parámetros de estabilidad.
Es un sistema S.I.S.O. por tener solo una entrada y una
salida, a diferencia de los M.I.M.O. que tienen múltiples
entradas y múltiples salidas.
5-
Discretización del sistema continuo
Por ejemplo, si discretizamos el sistema mediante
aproximaciones numéricas, de modo que y si tomamos como tiempo
de muestreo T igual a 1 seg. Tendríamos:
x1(k+1)-x1(k)= -2×1(k)
+ 2×2(k)
x2(k+1)-x2(k)= 0,5×1(k)
-0,75×2(k) + 0,5u(k)
Como se ve, es fácil este método de
discretización (muy inexacto por cierto) tomando periodos
de muestreo igual a la unidad.
– Matlab –
Pero para nuestro caso, utilizaremos un muestro de 0,25
seg. con el método de muestreo que trabaja por defecto el
Matlab 5.3, el ‘zoh’-Zero-order hold- que considera
constantes a las entradas durante el periodo de muestreo;
así obtenemos:
Sistema discretizado (designado "HD" en el
Matlab).
x1(k+1)= 0.62774×1(k) +
0.359712×2(k)+ 0.025105 u(k)
x2(k+1)= 0,089928×1(k)
+0,85256×2(k) + 0.11503 u(k)
Además, Matlab, ofrece la posibilidad de
intercambiar la representación del modelo utilizando
distintos comandos:
Para representar al sistema como la función de
transferencia de pulso, entre la salida y la entrada, se puede
utilizar el comando "tf" como sigue: H = tf(HD); en este caso,
partiendo de la representación del sistema en el espacios
de estados(HD) se obtiene H.
También podemos representar nuestro modelo en
función de sus ceros, polos y la ganancia, con el comando
zpksys = zpk(HD).
En el presente trabajo, seguiremos analizando distintos
conceptos utilizando la representación en el espacio de
estados discretizado.
* Aclaración: las matrices que en tiempo
continuo tienen asignado los nombres A,B,C,D deberían
reasignarse -bajo el análisis de tiempo discreto- como G,
H, C, D respectivamente, pero siguiendo la sintaxis del Matlab se
omitirá dicha reasignación.
Ahora bien ¿Por qué discretizamos el
sistema?
Ventajas de la discretización de
variables
La razón principal del empleo de la
variable discreta es que permiten el proceso y almacenamiento de
la información (datos) en
computadoras
digitales. Para ello finalmente se reduce la información a
códigos binarios; utilizando en este caso la Transformada
Z que nos permite reducir Ecuaciones en Diferencias con
coeficientes constantes en Ecuaciones Algebraicas Lineales,
ahorrando el manejo de eAt(exponencial) que aparece en
el estudio de sistemas y variables dentro del espacio
continuo.
Desventajas de la discretización de
variables
En la discretización de variables
[analógicas], en cual se toman registros a
intervalos discretos regulares de señales
(eléctricas o de otra índole); donde estos valores
se llaman muestras conformando una
sucesión; se observa que estas
muestras introducen errores de aproximación debido a la
conversión de la señal. También
podrían considerarse otros errores como los producidos al
utilizar código
binario para representar estas muestras (este código
binario depende, a su vez, de la cantidad de bits que se utilicen
para la representación en una computadora).
Por otro lado, en la reconstrucción de la
función original, que es el proceso inverso para
transformar los valores discretos en señales
(eléctricas o de otra índole) de variable continua
en el tiempo (representables por números reales) ;se
obtienen funciones
escalonadas según el período de muestro original,
pudiéndose así, reconstruir infinitas funciones con
los valores obtenidos en el muestreo(ya que éstos solo
representan información de la función en un momento
dado, y no la función en sí).
¿Como determinar el tiempo entre cada
muestreo?
El tiempo entre muestras estará determinado por
el problema en sí, se deben hacer varias consideraciones,
como la velocidad de procesamiento de las señales, si
éstas deben ser almacenadas o no, capacidad de
almacenamiento, tiempo total del muestreo (si se está
haciendo un seguimiento del sistema), etc.
De todas las consideraciones, una de ellas tiene notable
importancia, ésta tiene que ver con la frecuencia de los
cambios o fluctuaciones que se producen en el sistema. Como regla
general se debe hacer un muestreo del sistema con una frecuencia
que doble (al menos) a la frecuencia máxima con la que
pueden cambiar alguna de sus variables. Esto es así, para
poder
recolectar correctamente todos los cambios producidos en las
variables, de otro modo pueden suceder inconvenientes o efectos
indeseados en la lectura de
estas variaciones. (Efecto Doppler, etc.)
Para nuestro caso, se ha supuesto que las temperaturas
de los recintos pueden variar de un grado (centígrado) a
otro, como máximo, en medio segundo; por ello es que se ha
escogido como período de muestra 0.25
segundos.
6-
Análisis de Estabilidad del Sistema
A continuación se realiza el estudio de
estabilidad del sistema utilizando comandos del ToolBox de
control de sistemas que ofrece Matlab.
Luego podemos visualizar las soluciones del
sistema y observar si éstas están dentro de mi
región de estabilidad (temperaturas máximas) que
defina oportunamente según el caso real.
El comando "dlyap" nos permite resolver el segundo
método propuesto por Lyapunov para sistemas
discretos.
Siguiendo este método para el análisis de
estabilidad asintótica global;
si se halla una matriz X
(hermítica) de modo que sea definida positiva, habiendo
definido Q (hermítica) positiva de modo que:
AT X A – X = – Q
Entonces, queda demostrado que el origen x = 0 es un
estado de equilibrio.
Lo que pretende Lyapunov, es utilizar conceptos de
derivadas de
funciones escalares para determinar si estas son
convergentes.
Al definir de forma positiva una función (x) y
su derivada primera está definida negativa, estamos en
presencia de una función decreciente, por lo que tiene una
cota superior y si extendemos esa función a lo largo del
tiempo ésta tiende a tomar el valor nulo.
En este caso la derivada es interpretada como la
diferencia de valores obtenidos de cada una de las
muestras.
ΔV(x(kT))= V(x(k+1)T) –
V(x(kT))
Se toma como posible función de Lyapunov :
V(x(k))= A*(k)XA(k) -definida positiva-.
Y se requiere que ΔV(x(k)) sea definida negativa
para la estabilidad asintσtica.
– Matlab –
Para nuestro caso:
Al aplicar el criterio de Silvester para probar la
definición positiva de X, se encuentra que X es definida
positiva; por lo tanto, el estado de
equilibrio, el origen x=0, es asintóticamente estable
global.
Además puede observarse la estabilidad en este
ejemplo de sistema discreto verificando los autovalores de la
matriz A, estos deben ser negativos en su parte real y para
sistemas discretos, estrictamente, deben ser menores a la
unidad.
Se debe notar que si estamos en presencia de un
sistema discretizado que representa a un sistema continuo con
polos complejos; puede ocurrir inestabilidad oculta en
función del período de muestreo.
La siguiente figura representa la respuesta del sistema
(evaluando solo a X1) frente a un impulso con las
condiciones iniciales siguientes; trabajando en
Matlab:
» x0 = [20 ; 100] % suponiendo
temperaturas iniciales de 20 y 100 grados en cada
recinto.
» initial(HD,x0)
Se observa como el recinto X1 es afectado por
la temperatura mayor del otro recinto, pero éste pierde
temperatura gradualmente.
En la siguiente figura podemos ver que al aplicar en la
entrada valores de magnitud constantes igual a la unidad
(escalón unitario), se observa que la salida tiende a
equilibrarse en el valor 2 luego de 30 seg.
» step(HD)%comando para graficar la respuesta del
sistema ante una entrada escalón unitario
7-
Análisis de Controlabilidad del Sistema
Muestreado
-Controlabilidad de los estados
Podemos decir que el sistema es controlable si todas sus
variables de estados pueden ser controladas en un período
finito de pasos por una señal de control no
restringida.
En otras palabras, si nos concentramos en las matrices
que representan las ecuaciones en el espacio de estado, lo que se
busca es que el vector de entrada o control u(k) "afecte"
directamente o indirectamente a los valores de la matriz A
(matriz de estado) por medio de la matriz B (matriz de entrada)
en cada una de las muestras durante el periodo de simulación
– para este caso-.
Para verificar esa transmisión de control se arma
la matriz de controlabilidad.
Suponiendo que el estado final es el origen en el
espacio de estados y que el tiempo inicial es cero, se puede
considerar que es condición necesaria y suficiente para la
controlabilidad completa de estado que el rango de la
matriz Co sea igual al número de variables
de estado que posee el sistema (o su grado).
Al analizar el rango se busca que no existan vectores
columnas (H,GH,..etc) nulos y que sean linealmente independientes
unos de otros, de esta manera nos aseguramos que existirá
la influencia del control en todo el espacio de estados de dicho
sistema.
Utilizando el comando ctrb de Matlab (no es
necesario que el sistema esté en la forma canónica
controlable):
» Co = ctrb(HD.A,HD.B);% armo la matriz de
controlabilidad
» nocont=length(A)-rank(Co) %nocont es el numero
de estados no controlables
nocont = 0
El rango de la matriz Co es 2 por lo que el
sistema es controlable.
También puede verificarse que con los datos
obtenidos del rango, podemos decir que el determinante de
Co es distinto de cero, por lo que estamos frente a
una matriz no singular (tiene inversa); entonces, si tenemos en
cuenta que el control u(k) es un escalar no acotado, podemos
encontrar la secuencia única de señales de control
u(k) siendo k=0,1,2,3 ..n-1; tal que cualquier estado inicial
x(0) se transfiera al estado deseado final en n
períodos de muestreo. El vector que contiene la secuencia
de control puede obtenerse como se muestra a
continuación:
8-
Análisis de Observabilidad del Sistema
Muestreado
Un sistema se dice que es completamente observable, si
para cualquier estado inicial X(0) puede determinarse a partir de
la observación de Y(kT) sobre un numero finito de periodos
de muestreo.
Análogamente, el sistema es observable si
cualquier transición de los estados afecta a todos los
elementos del vector de salida.
La observabilidad se utiliza para calcular las variables
de estado observando la salida en caso de no tener acceso a
ésta. En nuestro caso y como en la mayoría de los
sistemas reales, es difícil medir las variables de estado
del sistema durante el transcurso del tiempo, ya sea porque
resulta inaccesible su medición (físicamente,
tecnológicamente, etc.) o ésta no puede llevarse a
cabo mientras actúa el sistema.
Para verificar lo anterior se construye la matriz de
observabilidad:
Esta matriz nos sirve para determinar si un sistema de
n-esimo orden es o no completamente observable. El sistema es
completamente observable si y solo si la matriz Ob es de
rango máximo, es decir, si Ob tiene n filas
linealmente independientes.
Una vez que a partir de la observación de la
salida se puede determinar x(0) , también podrá
determinarse x(kT), ya que u(0), u(T), … , u((k-1)T) son
conocidas.
Utilizando el comando obsv de Matlab
» Ob = obsv(HD.A,HD.C);% armo la matriz
observabilidad
» noobs=length(A)-rank(Ob) % es el numero de
estados no observables
noobs = 0
Por lo que podemos decir que el sistema es completamente
observable.
9-Aplicando
control sobre el sistema
9.1 Diseño
vía ubicación de polos
Una vez hecho el análisis de controlabilidad y
haber determinado que el sistema es de estado completamente
controlable; además, si tenemos en cuenta que nuestro
sistema ejemplo es estable, podemos hacerlo más estable
aún(o desestabilizarlo según el caso); para ello
podemos comenzar introduciendo un control simple a través
de una ganancia de retroalimentación negativa.
Esta retroalimentación compensa la entropía del sistema, es decir la tendencia
que tiende el sistema (a converger, a divergir u oscilar);
introduciendo entropía negativa por medio de la
retroalimentación se puede controlar al mismo siempre y
cuando éste sea un sistema controlable.
Si u(k) es una señal de control no acotada y
hacemos u(k) = -Kx(k) donde K es la matriz de ganancia; el
sistema se convierte en un sistema de control de lazo
cerrado.
La ecuación de estados puede escribirse
como:
x(k+1)=(G-HK)x(k)
La selección
de los polos en lazo cerrado o de la ecuación
característica deseada, dependerá del efecto
esperado; pudiendo éste ser basado en la velocidad de
respuesta, amortiguación deseada, minimización de
efectos adversos, ruidos etc.
La determinación de la matriz de ganancia buscada
puede obtenerse por distintos métodos,
de forma que los autovalores de |G-HK| sean los polos en lazo
cerrado buscados (polos del sistema dentro del espacio de
estados).
Utilizando Matlab- con comando pole- obtenemos los
polos dentro de la representación del espacio de
estados.
» pole(HD)
ans =
0.5281
0.9522
Gráficamente podemos ver la ubicación del
los polos y ceros del sistema con el comando
pzmap.
» pzmap(HD);zgrid
- zgrid permite visualizar las líneas de
los factores de amortiguación constantes y las
líneas de frecuencia natural dentro del círculo
unitario. - Los polos del sistema están graficados con
cruces y los ceros con círculos.
El comando rlocus
El comando "rlocus" calcula el diagrama de
Evans, que muestra las trayectorias de los polos del sistema
S.I.S.O. con retroalimentación negativa en función
de la ganancia introducida.
Este comando es útil para el estudio de los
efectos de distintas ganancias en un sistema retroalimentado.
Indirectamente esas trayectorias muestran información del
tiempo de respuesta en frecuencia.
» rlocus(HD);zgrid
Podemos ver que esas trayectorias salen del circulo
unitario, como veremos mas adelante, si ubicamos los polos en
distintos puntos de la trayectorias se obtiene respuestas
diferentes, si estos se ubican fuera del circulo, se logra un
efecto indeseado, el de desestabilizar al sistema.
Pero antes veamos de qué manera afectan al
sistema los valores de los polos reguladores:
*El grafico representa la salida de un sistema con
amortiguación.
- Mientras más grande es el valor real,
más amortiguación (sobregiro) hay en la
respuesta. - Mientras más grande es el valor imaginario,
hay mayor tiempo de establecimiento.
A través de la prueba y error, podemos ir
ubicando los polos teniendo en cuenta la
sobreamortiguación o la subamortiguación,
así como también, el tiempo de respuesta de
establecimiento-rapidez- del sistema.
Además, se debe tener en cuenta que los polos y
ceros mas cercanos al eje imaginario son los que mas influyen en
la respuesta (polos y ceros dominantes).
– Matlab –
En principio, Matlab sugiere la utilización del
comando place para la reubicación de polos, y
así obtener la matriz de ganancia K; este comando engloba
distintos métodos y comandos como el acker
(Método Ackermann).
Pero podemos utilizar comandos más ventajosos
para la ubicación de los polos, con el comando
rlocusfind podemos ubicar interactivamente los polos y
así obtener la ganancia asociada a esa ubicación de
polos.
Una vez obtenida esa ganancia, podemos
aplicársela al sistema con el comando feedback, y
por ultimo visualizar como responde el sistema (ej.: con un
impulso unitario); mas adelante veremos una herramienta grafica
que permite hacer todo lo anterior de manera aún mas
intuitiva-el rltool-.
Veamos:
-Paso 1
Combinamos los comandos rlocus, zgrid y rlocfind para
poder visualizar y señalar en la ventana gráfica
donde queremos ubicar los polos.
» rlocus(HD);zgrid;k=rlocfind(HD)
Select a point in the graphics window
-Paso 2
Matlab nos pide que indiquemos en la pantalla con el
puntero del ratón donde queremos ubicar a los polos
(dentro de las trayectorias marcadas).
Elegimos los polos dentro del círculo unitario,
éstos quedan marcados con un par de cruces rojas como se
ve en la siguiente figura:
El sistema devuelve las coordenadas y la ganancia
asociada:
selected_point =
0.4338 + 0.8613i
k =23.1136
-Paso 3
Retroalimentamos al sistema con la ganancia obtenida
utilizando el comando feedback (lo convertimos en un sistema
de lazo cerrado).
» HDC= feedback(HD,k);
-Paso 4
Visualizamos la respuesta del sistema (renombrado HDC)
frente al escalón unitario:
» step(HDC)% grafica la respuesta del sistema ante
una entrada escalón unitario
Visualizamos que ha cambiado el comportamiento de la
salida, ésta reacciona con más rapidez; con algo de
amortiguación pero con demasiada retroalimentación
negativa la cual ha hecho disminuir la amplitud de la salida
(temperatura).
Repitiendo los pasos anteriores podemos ir reubicando
los polos de forma que encontremos la respuesta
esperada.
– Matlab –
Utilizando el rltool
Cuando invocamos este comando, se inicializa una
interfaz gráfica interactiva para el diseño de
sistemas S.I.S.O. de lazo cerrado utilizando técnicas
de reubicación de polos. Esta herramienta también
permite importar, modificar y guardar modelos
previamente diseñados, así como también,
trabajar con modelos de Simulink*(modelador y simulador de
sistemas dinámicos).
Para trabajar sobre nuestro sistema podemos utilizar el
comando como sigue:
» rltool(HD)
Podemos obtener distinta información del
sistema:
Ventana principal asociada a nuestro sistema
HD.
Información del sistema dentro del
espacio de estados
Información sobre los ceros y
los polos.
En los siguientes gráficos se muestra al sistema con polos
reubicados en sus nuevas coordenadas y el grafico de (por
ejemplo) la salida con una entrada escalón unitario al
sistema.
Gráfico de la salida con amortiguación de
acuerdo a los polos del sistema en las coordenadas
anteriores:
Gráfico de la salida correspondiente a la
ubicación de polos fuera del círculo unitario, como
puede observarse el sistema se vuelve inestable.
9.2 Control Óptimo
Cuadrático
Todos los objetivos de respuesta temporal
(amortiguamiento, tiempo de asentamiento, etc.) se pierden para
centrarse en un único objetivo: la
minimización(o maximización, según el caso)
de un índice de desempeño J.
El problema que viene a solucionar el control
óptimo es el de saber donde han de reubicarse los
autovalores del sistema para conseguir unos fines determinados,
como puede ser la minimización de una función de
costo
escalar J. Esta función de costo, o
índice de desempeño, suele estar relacionada con la
energía y por lo tanto con el costo económico del
proceso.
El control óptimo consiste en obtener el vector
de las señales de control u(k), que haga
mínimo el índice de desempeño J. A
este vector se le denomina trayectoria óptima de
control.
Un ejemplo de índice de desempeño
cuadrático para un proceso de tiempo finito es:
La razón de incluir las variables de control
u(k) en el índice de comportamiento se debe a
razones energéticas como se mencionó anteriormente,
lo cual es muy importante puesto que minimiza la energía
de las señales de entrada que son las que realizan los
actuadotes, y por lo tanto, son las que cuestan capital
(recursos).
Si el problema es de estado estacionario, es decir, si
se desea hacer un control de proceso durante todo momento sin
restricciones (N ≈ ∞), podemos omitir el
primer término del lado derecho de la ecuación del
índice ya que tiende a cero (corresponde al costo terminal
del estado final); esto es así porque en un problema de
minimización se desea que x(N) esté tan
cerca del origen como sea posible. También se debe
considerar si el estado fina x(N) no es
fijo.
La ventaja de utilizar el esquema de control
óptimo cuadrático es que el sistema diseñado
será asintóticamente estable, excepto para algunos
casos especiales (ver pag. 7).
Normalmente las matrices H, Q y R
son matrices diagonales con ij = 0 si i j
y además son matrices definidas positivas. Cuando hay
alguna variable que no se desea minimizar entonces se hace el
correspondiente término ij = 0.
En general, en todos los índices de
comportamiento los coeficientes de las matrices Q y
R inciden directamente sobre los valores de las
señales del sistema x(k) y u(k); cuanto mayores sean los
coeficientes, más se optimiza la variable que corresponda.
Es decir, por ejemplo, cuanto más se desee limitar la
excursión de una cierta variable de control uj,
mayor se escogerá el elemento
rii de la matriz R.
Si la matriz R aumenta, las ganancias disminuyen
y también disminuye el costo energético de control;
pero con valores grandes de la matriz R puede empeorar el
comportamiento del sistema.
Si R >> Q la contribución del
control u(k) es muy grande comparándola con la
contribución del estado x(k). Dicho de otra forma,
disminuye el costo del control pero empeora el comportamiento del
sistema.
Si Q >> R mejora la respuesta del
sistema pero aumenta el costo energético de control. El
vector de estado estará muy controlado, pero las
señales de control u(k) pueden ser muy grandes.
Aspectos sobre la implementación de control
óptimo
Controles Permitidos: Se debe tener en cuenta que el
vector de control obtenido, sea consecuente con el sistema real
estudiado; hay señales de control obtenidas
analíticamente que son imposibles de implementar por
restricciones físicas del sistema. Por ello no se debe
dejar de tener en cuenta: la naturaleza del
índice de desempeño, el estado inicial o la salida
inicial, el estado deseado o la salida deseada y las
restricciones.
Un índice de desempeño puede ser apropiado
para un problema dado, pero muy inapropiado bajo las
consideraciones de otro problema. Esto es, por ejemplo, si
suponemos un problema donde se requiere que un índice
preserve al máximo la energía del sistema (pero se
requiere más tiempo de asentamiento); bajo otro problema,
donde se busca una respuesta rápida (que seguramente
requerirá utilizar la energía del sistema sin
demasiadas restricciones) el primer índice
resultaría inadecuado.
La implementación del control óptimo suele
ser off-line, desarrollándose previamente de forma
analítica por métodos numéricos. La
solución más apropiada puede consistir en aplicar
una ganancia de control constante, que corresponda a la
solución en régimen permanente (estacionario),
generalmente esta alternativa es la de implementación
más simple pero requiere que el sistema cumpla con la
condición necesaria de ser controlable (es suficiente que
sea observable).
Para nuestro caso, debemos tener en cuenta que se trata
de un sistema térmico y que por ejemplo, entre otras
consideraciones, debemos analizar que la resistencia
eléctrica puede calentar a los recintos con una velocidad
de respuesta máxima, la cual no ha sido contemplada bajo
el modelo matemático (con señal de control no
restringida) además se observa que la entrada (en el
sistema real) no es capaz de absorber energía (enfriar) a
los recintos. Estas consideraciones deberían hacerse al
aplicar todo tipo de control al sistema en un problema
real.
– Matlab –
Comando dlqr.
El comando dlqr permite diseñar un
regulador cuadrático lineal para sistemas discretos
utilizando técnicas de "programación dinámica".
Este comando trabaja con un índice discretizado y
utiliza la ecuación de Riccati para resolver problemas de
horizonte finito o infinito de acuerdo al los parámetros
que se le pasen al comando.
Sintaxis
[K,S,e] = dlqr(a,b,Q,R)
[K,S,e] = dlqr(a,b,Q,R,N)
Si se omite la matriz N(o H de acuerdo a
otras nomenclaturas) el comando puede utilizarse para problemas
de estado de etapas infinitas y puede obtenerse la matriz
K asociada en estado estacionario (constante).
Además, se obtiene la matriz S(o P) y los
autovalores (e) para cada instante.
A continuación puede estudiarse como afectan las
matrices Q y R a los polos del sistema y la
ganancia asociada para un problema de estado estacionario. Al
omitirse la matriz N, Matlab realiza las
iteraciones correspondientes hasta encontrar la matriz constante
K.
a) Q>>R
» Q = [10 0 ; 0 20];
R = [1];
[K,S,e] = dlqr(HD.A,HD.B,Q,R) % extraemos a A y B de
HD
K =
0.7862 3.0155
S =
16.8376 7.6034
7.6034 43.8472
e =
0.5071
0.6066
b) R>>Q
» Q = [10 0 ; 0 20];
R = [80];
[K,S,e] = dlqr(HD.A,HD.B,Q,R)
K =
0.0596 0.2198
S =
25.3199 38.6332
38.6332 157.4081
e =
0.5279
0.9256
Puede analizarse, en el caso a, como cambia la
respuesta del sistema (observando e) pero el costo de control es
alto (R es bajo ó K es
alto); al incrementar R en el punto b, se observa
como disminuye la ganancia nuevamente y los polos se reubican
cerca de su posición original – ver pág.
13.
En los siguientes casos se analizan otros tipos de
respuesta.
c) Q>>R
» Q = [50 0 ; 0 20];
R = [1];
[K,S,e] = dlqr(HD.A,HD.B,Q,R)
K =
1.7592 3.8596
S =
77.4645 20.4881
20.4881 53.5935
e =
0.4961 + 0.1480i
0.4961 – 0.1480i
d) R>>Q
»Q = [50 0 ; 0 20];
R = [60];
[K,S,e] = dlqr(HD.A,HD.B,Q,R)
K =
0.1646 0.4885
S =
98.8871 84.9434
84.9434 254.9485
e =
0.5307
0.8892
e) R>>Q
» Q = [50 0 ; 0 20];
R = [150];
[K,S,e] = dlqr(HD.A,HD.B,Q,R)
K =
0.0820 0.2511
S =
104.4415 103.9542
103.9542 320.3764
e =
0.5291
0.9202
Puede examinarse que (en los casos d y e):
a medida que aumentamos R, la señal de control
está cada vez mas acotada por lo que la respuesta del
sistema casi no cambia (demasiado control de energía a
pesar de haber control sobre las variables de estado).
También pueden obtenerse resultados similares
utilizando el comando dare (discrete-time algebraic
Riccati equations) que resuelve ecuaciones de
Riccati para tiempo discreto.
O puede resolverse iterativamente haciendo:
»Q = [10 0 ; 0 20];
R = [1];
G = HD.A; %extraemos la matriz A del SS
H = HD.B; %extraemos la matriz B del SS
S =[0 0 ; 0 0]; % suponiendo problema de estado
estacionario
for i=1:18, % delimitado por cálculos
anteriores
S = Q + G'*S*G -G'*S*H* inv(R+H'*S*H)*H'*S*G
K= inv(R+H'*S*H)*H'*S*G
end;
Se obtiene el la primera iteración:
S =
10 0
0 10
K =
0.2293 0.9406
En la iteración 16 S permanece
constante, -ver caso a -:
S =
16.8376 7.6034
7.6034 43.8472
K =
0.7862 3.0155
Una vez que calculada la matriz S
constante, obtenemos la matriz K asociada en estado
estacionario.
Sabiendo que u(k) = -Kx(k) y teniendo
x(k+1)=(G-HK)x(k),luego podemos calcular la trayectoria
óptima y los valores del control óptimo.
Como se mencionó anteriormente, ya que se deben
analizar cada uno de los valores de las variables de estado
durante el proceso; es que este método, la mayoría
de las veces, resulta difícil de implementar mientras
actúa el sistema. De otro modo, como se realiza en algunos
casos, se aplica la ganancia de control constante previamente
calculada.
Existen otros métodos para el cálculo de
control óptimo, como el de Euler-Lagrange, el
método de valores propios y vectores propios y el enfoque
de Lyapunov para resolver problemas en estado estacionario, entre
otros.
No se debe dejar de considerar que en la
implementación, la representación de los modelos
matemáticos y las herramientas
analíticas deben aproximarse lo más posible al
ámbito real aunque no puedan ser aplicados
verazmente.
Por otro lado, queda a la vista, la gran versatilidad de
Matlab para desarrollar, entender, visualizar y ampliar
conceptos representados analíticamente.
Ogata, K. (1998). Ingeniería de Control
Moderno (3ª ed.). Prentice-Hall
Kuo, B. (1996). Sistemas de Control
Automático (7ª ed.). Prentice-Hall
Sitios de Internet
-MATLAB Ver. 5.3 http://www.mathworks.com/
– TUTORIALES DE
CONTROL PARA MATLAB – UNIVERSIDAD DE
MICHIGAN E.E.U.U.
http://www.engin.umich.edu/group/ctm/
– PAGINA WEB SOBRE
SISTEMAS DE CONTROL UNIVERSIDAD EAFIT – COLOMBIA –
http://www.control-systems.net/
-APUNTES -CONTROL MODERNO – FACULTAD DE
INGENIERÍA – UBA
http://www.fi.uba.ar/materias/61107/Apuntes/TZ00.pdf
-CONTROL MODERNO – UNIVERSIDAD DE GUADALAJARA – MEXICO –
http://proton.ucting.udg.mx/materias/moderno/principal.htm
-TEORÍA DE CONTROL AUTOMÁTICO –
UNIVERSIDAD DE SEVILLA – ESPAÑA –
http://www.esi2.us.es/~vargas/docencia/tca/tca.html
-SISTEMAS DE CONTROL AVANZADO – UNIVERSIDAD DE
ALCALÁ – ESPAÑA
http://www.depeca.uah.es/docencia/ING-ECA/ctr_avz/
– CONTROL ÓPTIMO LINEAL – UNIVERSIDAD
AUTÓNOMA DE NUEVO LEÓN – MEXICO
http://gama.fime.uanl.mx/~salinas/CO.html
– CONTROL MODERNO – FACULTAD DE INGENIERÍA
UNIVERSIDAD NACIONAL DE LA PLATA – ARG.
http://davinci.ing.unlp.edu.ar/controlm/electronica/archivos.htm
– AUTOMÁTICA – DEPARTAMENTO DE INGENIERÍA
Y CIENCIA DE
COMPUTADORES – UNIVERSIDAD JAUME I ESPAÑA
http://www3.uji.es/~mortiz/automatica/asignatura%20automatica.htm
Resumen de los comandos más importantes del
Control
System Toolbox de Matlab.
Autor:
Leonardo Villegas