0% encontró este documento útil (0 votos)
10 vistas15 páginas

Control Optimo

El control óptimo se centra en mejorar el rendimiento de sistemas mediante funciones de costo, aplicándose en diversas áreas como robótica y aviación. En este laboratorio, se utiliza un twin rotor controlado por un Linear Quadratic Regulator (LQR) y un filtro de Kalman para estimar estados y optimizar el control. Se exploran conceptos como estabilizabilidad, detectabilidad y la descomposición de Kalman para garantizar la efectividad del controlador en la convergencia del sistema.

Cargado por

Farias Ben Ja
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
10 vistas15 páginas

Control Optimo

El control óptimo se centra en mejorar el rendimiento de sistemas mediante funciones de costo, aplicándose en diversas áreas como robótica y aviación. En este laboratorio, se utiliza un twin rotor controlado por un Linear Quadratic Regulator (LQR) y un filtro de Kalman para estimar estados y optimizar el control. Se exploran conceptos como estabilizabilidad, detectabilidad y la descomposición de Kalman para garantizar la efectividad del controlador en la convergencia del sistema.

Cargado por

Farias Ben Ja
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Pontificia Universidad Católica de Chile

Escuela de Ingenierı́a
Departamento de Ingenierı́a Eléctrica
IEE2683 – Laboratorio de Control Automático

Control óptimo

Grupo 1 Sección 1
Integrantes:
Jose Luis Saez
Sebastián Astorga
Benjamin Farias

Introducción
El control óptimo es una rama del control automático que tal como su nombre lo indica se encarga
de optimizar una medida de desempeño de un sistema. Para ello, esta teorı́a implementa una función de
costos asociada a la penalización del comportamiento no deseoado y al esfuerzo de control requerido.
Esta manera de controlar tiene una aplicación en distintas áreas, donde se busca un mejor desempeño
respecto a otros tipos de controladores como por ejemplo un PID. Por ello, es ampliamente utilizado en
áreas como la robótica, la aviación, la economı́a y los procesos industriales.

En particular, para esta experiencia se trabajará con un twin rotor, que simula una especie de he-
licóptero con una hélice en el plano vertical y la otra en el horizontal, ambas controladas por el voltaje
siendo esta la variable manipulada, y el ángulo medido por los sensores la variable controlada.
Especı́ficamente, se busca llevar lo más rapido posible el twin rotor a una posición de equilibrio sobre la
cual se construye la función de equilibrio. Para ello, y buscando el control óptimo, se estiman los estados
del twin rotor con la implementación de un filtro de Kalman que permite predecir estados desconocidos
a partir del ruido presente en los sensores y las perturbaciones al sistema. Posteriormente a la estimación
de estados se implementa un Linear Quadratic Regulator (LQR) que es un controlador que busca una
constante (matriz en este caso) que ayude a minimizar el tiempo que demora el sistema a converger. En
conjunto, el LQR con el filtro de Kalman forman Linear Gaussian Regulator (LQG), y en el presente
informe se detalla la implementación de esta teorı́a para controlar óptimamente la posición del twin rotor.

Desarrollo de la Experiencia
Conceptos
Sistema lineal estabilizable
Se dice que un sistema lineal es estabilizable los autovalores con parte real no negativa (los inestables)
de la matriz A asociada a la representación en variables de estado pueden ser movidos al semiplano
izquierdo mediante retroalimentación de estado.

ẋ(t) = Ax(t) + Bu(t)

y(t) = Cx(t) + Du(t)

Esto se traduce en que incluso si no todos los modos del sistema son controlables, basta con que los
inestables si lo sean para que el sistema pueda estabilizarse con un controlador. Este análisis es de

1
suma importancia para esta experiencia, ya que garantiza que la ecuación de Ricatti asociada al con-
trolador LQR utilizado en esta experiencia tenga una solución que resulte en una retroalimentación
K que hace al sistema en lazo cerrado estable.

Sistema lineal detectable


Nuevamente en base a la representación en variables de estado del modelo, se dice que un sistema es
detectable si la matriz del sistema (A) está asociado a un modo observable de la matriz de salida o de
observación (C). En otras palabras, se dice que el sistema es detectable si cualquier modo inestable
se puede detectar desde la salida y(t). A su vez, esta detectabilidad es esencial para garantizar el
correcto funcionamiento del estimador de estados (filtro de Kalman), incluso aunque el sistema no
sea completamente observable.

Descomposición de Kalman

La descomposición de Kalman es una herramienta que permite separar el sistema en subespacios


controlables y observables, facilitando el análisis y diseño de controladores incluso cuando el sistema
no es completamente controlable ni observable. Además, permite verificar condiciones importantes
como la detectabilidad y la estabilizabilidad.
En particular, esta descomposición permite dividir el espacio de estados en cuatro subespacios distin-
tos: Subespacio completamente controlable y observable, Subespacio controlable pero no observable,
Subespacio observable pero no controlable, Subespacio ni controlable ni observable.
Esta partición es especialmente útil en el desarrollo de controladores y observadores, ya que permite
identificar de forma clara qué partes del sistema pueden ser influidas mediante entradas (controla-
bles) y cuáles pueden ser inferidas a partir de las salidas (observables).

Principio de separación para sistemas lineales

Este principio es fundamental en el desarrollo de esta experiencia, ya que es la base sobre la cual
se centra el LQG, ya que establece que para cualquier sistema lineal, el diseño del controlador y
el observador o estimador de estados, ( LQR y Filtro de kalman en este caso) pueden hacerse por
separado y de manera independiente, y al momento de combinarlos, se conserva la estabilidad del
sistema siempre y cuando cada uno de estos también sean estables. Por ello, es importante analizar
la estabilidad y detectabilidad del sistema.

Margen de ganancia y Fase controlador LQR

El margen de ganancia se refiere al rango máximo que puede tomar K antes de que el sistema se
vuelva inestable, en consecuencia, un sistema con un margen de ganancia grande es mas robusto
frente a perturbaciones o cambios de parámetros en el modelo sin perder la estabilidad, por otro
lado un margen pequeño indica una alta sensibilidad que podrı́a desencadenar una inestabilidad con
un mal ajuste.
Por otro lado, el margen de fase es análogo pero con la fase del sistema, y alude a cuanta se puede
agregar antes de alcanzar la fase de -180°, osea el punto crı́tico de inestabilidad.

Loop Transfer Recovery (LTR) Es una técnica utilizada para mejorar el desempeño de un con-
trolador LQG, particularmente en sistemas que tienen retroalimentación y estimación en presencia
de ruido y perturbaciones, como en este caso. La teorı́a de esto es ajustar la ganancia de la retro-
alimentación para recuperar o mejorar el comportamiento dinámico del sistema sin comprometer la

2
estabilidad de este. Aplicado a esta experiencia serı́a ajustar el filtro de Kalman de tal manera que
el LQR recupere las caracterı́sticas de robustez asociada a la función de costo.

Simulacion
El vector de estados asociados al sistema es el siguiente:
h iT h iT
x = ϕ ϕ̇ θ θ̇ ωϕ ωθ iϕ iθ = x1 x2 x3 x4 x5 x6 x7 x8
para encontrar la derivada temporal de este vector respecto al tiempo es necesario agregar dos ecua-
ciones para completar el vector de estado, estas son las siguientes:

ϕ̇ = ψ(2) θ̇ = ψ(4)

Con ello, la derivada respecto al tiempo del vector de estados es equivalente a:


T
ϕ̇ ϕ̈ θ̇ θ̈ ω˙ϕ ω˙θ i˙ϕ i˙θ

ẋ =
de las ecuaciones del anexo obtenemos:

dia,ϕ
va,ϕ = La,ϕ + Ra,ϕ ia,ϕ + Gϕ ωϕ
dt
dia,θ
va,θ = La,θ + Ra,θ ia,θ + Gθ ωθ
dt
dωϕ
Jm,ϕ = Gϕ iϕ − Bϕ ωϕ
dt
dωθ
Jm,θ = Gθ iθ − Bθ ωθ
dt
Despejando las respectivas derivadas de las corrientes y velocidades angulares:

vϕ Ra Gϕ vϕ Ra Gϕ
i˙ϕ = − iϕ − ωϕ = − x7 − x5
La La La La La La
vθ Ra Gθ vθ Ra Gθ
i˙θ = − iθ − ωθ = − x8 − x6
La La La La La La
Gϕ Bϕ Gϕ Bϕ
ω˙ϕ = iϕ − ωϕ = x7 − x5
Jϕ Jϕ Jϕ Jϕ
Gθ Bθ Gθ Bθ
ω˙θ = iθ − ωθ = x8 − x6
Jθ Jθ Jθ Jθ
Con esto, y como la variable manipulada del sistema son los voltajes, estos se asocian al vector u de
la representación en el espacio de estados:

3
 
x2
 
ϕ̇
 
 
ψ̇(2)
 

 ϕ̈ 
  
   
  
x4


 θ̇  
 


   
ψ̇(4)
 
 θ̈ 
  
ẋ =  =
 
Gm Bθ
 
ω˙ϕ  Jm,θ x7 − Jm,θ x5
   

   
   Bϕ

ω˙θ  Gm
Jm,ϕ x8 − Jm,ϕ x6
  
   
   
i˙ϕ 
  
 − Ra x7 − Gm x5 + 1 u


La θ

   La La 
i˙θ
 
−R
La x8 −
a Gm
La x6 + 1
La uϕ

Por último, nos falta determinar la forma de ψ̇, nuevamente del anexo tenemos la siguiente ecuación:
 
" # ϕ̇2 " #
ϕ̈ Mext,ϕ
= Tc (ϕ)  θ̇  + Mg (ϕ) + (53)
 2
J(ϕ)
θ̈ Mext,θ
ϕ̇θ̇

Por lo que para despejarla necesitamos pasar la matriz asociada a J(ϕ) invertida al otro lado. A su
vez, y dándole el contexto en el problema edl twin rotor, las componentes Tc y Mg se le restarian a Mext,
ya que la componente gravitacional y el término de acoplamiento. Esto ya que Mext está asociada a los
actuadores que intentarán llevar el twin rotor a la posición de de equilibrio, y estos actuadores se ven
afectados tanto por la gravedad como por las fuerzas centrı́fugas.
De esta manera nos quedamos con:
   
" # " # " # ϕ̇2
ϕ̈ ψ̇(2)  Mext,ϕ
= = J(ϕ)−1  − Tc (ϕ)  θ̇2  − Mg (ϕ)
  
θ̈ ψ̇(4) Mext,θ
ϕ̇θ̇

Punto de equilibrio
Siguiendo las indicaciones del anexo, y con la ayuda de Chat GPT se definen unas matrices arbitrarias
asociadas a J, Mext, Tc y Mg (debido a problemas con la implementación del modelo). Por otro lado,
buscamos el pto de equilibrio que satisface la ecuación f(xo,uo) = 0, por lo tanto las derivadas evaluadas
en ese punto se hacen igual a 0. En particular, nos interesa un ángulo ϕ pequeño que simule la posición
en la que queremos el twin rotor. Siguiendo esta lógica, el punto de equilibrio obtenido es el siguiente:

4
Figura 1: Puntos de equilibrio

Al analizar el punto de equilibrio, como dijimos previamente las derivadas correspondientes al estado
2 y 4 serı́an 0. Por otro lado, ya que lo que nos interesa es el plano horizontal (este fue el que definimos
con un angulo levemente distinto de 0), notamos que esto se ve reflejado en que la velocidad de giro del
motor asociado a este plano es mayor en comparación con la otra. Por ende consume mas corriente y más
voltaje (estado wphi1, y entrad uphi). Siendo esto consistente con lo esperado, a pesar de que las matrices
no vienen directamente desde simulink.

Linealización
Para la linealización del sistema utilizamos la función jacobian de matlab obteniendo las siguientes
matrices A y B del espacio de estados del sistema:
Notación general de la linealización
Dado el sistema no lineal:

ẋ = f (x, u)
La linealización alrededor de un punto de operación x0 , u0 da lugar a:

∆ẋ = A∆x + B∆u


donde las matrices A y B se obtienen como:

∂f (x, u) ∂f (x, u)
A= , B=
∂x x0 ,u0 ∂u x0 ,u0

Matriz A en función de derivadas parciales
 
∂f1 ∂f1 ∂f1
···
 ∂x1 ∂x2 ∂x8 
 ∂f2 ∂f2
··· ∂f2 
 ∂x1 ∂x2 ∂x8 
A= . .. .. .. 
 .. . . . 
 
∂f8 ∂f8 ∂f8
∂x1 ∂x2 ··· ∂x8

donde fi representa la i-ésima componente del vector de funciones dinámicas f (x, u), y xj son las
variables de estado:
h iT
x = ϕ ϕ̇ θ θ̇ ωϕ ωθ iϕ iθ

5

Matriz B en función de derivadas parciales
 
∂f1 ∂f1
 ∂u 1 ∂u2 
 ∂f2 ∂f2 
 ∂u1 ∂u2 
B= . .. 
 .. . 
 
∂f8 ∂f8
∂u1 ∂u2

donde u1 = vϕ y u2 = vθ son las entradas al sistema.

Observabilidad y controlabilidad
Controlabilidad es una propiedad fundamental en los sistemas dinámicos que indica si es posible llevar
al sistema desde cualquier estado inicial a cualquier otro estado final en un tiempo finito, aplicando una
entrada adecuada. En otras palabras, un sistema es completamente controlable si, mediante sus entradas,
es posible influir en todos los estados del sistema. Matemáticamente, para un sistema lineal de la forma
ẋ = Ax+Bu, se construye la llamada matriz de controlabilidad, formada por C = [B AB A2 B · · · An−1 B].
Si esta matriz tiene rango completo (es decir, rango igual a n, donde n es el número de estados), entonces el
sistema se considera completamente controlable. Si el rango es menor que n, significa que existen estados
que no pueden ser controlados desde las entradas, lo que limita la capacidad de diseñar controladores
efectivos.
Por otro lado, observabilidad es la propiedad que determina si es posible reconstruir completamente
el estado interno del sistema a partir de las salidas medidas y de las entradas conocidas, durante un
intervalo de tiempo finito. En un sistema donde no se pueden medir directamente todos los estados,
esta propiedad es crucial para estimarlos mediante observadores como el de Luenberger o el filtro de
Kalman. Para un sistema con salidas descritas por y = Cx + Du, se construye la matriz de observabilidad
O = [C T (CA)T (CA2 )T · · · (CAn−1 )T ]T . Al igual que en el caso de la controlabilidad, si el rango de
esta matriz es igual a n, entonces el sistema es completamente observable. De lo contrario, habrá estados
que no pueden ser inferidos a partir de las salidas, lo cual compromete la calidad de cualquier estimación
del estado.
Luego de distintios calculos de la observabilidad y controlabilidad con las funciones ctrbf y obsvf se
observaron que se aumentan o disminuyen los estados que se pueden controlar y observar al variar los
puntos de operación, finalmente encontrado el punto de operación donde se puden observar y controlar
los 8 estados del sistema.

6
Figura 2: Resultado estados controlables

Controlador LQR
En un controlador LQR, las matrices Q y R definen la función de costo que se desea minimizar y,
por tanto, determinan el comportamiento del sistema controlado. La matriz Q penaliza los errores en los
estados, lo que significa que valores grandes en sus entradas indican que se desea mantener esos estados
lo más cerca posible del equilibrio o trayectoria deseada. Por otro lado, la matriz R penaliza el uso de
las entradas de control, es decir, valores grandes en R hacen que el controlador prefiera usar señales de
control más suaves o menos intensas. En conjunto, un Q alto y un R bajo resultan en un control agresivo y
rápido (pero con mayor esfuerzo de control), mientras que un Q bajo y un R alto producen una respuesta
más lenta pero más eficiente energéticamente. Elegir adecuadamente estas matrices permite ajustar el
compromiso entre precisión y esfuerzo de control.
Ajustando estos valores pudimos hacer distintas simulaciones:

7
Figura 3: Valores estimador

Estimador
Partiendo de las matrices V y W originales:
" # " #
8.6 · 10−4 0 1.3 · 10−6 0
V= W=
0 3.0 · 10−4 0 1.7 · 10−6
Se fueron variando sus valores para obtener un mejor filtro de Kalman, donde las matrices V y W
representan, respectivamente, la covarianza del ruido de medición y del ruido del proceso en un sistema
dinámico, y son fundamentales en el diseño de un estimador de estados como el filtro de Kalman. La matriz
V refleja la incertidumbre asociada a los sensores; valores altos en sus entradas indican que las mediciones
son poco confiables o muy ruidosas. En cambio, la matriz W modela las perturbaciones internas y errores
del modelo, representando cuánta confianza se tiene en la dinámica interna del sistema.
Observando como cambia el seguimiento del estimador a los estados que se pueden medir:

8
Figura 4: Valores estimador

Figura 5: Pruebas estimador

En estas imagenes se puede observar como se logro que los estados medidos (primeras 2 graficas), se
condicieran con los estados estimados(ultimas 2 graficas) gracias al ajuste de las matrices V y W.
Donde se concluyo que un valor más alto en los elementos de W indica mayor incertidumbre en la
dinámica del sistema, lo que lleva al filtro a confiar menos en su predicción del estado y, como resultado,
incrementa la covarianza del error de estimación P (peor desempeño). De manera similar, un valor más alto
en los elementos de V significa mayor ruido en las mediciones; esto hace que el filtro le dé menos peso a las
mediciones (reduciendo la ganancia de Kalman) y, consecuentemente, también aumenta la covarianza del
error de estimación P (peor desempeño), ya que no puede corregir la estimación con mediciones confiables.

9
Estimador y LQR
Luego de realizar el filtro de Kalman y el LQR por separado se hicieron simulaciones del sistema
completo realimentado obteniendo lo siguiente:

Figura 6: Sistema realimentado

Donde se puede observar como dependiendi el Q y el R varia la oscilacion y rapidez del sistema.

Control Twin Rotor


Pruebas escalón
Para monintorear el comportamiento del TwinRotor ante distintos estimulos, se hicieron pruebas
mediante el uso de escalones de voltaje en los actuadores del TwinRotor. Se probaron escalones tanto en
el control vertical, horizontal y en ambos a la vez.

10
Figura 7: Prueba escalón voltaje vertical

Como se ve en la figura anterior, al aplicar un escalon de voltaje en el eje vertical, el TwinRotor posee
un aumento en las oscilaciones verticales (primer recuadro de la imagen) junto con aumento en la posicion
en la que estas oscilaciones ocurren.

Figura 8: Prueba escalón voltaje horizontal

Del mismo modo, al aplicar el escalon de voltaje al eje horizontal, el TwinRotor se ascelera cambiando
su posicion bruzcamente como se muestra en el segundo recuadro de la imagen anterior.

11
Figura 9: Prueba escalón ambos voltajes

Como era de esperarse, al aplicar el escalon a ambos ejes simultaneamente las el TwinRotor se ascelera
cambiando la posicion de ambos ejes.

Filtro de Kalman
Para probar el filtro de Kalman, primero se debieron setear correctamente las matrices V y W. Una
vez encontrados los valores que entregaran el mejor rendimiento se procedió a probar el filtro, para esto se
conectó el TwinRotor y se hicieron movimientos guiados. Los dos primeros recuadros de la siguiente figura
muestran las mediciones realizadas por los sensorees, mientras que los dos ultimos recuadros muestran el
resultado del filtro de Kalman.
Se puede apreciar en la imagen, que el filtro funciona de forma correcta, ya que las estimaciones de
los movimientos son iguales a las mediciones realizadas por lo sensores, ademas la escala de la medicion
es practicamente la misma, entregando mas precision a la estimacion.

Figura 10: Desempeño del filtro de Kalman

12
Pruebas V/W
Luego para probrar y corroborar los valores seleccionados para las matrices V y W, se realizaron
pruebas variando estas matrices y midiendo el comportamiento del filtro frente a estos cambios.

Figura 11: Razón V/W 50 % menos

Si bien el filtro logra estimarde forma correcta el comprtamiento del movimiento, esto se ve en que
el filtro sigue la misma forma de la medicion de los sensores, la escala a la que está estimando no es la
correcta, por lo que luego al incluir el controlador este no funcionarı́a de forma optima.

Figura 12: Razón V/W 100 % mas

Lo mismo sucede con la variacion de la figura anterior, la forma de la estimacion es la misma, pero

13
Figura 14: Razón Q/R 50 % menos

la escala de esta cambia, por lo que los mejores valores para las matrices V y W son las mostrados en el
inciso anterior.

Controlador LQG
Una vez tuneado el filtro de Kalman, se procedió a la implementacion del controlador LQG. Primero
se debieron tunear las matrices Q y R para lograr el mejor resultado de control.
En la siguiente figura en los recfuadros 3 y 4 se muestran las variables manipuladas por el controlador.
Es claro que cuando se le aplica una fuerza externa al TwinRotor (vease en los recuadros 1 y 2), las variables
manipuladas cambian de forma inmediata para tratar de contararestar el efecto externo. Ademas, notamos
que cuando esto ocurre, el movimiento del TwinRotor es compensado de forma correcta, disminullendo
las oscilaciones y estabilizando en TwinRotor en su punto de equilibrio.

Figura 13: Desempeño controlador LQG

Pruebas Q/R
Luego para probrar y corroborar los valores seleccionados para las matrices Q y R, se realizaron
pruebas variando estas matrices y midiendo el comportamiento del controlador frente a estos cambios.

14
Figura 15: Razón Q/R 100 % mas

Si bien las variables manipuladas siguen siendo controlados por el controlador, este control no esta
siendo el mejor, ya que las oscilaciones no se estan estabilizando de forma rapida y precisa. En el ul-
timo caso, las variables manipuadas tienen un comportamiento mas reactivo, sin embargo, no logra la
estabilizacion completa del sistema como lo logra el controlador con las matrices bien tuneadas.

15

También podría gustarte