9. 상태변수방정식을이용한 제어시스템설계 -...
TRANSCRIPT
상태 변수 피드백 제어기
• 기준 입력이 0인 경우: 레귤레이터(regulator)
x Ax Bu= +y Cx=
[ ]
( )
1
21 2
1 1 2 2
n
n
n n
xx
u Kx k k k
x
k x k x k x
⎡ ⎤⎢ ⎥⎢ ⎥= − = −⎢ ⎥⎢ ⎥⎣ ⎦
= − + + +
상태 변수 피드백 제어기
( )x Ax BKx A BK x= − = −
( ) 0sI A BK− − =
( )( ) ( )1 2( ) nsI A BK s r s r s r− − = − − −
예제 9-11( )
( 1)G s
s s=
+( ) 100(1 0.1 )D s s= +
100(1 0.1 )1 ( ) ( ) 1 0( 1)
sD s G ss s
++ = + =
+2 11 100 0s s+ + =
0 1 00 1 1
x Ax Bu x u⎡ ⎤ ⎡ ⎤= + = +⎢ ⎥ ⎢ ⎥−⎣ ⎦ ⎣ ⎦
[ ]
( )
1 2
22 1
1 2
0 0 1 0( )
0 0 1 1
11
1
ssI A BK k k
s
ss k s k
k s k
⎛ ⎞⎡ ⎤ ⎡ ⎤ ⎡ ⎤− − = − −⎜ ⎟⎢ ⎥ ⎢ ⎥ ⎢ ⎥−⎣ ⎦ ⎣ ⎦ ⎣ ⎦⎝ ⎠
−⎡ ⎤= = + + +⎢ ⎥+ +⎣ ⎦
제어가능표준형에 대한상태 변수 피드백 제어기
1 1
2 2
0 1 2 1
0 1 0 0 00 0 1 0 0
1n n n
x xx x
u
x a a a a x−
⎡ ⎤ ⎡ ⎤ ⎡ ⎤ ⎡ ⎤⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥= +⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥− − − − ⎣ ⎦⎣ ⎦ ⎣ ⎦ ⎣ ⎦
11 1 0 0n n
ns a s a s a−−+ + + + =
11 1 0( ) 0n n
c ns s s sα α α α−−= + + + + =
제어가능표준형에 대한상태 변수 피드백 제어기
[ ]1 2
0 1 2 1
0 1 1 2 2 3 1
( )
0 1 0 0 00 0 1 0 0
1
0 1 0 00 0 1 0
n
n
n n
x A BK x
k k k x
a a a a
x
a k a k a k a k
−
−
= −
⎛ ⎞⎡ ⎤ ⎡ ⎤⎜ ⎟⎢ ⎥ ⎢ ⎥⎜ ⎟⎢ ⎥ ⎢ ⎥= −⎜ ⎟⎢ ⎥ ⎢ ⎥⎜ ⎟⎢ ⎥ ⎢ ⎥⎜ ⎟− − − − ⎣ ⎦⎣ ⎦⎝ ⎠⎡ ⎤⎢ ⎥⎢ ⎥=⎢ ⎥⎢ ⎥− − − − − − − −⎣ ⎦
제어가능표준형에 대한상태 변수 피드백 제어기
( ) ( ) ( )11 1 2 0 1 0n n
n ns a k s a k s a k−−+ + + + + + =
1 0 0
2 1 1
1 1n n n
k ak a
k a
αα
α − −
= −= −
= −
액커만의 공식(Ackermann’s formula)
[ ] 10 0 1 ( )C cK M Aα−=
2 1nCM B AB A B A B−⎡ ⎤= ⎣ ⎦
11 1 0( ) n n
c nA A A A Iα α α α−−= + + + +
예제 9-2
0 1 01 0 1
x x u⎡ ⎤ ⎡ ⎤= +⎢ ⎥ ⎢ ⎥−⎣ ⎦ ⎣ ⎦
[ ]1 0y x=
( )2 2( ) 2 4 4 0c s s s sα = + = + + =
0 0 1 0 0 11 1 0 1 1 0CM
⎡ ⎤⎡ ⎤ ⎡ ⎤ ⎡ ⎤ ⎡ ⎤= =⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥−⎣ ⎦ ⎣ ⎦ ⎣ ⎦ ⎣ ⎦⎣ ⎦
20 1 0 1 0 1 1 0 3 44 4
1 0 1 0 1 0 0 1 4 3cα⎛ ⎞⎡ ⎤ ⎡ ⎤ ⎡ ⎤ ⎡ ⎤ ⎡ ⎤
= + + =⎜ ⎟⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥− − − −⎣ ⎦ ⎣ ⎦ ⎣ ⎦ ⎣ ⎦ ⎣ ⎦⎝ ⎠
상태 변수 피드백 제어기
• 기준 입력이 0이 아닌 경우
0 ( ) ( )( ) F
R s D sR s
=
( ) ( )0 0x Ax Bu Ax B r Kx A BK x Br= + = + − = − +
( ) 10( ) ( )X s sI A BK BR s−= − +
상태 변수 피드백 제어기
• 기준 입력이 0이 아닌 경우
( ) 1
0
( )( )
Y s C sI A BK BR s
−= − +
( ) 1( ) ( )( ) F
Y s C sI A BK BD sR s
−= − +
예제 9-1에 대한 기준 입력이 0 이아닌 경우
( )
[ ] [ ]
1
01
2
( )( )
0 0 1 0 01 0 100 10
0 0 1 1 1
111 100
Y s C sI A BK BR s
ss
s s
−
−
= − +
⎛ ⎞⎡ ⎤ ⎡ ⎤ ⎡ ⎤ ⎡ ⎤= − +⎜ ⎟⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥−⎣ ⎦ ⎣ ⎦ ⎣ ⎦ ⎣ ⎦⎝ ⎠
=+ +
( ) 100FD s =
02
0 0
( )( ) ( ) ( ) 100( )( ) ( ) ( ) ( ) 11 100F
R sY s Y s Y s D sR s R s R s R s s s
= ⋅ = ⋅ =+ +
예제 9-1에 대한 기준 입력이 0 이아닌 경우
• 시스템 타입 2
( ) 11 100FD s s= +
2 20
( ) 1( ) ( ) 11 100( )( ) ( ) 11 100 11 100
FF
D sY s Y s sD sR s R s s s s s
⋅ += ⋅ = =
+ + + +
( )1 2( ) 100 11 100 10u t r r x x= + − +
상태 변수 추정기
ˆ ˆe ex A x B u Ly= + +
ˆ( ) ( ),x t x t t→ →∞
ˆe x x= − 0,e t→ →∞
ˆ ˆˆ
ˆ( ) ( )
e e
e e
e e
x x Ax Bu A x B u LyAx Bu A x B u LCxA LC x A x B B u
− = + − − −
= + − − −= − − + −
eA A LC= − eB B= ( )e A LC e= −
ˆ ˆ ˆ ˆ( ) ( )x A LC x Bu Ly Ax Bu L y Cx= − + + = + + −
상태 변수 추정기 설계
( )( ) ( )1 2
11 1 0
( )
0e n
n nn
s s s s
s s s
α β β β
α α α−−
= − − −
= + + + + =( ) 0sI A LC− − =
( ) ( )T T T TA LC A C L− = −
T
T
T
A AB CK L
↔
↔
↔
[ ]( )-10 0 1 ( )T T T
O eL M Aα=
( ) ( )2 1nT T T T T T T TOM C C A C A C A
−⎡ ⎤= ⎢ ⎥⎣ ⎦1
1 1 0( ) n ne nA A A A Iα α α α−
−= + + + +
[ ]-1( ) 0 0 1 Te OL A Mα=
예제 9-3
1 1
2 2
0 1 01 2 1
x xu
x x⎡ ⎤ ⎡ ⎤⎡ ⎤ ⎡ ⎤
= +⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥− −⎣ ⎦ ⎣ ⎦⎣ ⎦ ⎣ ⎦[ ] 1
2
1 0x
yx⎡ ⎤
= ⎢ ⎥⎣ ⎦
( )2 2( ) 2 4 4 0e s s s sα = + = + + =
[ ]
[ ]
1 01 0
0 10 11 0
1 2O
CM
CA
⎡ ⎤⎡ ⎤ ⎡ ⎤⎢ ⎥= = =⎡ ⎤⎢ ⎥ ⎢ ⎥⎢ ⎥⎣ ⎦ ⎣ ⎦⎢ ⎥⎢ ⎥− −⎣ ⎦⎣ ⎦
20 1 0 1 0 1 1 0 3 24 4
1 2 1 2 1 2 0 1 2 1eα⎛ ⎞⎡ ⎤ ⎡ ⎤ ⎡ ⎤ ⎡ ⎤ ⎡ ⎤
= + + =⎜ ⎟⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥− − − − − − − −⎣ ⎦ ⎣ ⎦ ⎣ ⎦ ⎣ ⎦ ⎣ ⎦⎝ ⎠
예제 9-3
13 2 1 0 0 22 1 0 1 1 1
L−
⎡ ⎤ ⎡ ⎤ ⎡ ⎤ ⎡ ⎤= =⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥− − −⎣ ⎦ ⎣ ⎦ ⎣ ⎦ ⎣ ⎦
( )1 11
22
ˆ ˆ0 1 0 2ˆ
ˆ1 2 1 1ˆ
x xu y x
xx
⎡ ⎤ ⎡ ⎤⎡ ⎤ ⎡ ⎤ ⎡ ⎤= + + −⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥− − −⎣ ⎦ ⎣ ⎦ ⎣ ⎦⎣ ⎦⎢ ⎥⎣ ⎦
예제 9-4
1 1
2 2
0 1 00 0 1
x xu
x x⎡ ⎤ ⎡ ⎤⎡ ⎤ ⎡ ⎤
= +⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥⎣ ⎦ ⎣ ⎦⎣ ⎦ ⎣ ⎦
[ ] 1
2
1 0x
yx⎡ ⎤
= ⎢ ⎥⎣ ⎦
( )2 2( ) 2 4 4 0e s s s sα = + = + + =
44
L ⎡ ⎤= ⎢ ⎥⎣ ⎦
[ ]2 1K =
u Kx= −
상태 변수 추정기 기반 제어기
• 기준 입력이 0인 경우
ˆu Kx= − ( )ˆ ˆ ˆ ˆx Ax BKx L y Cx= − + −
ˆx Ax BKx= −
( )ˆ ˆx LCx A BK LC x= + − −
상태 변수 추정기 기반 제어기
• 폐루프 시스템
( )( )( ) ( )
ˆ ˆ ˆ
ˆe x x Ax BKx LCx A BK LC x
A LC x x A LC e
= − = − − − − −
= − − = −
0x A BK BK xe A LC e
−⎡ ⎤ ⎡ ⎤ ⎡ ⎤=⎢ ⎥ ⎢ ⎥ ⎢ ⎥−⎣ ⎦ ⎣ ⎦ ⎣ ⎦
( )( )
00
00 0sI A BK BKsI A BK BK
sI A LCsI A LC− − −−⎡ ⎤ ⎡ ⎤
− = =⎢ ⎥ ⎢ ⎥ − −−⎣ ⎦ ⎣ ⎦
( ) ( ) 0sI A BK sI A LC− − − − =
예제 9-5( )ˆ ˆx A BK LC x Ly= − − + ˆu Kx= −
( ) 1( )( )
U s K sI A BK LC LY s
−= − − − −⎡ ⎤⎣ ⎦
( ) 1( )G s C sI A B−= −
( ) 1( )D s K sI A BK LC L
−= − − −⎡ ⎤⎣ ⎦
예제 9-6
[ ]9 6K = 24144
L ⎡ ⎤= ⎢ ⎥⎣ ⎦
( ) 1
2
1080 1296( )30 297sD s K sI A BK LC L
s s− +
= − − − =⎡ ⎤⎣ ⎦ + +
2
1( )G ss
=
4 3 2
( ) 1080 1296( ) 30 297 1080 1296
Y s sR s s s s s
+=
+ + + +
상태 변수 추정기 기반 제어기
• 폐루프 시스템
0 ˆ( )x Ax B r Kx= + −
0ˆ ˆ ˆ( ) ( )x LCx A LC x B r Kx= + − + −
ˆe x x= −
0( )x A BK x BKe Br= − + +
( )e A LC e= −
0( ) (0) ( ) ( ) ( ) ( )sX s x A BK X s BKE s BR s− = − + +
( ) (0) ( ) ( )sE s e A LC E s− = −
상태 변수 추정기 기반 제어기
• 폐루프 시스템
[ ] [ ]10( ) ( ) (0) ( ) ( )X s sI A BK x BKE s BR s−= − − + +
[ ] 1( ) ( ) (0)E s sI A LC e−= − −
[ ] 1
0
( ) ( )( )
Y s C sI A BK BR s
−= − −
0 ( ) ( )( ) F
R s D sR s
=
예제 9-7
1 1
2 2
0 1 00 0 1
x xu
x x⎡ ⎤ ⎡ ⎤⎡ ⎤ ⎡ ⎤
= +⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥⎣ ⎦ ⎣ ⎦⎣ ⎦ ⎣ ⎦
[ ] [ ]1 1 1
2 22
ˆ ˆ24 0 1 24 01 0 1 0
ˆ144 0 0 144 1ˆ
x x xu
x xx
⎡ ⎤ ⎛ ⎞⎡ ⎤ ⎡ ⎤⎡ ⎤ ⎡ ⎤ ⎡ ⎤ ⎡ ⎤= + − +⎢ ⎥ ⎜ ⎟⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎣ ⎦ ⎣ ⎦ ⎣ ⎦ ⎣ ⎦⎣ ⎦ ⎣ ⎦⎢ ⎥ ⎝ ⎠⎣ ⎦
[ ] 10
2
ˆ9 6
ˆx
u rx⎡ ⎤
= − ⎢ ⎥⎣ ⎦
[ ] 1
2
1 0x
yx⎡ ⎤
= ⎢ ⎥⎣ ⎦
2
2 2 20
( ) ( 12) 1( ) ( 3) ( 12) 6 9
Y s sR s s s s s
+= =
+ + + + ( ) 9FD s =
적분형 상태 변수 피드백 제어기
1 1
0 00 0 1n n
x xA Bu r
x xC+ +
⎡ ⎤ ⎡ ⎤⎡ ⎤ ⎡ ⎤ ⎡ ⎤= + +⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥−⎣ ⎦ ⎣ ⎦ ⎣ ⎦⎣ ⎦ ⎣ ⎦
1
2
1
n
n
xx
xx
x +
⎡ ⎤⎢ ⎥⎢ ⎥⎢ ⎥=⎢ ⎥⎢ ⎥⎢ ⎥⎣ ⎦
00
AA
C⎡ ⎤
= ⎢ ⎥−⎣ ⎦ 0B
B ⎡ ⎤= ⎢ ⎥⎣ ⎦
x Ax Bu= + [ ]1nu Kx K k x+= − = −
예제 9-8
0 10 1
A ⎡ ⎤= ⎢ ⎥−⎣ ⎦
01
B ⎡ ⎤= ⎢ ⎥⎣ ⎦
[ ]1 0C =
0 1 00
0 1 00
1 0 0
AA
C
⎡ ⎤⎡ ⎤ ⎢ ⎥= = −⎢ ⎥ ⎢ ⎥−⎣ ⎦ ⎢ ⎥−⎣ ⎦
01
00
BB
⎡ ⎤⎡ ⎤ ⎢ ⎥= =⎢ ⎥ ⎢ ⎥⎣ ⎦ ⎢ ⎥⎣ ⎦
[ ] [ ]1 2 3 192 23 -512K k k k= =