60
現代制御 Modern Control Theory 制御理論 古典制御 線形システムの入出力に注目 入力信号u(t)、出力信号y(t)をラプラス変換した U(s), Y(s)の比である伝達関数G(s) = Y(s)/U(s)システムを表現 現代制御 入出力だけではなく、システムの状態を表現す 状態変数を導入 システムの特性を状態変数の連立の1次微分方 程式で表現 1

fukumura/Control/ModernControl... · Translate this page

  • Upload
    dodien

  • View
    226

  • Download
    6

Embed Size (px)

Citation preview

Page 1: fukumura/Control/ModernControl... · Translate this page

現代制御Modern Control Theory

• 制御理論– 古典制御

• 線形システムの入出力に注目• 入力信号u(t)、出力信号y(t)をラプラス変換したU(s), Y(s)の比である伝達関数G(s) = Y(s)/U(s)でシステムを表現

– 現代制御• 入出力だけではなく、システムの状態を表現する状態変数を導入

• システムの特性を状態変数の連立の1次微分方程式で表現 1

Page 2: fukumura/Control/ModernControl... · Translate this page

現代制御Modern Control Theory

• 制御対象の入力と出力の関係を時間に関する動的な特性としてとらえる

• 制御対象を状態方程式と呼ばれる1階の常微分方程式で表現する

• 状態方程式における変数をベクトルで、定数係数を行列で扱うことで、次数の高い制御対象でも統一的に扱うことができる

• 行列を用いた代数計算を行うことで、より数学的に制御対象の解析・制御器の設計を行うことができる 2

Page 3: fukumura/Control/ModernControl... · Translate this page

状態方程式State Equation

• 制御対象の内部状態(制御対象の振る舞いを表現できるもの)を表す時間変数x(t)を状態として新たに導入.

• 制御対象の入力u(t)と出力y(t)の関係を1階の常微分方程式と出力方程式のペアで実現

3

Page 4: fukumura/Control/ModernControl... · Translate this page

• ダンパ・質量・ばね系バネとダンパでつながれた物体の運動方程式

ラプラス変換をする

伝達関数

u(t)

y(t)

u(t) = Md2y(t)

dt2+ B

dy(t)

dt+ Ky(t)

U(s) = Ms2Y (s) + BsY (s) + KY (s)

= (Ms2 + Bs + K)Y (s)

G(s) =Y (s)

U(s)

=1

Ms2 + Bs + K

古典制御でのシステムの表現Representation of System in Frequency Domain

伝達関数の極などの解析によって制御システムを設計 4

Page 5: fukumura/Control/ModernControl... · Translate this page

現代制御でのシステムの表現Representation of System in Modern Control Theory

• ダンパ・質量・ばね系

状態方程式 出力方程式

u(t)

y(t)

u(t) = Md2y(t)

dt2+ B

dy(t)

dt+ Ky(t)

状態変数として x1(t) = y(t)と x2(t) = y(t)

y(t) =�

1 0� �

x1(t)

x2(t)

d

dtx1(t) = y(t) = x2(t)

d

dtx2(t) = y(t) = � B

My(t) � K

My(t) +

1

Mu(t)

= � K

Mx1(t) � B

Mx2(t) +

1

Mu(t)

d

dt

�x1(t)

x2(t)

�=

�0 1

� KM � B

M

��x1(t)

x2(t)

�+

�01M

�u(t)

d

dtx(t) Ax(t) Bu(t)= + y(t) Cx(t)= 5

Page 6: fukumura/Control/ModernControl... · Translate this page

状態変数表現State Variable Representation

システムをn階の微分方程式ではなく、連立1階常微分方程式で記述し、微分方程式を一般的に求める

6

x:状態変数(n次元ベクトル)u:入力(m次元ベクトル)y:出力(l次元ベクトル)A:n×n行列B:n×m行列C: l×n行列D: l×m行列

d

dtx(t) = Ax(t) + Bu(t)

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

Page 7: fukumura/Control/ModernControl... · Translate this page

2質量系の状態方程式State Equation of Two Mass System

• 2物体がばねでつながれた2質量系

• 運動方程式M1

d2p1(t)

dt2� K (p2(t) � p1(t)) = f1(t)

M2d2p2(t)

dt2+ K (p2(t) � p1(t)) = f2(t) 7

Page 8: fukumura/Control/ModernControl... · Translate this page

2質量系の状態方程式State Equation of Two Mass System

• 2物体がばねでつながれた2質量系

• 状態変数

x(t) =

�����

p1(t)

p2(t)dp1(t)

dtdp2(t)

dt

�����8

Page 9: fukumura/Control/ModernControl... · Translate this page

2質量系の状態方程式State Equation of Two Mass System

• 2物体がばねでつながれた2質量系

• 状態方程式

dx(t)

dt=

d

dt

�����

p1(t)

p2(t)dp1(t)

dtdp2(t)

dt

�����=

�����

0 0 1 0

0 0 0 1

� KM1

KM1

0 0KM2

� KM2

0 0

�����

�����

p1(t)

p2(t)dp1(t)

dtdp2(t)

dt

�����+

�����

0 0

0 01

M10

0 1M2

�����

�f1(t)

f2(t)

Ax(t) Bu(t)

9

Page 10: fukumura/Control/ModernControl... · Translate this page

• 2物体がばねでつながれた2質量系

• 出力方程式 Cx(t)

y(t) =

�p1(t)

p2(t)

�=

�1 0 0 0

0 1 0 0

��

�����

p1(t)

p2(t)dp1(t)

dtdp2(t)

dt

�����

2質量系の状態方程式State Equation of Two Mass System

10

Page 11: fukumura/Control/ModernControl... · Translate this page

状態方程式から伝達関数への変換Transformation from State Equation to Transfer Function

11

d

dtx(t) = Ax(t) + Bu(t)

sX(s) = AX(s) + BU(s)

(sI � A) X(s) = BU(s)

X(s) = (sI � A)�1 BU(s)

Y (s) = CX(s) + DU(s)

Y (s) = CX(s) + DU(s)

= C (sI � A)�1 BU(s) + DU(s)

=�

C (sI � A)�1 B + D�

U(s)

ラプラス変換

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

代入

伝達関数

Page 12: fukumura/Control/ModernControl... · Translate this page

伝達関数から状態方程式への変換Transformation from Transfer Function to State Equation

であるとする。

に分解する

伝達関数 G(s) =Y (s)

U(s)を

12

Page 13: fukumura/Control/ModernControl... · Translate this page

伝達関数から状態方程式への変換Transformation from Transfer Function to State Equation

より

逆ラプラス変換すると

13

�L�1[W (s)] = w(t)

Page 14: fukumura/Control/ModernControl... · Translate this page

伝達関数から状態方程式への変換Transformation from Transfer Function to State Equation

状態変数として

とするx1(t) = w(t)

xi(t) =di�1w(t)

dti�1(2 < i � n)

d

dtxi(t) =

diw(t)

dti= xi+1(t) (i = 1, 2, · · · , n � 1)

14

Page 15: fukumura/Control/ModernControl... · Translate this page

伝達関数から状態方程式への変換Transformation from Transfer Function to State Equation

状態方程式の形にまとめると

すなわち

15

B =

��������

0

0...

0

1

��������

Page 16: fukumura/Control/ModernControl... · Translate this page

伝達関数から状態方程式への変換Transformation from Transfer Function to State Equation

出力方程式は

より

逆ラプラス変換して

16

Page 17: fukumura/Control/ModernControl... · Translate this page

出力方程式の形にまとめると

すなわち

伝達関数から状態方程式への変換Transformation from Transfer Function to State Equation

17

Page 18: fukumura/Control/ModernControl... · Translate this page

まとめると、伝達関数が

のときのシステムの状態変数表現の一例は

B =

��������

0

0...

0

1

��������

d

dtx(t) = Ax(t) + Bu(t)

y(t) = Cx(t)

伝達関数から状態方程式への変換Transformation from Transfer Function to State Equation

18

Page 19: fukumura/Control/ModernControl... · Translate this page

座標変換Coordinate Transformation

• 状態変数の選択は一意ではない– 例:バネ・マス・ダンパ系などで、変数の単位を変える

– 状態x(t)を正則行列により変換

T∈Rn×nで、正則である変換行列を考える

x(t) = Tx(t) x(t) = T�1x(t)

19

Page 20: fukumura/Control/ModernControl... · Translate this page

dx(t)

dt= T�1 dx(t)

dt

= T�1 (Ax(t) + Bu(t))

= T�1ATx(t) + T�1Bu(t)

= Ax(t) + Bu(t) 新しい状態方程式

座標変換Coordinate Transformation

20

ただし,A = T�1AT, B = T�1B

状態 x(t)を時間微分して状態方程式を代入

Page 21: fukumura/Control/ModernControl... · Translate this page

• 出力は

システムの入力u(t)と出力y(t)は不変⇒ 状態変数が異なっても入出力は同じ

Tを座標変換行列21

新しい出力方程式

ただし,C = CT, D = D

座標変換Coordinate Transformation

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

= Cx(t) + Du(t)

Page 22: fukumura/Control/ModernControl... · Translate this page

状態方程式の解

x(t) = eAtx(0) +

� t

0eA(t��)Bu(�)d�

eAt:遷移行列

状態方程式の解Solution of State Equation

�x(t) = Ax(t) + Bu(t)

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

eAt = In + At +1

2!A2t2 + · · · =

��

k=0

1

k!Aktk

22

Page 23: fukumura/Control/ModernControl... · Translate this page

d

dteAt = A + A2t +

1

2!A3t2 · · ·

= A(I + At +1

2!A2t2 + · · · )

= AeAt

遷移行列の性質Characteristics of Transition Matrix

eAt = In + At +1

2!A2t2 + · · · =

��

k=0

1

k!Aktk

両辺をtで微分

23

Page 24: fukumura/Control/ModernControl... · Translate this page

状態方程式の解の確認Solution of State Equation

x(t) = eAtx(0) +

� t

0eA(t��)Bu(�)d�

両辺をtで微分

dx(t)

dt=

d

dteAtx(0) +

d

dt

� t

0eA(t��)Bu(�)d�

= AeAtx(0) + A

� t

0eA(t��)Bu(�)d� + Bu(t)

= A

�eAtx(0) +

� t

0eA(t��)Bu(�)d�

�+ Bu(t)

= Ax(t) + Bu(t)

24

Page 25: fukumura/Control/ModernControl... · Translate this page

出力方程式の解Solution of Output Equation

�x(t) = Ax(t) + Bu(t)

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

出力方程式に代入

y(t) = CeAtx(0) +

� t

0CeA(t��)Bu(�)d� + Du(t)

u(t)=0のときの応答⇒ 零入力応答

x(0)=0のときの応答⇒ 零状態応答

25

Page 26: fukumura/Control/ModernControl... · Translate this page

遷移行列の求め方Solution of Transition Matrix

Aが対角行列(n×n)の場合

ならば

A =

����

�1 0 · · · 00 �2 · · · 0...

. . ....

0 0 · · · �n

����

Ak =

����

�1k 0 · · · 0

0 �2k · · · 0

.... . .

...0 0 · · · �n

k

����

26

Page 27: fukumura/Control/ModernControl... · Translate this page

eAt =��

k=0

1

k!Aktk =

��

k=0

1

k!

�����

�1k 0 · · · 0

0 �2k · · · 0

.... . .

...

0 0 · · · �nk

�����tk

=��

k=0

�����

1k!�1

ktk 0 · · · 0

0 1k!�2

ktk · · · 0...

. . ....

0 0 · · · 1k!�n

ktk

�����

=

�����

e�1t 0 · · · 0

0 e�2t · · · 0...

. . ....

0 0 · · · e�nt

�����

遷移行列の求め方Solution of Transition Matrix

27

Page 28: fukumura/Control/ModernControl... · Translate this page

遷移行列の求め方Solution of Transition Matrix

Aが対角行列でない場合、対角化するL=T−1AT とする

TはAの固有ベクトルからなる行列Lの対角成分はAの固有値

A=TLT−1であるからAn = (TLT−1)n=TLnT−1

であるので

28

Page 29: fukumura/Control/ModernControl... · Translate this page

遷移行列の求め方Solution of Transition Matrix

eAt = In + At +1

2!A2t2 + · · ·

= TInT�1 + T�T�1t +1

2!

�T�T�1

�2t2 + · · ·

= TInT�1 + T�T�1t + T

�1

2!�2t2

�T�1 + · · ·

= T

�In + �t +

1

2!�2t2 + · · ·

�T�1

= T�e�t

�T�1

29

Page 30: fukumura/Control/ModernControl... · Translate this page

状態方程式

出力方程式

例題Example

零状態応答

u(t) = 1 (t � 0) ステップ応答

y(t) =

�1

0

�T

x(t)

x(0) =

�0

0

x(t) =

�0 1

�6 �5

�x(t) +

�0

1

�u(t)

30

Page 31: fukumura/Control/ModernControl... · Translate this page

例題Example

|�I � A| = �(� + 5) + 6 = �2 + 5� + 6

= (� + 2)(� + 3)

A =

�0 1

�6 �5

の固有値、固有ベクトルを求める

T =

�1 1

�2 �3

�, � =

��2 0

0 �3

�とすると

�1

�2

�,

�1

�3

�固有値は−2, −3。それぞれに対応する固有ベクトルを求めると

31

Page 32: fukumura/Control/ModernControl... · Translate this page

例題Example

32

Page 33: fukumura/Control/ModernControl... · Translate this page

例題Example

eAt = T

� ��k=0

1k! (�2t)k 0

0��

k=01k! (�3t)k

�T�1

=

�1 1

�2 �3

��e�2t 0

0 e�3t

��3 1

�2 �1

=

�3e�2t � 2e�3t e�2t � e�3t

�6e�2t + 6e�3t �2e�2t + 3e�3t

eAt の各要素は固有値 e�1t, e�2t の線形和になる

33

Page 34: fukumura/Control/ModernControl... · Translate this page

例題Example

出力 y(t)も e�1t, e�2t の線形和34

Page 35: fukumura/Control/ModernControl... · Translate this page

安定性の条件Stability Condition

システムの安定性は入力u(t)=0の場合を考える。と書けるので、

35

y(t) = CeAtx(0)

limt��

y(t) = 0 であれば limt��

eAt = 0

limt��

e�it = 0 (i = 1, 2, · · · , n)

⇔⇔

Re(�i) < 0 (i = 1, 2, · · · , n)

システムが漸近安定であるためには行列Aのすべての固有値の実部が負

Page 36: fukumura/Control/ModernControl... · Translate this page

伝達関数の安定性条件との関係Relation to Stability Condition of Transfer Function

状態方程式で表された伝達関数は

伝達関数の分母の多項式det(sI – A)が重要安定条件は特性方程式の解の実部がすべて負

36

G(s) = C (sI � A)�1 B + D

(sI � A)�1 =adj (sI � A)

det (sI � A) なので

G(s) =Cadj (sI � A) B

det (sI � A)+ D

adj (sI � A) は行列 sI � Aの余因子行列

Page 37: fukumura/Control/ModernControl... · Translate this page

伝達関数の安定性条件との関係Relation to Stability Condition of Transfer Function

⇒ G(s)の極と行列Aの固有値は一致

状態方程式表現でも、安定条件は一致

37

det (sI � A) = (s � �1) (s � �2) · · · (s � �n)

Page 38: fukumura/Control/ModernControl... · Translate this page

可制御Controllability

任意の初期時刻t0に対して状態がx0にあるとき、有限時間t1において任意の状態x1にシステムをもっていくような入力u (t)が存在すること。行列A,Bによって決定

の行列がrankV = nであれば可制御

この条件が満たされない場合、状態変数の一部が入力u(t)に影響されない

V =�

B AB A2B · · · An�1B�

38

Page 39: fukumura/Control/ModernControl... · Translate this page

例題Example

以下のシステムの可制御性について調べよ

39

d

dt

�x1(t)

x2(t)

�=

�1 0

0 1

� �x1(t)

x2(t)

�+

�1

1

�u(t)

制御工学例題10-6

Page 40: fukumura/Control/ModernControl... · Translate this page

例題Example

状態x(t)は2次元なので

より

rank V = 1より、可制御ではない

40

V =�

B AB�

=

�1 11 1

B =

�11

AB =

�1 00 1

� �11

�=

�11

Page 41: fukumura/Control/ModernControl... · Translate this page

例題Example

Vの中から線形独立な列ベクトルv1を選ぶ

T=[v1 v2]が正則になるようにv2を選ぶ

このTにより座標変換を行う

41

V =

�1 11 1

�より v1 =

�11

v2 =

�01

�とすれば T =

�1 01 1

�T�1 =

�1 0

�1 1

Page 42: fukumura/Control/ModernControl... · Translate this page

例題Example

座標変換後のシステムは

42

A = T�1AT =

�1 0

�1 1

� �1 00 1

� �1 01 1

�=

�1 00 1

B = T�1B =

�1 0

�1 1

� �11

�=

�10

d

dt

�x1(t)

x2(t)

�=

�1 0

0 1

� �x1(t)

x2(t)

�+

�1

0

�u(t)

状態 x2(t)は入力 u(t)の影響を受けていない

�ddtx1(t) = x1(t) + u(t)ddtx2(t) = x2(t)

Page 43: fukumura/Control/ModernControl... · Translate this page

可観測Observability

入力が既知であるシステムにおいて、初期時刻t0から任意の時刻t1までの出力y(t)を観測することによって初期状態x0の状態が一意に決定できるとき、可観測

x0がわかれば任意の時刻の状態を知ることができる

43

Page 44: fukumura/Control/ModernControl... · Translate this page

可観測の条件

条件を満たさない場合、状態変数x(t)の一部が出力y(t)に影響を及ぼさない

についてrank N = nの場合可観測NT =

������

CCACA2

...CAn�1

������

可観測Observability

44

Page 45: fukumura/Control/ModernControl... · Translate this page

以下のシステムの可観測性について調べよ

例題Example

45

d

dt

�x1(t)

x2(t)

�=

�1 0

0 1

� �x1(t)

x2(t)

�+

�1

1

�u(t)

y(t) =�

1 1� �

x1(t)

x2(t)

制御工学例題10-7

Page 46: fukumura/Control/ModernControl... · Translate this page

例題Example

状態x(t)は2次元なので

より

rank N = 1より、可観測ではない

46

C =�

1 1�

CA =�

1 1� �

1 00 1

�=

�1 1

NT =

�C

CA

�=

�1 11 1

Page 47: fukumura/Control/ModernControl... · Translate this page

例題Example

NTの中から線形独立な行ベクトルw1Tを選ぶ

このW−1=Tにより座標変換を行う

47

w1T =

�1 1

w2T =

�0 1

� とすればW =

�1 10 1

�W�1 =

�1 �10 1

W =

�w1

T

w2T

�が正則になるようにw2 を選ぶ

Page 48: fukumura/Control/ModernControl... · Translate this page

例題Example

座標変換後のシステムはd

dt

�x1(t)

x2(t)

�=

�1 0

0 1

� �x1(t)

x2(t)

�+

�2

1

�u(t)

y(t) =�

1 0� �

x1(t)

x2(t)

�= x1(t)

48出力 y(t)は状態 x2(t)の影響を受けていない

A = T�1AT =

�1 10 1

� �1 00 1

� �1 �10 1

�=

�1 00 1

B = T�1B =

�1 10 1

� �11

�=

�21

C = CT =�

1 1� �

1 �10 1

�=

�1 0

Page 49: fukumura/Control/ModernControl... · Translate this page

任意の時刻において、状態x(t)の値が制御に利用可能であるとする。状態変数にある適当なゲインFを乗じて制御入力を決定

A+BFの固有値を望ましい値になるようにFを決定する→極配置法

状態フィードバック制御State Feedback Control

49

u(t) = Fx(t)

x(t) = Ax(t) + Bu(t) = (A + BF )x(t)

Page 50: fukumura/Control/ModernControl... · Translate this page

以下の状態方程式で表されるシステム

に対し、システムの極を−1, −2とする状態フィードバック行列Fを求めよ

例題Example

d

dt

�x1(t)

x2(t)

�=

�0 1

1 1

� �x1(t)

x2(t)

�+

�0

1

�u(t)

50制御工学例題10-8

Page 51: fukumura/Control/ModernControl... · Translate this page

状態フィードバック入力を

とすると

例題Example

u(t) = Fx(t) =�

f1 f2

�x(t)

d

dt

�x1(t)

x2(t)

�=

�0 1

1 1

��x1(t)

x2(t)

�+

�0

1

� �f1 f2

� �x1(t)

x2(t)

=

�0 1

1 1

��x1(t)

x2(t)

�+

�0 0

f1 f2

��x1(t)

x2(t)

=

�0 1

1 + f1 1 + f2

��x1(t)

x2(t)

= (A + BF )x(t) 51

Page 52: fukumura/Control/ModernControl... · Translate this page

状態フィードバックされた閉ループシステムの特性多項式は

例題Example

det (sI � (A + BF )) = det

��s 0

0 s

��

�0 1

1 + f1 1 + f2

��

= det

�s �1

�(1 + f1) s � (1 + f2)

= s2 � (1 + f2)s � (1 + f1)

= (s + 1)(s + 2)

= s2 + 3s + 2

52

Page 53: fukumura/Control/ModernControl... · Translate this page

係数を比較して

例題Example

� (1 + f2) = 3

� (1 + f1) = 2

f1 = �3

f2 = �4

53

Page 54: fukumura/Control/ModernControl... · Translate this page

極配置問題Pole Assignment Problem

1入力で可制御なシステムであれば、状態フィードバックにより望ましい極に一致させ、安定化することが可能

– 導出は省略

54

Page 55: fukumura/Control/ModernControl... · Translate this page

最適制御Optimal Control

• 1入力で可制御なシステムについては、望ましいシステムの極が与えられれば状態フィードバック行列Fを求めることができる

• 多入力であるシステムの場合、状態フィードバック行列が一意に決まらない(不良設定問題)

55

Page 56: fukumura/Control/ModernControl... · Translate this page

以下の状態方程式で表される2入力システム

状態フィードバックが

であるとき

例Example

d

dt

�x1(t)

x2(t)

�=

�1 0

0 1

� �x1(t)

x2(t)

�+

�1 0

0 1

��u1(t)

u2(t)

�u1(t)

u2(t)

�=

��2 0

0 �3

��x1(t)

x2(t)

det (sI � (A + BF )) = det

��s 0

0 s

��

��1 0

0 1

�+

��2 0

0 �3

���

= det

��s + 1 0

0 s + 2

��

= s2 + 3s + 2 56

Page 57: fukumura/Control/ModernControl... · Translate this page

状態フィードバックが

であるとき

例Example

�u1(t)

u2(t)

�=

��3 0

0 �2

��x1(t)

x2(t)

det (sI � (A + BF )) = det

��s 0

0 s

��

��1 0

0 1

�+

��3 0

0 �2

���

= det

��s + 2 0

0 s + 1

��

= s2 + 3s + 2

57

Page 58: fukumura/Control/ModernControl... · Translate this page

状態フィードバックが

であるとき

状態フィードバックが異なるが、全て同じ特性方程式になる

例Example

�u1(t)

u2(t)

�=

��1 1

�2 �4

��x1(t)

x2(t)

det (sI � (A + BF )) = det

��s 0

0 s

��

��1 0

0 1

�+

��1 1

�2 �4

���

= det

��s �1

2 s + 3

��

= s2 + 3s + 2

58

Page 59: fukumura/Control/ModernControl... · Translate this page

最適制御Optimal Control

• 解を一意にするため、与えられた制御目標に加えて、ある評価関数を最小にする制御入力を求める

• 通常は制御入力に関する評価関数を加える

• 特に、制御量を一定に保つ定値制御が目的である場合を最適レギュレータ問題

Q, Rは適当な次元の定数行列、Qは半正定な対称行列、Rは正定な対称行列

J =1

2

� �

0

�x(t)T Qx(t) + u(t)T Ru(t)

�dt

59

Page 60: fukumura/Control/ModernControl... · Translate this page

リカッチ(Riccati)方程式

この式を満たすn×nの対称行列Pが存在し、さらに

AT P + PA � PBR�1BT P + Q = 0

F = R�1BT P とおくとu(t) = Fx(t) を用いた閉ループ系x(t) = (A + BF )x(t) が安定になるならば、この制御ゲイン F を使った閉ループ制御系が評価関数を最小にする

最適レギュレータ問題の解Solution of Optimal Regulator

Pは数値的に解く60