Transcript 4.osa

Automaatjuhtimissüsteemid
ISS0021 2-2-0 E 6 EAP
Optimaaljuhtimine
Ennu Rüstern
[email protected], TTÜ U02-316, tel. 6202104
TTÜ automaatikainstituut
Automaatjuhtimise ja süsteemianalüüsi õppetool
Optimaaljuhtimise ülesanded
Juhitava süsteemi mudelid
 x (t )  f x(t ), u (t )

 y (t )  g x(t )

(A)
mittelineaarne
lineariseerimine
(B)
 x (t )  A(t ) x(t )  B (t )u (t )

mittestatsionaarne
 y (t )  C (t ) x(t )
 x (t )  Ax (t )  Bu (t )

 y (t )  Cx (t )
(C)
statsionaarne
x(t) – olekuvektor (dim = n)
u(t) – sisendvektor (dim = r)
y(t) – väljundvektor (dim = m)
Optimaalse juhtimise ülesanne
1) ● juhitav süsteem (kujul A)
● kriteerium (ehk sihifunktsioon)
tf
I ( x, u )  x, t |   F x, u , t dt
tf
t0
t0
min I ( x, u )
u (t )
t0 on tavaliselt = 0,
tf võib olla ka ∞.
2) ● juhitav süsteem (kujul B)
● kriteerium
tf
1 T
1 T
I ( x, u )  x (t f ) Sx(t f )   x (t )Q(t ) x(t )  u T (t ) R(t )u (t )dt
2
2t
0
min I ( x, u )
u (t )
3) ● juhitav süsteem (kujul C)
● kriteerium
tf
1 T
1 T
I ( x, u )  x (t f ) Sx(t f )   x (t )Qx (t )  u (t ) Ru (t )dt
2
2t
0
NB! Oluline erijuhtum:

1 T
I ( x, u )   x (t )Qx (t )  u (t ) Ru (t )dt
20
Probleemid:
● lahendi olemasolu;
● lahendi ühesus.
Optimaajuhtimise meetodid



Variatsioonarvutus (antud kursuse põhimeetod
optimaaljuhtimise käsitlemisel)
Dünaamiline planeerimine (infoks ja optimaaljuhtimise
iseärasuste selgitamiseks)
Pontrjagini maksimumi printsiip (ainult infoks)
Optimaaljuhtimise meetodid:
variatsioonarvutus
Klassikalise variantsioonarvutuse ülesanne
tf

 I ( x )   F x, x , t dt

t0
 x (t ), x (t )  antud
f
 0


 Leida x (t ) ( ekstremaal)


min I ( x )
(max)
 x ( t )C


Oletame, et
x (t ) on ekstremaal.
x (t )   (t ) ,
  reaalarv
 (t )  variatsioon  (t0 )   (t f )  0 .
x(t) ?
tf
I ( )   F x   , x   , t dt
t0
dI ( )
0
d
ekstreemumi tarvilik tingimus
dI ( )
F d ( x   ) F d ( x   ) 





dt 


d
d
x
d

t  x
tf
0


F
F 


   dt  0
 x
x 
t


ositi 
tf
0
F
F
d  F 
t x dt  x  |t  t dt  x dt
tf
tf
tf
0
0
0
F t
 |t  0
x
f
0
dI ( )
 F d  F 
  (t )     dt  0
d
 x dt  x 
t
tf
0
F d  F 
   0
 x dt  x 
t  t0 , t f 
ekstreemumi tarvilik tingimus, Euleri võrrand.
Üldistused:
1)
tf
I ( x1 , x2 ,, xn )   F x1 , x2 ,, xn ; x1 , x 2 ,, x n ; t dt
t0
x1 (t0 ), x1 (t f );; xn (t0 ), xn (t f );
min I ;
x1 , x2 ,, xn  C
(max I )
F  d F  0

xi dt xi
i  1,2,, n
tarvilik tingimus
2) kitsendused
  j ( x1 , x2 ,, xn ; t )  0
  j ( x1 , x2 ,, xn ; x1 , x2 ,, xn ; t )  0
j=1,2,…,m
tf
tf
*


I    F    j (t ) j  dt   F dt
j 1
t 
t


*
m
0
0
*
F
 F d  F


0
i  1,2,, n 
 xi dt xi
  0
j  1,2,, m
 j
*
*
● süsteem n+m võrrandist
● ekstreemumi tarvilik tingimus
Variatsioonarvutus – kommentaarid (1)




Variatsioonarvutuse põhimõisted: funktsionaal,
ekstremaal
Funktsionaal on funktsiooni üldistus, mille argumendiks
on funktsioon (või funktsioonid mitme muutuja puhul) ja
väärtuseks arv
Trajektoori, millel funktsionaal saavutab miinimumi või
maksimumi nimetatakse ekstremaaliks
Variatsioonarvutuse sisuks on funktsionaalide
ekstremaalide arvutamine
Variatsioonarvutus – kommentaarid (2)


Klassikalise variatsioonarvutuse ülesande lahendamine
taandub Euleri võrrandi (2.järku differentsiaalvõrrand)
lahendamisele. Euleri võrrand on ekstreemumi tarvilik
tingimus
Mitmemuutujaga variatsioonarvutuse ülesande
lahendamine taandub diferentsiaalvõrrandite süsteemi
lahendamisele. Diferentsiaalvõrrandite süsteem on
mitmemuutuja ülesande puhul ekstreemumi tarvilik
tingimus
Variatsioonarvutus – kommentaarid (3)

Variatsioonarvutust on võimalik kasutades Lagrange`i
kordajate meetodit lahendada ka kitsendustega
ülesandeid st kasutada variantsioonarvutust
optimaaljuhtimise ülesannete lahendamisel
Näide 1 (satelliidi trajektoori korrigeerimine )
Juhitav süsteem:
  u (t )

2
1  2
I   () dt
20
Juhtimiskriteerium:
min I
u (t )
(0 )  1; (2)  0
 (0 )  1; 
 ( 2)  0

Lahendus:
1) Koostame olekumudeli:
x (t )  Ax(t )  Bu (t ),
 x1 (t ) 
x(t )  
,

 x2 (t )
x1 (t )  (t )
x1 (t )  x2 (t )
x 2 (t )  u (t )
kus
0 1
A
,

0 0 
0 
B   .
 1
2
1 2
I   u (t )dt
2
0 

F
 Ax (t )  Bu (t )  x (t )  0   (t )

kitsendus

F  F  T (t ) (t )
 1 (t ) 
 (t )  


(
t
)
 2 
1 2


I   u (t )  1 (t )( x2 (t )  x1 (t )) 2 (t )(u (t )  x2 (t )) dt


0 2
2
*
F
 u (t )  2 (t )
u
*
*
F
d F
 0,
0
u
dt u
*
F
0
x1
*
F
 1 (t )
x2
u (t )  2 (t )  0

1 (t )  0
2 (t )  1 (t )
*
F
 2 (t ) ,
x2
*
F
 1 (t ) ,
x1
tarvilik tingimus
x1 (t )  0  1 (t )  c1
2 (t )  1 (t )  2 (t )  c1t  c2
u (t )  2 (t )  c1t  c2
*
d F
 2 (t )
dt x2
*
d F
 1 (t )
dt x1
x2 (t )  u (t )  c1t  c2
c1 2
x1 (t )  x2 (t )  t  c2 t  c3
2
c1 3 c2 2
x1 (t )  t  t  c3t  c4
6
2
x1 (t )  (t )
 (t )
x2 (t )  
(0 )  1, (2)  0
 (0 )  1, 
 ( 2)  0

x1 (0 )  (0 )  c4  1
c1 3 c2 2
x1 (2)  (2)  (2)  2  c3 2  c4  0
6
2
1
 (0)  c  1
x (0)  
c1 2

x2 (2)  (2)  2  c2 2  c3  0
2
2
3
1
4 c  2c  3  c  3
2
1
3 1

7
2c1  2c2  1
c2 

2
 x (t )  1 t 3  7 t 2  t  1
 1
2
4

3 2 7
 x2 (t )  t  t  1
2
2

u (t )  3t  7

2
Pidevajasüsteemide optimaaljuhtimine
Juhitav süsteem:
x (t )  f x(t ), u (t )
Juhtimiskriteerium:
Ülesanne:
tf
I ( x, u )  x(t ), t |   F x, u , t dt
tf
min I ( x, u),
u(t )
kus I(x,u) on funktsionaal
t0
t0
tf
I  x, t |  t0  F ( x, u , t )  T  f ( x, u )  x dt
tf
t0
t0
Tähistame
H ( x, u,  )  F ( x, u, t )  T f ( x, u )
Hamiltoni funktsioon
tf
I  x, t |   H ( x, u ,  )  T xdt 
tf
t0
t0
tf
 x, t    x|   H ( x, u ,  )  T xdt
tf
T
t0
t0
Teisenduse sisu:
tf
tf
T
T
T


x
dt


x



|t  x dt

t0
tf
0
t0
Arendame I(x,u) Taylori ritta
x, u
tf
I  x , t   T x|   H ( x , u ,  )  T xdt 
tf
t0
t0






 t 
T
T
T
 
 t  H    ( x  x )   H  (u  u ) dt 

 
   ( x  x )|  




t
x 
u
  

x 
   t 


H
H  



u
x 
 


x    

u

x



 x

f
f
0
0
T
T
T
1  T  2  t
 x
x  |t 
2
2
x

f
0
  H
 x 2
1
T
T
  x u  
T
 H 
2



 u x 
2
R3 on Taylori rea jääkliige
 H 
u x    x  dt  R
3
 2 H   u 

2
u 
 T  
t
 T  H  

T H 
I  x    |t   x 
    u
 dt
u 

 x

  x
t 
tf
f
0
0
esimene variatsioon
I  0
ekstreemumi tarvilik tingimus




x      0 t  t0 , t  t f 
 x


H 

H
   0    

x
x

H

0

u
T
Algtingimused:
x(t0 ), x(t f )  s.t. x(t0 )  0
x(t f )  0
Võimalikud on ka teised variandid.
2
1

 t

2
T
 I  x
x  |t 
2
2
x

2
  H
 x 2
1
T
T
  x u  
T
 H 
2


 u x 
f
0
teine variatsioon
 2I  0
miinimumi piisav tingimus
 2
0
2
x
2

H

 x 2
  H T



 u x 
 H 
u x   0

2
 H

2
u 
 H 
u x    x  dt
 2 H   u 

2
u 
Näide 2
Statsionaarne juhitav süsteem:
 x (t )  Ax (t )  Bu (t )
 y (t )  Cx (t )

Juhtimiskriteerium:
tf
1 T
1 T
I ( x, u )  X (t f ) Sx(t f )   x (t )Qx (t )  u T (t ) Ru (t )dt
2
2t
S S , QQ , R R
0
T
Ülesanne:
T
T
min I ( x, u )
u (t )
Hamiltoni funktsioon:
1
H ( x, u ,  )  x (t )Qx (t )  u (t ) Ru (t )    Ax (t )  Bu (t )
2
T
T
T
Ekstreemumi tarvilikud tingimused:
H
 Ru (t )  B T  (t )  0
u
(1)
H
  (t )  Qx (t )  AT  (t )
x
(2)

x(t0 );  (t f ) 
 Sx(t f )
x(t f )
(1)
u (t )   R 1 BT  (t )
 (t ) otsime kujul  (t )  P(t ) x(t ),
kus P(t) nxn maatriks.
 x (t )  Ax(t )  Bu (t )  Ax(t )  BR 1 BT P(t ) x(t )
(3)
  (t )  P(t ) x(t )
(t )  P (t ) x(t )  P(t ) x (t )  Qx(t )  AT  (t )
(2)
Vaatleme ---------- avaldist
P(t ) x (t )  Qx(t )  AT P(t ) x(t )  P (t ) x(t )
(3)
x
P(t)
P(t ) x (t )  P(t ) Ax(t )  P(t )  BR 1 BT P(t ) x(t )
Võrdleme
P (t )  P(t ) A  A P(t )  P(t ) BR
T
1
BT P(t )  Qx(t )  0
T
 P (t )   P(t ) A  A P(t ) 

1 T
P
(
t
)
BR
B P(t )  Q

t
 P(t f )  S
tf 
t0
Riccati võrrand
u (t )   K (t ) x(t ); kus
 K (t )  R 1 B T P (t )

optimaalne olekuregulaator
Miinimumi piisavad tingimused:
 2I  0
S  0, Q  0, R  0 ( R 1!)
Erijuhtum:
tf   
P(t )  P
Riccati võrrand (algebraline võrrand)
(4)
0   P  A  AT P  PBR 1 BT P  Q
u(t )   Kx(t ),

kus
 K   R 1B T P

Praktikas oluline juhtum
Juhitav süsteem:  x (t )  Ax (t )  Bu (t )
 y (t )  Cx (t )


1 T
T

I
(
x
,
u
)

x
(
t
)
Qx
(
t
)

u
(t ) Ru (t )dt
Juhtimiskriteerium:

20
Q  0, R  0
T
T
Ülesanne: min I ( x, u )
Q

Q
,
R

R
u (t )

Optimaalne olekuregulaator (tulemus):
u (t )   Kx (t )
 K   R 1 B T P,

kus P on algebralise Riccati võrrandi (4) lahend.
Näide 3
Juhitav süsteem:
Olekumudel:
y(t )  u (t )
x1 (t )  y (t )
 x1 (t )  x2 (t )
 x (t )  u (t )
 2

Kriteerium:
1
2
2
I ( x, u )   x1  q2 x2  u 2 (t )dt
20
q2  0
min I ( x, u )
u (t )
x (t )  Ax (t )  Bu (t ), kus
Kaalumaatriksid
1 0 
Q
, R 1

0 q2 
0 1
A
;

0 0 
0 
B 
 1
Optimaalne regulaator
u (t )   Kx (t )
 K  R 1 B T P,

kus P on
0   PA  AT P  PBR 1 BT P  Q
lahend.
 p11

 p12
p12  0 1 0 0   p11






p22  0 0  1 0   p12
 p11

 p12
p12  0 
 p11
0 1 



p22  1
 p12
p12 


p22 
p12  1 0  0 0 




p22  0 q2  0 0 
p12  1  0  p12  1  p12  1
 p11  p12 p22  0  p11  p12 p22  p22
2
 2 p12  p22  q2  0  p22   q2  2 p12  p22  q2  2
2
Optimaalne regulaator
K  R B P  0
1
T
 q2  2
1 
 1

 1

q2  2 
1
q  2
u (t )   Kx(t )   x1 (t )  q2  2 x2 (t )   y (t )  q2  2 y (t )
 (1  q2  2 s )
u
1
s2
y
q2  2 s  1
H ( s)  2
s  q2  2 s  1
p1 , p2  0.5 q2  2  0.5 q2  2, kus 0  q2  
1)
2)
3)
4)
q2  0
q2  1
q2  2
q2  3
p1, 2  0.5
p1, 2  0.5
p1, 2  0.5
p1, 2  0.5
2  i 0.5 2
3  i 0.5
4  i 0  1
5  0.5
q2=0
iω
q2=1
q2=3
q2=3
q2=2

AJS: olulised optimaaljuhtimise ülesanded
▪ Oleku stabiliseerimine
▪ Väljundi stabiliseerimine
▪ Juhtimisülesanne üldjuhul (tagasiside + seadesuurus):
▫ Oleku järgi tagasiside ( + seadesuurus )
▫ Väljundi järgi tagasiside ( + seadesuurus )
▫ Kombineeritud tagasiside – tagasiside oleku järgi +
integreeriv tagasiside väljundi järgi
Olgu juhitav süsteem antud kujul:
 x (t )  Ax (t )  Bu (t )
 y (t )  Cx (t )

1) Oleku optimaalne stabiliseerimine

1 T
I ( x, u )   x (t )Qx (t )  u T (t ) Ru (t )dt
20
Q  0, R  0
min I ( x, u )  u (t )   Kx (t )
u (t )
2) Väljundi optimaalne stabiliseerimine

1
I ( y, u )    y T (t )Q1 y (t )  u T (t ) Ru (t )dt
20
y(t)=Cx(t)

1 T T
I ( x, u )   x C (t )Q1Cx (t )  u T (t ) Ru (t )dt
20 T
C Q1C  0, R  0
min I ( x, u )  u (t )   K Cx
 (t )
y (t )
u (t )
3) Optimaaljuhtimine üldjuhul

1

T
T

I
(

x
,
u
)


x
(
t
)
Q

x
(
t
)

u
(t ) Ru (t )dt


20

Q  0, R  0

x(t )  x(t )  xs (t )
min I (x, u )  u (t )   K x(t )  x (t )
s
 u (t )

1

T
T
I
(

y
,
u
)

[

y
(
t
)
Q

y
(
t
)

u
(t ) Ru (t )] dt
1


20

y (t )  y (t )  y s (t ), y (t )  Cx (t )
min I (y, u )  min I (x, u )
u (t )
 u (t )

4) Integreeriva komponendiga optimaaljuhtimine
 x (t )  Ax (t )  Bu (t )
 y (t )  Cx (t )

 x 
Moodustame uue olekuvektori z    , siis olekumudel
 y
on esitatav kujul
~
~
z (t )  A z (t )  B v(t ) , kus
~  A 0 ~ B
A
, B    , v(t )  u (t )

C 0 
0 
Juhtimiskriteerium on esitatav kujul

1 T ~
~
T
I ( z , v)   z (t )Qz (t )  v (t ) R v(t )dt
20
min I ( z , v)
v (t )
t
u (t )   K x x(t )  K y  y ( ) d
0
Juhtimiskriteeriumi kaalumaatriksite Q ja R valik
1) Eeldame, et Q ja R on diagonaalmaatriksid
2) Eeldame, et
xi (t )  xi max
u j (t )  u j max
3)
0
q11





1
Q
qii
, qii  2
x i max





qnn 
 0
4)
r11



R
rjj


 0
0


1
, rjj  2
u j max



rrr 
Diskreetajasüsteemi optimaaljuhtimine
Juhitav süsteem:
 x(k  1)  x(k )  u (k )
 y (k )  Cx (k )

Olekuregulaator: u(k)=-Kx(k)
Juhtimiskriteerium:
1  T
I ( x, u )   x (k )Qx (k )  u T (k ) Ru (k )
2 k 0
Q  0, R  0
min I ( x, u )
u(k )
Lahendus:
 Riccati võrrand
 P  Q   T PE  ( R   T P) 1  T P 

T
1 T
K

(
R


P

)
 P , P  0

u (k )   Kx (k )
Optimaaljuhtimise meetodid - dünaamiline planeerimine
x (t )  f x(t ), u (t ), t 
x(t0 ) , x(t f )
tf
min  F x, u , t dt
u ( t )U
t0
Optimaalsuse printsiip:
x2
x (t )
x (t1 )
x (t0 )
x (t0 )
x1
x(t f )
x (t f )
t
Olgu
x (t ) optimaalne trajektoor
x (t ) t0 , t f 

 


x (t )
t , t 
1
f
Tõestus:
t , t 

1
f
xn (t )
tf
tf
t , t   F x (t ), u (t ), t dt   F x (t ), u (t ), t dt
1
n
f
t1
t1
t1
tf
tf
 F x (t ), u (t ), t dt   F x (t ), u (t ), t dt   F x (t ), u (t ), t dt
t , t 
 F x (t ), u (t ), t dt   F x (t ), u (t ), t dt 
t0
t1
tf
tf
t0
0
n
t0

s.t.
x (t )
t1
t1
tf
t0
t1
 F x (t ), u (t ), t dt   F x (t ), u (t ), t dt
ei ole optimaalne vastuolu!
Ülesande lahendamine:
tf
S ( x, t )  min  F x, u , d
u ( t )U
t0  t  t f
t
f
x2
( x, t ) ( x, t )
x (t0 )
x1
x(t f )
t
∆t


t


S ( x, t )  min  F x, u , t t  min  F x, u , d   R (t )
u ( t )U
u ( t )U
'

t 
 
S ( x ', t ' )


t  t 't
f
S
S
S ( x ' , t ' )  S ( x, t ) 
, x 
, t  R1 (t )
x
x
x t
x t
x  x  x  x(t )  f ( x, u, )t  x(t )  R2 (t )  f ( x, u, )t
S ( x, t )  min F ( x, u, t )t  S ( x, t ) 
u ( t )U
S
S 

, f ( x, u, t )t  t  : t  R 3 (t )
x
t  t 0
S
 S


 min  F ( x, u , t ) 
, f ( x, u , t ) 

x
 t u ( t )U 

S ( x, t f )  0
Bellman’i võrrand
EKSTREEMUMI TARVILIK TINGIMUS!
tf
∆t
t0
(numbriliselt!)
Diskreetajasüsteemi optimaaljuhtimine dünaamilise
planeerimise baasil
Juhitav süsteem:
x (t )  f 1 x(t ), u (t ), t 
x(t0 ), x(t f )
Juhtimiskriteerium:
tf
I   F1 x(t ), u (t ), t dt  Gx(t f )
t0
min I
u ( t )U
diskreedime ülesande:
t=k∆t
k=0,1,2,…,N
s.t.
tf=N∆t
(t0=0)
x(t  t )  x(t ) x(kt  t )  x(kt )
x (t ) 

t
t
x(kt  t )  x(kt )  t f 1 x(kt ), u (kt )
N 1
I  t  F1 x(kt ), u (kt )  Gx( Nt )
k 0
x(k )  x(kt )
u (k )  u (kt )
f x(k ), u (k )  t f 1 x(k ), u (k )
F x(k ), u (k )  t F1 x(k ), u (k )
x(k  1)  x(k )  f x(k ), u (k )
u (k )  U
x(0)
N 1
I   F x(k ), u (k )  Gx( N )
k 0
min I
u(k )
k=0,1,2,…,N-1
u (0), u (1),, u ( N  1)  U
?
Lähtume optimaalsuse printsiibist:
(N-1)∆t ≤ t <N∆t
x(N-1) → x(N)
I N 1  F x( N  1), u ( N  1)  Gx( N )  min
u(N-1) ?
x( N )  x( N  1)  f x( N  1), u ( N  1)
I N 1  F x( N  1), u ( N  1)  Gx( N  1) 
 f x(n  1), u ( N  1)
sõltub ainult u(N-1) !
min I N 1  S N 1  S N 1 x( N  1)
u ( N 1)U
S N 1 x( N  1)  min I N 1 
u ( N 1)U
 min F x( N  1), u ( N  1)  Gx( N ) 
u ( N 1)U
 min F x( N  1), u ( N  1)  Gx( N  1) 
u ( N 1)U
 f x( N  1), u ( N  1)
(N-2)∆t ≤ t <N∆t
I N  2  F x( N  2), u ( N  2) 
 F x( N  1), u ( N  1)  Gx( N )
I N  2  F x( N  2), u ( N  2)  I N 1
S N 2 
min
u ( N  2 ),u ( N 1)
S N 1  min I N 1
u ( N 1)
I N 2
x( N  1)  x( N  2)  f x( N  2), u ( N  2)
S N 1 x( N  1)  S N 1 x( N  2)  f x( N  2), u ( N  2)
S N  2 x( N  2)  min I N  2 
u ( N 2)
u ( N 1)
 min F x( N  2), u ( N  2)  S N 1 x( N  1) 
u ( N 2)
 min F x( N  2), u ( N  2)  S N 1 x( N  2) 
u ( N 2)
 f x( N  2), u ( N  2)
u ( N  2)
( N  2)t  t  ( N  1)t
(N-3)∆t ≤ t <N∆t
I N  3  F x( N  3), u ( N  3) F x( N  2), u ( N  2) 
 F x( N  1), u ( N  1)  Gx( N )
I N 3  F x( N  3), u ( N  3)  I N  2
I N 3 
min
u ( N  3 ),u ( N  2 ),u ( N 1)
S N  2  S N  2  x ( N  2)
x( N  2)  x( N  3)  f x( N  3), u ( N  3)
S N  2 x( N  2)  S N  2 x( N  3)  f x( N  3), u ( N  3)
S N  3 x( N  3)  min I N  3 
u ( N 3)
u ( N 2)
u ( N 1)
 min F x( N  3), u ( N  3)  S N  2 x( N  2) 
u ( N 3 )
 min F x( N  3), u ( N  3) 
u ( N 3 )
 S N  2 x( N  3)  f x( N  2), u ( N  3)
(N-k)∆t ≤ t <N∆t
k=1,2,…,N
u ( N  1) 
u ( N  2) 


 optimaaljuhtimine
u ( N  k ) 
 U


u ( 2) 

u (1) 
u (0 ) 
x(0)
x(N-3)
x(N-2) x(N-1) x(N)
u(N-1)
u(N-2)
u(N-3)
Optimaalsusprintsiip