Вы находитесь на странице: 1из 18

UNIVERSIDAD NACIONAL AUTNOMA DE MXICO

PRCTICA
7.CONTROL
PTIMO



Marco Terico
El control ptimo es una tcnica matemtica usada para resolver problemas, en los cuales se
requiere que la solucin sea la mejor en algn aspecto, es utilizada en sistemas que evolucionan
en el tiempo, tales como un sistemas econmicos, y todos aquellos que son susceptibles de ser
influenciados por fuerzas externas. Una vez que el problema ha sido resuelto, el control ptimo
nos brinda un comportamiento para las variables de control, es decir, nos indica qu acciones se
deben seguir para poder llevar la totalidad del sistema de un estado inicial a uno final de la mejor
manera, segn algunas consideraciones dadas.

Los conceptos de controlabilidad y observabilidad introducidos por Rudolf E. Kalman (1960), as
como los mtodos de optimizacin de R. Belman (1957) y L. Pontryagin (1962), fueron el origen de
la teora del control ptimo, basada en la descripcin de un sistema segn el enfoque del espacio
de estados.
El mtodo de diseo por realimentacin de estados y observador, no obstante ser una
herramienta fundamental en el control de sistemas en espacio de estados, no siempre es el
mtodo de diseo ms til por las siguientes razones:

El traslado de las especificaciones de diseo, no siempre es directo, particularmente para
sistemas complejos. En sistemas MIMO las ganancias de la retroalimentacin de estados
que logran una configuracin de polos dada, no es nica. Cul es la mejor K para una
configuracin de polos dada? Los eigenvalores del observador deberan escogerse para
que su dinmica sea ms rpida que los del sistema en lazo cerrado.
Los mtodos que se mencionarn dan respuesta a esas preguntas. Se ver como las
ganancias de la realimentacin de estados y del observador se pueden calcular en una
forma ptima.

La declaracin matemtica del problema de control ptimo consiste de:

a) Una descripcin del sistema a ser controlado.
b) Una descripcin de las limitaciones y posibles alternativas del sistema
c) Una descripcin de la tarea a ser desarrollada
d) Una declaracin del criterio para juzgar el desempeo ptimo

El criterio de desempeo, denotado J, es una medida de la calidad del desempeo del sistema.
Usualmente, intentaremos minimizar o maximizar el criterio de desempeo seleccionando la
entrada de control. Este criterio se puede expresar en forma general como
Las matrices de peso S, Q y R permiten una ponderacin entre los criterios establecidos.

Las matrices de peso son simtricas y definida positivas.

As, para disear una ley de realimentacin de estado ptima u = r-Kx minimizando el costo

Tenemos que, encontrar la solucin para P, una matriz que es simtrica y definida positiva de la
siguiente expresin:

Y la forma de calcular la ganancia que ser usada en la retroalimentacin tiene la forma.


Introduccin
En la presente prctica, se presentan dos funciones de costo para sistemas diferentes. Para la
primera planta, se obtiene la simulacin en diagrama de bloques, del sistema y de la funcin de
costo asociada y matemticamente se obtiene el valor de ptimo, se realizan una serie de
grficas en MATLAB para comprobar que:
1. Que la obtenida es la ptima y ver como vara la funcin de costo con respecto a diferentes
valores de . Se prueba con cuatro valores diferentes, el ptimo, uno menor, otro ligeramente
mayor y el ltimo bastante alejado del valor ptimo, =0.7041, =0.5, =1 y =10,
respectivamente.
2. Que la ponderacin asignada en la funcin de costo en realidad impacta significativamente en
los estados involucrados en sta.
Para la segunda parte, se tiene la representacin en forma de ecuacin diferencial de un sistema
mecnico, el cual se representar en espacio de estados, se obtendrn las matrices R y Q
relacionadas con la funcin de costo establecida.
La diferencia entre este problema y el de la primera parte, es que en este existen dos
ponderaciones diferentes, una para cada estado, es decir, se puede variar el peso que se le da a
cada estado, en la funcin de costo.
Las simulaciones que se realizan para este problema, son las mismas que para el primer caso; la
funcin de costo y los estados del sistema.

PRIMERA PARTE
Planteamiento del problema.
Determinar el valor de *>0 tal que se minimice la funcin de costo



Con
En el sistema

Fig. 1 Representacin del primer sistema

Desarrollo.
A partir de la funcin de costo J se proponen los estados, para representar al sistema a travs de
estos.

] [

]
De esta forma, la matriz Q que le da a la funcin de costo la forma:


[


]
Reduciendo el sistema en lazo cerrado del diagrama de bloques
()
()
()()

()

( )

( )

()




La representacin del sistema en forma de ecuacin diferencial
()
()


()[

] ()

Se define al error a partir de su representacin en el diagrama de bloques

Derivando una y dos veces, y considerando que la entrada es constante


Sustituyendo en la ecuacin diferencial, para que quede en trminos del error


Y de los estados seleccionados anteriormente, la representacin en espacio de estados
[

] [


] [

]
Entonces la matriz [


]

[


]
El sistema debe ser estable, por lo tanto
Del desarrollo terico se tiene que Q:
(

)
Donde P, es una matriz propuesta, simtrica y positiva definida. Se tienen la matriz A de la
representacin de estados, entonces:
[

]
[

] [


] [


] [

] [


]
Por igualacin de trminos se obtienen los valores de cada uno de los componentes de la matriz P.


Verificando que P es positiva definida, por medio del determinante de los menores principales:

( )


Por lo tanto P es positiva definida.
La funcin de costo definida ahora con la matriz P, es la siguiente:

()()
Por lo que se debe definir las condiciones iniciales del sistema. Si la entrada al sistema es r=1, y el
sistema es estable, en el primer instante de tiempo , r=1 y y=0.
[

()

()
] [
()
()
] [

]
Sustituyendo las condiciones iniciales en la funcin de costo J:

[ ]
[


Derivamos con respecto a J y despus igualamos a cero, para obtener un mnimo de la funcin de
costo J.


Este es el valor ptimo de para la funcin de costo requerida, para cada valor de seleccionada
se obtendr un valor de , el cual ser el que minimice la funcin de costo J.
Se procede a verificar esto en MATLAB, se seleccionan dos valores diferentes de para un valor de
constante.
El primer paso para poder probar los anterior, es introducir la planta en el diagrama de bloques de
Simulink, esto se logra a travs del bloque de nombre Zero-Pole en donde, como su nombre lo
indica, se definen los polos y ceros del sistema original.


Fig. 2 Declaracin de los valores en el bloque Zero-Polos
Ya que se tiene la planta declarada en el diagrama de bloques, posteriormente se construye la
funcin de costo J en diagrama de bloques, con ayuda del error y la derivada del error. En la figura
siguiente se muestra todo el diagrama.
El sistema cuenta solo con la planta con una retroalimentacin negativa, sin sistema de control,
esta simulacin se realiza para verificar que J en verdad es mnima para los valores de calculados.

Fig. 3 Diagrama de bloques, con la funcin de costo incluida
Primer valor de


Se definen los valores de

y se corre la simulacin en Simulink, posteriormente se


guardan los datos para usarlos en el panel principal de MATLAB.

Fig. 4 Mtodo para guardar datos generados en el Scope de Simulink.
La figura siguiente muestra la declaracin de las variables en el Command Window, para obtener
la grfica de J cuando es tericamente la ptima, ahora se procede a graficar la funcin de costo
J para valores de diferentes.

Fig. 5 Primera grfica de la funcin de costo J


Segundo valor de =0.5
Este segundo valor, se ha propuesto arbitrariamente, por debajo del valor ptimo. Se declara
el valor de =0.5 y es importante correr la simulacin en el diagrama de bloques para que se
refresque el arreglo que se ha guardado con el nombre de J. Esta grfica se muestra con color
rojo.
Tercer valor de , graficado en color verde
Cuarto valor de 0, graficado en color negro

Fig. 6 Comprobacin de que el valor de Xi obtenido es ptimo.
Discusin: En la grfica se puede observar que el valor obtenido de con el mtodo anterior
es con el que se obtiene la funcin de costo mnima y se puede inferir que con valores ms
altos o ms bajos a este valor la funcin J siempre ser mayor. Cabe hacer notar que la
ponderacin es la misma para todos los casos.
Ahora se modificar la ponderacin, es decir, a se le darn diferentes valores, uno ms alto y
uno menor, lo que implica que se le da ms peso y menos peso a la derivada del error. El
cambiar el valor de implica que el valor de tambin cambiar ya que depende de ella.
Se visualizan los estados del sistema, asignando un valor de diferente para cada caso, con el
fin de verificar cmo afecta esta ponderacin en los estados del sistema presentes en la
funcin de costo.
Los valores de y para la simulacin



Para poder obtener los dos datos de los dos estados, en el diagrama de bloques, se utiliza un
multiplexor, en donde se introducen los dos estados del sistema, y se realiza el mismo mtodo
que anteriormente se ha utilizado para guardar los valores de la simulacin en un arreglo y
posteriormente poder graficarlos.
Para observar las grficas de los dos estados en una sola figura se procede a crear un arreglo
de grficas.
>>figure(1) //Declaracin la figura en MATLAB
>>subplot(2,1,1) //El arreglo cuenta con dos renglones y una columna, el ltimo elemento del
argumento de la funcin indica que parte del arreglo est activo, en este caso, el primer
rengln.
>>plot(error(:,1),error(:,2)) //Se grafica el primer estado contra el tiempo, en la parte del
arreglo activa
>>hold on // Las grficas siguientes se superpondrn en esta grfica
>>subplot(2,1,2)//Se activa el segundo rengln.
>>plot(error(:,1),error(:,3))// Se grafica el segundo estado contra el tiempo.
>>hold on
Se deben declarar los valores de en el Command Window, correr la simulacin en el
diagrama de bloques y posteriormente graficar. El resultado se muestra en la siguiente figura

Fig. 7 Grficas que representan los estados, para diferentes factores de peso
Discusin: Como se mencion en clase, entre mayor sea el peso de una variable, menor se
vuelve el valor de ese estado; esto puede comprobarse en la grfica dos ya que la ponderacin
est sobre ep y no sobre e. Cuando es igual a 1, el valor de ep llega a tener un valor de -
4.5 aproximadamente, cuando significa que no nos importa tanto el valor que tome la
variable y esto se ve reflejado en la grfica verde, que llega a tener un valor de hasta -5.5.
Finalmente, cuando la grfica tiene un valor mximo de -2.5 que es mucho menor a los
casos anteriores y de ah comienza a aproximarse a su valor final, con lo que puede decirse
que la funcin que representa a ep en este caso, es la menor de las 3 y se infiere que a medida
que se aumente el valor de la funcin cada vez ser menor. En los tres casos, el tiempo en el
que llegan al valor final es muy similar.
En la grfica en la que se compara e no se puede decir con certeza cul es la mnima funcin
de las 3 graficadas, ya que no se tiene una variable como con la que se pueda modificar el
peso que tiene dicha variable en la funcin de costo.
SEGUNDA PARTE.
Planteamiento del problema
Disear un controlador LQR para la siguiente planta

Tal que minimice la funcin de costo:


Con


Desarrollo
Es necesario tener el sistema en representacin de variables de estado

] [


] [

] [

]
Se verifica que la matriz es controlable:

Fig. 8 Comprobacin en MATLAB acerca de la controlabilidad del sistema.
Se aplica el algoritmo de diseo de un LQR
1. Se propone

]

Se verifica que ambas matrices sean positivas definidas, con facilidad se observa que la matriz R es
positiva definida, as que se procede a verificar esto en la matriz Q.

] (


2. Obtener la solucin de P de la ecuacin:


Al desarrollar las operaciones con matrices, se obtiene la siguiente igualdad:
[

] [


3. Calcular K

]

Estos son los pasos tericos para la obtencin de la matriz con los valores de

sin embargo, se
puede realizar la obtencin de estos valores en MATLAB con el comando lqr.
Para simular el sistema y poder observar el comportamiento, tanto de la funcin de costo como de
los estados del sistema. Se construye el siguiente diagrama de bloques en Simulink, de manera
similar a los construidos en prcticas pasadas para la implementacin del control por medio de la
retroalimentacin de estados.

Fig. 9 Diagrama de bloques, con la planta y la funcin de costo.
En el diagrama de retroalimentacin de estados se incluye la funcin de costo, que est construida
a partir de los estados y la entrada del sistema, con ayuda de un multiplexor y un bloque que es
capaz de construir una funcin con las entradas del multiplexor. En el bloque se introduce la
funcin de costo que posteriormente ser integrada. Al hacer doble clic en el bloque se debe
declarar la funcin de costo de la siguiente manera.
Es importante verificar las condiciones iniciales del bloque de Estado de espacios, considerando la
interpretacin fsica de este sistema en particular, un cuerpo desplazndose sin friccin, la
posicin inicial ser de 1[m], con velocidad inicial cero.

Fig. 10 Declaracin del argumento de la funcin de costo, usando el multiplexor.
Para las matrices A y B usadas en el Command Window son las que se obtuvieron para la
representacin en el espacio de estados. El comando lqr devuelve la matriz

que satisface los


requerimientos de la funcin de costo, las lneas introducidas en MATLAB son las siguientes:
>>mu1=1; mu2=1//Declaracin de los factores de peso de la funcin de costo.
>>Q=[mu1 0;0 mu2]; //Matriz Q
>>R=1 //Matriz R
>>[K,P,E]=lqr(A,B,Q,R) //Comando para obtener el vector K
lqr
. El primer elemento de lo que
devuelve la instruccin lqr es el vector K
lqr
, seguido de la matriz P calculada anteriormente de
forma terica y los polos de lazo cerrado del sistema.
>>C=[1 0] //Vector C de la representacin de estados
>>K0=inv(C*inv(-A+B*K)*B) //Clculo de K0, para alcanzar el objetivo de regulacin***
En las siguientes grficas se comprueba que los valores de K
lqr
obtenidos son aquellos que hacen
que la funcin de costo J sea mnima. Se grafica el valor de la funcin de costo para:

[ ]
Posteriormente se proponen 2 polos, que impacatarn en el desempeo de la planta, y con los
cuales se obtendrn otros dos vectores de ganancia K asociados a estos. Se graficar la funcin de
transferencia para cada uno de ellos
>>K=place(A,B,[-1 -2])
>>K=place(A,B,[-0.5 -0.25])
La grfica asociada a estos valores de K es la siguiente

Fig. 11 Comprobacin de la obtencin de K ptima, en la funcin de costo
Por ltimo se propone un vector de ganancia K para el sistema, verificando antes que el sistema en
lazo cerrado es estable considerando estas los valores de K propuestos

Fig. 12 Grfica en donde se comprueba que la K obtenida anteriormente, es ptima.
Discusin: Se puede observar que los valores de K ptimos hacen que la funcin de costo (para las
ponderaciones elegidas) sea menor a cualquier otro de los casos propuestos, la respuesta
transitoria es un poco variable pero al llegar al valor en estado permanente, la funcin de costo
asociada a K
lqr
se mantendr siendo la mnima y no se tendr ninguna otra, menor o igual a ella.
Es importante observar el comportamiento de los estados ante ponderaciones diferentes para la
funcin de costo, es decir


Se proponen 4 diferentes valores de



para la funcin de costo



Para observar todos los estados y el comportamiento de la entrada, en una sola figura, se
declara una figura y se grafican como en el ejemplo pasado. Los comandos utilizados son
los siguientes, el nombre del argumento dentro de plot, es aquel con el que se ha
guardado el arreglo desde la grfica generada en scope de Simulink. Es importante correr
la simulacin en digrama de bloques cada que se refresquen los valores de K.

>>figure(1)
>>mu1=1,mu2=1,Q=[mu1 0;0 mu2], R=1
>> [K,P,E]=lqr(A,B,Q,R)
>>subplot(3,1,1)
>>hold on
>>plot(x(:,1),x(:,2))
>>subplot(3,1,2)
>>hold on
>>plot(x(:,1),x(:,3),)
>>subplot(3,1,3)
>>hold on
>>plot(u(:,1),u(:,2))

>>mu1=1,mu2=10,Q=[mu1 0;0 mu2], R=1
>> [K,P,E]=lqr(A,B,Q,R)
>>subplot(3,1,1)
>>plot(x(:,1),x(:,2),r)
>>subplot(3,1,2)
>>plot(x(:,1),x(:,3),r)
>>subplot(3,1,3)
>>plot(u(:,1),u(:,2),r)

>>mu1=10,mu2=1,Q=[mu1 0;0 mu2], R=1
>> [K,P,E]=lqr(A,B,Q,R)
>>subplot(3,1,1)
>>plot(x(:,1),x(:,2),g)
>>subplot(3,1,2)
>>plot(x(:,1),x(:,3),g)
>>subplot(3,1,3)
>>plot(u(:,1),u(:,2),g)

>>mu1=1,mu2=1,Q=[mu1 0;0 mu2], R=10
>> [K,P,E]=lqr(A,B,Q,R)
>>subplot(3,1,1)
>>plot(x(:,1),x(:,2)k)
>>subplot(3,1,2)
>>plot(x(:,1),x(:,3),k)
>>subplot(3,1,3)
>>plot(u(:,1),u(:,2),k)


Fig. 13 Grficas que muestran el comportamiento para los estados y entrada, con distintos factores de peso.
Discusin: El caso de las grficas azules es el caso base, ya que las ponderaciones para los estados
y las salidas es la misma y es uno.
En el caso rojo, la ponderacin de la velocidad es 10 veces mayor a la asignada a la posicin y a la
entrada, y por ende la grfica donde se ve reflejado esto es en la segunda, en la cual la funcin
roja es la mnima respecto a todas las dems. En las otras dos grficas se observa que al darle ms
peso a la velocidad las otras dos graficas tienden a ser mayores.
En el caso negro, la que tiene ms peso es la entrada, esto se ve reflejado justamente en la seal
de control que claramente es la mnima ya que a pesar de que todas convergen en cero, esta lo
hace desde antes y su valor mximo de diferencia que es en el tiempo cero, es menor a
comparacin de todas las dems. Como la seal de control es baja, es lgico pensar que las
variables posicin y velocidad tardaran ms en llegar a su valor final, lo que es corroborado en las
dos primeras grficas.
En el caso verde, la ponderacin mayor esta sobre la posicin, y es el caso ms evidente, ya que la
funcin en la grfica de esta variable, se aproxima rpidamente a su valor final a comparacin de
todas las dems. Esto sacrifica a la velocidad que es la funcin ms grande respecto a las dems y
tambin sacrifica a la entrada, ya que se requiere una seal de control ms grande.


Conclusiones
En la primera parte pudimos obtener el valor de ptimo para la funcin de costo propuesta, esto
nos hace pensar que podemos buscar el valor ptimo de otra variable (por ejemplo la frecuencia
natural) con el mismo mtodo.
Tambin observamos que al no ponerle una variable que modifique la ponderacin del estado,
difcilmente podr ser controlado la funcin de costo asociada a l y por ende podra causarnos
ciertos problemas. Lo mejor es asignar una variable a todos los estados y entrada para poder
controlar y modificar el peso asignado a cada uno de ellos.
En el caso del controlador, se aplica el mtodo para obtener el vector K ptimo, con el cual se
realizar el control por retro de estados, este valor depende totalmente de la funcin de costo y es
otra forma de obtener K ajena a la usada anteriormente que con la informacin del desempeo
deseado que se obtiene a partir de los polos. Se puede afirmar que es otra forma de abordar el
problema de control, que tiene sus ventajas y tambin sus desventajas.
El valor de K depende totalmente de la ponderacin asignada a los estados y la entrada, pero se
puede asegurar que la funcin de costo ser la mnima siempre, desgraciadamente no toma en
cuenta algn desempeo deseado, por lo que dicho desempeo ser asignado por los polos
resultantes y no por nosotros. Adems de que el valor de K ser nico.

Вам также может понравиться