Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Apuntes Control Optimo Cap 3-4

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 18

Apuntes de Control Óptimo Dr.

Juan Ángel Rodríguez Liñán

CAPÍTULO 3 - Regulación óptima de sistemas lineales


utilizando criterios cuadráticos
Considérese una importante clase de problemas de control óptimo llamada Regulador Lineal
Cuadrático, donde la ley de control puede darse mediante una función lineal de
retroalimentación de estados con ganancia variante en el tiempo, para sistemas lineales
variantes en el tiempo y con criterios de costo cuadráticos.

3.1. Formulación del problema

La planta es descrita por


x (t )  A(t ) x(t )  B(t )u (t ) ,
y el criterio de desempeño a minimizar es
tf
1 1
J  xT (t f ) Hx(t f )    xT (t )Q(t ) x(t )  uT (t ) R(t )u (t )  dt (0.18)
2 2 t0
donde H y Q son matrices simétricas reales semidefinidas positivas, y R es una matriz simétrica real
definida positiva. La minimización del criterio de desempeño (0.18) se puede interpretar como
mantener el vector de estado cerca al origen sin un gasto excesivo del esfuerzo de control.

3.2. El problema de regulación de tiempo finito

Supóngase que el tiempo final tf es fijo. El Hamiltoniano está definido como el integrando aumentado
del funcional de costo (1.20), esto es
H ( x(t ), u (t ), J *x , t )  g ( x(t ), u (t ), t )  pT (t )  f ( x(t ), u (t ), t ) 
1 T 1
H ( x (t ), u (t ), J *x , t )  x (t )Q (t ) x(t )  u T (t ) R (t )u (t )
2 2
 p (t )  A(t ) x (t )  B (t )u (t ) 
T

1 T 1
H ( x(t ), u (t ), J *x , t )  x (t )Q(t ) x(t )  u T (t ) R (t )u (t )
2 2
 p (t ) A(t ) x(t )  p (t ) B(t )u (t )
T T

Las condiciones necesarias para minimizar el Hamiltoniano (optimalidad) son6,7,8:


H H
0   R (t )u *(t )  BT (t ) p * (t )  0
u u
 2H
 R (t )  0
u 2

6 [ yT Mz] z  M T y
7 [ yT My] y  My  M T y
8 [ yT Mz] y  Mz
18
Departamento de Electrónica y Automatización, FIME, UANL.
Apuntes de Control Óptimo Dr. Juan Ángel Rodríguez Liñán

y a partir de la ecuación (1.10),


H
p * (t )    p *(t )  Q(t ) x *(t )  AT (t ) p *(t ) (0.19)
x

Resolviendo para el control u:


u(t )  R1 (t )BT (t ) p *(t ) ,

y sustituyéndola en x *(t )  A(t ) x *(t )  B(t )u *(t ) se tiene


x *(t )  A(t ) x *(t )  B(t )R1 (t )BT (t ) p *(t ) .

Entonces, se pueden rescribir como un conjunto de ecuaciones diferenciales lineales variantes


en el tiempo homogéneas
 x * (t )   A(t )  B(t ) R 1 (t ) B T (t )   x *(t ) 
 p * (t )     
   Q (t )  AT (t )   p *(t ) 

La solución de estas ecuaciones tiene la forma


z * ( t f )   (t f , t ) z * ( t )
donde la matriz de transición puede ser particionada en
 x * (t f )  11 (t f , t ) 12 (t f , t )   x * (t ) 
 p * (t )    (t , t )  (t , t )    (0.20)
 f   21 f 22 f   p * (t ) 
De la condición de frontera de la ecuación HJB en t=tf para el funcional de costo (1.20),
encontramos que
 J * 
p *(t f )   ( x(t f ), t f )   Hx *(t f )
 x 
Sustituyendo en (0.20), y resolviendo para p*(t),
p *(t )  [22 (t f , t )  H 12 (t f , t )]1[ H 11 (t f , t )  21 (t f , t )] x *(t ) (0.21)
  
K ( t f ,t )

La ecuación (0.21) puede rescribirse como


p *(t )  K (t ) x *(t ) (0.22)
lo que significa que p*(t) es una función lineal de los estados x*(t), K(t) es una matriz nxn.
Estrictamente, K(t) depende de tf, pero tf es constante. Sustituyendo en u*, obtenemos
u *(t )  R1 (t ) BT (t ) K (t ) x(t )

Diferenciando (0.22), puede demostrarse que K(t) debe satisfacer lo siguiente:

19
Departamento de Electrónica y Automatización, FIME, UANL.
Apuntes de Control Óptimo Dr. Juan Ángel Rodríguez Liñán

p (t )  K (t ) x(t )  K (t ) x (t )
p (t )  K (t ) x(t )  K (t )[ A(t ) x(t )  B (t ) R 1 (t ) BT (t ) p (t )]

u (t )

Q(t ) x(t )  A (t ) K (t ) x(t )  K (t ) x (t )  K (t )[ A(t ) x(t )  B (t ) R 1 (t ) BT (t ) K (t ) x(t )]


T
   
p (t ) p (t )

K (t ) x(t )  Q(t ) x(t )  A (t ) K (t ) x(t )  K (t ) A(t ) x(t )  K (t ) B(t ) R 1 (t ) BT (t ) K (t ) x(t )


T

K (t ) x(t )   Q(t )  AT (t ) K (t )  K (t ) A(t )  K (t ) B(t ) R 1 (t ) BT (t ) K (t )  x(t )

K (t )  K (t ) A(t )  AT (t ) K (t )  Q(t )  K (t )B(t ) R1 (t ) BT (t ) K (t )

Esta última, se llama la Ecuación de Riccati y su condición de frontera K (t f )  H .

3.3. Más sobre el funcional de costo optimizado

1
Utilizando el controlador u(t )  R (t ) B (t ) K (t ) x(t ) , es posible demostrar que la solución óptima
T

del funcional de costo es de la forma


1 T
J * ( x (t ), t )  x (t ) K (t ) x(t )
2
donde K(t) es una matriz simétrica real definida positiva (KT=K) que satisface a la ecuación de Riccati, y
donde la condición de frontera requiere ser K (t f )  H .

Prueba:
 J * 
Suponiendo esta solución y puesto que  x ( x(t ), t )   K (t ) x(t ) entonces

 J * 
u (t )   R 1 (t ) BT (t )  ( x(t ), t )  , así la Ec. J-H-B resulta en lo siguiente9:
 x 
0  J t  H ( x(t ), u *( x(t ), J x , t ), J x , t )
* * *

0  J t*  g ( x (t ), u (t ), t )  J x*T  f ( x(t ), u (t ), t ) 
1 T 1
0  J t*  x (t )Q (t ) x(t )  u T (t ) R(t )u (t )  J x*T  A(t ) x(t )  B(t )u (t ) 
2 2
1 1
0  J t*  xT (t )Q (t ) x(t )  J x*T B (t ) R 1 (t ) R (t ) R 1 (t ) BT (t ) J x*  J x*T A(t ) x (t )  J x*T B(t ) R 1 (t ) BT (t ) J x*
2 2
1 1
0  J t*  xT (t )Q (t ) x(t )  J x*T B (t ) R 1 (t ) BT (t ) J x*  J x*T A(t ) x(t )
2 2
(0.23)

 J * 
9
Denotando J x*   ( x (t ), t ) 
 x 
20
Departamento de Electrónica y Automatización, FIME, UANL.
Apuntes de Control Óptimo Dr. Juan Ángel Rodríguez Liñán

1 T 1
0  J t*  x (t )Q (t ) x(t )  [ K (t ) x (t )]T B (t ) R 1 (t ) BT (t )[ K (t ) x (t )]  [ K (t ) x(t )]T A(t ) x (t )
2 2
con J t*  1  . Desarrollando obtenemos10,11
x T Kx
2

1 T 1 1
0 x (t ) K (t ) x (t )  xT (t )Q (t ) x(t )  xT (t ) K (t ) B(t ) R 1 (t ) BT (t ) K (t ) x (t )  xT (t ) K (t ) A(t ) x (t )
2 2 2  
M

1 T 1 1
0 x (t ) K (t ) x (t )  xT (t )Q (t ) x(t )  xT (t ) K (t ) B(t ) R 1 (t ) BT (t ) K (t ) x (t )
2 2 2
1 1 T 
 xT (t )   K (t ) A(t )   K (t ) A(t )     K (t ) A(t )   K (t ) A(t )    x(t )
T

2   2 
1 T 1 1
0 x (t ) K (t ) x (t )  xT (t )Q (t ) x(t )  xT (t ) K (t ) B(t ) R 1 (t ) BT (t ) K (t ) x (t )
2 2 2
1 1 1
 xT (t )  K (t ) A(t )  A(t )T K (t )  x(t )  xT (t ) K (t ) A(t ) x(t )  xT (t )  K (t ) A(t )  x(t )
T

2 2 2
Puesto que la transpuesta de un escalar es igual a sí mismo
T
xT (t )  K (t ) A(t )  x (t )   xT (t )  K (t ) A(t )  x (t )    xT (t ) A(t )T K (t ) x (t )   xT (t ) K (t ) A(t ) x (t ) ,
T T T

 
sólo contribuye la parte simétrica y no la antisimétrica:
1 T
0 x (t )  K (t )  Q(t )  K (t ) B(t ) R 1 (t ) BT (t ) K (t )  K (t ) A(t )  AT (t ) K (t )  x(t )
2
0  K (t )  Q(t )  K (t ) B (t ) R 1 (t ) BT (t ) K (t )  K (t ) A(t )  AT (t ) K (t )
K (t )  K (t ) A(t )  AT (t ) K (t )  Q(t )  K (t )B(t ) R1 (t ) BT (t ) K (t )

1 T
Por lo que, se cumple la ecuación H-J-B para J * ( x (t ), t )  x (t ) K (t ) x(t ) y para el controlador
2
u(t )  R1 (t ) BT (t ) K (t ) x(t ) cuando se satisface la ecuación de Riccati.

Ejemplo 1: Encuentre la ley de control óptimo u* del sistema y funcional de costo dados por
𝑥̇ = 𝑥 (𝑡)
𝑥̇ = 2𝑥 (𝑡) − 𝑥 (𝑡) + 𝑢(𝑡)

1 1
𝐽= 𝑥 + 𝑥 + 𝑢 𝑑𝑡
2 4
Solución:
0 1 0 0
𝐴= ;𝐻=
2 −1 0 0
0 2 0
𝐵= ;𝑅= ;𝑄=
1 0 1

10
[AB]T=BTAT
11
M  12 [ M  M ]  12 [ M T  M T ]  12 [ M  M T ]  12 [ M  M T ]
21
Departamento de Electrónica y Automatización, FIME, UANL.
Apuntes de Control Óptimo Dr. Juan Ángel Rodríguez Liñán

El tamaño matricial de 𝐾̇ (𝑡) y K(t) es igual al tamaño de 𝑄(𝑡), entonces la ec. de Riccati es

𝐾̇ (𝑡) = −𝐾(𝑡)𝐴(𝑡) − 𝐴 (𝑡)𝐾(𝑡) − 𝑄(𝑡) + 𝐾(𝑡)𝐵(𝑡)𝑅 (𝑡)𝐵 (𝑡)𝐾(𝑡)


𝑘̇ 𝑘̇ 𝑘 𝑘 0 1 0 2 𝑘 𝑘 2 0
=− − −
𝑘̇ 𝑘̇ 𝑘 𝑘 2 −1 1 −1 𝑘 𝑘 0 1
𝑘 𝑘 0 [2][ 𝑘 𝑘
+ 0 1]
𝑘 𝑘 1 𝑘 𝑘
𝑘̇ 𝑘̇ 2𝑘 𝑘 −𝑘 2𝑘 2𝑘 2 0 𝑘 𝑘 𝑘 𝑘
=− − − +2
𝑘̇ 𝑘̇ 2𝑘 𝑘 −𝑘 𝑘 −𝑘 𝑘 −𝑘 0 1 𝑘 𝑘 𝑘 𝑘

𝑘 ̇ = −4𝑘 − 2 + 2𝑘
𝑘 ̇ = −𝑘 + 𝑘 − 2𝑘 + 2𝑘 𝑘
𝑘 ̇ = 2𝑘 − 2𝑘 − 1 + 2𝑘

𝑘 = 𝑘 porque K(t) es simétrica, entonces se utilizan las soluciones 𝑘 , 𝑘 , 𝑘 para la ley de


control:
𝑢∗ (𝑡) = −𝑅 (𝑡)𝐵 (𝑡)𝐾(𝑡)𝑥(𝑡)
𝑘 𝑘 𝑥
𝑢∗ (𝑡) = −[2][0 1] 𝑥
𝑘 𝑘
𝑢∗ (𝑡) = −2𝑘 𝑥 − 2𝑘 𝑥

Ejemplo 2: Encuentre la ley de control óptimo u* del sistema y funcional de costo dados por
𝑥̇ = 𝑥 (𝑡) − 𝑥 (𝑡)
𝑥̇ = −2𝑥 (𝑡) − 3𝑥 (𝑡) + 𝑢(𝑡)

1
𝐽= [𝑥 +𝑥 + 𝑢 ] 𝑑𝑡
2
Solución:
−1 1 0 0
𝐴= ;𝐻=
−2 −3 0 0
0 1 0
𝐵= ; 𝑅 = [1] ; 𝑄 =
1 0 1
El tamaño matricial de 𝐾̇ (𝑡) y K(t) es igual al tamaño de 𝑄(𝑡), entonces la ec. de Riccati es

𝐾̇ (𝑡) = −𝐾(𝑡)𝐴(𝑡) − 𝐴 (𝑡)𝐾(𝑡) − 𝑄(𝑡) + 𝐾(𝑡)𝐵(𝑡)𝑅 (𝑡)𝐵 (𝑡)𝐾(𝑡)


𝑘̇ 𝑘̇ 𝑘 𝑘 −1 1 −1 −2 𝑘 𝑘 1 0
=− − −
𝑘 ̇ 𝑘 ̇ 𝑘 𝑘 −2 −3 1 −3 𝑘 𝑘 0 1
𝑘 𝑘 0 [1][ 𝑘 𝑘
+ 0 1]
𝑘 𝑘 1 𝑘 𝑘

𝑘 ̇ = 2𝑘 + 4𝑘 − 1 + 𝑘
̇
𝑘 = −𝑘 + 4𝑘 + 2𝑘 + 𝑘 𝑘
𝑘 ̇ = −2𝑘 + 6𝑘 − 1 + 𝑘

22
Departamento de Electrónica y Automatización, FIME, UANL.
Apuntes de Control Óptimo Dr. Juan Ángel Rodríguez Liñán

𝑘 = 𝑘 porque K(t) es simétrica, entonces se utilizan las soluciones 𝑘 , 𝑘 , 𝑘 para la ley de


control:
𝑢∗ (𝑡) = −𝑅 (𝑡)𝐵 (𝑡)𝐾(𝑡)𝑥(𝑡)
∗ (𝑡) 𝑘 𝑘 𝑥
𝑢 = −[1][0 1] 𝑥
𝑘 𝑘
𝑢∗ (𝑡) = −𝑘 𝑥 − 𝑘 𝑥

23
Departamento de Electrónica y Automatización, FIME, UANL.
Apuntes de Control Óptimo Dr. Juan Ángel Rodríguez Liñán

CAPÍTULO 4 - Consideraciones particulares en regulación


óptima
Recordando que, para regulación el controlador
u *(t )  R1 (t ) BT (t ) K (t ) x(t )
minimiza al criterio de desempeño
tf
1 1
J  xT (t f ) Hx(t f )    xT (t )Q(t ) x(t )  uT (t ) R(t )u (t )  dt ,
2 2 t0
con la planta lineal descrita por x (t )  A(t ) x(t )  B(t )u (t ) , donde H y Q son matrices simétricas
reales semidefinidas positivas, R es una matriz simétrica real definida positiva, y K(t)≠0 es solución de
K (t )  K (t ) A(t )  AT (t ) K (t )  Q(t )  K (t )B(t ) R1 (t ) BT (t ) K (t ) .

Bajo ciertas condiciones del regulador lineal cuadrático, la ganancia óptima es invariante en el
tiempo, este resultado se muestra a continuación.

4.1 Solución de tiempo final infinito

En el caso en que el proceso a controlar es para un intervalo de duración infinita, R.E. Kalman demostró
que si: a) la planta es completamente controlable, b) H=0, y c) A, B, R, Q son matrices constantes,
entonces K (t )  K constante cuando t f   .

Esto tiene implicaciones en ingeniería importantes, ya que, al tener la ganancia óptima invariante en
el tiempo, es decir constante, esto significa que la implementación puede hacerse con electrónica
básica como amplificadores operacionales.

Para determinar la matriz K es necesario resolver la Ec. algebraica de Riccati


0  KA  AT K  Q  KBR1BT K
obtenida al hacer K (t )  0 , puesto que K (t )  K . Y entonces el controlador es
u *(t )  R1BT Kx(t )

Desde un punto de vista práctico es posible utilizar la ley de control constante aun para los procesos de
duración finita, puesto que las ganancias son casi constantes, excepto en el intervalo de tiempo cercano
al tiempo final, obteniendo en ese caso un control subóptimo.

Ejemplo 1: Encuentre la ley de control óptimo u* del sistema y funcional de costo dados por
dx(t)/dt = x(t) + u(t)
J= ∫ 𝑢 (𝑡)dt

Solución: A=1, B=1, H=0, Q=0, R=1/2. Aplicando la Ecuación de Riccati:


24
Departamento de Electrónica y Automatización, FIME, UANL.
Apuntes de Control Óptimo Dr. Juan Ángel Rodríguez Liñán

K̇= -KA-ATK-Q+KBR-1BTK
K̇= -K-K-0+K( )-1K
K̇= -K-K+2K2
𝐾̇ = 2K2-2K

La solución para tiempo final infinito se obtiene al resolver:


0=2K2-2K,
donde las 2 soluciones son K={0,1}.

Entonces la ley de control es


u*= -R-1BKx(t)
u*= -2Kx(t)

u*1= 0
u*2= -2x(t)

y el sistema en lazo cerrado


dx(t)/dt = x(t)

o dx(t)/dt = x(t)-2x(t) = -x(t),


cuya solución es x ( t )  x ( t 0 ) e  t y u*2= -2x(t)  0

Ejemplo 2: Calcule el control óptimo del sistema


x1  x2 (t )
0.5 x (t )  0.0025u 2 (t )dt
tf
J (u )   2
x2  2 x1 (t )  x2 (t )  u (t ) t0
1

Solución: Para este problema


0 1  0   0 0 1 0 1
A ; B    ; H   ;Q    ; R  0.0050 
 2 1 1   0 0 0 0 200
Aplicando la ecuación algebraica de Riccati:
0  K (t ) A(t )  AT K (t )  Q(t )  K (t ) B(t )R1 (t )BT (t )K (t )
0 0 𝑘 𝑘 0 1 0 2 𝑘 𝑘 1 0
=− − −
0 0 𝑘 𝑘 2 −1 1 −1 𝑘 𝑘 0 0
𝑘 𝑘 0 [200][ 𝑘 𝑘
+ 0 1]
𝑘 𝑘 1 𝑘 𝑘
0 0 2𝑘 𝑘 −𝑘 2𝑘 2𝑘 1 0 𝑘 𝑘 𝑘 𝑘
=− − − + 200
0 0 2𝑘 𝑘 −𝑘 𝑘 −𝑘 𝑘 −𝑘 0 0 𝑘 𝑘 𝑘 𝑘

Se producen las ecuaciones algebraicas


0  4 k12  1  200 k12 2
0   k11  k12  2k 22  200 k12 k22
0  2 k12  2k 22  200k 22 2
25
Departamento de Electrónica y Automatización, FIME, UANL.
Apuntes de Control Óptimo Dr. Juan Ángel Rodríguez Liñán

Para resolverlas, nótese que la primera ecuación es cuadrática de 1 sola incógnita, sustituyendo
su solución en la tercera ecuación queda una cuadrática de 1 sola incógnita, sustituyendo ambas
soluciones en la segunda ecuación simplemente se despeja la incógnita restante. Cuando existen
múltiples soluciones (como en las ecuaciones cuadráticas), es conveniente elegir las soluciones
positivas (no las negativas, ni cero) para no generar señales de control que provoquen
inestabilidad del sistema en lazo cerrado.

Entonces, se calculan las ganancias para este caso como


k11  0.4226
k12  k21  0.0814
k22  0.0239

Puesto que la ley de control óptima es


𝑢∗ (𝑡) = −𝑅 (𝑡)𝐵 (𝑡)𝐾(𝑡)𝑥(𝑡)
∗ (𝑡) 𝑘 𝑘 𝑥
𝑢 = −[200][0 1] 𝑥
𝑘 𝑘
𝑘 𝑥 + 𝑘 𝑥
𝑢∗ (𝑡) = −[200][0 1]
𝑘 𝑥 +𝑘 𝑥
𝑢∗ (𝑡) = −200𝑘 𝑥 − 200𝑘 𝑥

sustituyendo los valores calculados de las ganancias, resulta en


𝑢(𝑡) = −200(0.0814)𝑥 − 200(0.0239)𝑥
𝑢(𝑡) = −16.28𝑥 − 4.78𝑥

4.2 Solución computacional de la ecuación algebraica de Riccati

La ecuación algebraica de Riccati 0  KA  AT K  Q  KBR1BT K puede resolverse


numéricamente por comandos en diversos softwares. Por ejemplo, en Scilab , mediante el comando
12

fsolve(·) es posible calcular las soluciones de un conjunto de ecuaciones algebraicas simultáneas.

Las soluciones K obtenidas son utilizadas luego para calcular la matriz de ganancia estática de
retroalimentación determinada por K   R B K , para u *(t )  K·x(t ) .
1 T

Ejemplo 3: Las ecuaciones diferenciales



k11  4k12  2  2k12 2

k12   k11  k12  2k22  2k12 k22

k22  2k12  2k22  1  2k22 2

12
Este software es gratuito, funciona en diferentes sistemas operativos y se descarga de
https://www.scilab.org/download
26
Departamento de Electrónica y Automatización, FIME, UANL.
Apuntes de Control Óptimo Dr. Juan Ángel Rodríguez Liñán

 
se pueden resolver para el caso algebraico K  0 , mediante el siguiente código en Scilab:

clear;clc; //limpia memoria y pantalla


ks=[10;10;10]; //condición inicial (semilla) de búsqueda de solución

//Ec de Riccati:
function dk=ecriccati(k)
k11=k(1); k12=k(2); k22=k(3);
dk(1) = -4*k12-2+2*k12^2
dk(2) = -k11+k12-2*k22+2*k12*k22
dk(3) = -2*k12+2*k22-1+2*k22^2
endfunction

k=fsolve(ks,ecriccati); //cálculo de ganancias estáticas


k11=k(1); k12=k(2); k22=k(3); //Valor de cada ganancia

//----MUESTRA RESULTADOS:
mprintf(‘Las soluciones de la Ec. algebraica de Riccati son:\nk_11=%f \nk_12=%f
\nk_22=%f’,k11,k12,k22)

Puesto que existen múltiples soluciones, es conveniente elegir las soluciones positivas (no las
negativas, ni cero) para no generar señales de control que provoquen inestabilidad del sistema
en lazo cerrado. Por ello, se inició con una ‘semilla’ de ks=[10;10;10]; ya que con valores
cercanos a 0 produce soluciones indeseadas. Así, la solución numérica de las ecuaciones de
Riccati resulta en
k11  6.031273
k12  k21  2.414214
k22  1.278824

Ejemplo 4: Calcular el control óptimo del siguiente sistema con el funcional de costo dado:

x1  x2 (t )
x (t )  0.0025u 2 (t )dt
tf

x2  2 x1 (t )  x2 (t )  u (t ) J (u )   1
2
t0

Solución: Las matrices de este problema son:


0 1  0   0 0  2 0 1
A ; B    ; H   ;Q    ; R  0.0050 
 2 1 1   0 0 0 0 200

Puesto que se cumplen las condiciones necesarias, se puede aplicar la ec. algebraica de Riccati:
0   K (t ) A(t )  AT K (t )  Q(t )  K (t ) B (t ) R 1 (t ) BT (t ) K (t )

Produciendo las ecuaciones algebraicas simultáneas:


27
Departamento de Electrónica y Automatización, FIME, UANL.
Apuntes de Control Óptimo Dr. Juan Ángel Rodríguez Liñán

0  4k12  2  200k12 2
0  k11  k12  2k22  200k12 k22
0  2k12  2k22  200k22 2
Por otro lado, la ley de control óptima es
𝑢∗ (𝑡) = −𝑅 (𝑡)𝐵 (𝑡)𝐾(𝑡)𝑥(𝑡)
𝑘 𝑘 𝑥
𝑢∗ (𝑡) = −[200][0 1] 𝑥
𝑘 𝑘
𝑘 𝑥 +𝑘 𝑥
𝑢∗ (𝑡) = −[200][0 1]
𝑘 𝑥 +𝑘 𝑥
𝑢∗ (𝑡) = −200𝑘 𝑥 − 200𝑘 𝑥

se pueden calcular numéricamente las ganancias algebraicas y simular el sistema controlado,


para t0=0, tf=10 y un paso de integración de 0.1, mediante código como el siguiente:

clear;clc; //limpia memoria y pantalla


//Datos de simulación de lazo cerrado
t0=0; //tiempo inicial
tf=10; //tiempo final
paso=0.1; //paso de integración
t=(t0:paso:tf)'; //tiempo para simulación
x0=[10;-10;0]; //condiciones iniciales de estados y funcional de costo
ks=[10;10;10]; //condición inicial (semilla) de búsqueda de solución de Riccati

//Ec de Riccati:
function dk=ecriccati(k)
k11=k(1); k12=k(2); k22=k(3);
dk(1) = -4*k12-2+200*k12^2
dk(2) = -k11+k12-2*k22+200*k12*k22
dk(3) = -2*k12+2*k22+200*k22^2
endfunction

k=fsolve(ks,ecriccati); //cálculo de ganancias estáticas


k11=k(1); k12=k(2); k22=k(3); //Valor de cada ganancia

function dx=planta(t, x) //Modelo de estado en lazo cerrado


x1=x(1); x2=x(2); //Estados
u=-200*k12*x1-200*k22*x2; //Ley de control óptima
//Ecs. de estado:
dx(1) = x2
dx(2) = 2*x1-x2+u
dx(3) = x1^2+0.0025*u^2//Integrando del funcional de costo
endfunction

//Simulación de modelo
x=(ode('rk',x0,t0,t,planta))';//solución de la ec de estado

28
Departamento de Electrónica y Automatización, FIME, UANL.
Apuntes de Control Óptimo Dr. Juan Ángel Rodríguez Liñán

//----MUESTRA RESULTADOS:
mprintf(‘Las soluciones de la Ec. algebraica de Riccati son:\nk_11=%f \nk_12=%f
\nk_22=%f’,k11,k12,k22)
mprintf(‘\n\nEl valor de costo en tiempo final es:\nJ(t_f)=%f’,x($,3))

//Gráficas
figure(1)
plot(t,x(:,1),t,x(:,2));
xgrid
xtitle('Estados del sistema','Tiempo t (s)','x(t)')
legend('x1','x2')

figure(2)
plot(t,-200*k12*x(:,1)-200*k22*x(:,2));
xgrid
xtitle('Entrada del sistema','Tiempo t (s)','u(t)')

Se inició con una ‘semilla’ de ks=[10;10;10]; ya que con valores cercanos a 0 producía
soluciones indeseadas. Así, la solución numérica de las ecuaciones de Riccati resulta en
k11  0.685659
k12  k21  0.110499
k22  0.028615
La respuesta de los estados x1 y x2 se ilustra en la Figura 4.4 y la señal de control en la Figura 4.5.

Figura 4.4. La respuesta de los estados x1 y x2.


29
Departamento de Electrónica y Automatización, FIME, UANL.
Apuntes de Control Óptimo Dr. Juan Ángel Rodríguez Liñán

Figura 4.5. Señal de control óptima u(t).

Nótense los altos valores de las amplitudes de estados y señal de control.

4.3 Recomendaciones de diseño para el funcional de costo

Al proponer el funcional de costo J, se deben seleccionar las matrices H , Q y R . La selección se


realiza más fácilmente cuando la matriz Q es elegida como diagonal, con todos elementos
diagonales positivos o cero. La matriz R es elegida tal que su determinante es positivo
(| R | ≠ 0 ), de lo contrario, la solución de control óptimo incluirá ganancias de control infinitas.

Los valores de los elementos de las matrices Q y R corresponden débilmente al desempeño


especificación. Se requiere una cierta cantidad de pruebas y errores con un programa de
simulación para lograr un resultado satisfactorio. Sin embargo, se pueden recomendar algunas
pautas. Por ejemplo, si todos los estados se mantendrán bajo estricta regulación y Q son
diagonales con entradas seleccionadas de modo que un el cambio porcentual de cada variable
hace una contribución igual al costo. La matriz R es también diagonal.

30
Departamento de Electrónica y Automatización, FIME, UANL.
Apuntes de Control Óptimo Dr. Juan Ángel Rodríguez Liñán

Si las desviaciones máximas de las salidas del servomecanismo son: x1max , x2max , y la desviación
máxima de control es umax , entonces el costo es:
Q(1,1) x12  Q(2, 2) x2 2  Ru 2

Los coeficientes de las matrices Q y R se pueden establecer relacionados con las reglas:
1 1 1
Q(1,1)  2
, Q(2, 2)  2
y R
( x1max ) ( x2max ) (umax ) 2

Esta regla se puede modificar para satisfacer las ubicaciones de raíz deseadas y la respuesta
transitoria para valores seleccionados. Uno debe evitar los efectos de saturación tanto de las
salidas como del control.

Ejemplo 5: Calcular un control óptimo para



x1  x2 (t )

(3.3.1)
x2  x1 (t )  x2 (t )  u (t )
Con valores x1max=1, x2max=1 y umax=1.4.

Solución:
La regla lleva a determinar que Q11=1, Q22=1 y R=0.5, esto es:
tf
1 1 1 
J (u )    x12 (t )  x2 2 (t )  u 2 (t )  dt
t0  
2 2 4

 0 1 0  0 0 1 0 1
A ; B    ; H   ;Q    ; R  0.5 
 1 1 1  0 0 0 1 2

Puesto que se cumplen las condiciones necesarias, se puede aplicar la ec. algebraica de Riccati:
0   K (t ) A(t )  AT K (t )  Q(t )  K (t ) B (t ) R 1 (t ) BT (t ) K (t )

0 0 𝑘 𝑘 0 1 0 1 𝑘 𝑘 1 0 𝑘 𝑘 0 [2][ 𝑘 𝑘
=− − − + 0 1]
0 0 𝑘 𝑘 1 1 1 1 𝑘 𝑘 0 1 𝑘 𝑘 1 𝑘 𝑘

0 0 𝑘 𝑘 +𝑘 𝑘 𝑘 1 0 𝑘 𝑘 𝑘 𝑘
=− − − +2
0 0 𝑘 𝑘 +𝑘 𝑘 +𝑘 𝑘 +𝑘 0 1 𝑘 𝑘 𝑘 𝑘

Produciendo las ecuaciones algebraicas simultáneas:


0  2k12  1  2k12 2
0  k11  k12  k22  2k12 k22
0  2k12  2k22  1  2k22 2

31
Departamento de Electrónica y Automatización, FIME, UANL.
Apuntes de Control Óptimo Dr. Juan Ángel Rodríguez Liñán

La ley de control óptima es


𝑢∗ (𝑡) = −𝑅 (𝑡)𝐵 (𝑡)𝐾(𝑡)𝑥(𝑡)
𝑘 𝑘 𝑥
𝑢∗ (𝑡) = −[2][0 1] 𝑥
𝑘 𝑘
𝑘 𝑥 +𝑘 𝑥
𝑢∗ (𝑡) = −[2][0 1]
𝑘 𝑥 +𝑘 𝑥
𝑢∗ (𝑡) = −2𝑘 𝑥 − 2𝑘 𝑥

A continuación, se muestra que se pueden calcular numéricamente las ganancias algebraicas en


Scilab directamente con el comando lqr(·), sin necesidad de buscar y seleccionar las posibles
soluciones, para luego simular el sistema controlado. Considérese t0=0, tf=30 y un paso de
integración de 0.1, para simular el sistema controlado de forma óptima en lazo cerrado
mediante código como el siguiente:

clear;clc;
//Datos de simulación
t0=0;
tf=30;
paso=0.1;
t=(t0:paso:tf)'; //tiempo para simulación
x0=[10;-10;0]; //condición inicial del estado y funcional de costo

//----MATRICES DEL SISTEMA------


A=[0,1;1,1]; //Matriz de estados A
B=[0;1]; //Matriz de entrada B
Q=[1,0;0,1]; //Matriz de estados del funcional de costo
R=0.5; //Matriz de entrada del funcional de costo
C=eye(2,2); //Matriz de salidas medibles
P = syslin('c',A,B,C); //Sistema continuo en espacio de estado
[Kb,K]=lqr(P,Q,R); //Cálculo de ganancias óptimas del LQR
k11=K(1,1); k12=K(1,2); k22=K(2,2); //Valor de cada ganancia

//Modelo de estado
function dz=planta(t,z)//Ecs. de estado
x=[z(1);z(2)]; //vector de estados

u=-inv(R)*B’*K*x; //=Kb*x; //Ley de control óptimo

dz(1:2) = A*x+B*u//Ec de estado


dz(3) = x’*Q*x+u’*R*u//Integrando del funcional de costo
endfunction

//Simulación de modelo
x=(ode('rk',x0,t0,t,planta))';//solución de la ec de estado

//----MUESTRA RESULTADOS:
mprintf(‘Las soluciones de la Ec. algebraica de Riccati son:\nk_11=%f \nk_12=%f
\nk_22=%f’,k11,k12,k22)
mprintf(‘\n\nEl valor de costo en tiempo final es:\nJ(t_f)=%f’,x($,3))

32
Departamento de Electrónica y Automatización, FIME, UANL.
Apuntes de Control Óptimo Dr. Juan Ángel Rodríguez Liñán

//Gráficas
figure(1)
plot(t,x(:,1),t,x(:,2));
xgrid
xtitle('Estados del sistema','Tiempo t (s)','x(t)')
legend('x1','x2')

figure(2)
plot(t,-2*k12*x(:,1)-2*k22*x(:,2));
xgrid
xtitle('Entrada del sistema','Tiempo t (s)','u(t)')

La solución numérica de las ecuaciones de Riccati resulta en


k11  2.019539
k12  k21  1.366025
k22  1.954656

La respuesta de los estados x1 y x2 se ilustra en la Figura 4.7 y la señal de control en la Figura 4.8.

Figura 4.7. La respuesta de los estados x1 y x2.

33
Departamento de Electrónica y Automatización, FIME, UANL.
Apuntes de Control Óptimo Dr. Juan Ángel Rodríguez Liñán

Figura 4.8. Señal de control óptima u(t).

Nótese que los valores de las amplitudes de estados y señal de control ya no son altos.

Un video que ilustra el regulador lineal cuadrático (LQR, por sus siglas en inglés) está en:
https://youtu.be/E_RDCFOlJx4=

34
Departamento de Electrónica y Automatización, FIME, UANL.
Apuntes de Control Óptimo Dr. Juan Ángel Rodríguez Liñán

ACTIVIDAD FUNDAMENTAL 2.– Optimización mediante criterios cuadráticos

Suba a NEXUS un ÚNICO archivo PDF en que muestre:


a) El procedimiento para obtener condiciones de las ganancias óptimas mediante las ecuaciones
de Riccati,
b) Cálculo de la solución algebraica de las ganancias óptimas K,
c) Simulaciones numéricas y gráficas de la ley de control óptima u* y las variables de estado x
del sistema,
d) y simulaciones numéricas y gráficas del valor del funcional de costo J, de los siguientes
problemas:

1. El sistema

 x1  x2

 x2  x1  x2  u
con el funcional de costo dado por
tf
J ( x, u , t )    12 x12 (t )  12 x22 (t )  14 u 2 dt .
t0

2. El sistema

 x1   x1  x2  u

 x2  2 x1  3x2  u
con el funcional de costo dado por
tf
J ( x, u , t )   1
 x12 (t )  x22 (t )  u 2 (t ) dt .
t0 2

Este único archivo PDF entregable, debe tener portada con nombre de la unidad de aprendizaje,
número y nombre de actividad, nombre y número de matrícula de estudiante, hora de clase, nombre
de profesor, fecha de entrega.
Se acepta SÓLO por NEXUS sin excepción, por lo que debe subirlo antes de la fecha y hora de
vencimiento para evitarse contratiempos o fallas de la plataforma.

35
Departamento de Electrónica y Automatización, FIME, UANL.

También podría gustarte