制御工学(2, 3系)

制御工学(2, 3系)
Control Engineering
担当:福村 直博(3系)
Naohiro Fukumura
部屋:F-408
電話:0532-44-6884
E-Mail: [email protected]
HP: http://www.bmcs.cs.tut.ac.jp/~fukumura/Control/
制御理論
Control theory
• 制御とは:
– ある変量をある目的に適合するように対象と
なっているものに所要の操作を加えること
• 対象=制御対象
– 例:航空機、ロボット、空調、車のエンジン、
電力、ハードディスク、化学プロセス、工作
機械など
• 目的
– ある変量を希望の値(目標値)あるいはある
軌道(目標軌道)に近づけること
1
物理学
Physics
• あるシステムに何らかの入力を加えた場
合に、どのように出力(変化)するかを
予測する
ダンパ・質量・ばね系 (spring-mass-damper system)
d2 x(t)
dx(t)
f (t) = M
+B
+ Kx(t)
2
dt
dt
f(t)が与えられた時の
x(t)の解を求める
• システムのモデル(数式表現)の推定を含む
2
制御
Control
• システムが所望の出力値になるような入力、
もしくはその入力の決定方法を求める
ダンパ・質量・ばね系 (spring-mass-damper system)
d2 x(t)
dx(t)
f (t) = M
+B
+ Kx(t)
2
dt
dt
x(t)をある位置に静止させる
ある軌道に沿って移動させる
どのようなf(t)を与え
なければならないか
3
制御工学
Control Engineering
• 物理学(Physics)
– あるシステムにある入力を加えたらどのような
出力が得られるか
入力 x
システムg(x)
出力 y
• 制御工学(Control engineering)
– システムがある与えられた目標値を出力する
ためにどのような入力が必要か
入力 x
システムg(x)
出力 y
目標値 yd
工学においては、後者の問題の方が多い
4
制御の変量と目的の例
Controlled variable and objective
• ロボットアーム(Manipulator)
– 手先位置をある位置に移動する
– 手先位置を障害物を避ける軌道に沿って移動する
• 同じ問題は例えば移動ロボットにも当てはまる
• 航空機(Airplane)
– ある高度を維持する
– ある経路を通る
• 電力(electric power)
– 電圧を○○[V]にする
• 空調(air conditioner)
– 部屋の温度を〇〇度にする
5
制御の種類
Kinds of control
• サーボ制御(Servo control):機械的な位置を
出力として、それを制御する。希望値の
変化に出力を追従させる。追値制御
(Variable value control)
• プロセス制御(Process control):炉内の温度を
制御するような場合。希望値は一定。定
置制御 (Constant value control)
6
制御理論
Control theory
• 制御目標には共通性が有する
• 制御対象は様々だが、その特性を微分
方程式などの数式モデルで表すことに
よって、一般的な記述が可能
• 制御対象の違いに関わらず、一般的な
方法論が成立する=制御理論
7
水位系のモデル
Water level model
断面積Aで流量係数(出口抵抗)がRである
タンクにqi(t)だけ水が流入したときの水位
h(t)との関係。ただしqo(t)を流出量とする。
dh(t)
qi (t) qo (t) = A
dt
h(t) = Rqo (t)
より
qi(t)
R
dh(t)
1
A
+ h(t) = qi (t)
dt
R
h(t)
qo(t)
8
機械振動系
Mechanical vibration system
バネとダンパでつながれた物体の動きをモデル化
ダンパ・質量・ばね系 (Spring-mass-damper system)
運動方程式 (Motion equation)
d2 x(t)
dx(t)
f (t) = M
+B
+ Kx(t)
2
dt
dt
9
電気回路システム
Electric circuit system
抵抗、コンデンサ、コイルによる回路システム
直列RLC回路
R
ei (t)
キルヒホッフの電圧則(Kirchhoff's law)
L
i(t)
C
di(t)
1
ei (t) = L
+ Ri(t) +
i(t)dt
dt
C
1
eo (t) =
i(t)dt
C
eo (t)
d2 eo (t)
deo (t)
ei (t) = LC
+ RC
+ eo (t)
2
dt
dt
2次の微分方程式=ダンパ・質量・バネ系と同じ
同じ制御則が使える
10
システム(系)
System
様々な機能を有する複数の要素が何らか
の相互作用で結合されている集合
ロボットなどの機械、電気回路だけでなく、
社会経済システム、生物システム、情報シ
ステムなど
11
システムの性質
Characteristics of system
• 因果性 (Causality)
x(t)=0, t<0である限り出力はt<0ではy(t)=0である
• 入力が0の間は必ず出力は0である
• 原因より先に結果が生じない
• 時不変性 (Time-invariance)
– 時刻0から、x(t)という入力をシステムに与え
たときにy(t)という出力が得られるとき、時刻
τからx(t-τ)という入力をシステムに与えたとき
にはy(t-τ)という出力が得られる
• システムの性質が時間原点の選び方に無関係
• 厳密にはなりたたないケースが多い
→成り立つと仮定
12
システムの性質
Characteristics of system
• 線形性 (Linearity)
入力x1(t)に対する出力をy1(t)、入力x2(t)に対
する出力をy2(t)であるとき、任意の実数a,bに
ついてax1(t)+bx2(t)を入力とすると、出力は
ay1(t)+by2(t)になる
• 重ね合わせの原理
• 実際のシステムでは真に線形なシステムはない
→ある範囲に限って線形に近似して考える
13
システムの性質
Characteristics of system
• これらの3つの条件をもつシステムを
扱う
– 数学的な取扱が容易
– 特に後の2つを合わせて線形時不変システ
ム(linear time-invariant system) LTIシステ
ムと呼ぶ
14
閉ループ制御と開ループ制御
Closed-loop and open-loop control systems
• 制御とはシステムが所望の出力値にな
るような入力、もしくはその入力の決
定方法を求めること
• 例題:室温制御
– ストーブなど
• スイッチを入れれば暖める。一定時間後に停止
すると仮定
• 熱量で設定
15
ストーブによる室温制御
Room temperature control by a heater
• どの程度の熱量(u)で暖めれば温度(T)にな
るか、事前に調べておく
⇒ストーブの熱量(入力u)と室温(出力T)の
関係が予測可能
=システムの特性を表す関数Gがわかる
入力u システム 出力 T=G(u)
G(u)
これをうまく使う方法は?
16
ストーブによる室温制御
Room temperature control by a heater
システムの特性を表す関数Gの逆関数を用いる
入力u システム 出力 T=G(u)
G(u)
入力と出力の関係を
反転したものを使う
入力T
出力 u = G
1
(T )
17
開ループ制御
Open-loop control
対象であるシステムの特性がy=G(u)で表され、
u=G−1(y)が存在するならば、それをコントロー
ラとして利用
入力 y
出力 u=G−1(y)
目標値
操作量
システム
コントローラ
y = G(u) = G(G
1
制御量
(y d )) = y d なので必ず y = y d になる
開ループ制御
18
開ループ制御
Open-Loop Control
目標値
コントローラ
操作量
制御量
制御対象
• 逆関数の有無に関わらず、あらかじめ計算された
入力に従い、システムの出力とは独立した制御
• 信号が一方向 ⇒ フィードフォワード制御 (Feed
Forward Control)ともいう
• センサが不要で低コスト
• システムの関数G(u)が正確なら、望ましい出力を
する入力uの計算が容易
19
開ループ制御の条件
Requirement for open-loop control
• システムの動作特性G(u)が
– 完全に把握されていること
– 動作中にそれらの特性が変化しないこと
• 外乱(disturbance)が無い
– 外乱:システムに加わる、入力以外の操作不能な入力
• システムの特性G(u)が完全に把握されているこ
とはほとんどない
• 外乱が無いという状況もない
制御理論とはこのような条件下で、入力を適切に操作
して目標値に近づけるコントローラを設計する理論
20
開ループ制御の欠点
Defects of open-loop control
• ストーブの例
– 目標温度に達しなくても、ストーブがオフ
になれば終わり。
– 部屋にいる人数などの条件によって、温度
変化が変わる可能性(正確な関数を求める
ことが難しい場合がある)
– 途中で誰かが外へ出るためにドアを開ける
と、温度が変わり、最終的に適温に達しな
い(外乱に対して修正動作ができない)
21
人が調整するならば、どうするか?
How do you control the system?
室温に応じて、ストーブの熱量を調節する。寒く
感じれば強くし、暑くなれば弱くしたり止める
暑い?
寒い?
脳
熱量
手
ストーブ
温度Tr
部屋
皮膚の受容器
22
自動化するには
How to automate this process
• 現在の温度Trを温度センサで計測
• 目標温度Tdとの偏差eに応じて熱量を決定
閉ループ制御 (closed loop control)
フィードバック制御 (feedback control)
設定温度Td 偏差e
コントローラ
+
-
熱量
ストーブ
温度Tr
部屋
温度センサ
エアコン
23
フィードバック制御 Feedback control
閉ループ制御 Open-loop control
• 制御機能が出力にいくらか依存する特性を
有する制御
• 制御量を測定して、それを目標値と比較して
偏差に応じて制御入力を修正
目標値 偏差
コントローラ
+
-
制御対象
制御量
センサ
24
制御工学
Control engineering
フィードバック制御で制御するときのコントローラを
どのようにすれば良いか
– なぜフィードバック制御が良いのか
– 制御対象やコントローラの数学的な記述方法
• ラプラス変換を利用したシステム表現→古典制御
• 状態変数を使ったシステム表現→現代制御
– システムの伝達関数の概念
• システムの特性の表示方法
– システムの基本的な要素の性質
– システムの安定判別法
– 望ましい結果をもたらすコントローラーの設計法
25
ブロック線図
block diagrams
システムの内部やシステムと環境の間に
信号が伝達する。この構造を表現するた
めに図を使う。
– 要素をブロック
– 信号(伝わる向き)を矢印
で表す。
システムの入出力関係
入力
システム
あるいは
要素
出力(応答)
26
ブロック線図の基礎
Fundamentals of block diagrams
a. 加え合わせ点
Summing point
x1± x2
x1
b. 引き出し点
Takeoff point
Transfer element
x
x
x
+
±
x
Gx
G
G(jw), G(s)などと表す
…
x2
c. 伝達要素
x
27
ブロック線図の簡単化
Block Diagram Simplification
• 上述のシステムは要素をなるべく簡略化し
たもの
– 実際にはもっと多くの要素が入り組んで構成
• ブロック線図を簡単な形に等価変換するこ
とが必要
– 前向き要素をG、フィードバック要素をHと表す
– 入力xに対してGx,Hxを出力
28
(1)縦続結合
Associative and commutative properties
x
y
G1
x
G2
G1・G2
y
(2)並列結合
Blocks in parallel
G1
x
+y
±
x
G1±G2
y
G2
29
(3)フィードバック結合
Feedback loop
x
+
e
G
y
x
y
H
30
(4)重ね合わせ点の移動
Displacement of summing point
+
G
±
+
±
G
31
(5)引き出し点の移動
Displacement of takeoff point
G
G
32
例題
Example
G3
+
−
G2
+
+
G1
移動で影響するブロックの出力が等しくなることを確認する
(制御工学
例題4-4)
33
例題
G3
X
+
−
G2
+
+
G2 (X
G1
Y
Y)
重ね合わせ点の移動
34
例題
G3
X
G2 (X
+
+
G2
+
−
Y ) + G3 X
G1
Y
G2
G2 X
G2 Y = G2 (X
Y)
35
例題
G3
G2
G2 (X
+
+
+
−
Y ) + G3 X
G1
G2
G2 + G3
G1 (G2 + G3 )
G=
1 + G1 G2
G1
1 + G1 G2
36
例題 式変形版
Alternative solution
G3
+
−
G2
+
+
G1
中間の適当な信号に一時的な記号(E)をつけて、
各ブロックの入出力を順に求める
E=X
Y
Y = G1 (G2 E + G3 X)
37
例題 式変形版
E=X
Y
Y = G1 {G2 E + G3 X}
Eを消去して整理する
Y = G1 {G2 (X
Y ) + G3 X}
(1 + G1 G2 ) Y = G1 {G2 + G3 } X
G1 {G2 + G3 }
Y =
X
1 + G1 G2
G1 (G2 + G3 )
G=
1 + G1 G2
38