9. 상태변수방정식을이용한 제어시스템설계 -...

51
9. 상태 변수 방정식을 이용한 제어 시스템 설계

Upload: others

Post on 24-Mar-2020

4 views

Category:

Documents


1 download

TRANSCRIPT

9. 상태 변수 방정식을 이용한제어 시스템 설계

상태 변수 피드백 제어기

• 기준 입력이 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

⎛ ⎞⎡ ⎤ ⎡ ⎤ ⎡ ⎤− − = − −⎜ ⎟⎢ ⎥ ⎢ ⎥ ⎢ ⎥−⎣ ⎦ ⎣ ⎦ ⎣ ⎦⎝ ⎠

−⎡ ⎤= = + + +⎢ ⎥+ +⎣ ⎦

예제 9-1

1 2100, 10k k= = ( )1 2100 10u x x= − +

예제 9-1

제어가능표준형에 대한상태 변수 피드백 제어기

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α⎛ ⎞⎡ ⎤ ⎡ ⎤ ⎡ ⎤ ⎡ ⎤ ⎡ ⎤

= + + =⎜ ⎟⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥− − − −⎣ ⎦ ⎣ ⎦ ⎣ ⎦ ⎣ ⎦ ⎣ ⎦⎝ ⎠

예제 9-2

[ ] [ ]10 1 3 4

0 1 3 41 0 4 3

K−

⎡ ⎤ ⎡ ⎤= =⎢ ⎥ ⎢ ⎥−⎣ ⎦ ⎣ ⎦

( )1 23 4u x x= − +

예제 9-2

( )2 2( ) 4 8 16 0c s s s sα = + = + + = ( )1 215 8u x x= − +

상태 변수 피드백 제어기

• 기준 입력이 0이 아닌 경우

0u r Kx= −

( )0 1 2100 10u r x x= − +

상태 변수 피드백 제어기

• 기준 입력이 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 이아닌 경우

( )1 2( ) 100 100 10u t r x x= − +

예제 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= + − +

예제 9-1에 대한 기준 입력이 0 이아닌 경우

상태 변수 추정기

ˆ ˆ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-3

예제 9-3

예제 9-3

( )2 2( ) 4 8 16 0e s s s sα = + = + + =

63

L ⎡ ⎤= ⎢ ⎥⎣ ⎦

예제 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= −

예제 9-4

예제 9-4

상태 변수 추정기 기반 제어기

• 기준 입력이 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

예제 9-5

예제 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-5

2

12 4( )6 13sD s

s s+

=+ +

예제 9-5

( ) ( )D s G s• 의 보드 선도

상태 변수 추정기 기반 제어기

• 기준 입력이 0이 아닌 경우(첫 번째 방법)

( ) ( )0ˆ ˆx A BK LC x L y r= − − + −

ˆu Kx= −

예제 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

+=

+ + + +

예제 9-6

상태 변수 추정기 기반 제어기

• 기준 입력이 0이 아닌 경우(두 번째 방법)

0ˆ ˆ ˆ ˆ( ) ( )x Ax B r Kx L y Cx= + − + − 0 ˆu r Kx= −

상태 변수 추정기 기반 제어기

• 폐루프 시스템

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 =

예제 9-7

2

( ) 9( ) 6 9

Y sR s s s

=+ +

예제 9-7

( ) 6 9FD s s= +2

( ) 6 9( ) 6 9

Y s sR s s s

+=

+ +

적분형 상태 변수 피드백 제어기

1nx r y r Cx+ = − = −

1 1n nu Kx k x+ += − −

적분형 상태 변수 피드백 제어기

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= =

예제 9-8

예제 9-8