Upgrade to Pro — share decks privately, control downloads, hide ads and more …

制御理論講習会(古典制御論編1) / Classical Control Theory Sem...

yuki
July 19, 2019

制御理論講習会(古典制御論編1) / Classical Control Theory Seminar 1

東京工業大学ロボット技術研究会の2019 年度制御理論講習会,古典制御論編第1回目の資料です.

yuki

July 19, 2019
Tweet

More Decks by yuki

Other Decks in Education

Transcript

  1. 東京工業大学ロボット技術研究会 2019年度 制御理論講習会 古典制御論編 第 1 回 Lecturer: Yuki Onishi

    (16-yuki) 東京工業大学ロボット技術研究会 2019/7/19 Tokyo Tech, the Society for the Study of Robotics, 2019 Classical Control Theory Seminar, the 1st Class 1 / 45
  2. 目次 1 はじめに 2 ラプラス変換 3 伝達関数 4 ブロック線図 5

    システム解析 6 次回予告 Tokyo Tech, the Society for the Study of Robotics, 2019 Classical Control Theory Seminar, the 1st Class 2 / 45
  3. 1 はじめに 2 ラプラス変換 3 伝達関数 4 ブロック線図 5 システム解析

    6 次回予告 Tokyo Tech, the Society for the Study of Robotics, 2019 Classical Control Theory Seminar, the 1st Class 3 / 45
  4. 制御とは何か 制御とは, 「制し御する」ことである. 制する: 対象が暴れないようにする. 御する: 対象を思うように操る. 制御を行う具体例: エアコンで部屋の温度を 20

    度にする. モータを回してロボットを 10 m だけ前に走らせる. 右腕でボールをまっすぐ投げる. Tokyo Tech, the Society for the Study of Robotics, 2019 Classical Control Theory Seminar, the 1st Class 4 / 45
  5. 制御の基本的な考え方 本講習では,制御の対象について,次の 3 条件を仮定する. 入力: 操作できる量が存在する. 出力: 実際に操作したい量が存在する. 入力と出力の間に,ある関係が存在する. これらの条件が満たされるとき,

    「入力を適切に操作して,望ましい出力を得よう」 というのが制御の基本的な考え方である. Tokyo Tech, the Society for the Study of Robotics, 2019 Classical Control Theory Seminar, the 1st Class 5 / 45
  6. 制御の指針 実際に適切な入力を知るには, どのような手順が必要になるだろうか? 以降では,制御を行う対象をシステムまたは系と呼ぶ. 制御理論の分野では,一般に次のような流れを取る. 1. モデル化: システムを数式で表現する 微分関係を導く,運動方程式を立てるなど 2.

    制御則を選ぶ: システムの特性や,実現したい挙動から選ぶ 古典制御論? 現代制御論? 3. 適切な制御器を設計する 時定数は? ロバスト性(モデル化誤差への強さ)は? Tokyo Tech, the Society for the Study of Robotics, 2019 Classical Control Theory Seminar, the 1st Class 6 / 45
  7. 1 はじめに 2 ラプラス変換 3 伝達関数 4 ブロック線図 5 システム解析

    6 次回予告 Tokyo Tech, the Society for the Study of Robotics, 2019 Classical Control Theory Seminar, the 1st Class 7 / 45
  8. ラプラス変換 ラプラス変換 (Laplace transform) とは,関数変換の一種. ※ここでは数学的に厳密な議論は行わない. なぜラプラス変換を使うの? 微分・積分を四則演算で表現することができる(後述) ⇒ 微分方程式を代数方程式に書き直せる

    力学系の挙動は多くの場合, 時間 t に関する微分方程式にて記述可能である. 12 1もちろん,微分方程式で表現されないものもある 2熱伝導など,空間に関する微分を含むものもあるが,今回は考えない Tokyo Tech, the Society for the Study of Robotics, 2019 Classical Control Theory Seminar, the 1st Class 8 / 45
  9. ラプラス変換の定義 ラプラス変換の定義 実数 t > 0 の関数を f(t),s を複素数とする.次の積分 ∞

    0 f(t)e−stdt が収束するとき,f(t) のラプラス変換として定義する. F(s) = ∞ 0 f(t)e−stdt 簡単のため,以降ではラプラス演算子 L を用いて, F(s) = L[f(t)] のように書くことにする. Tokyo Tech, the Society for the Study of Robotics, 2019 Classical Control Theory Seminar, the 1st Class 9 / 45
  10. ラプラス変換の性質 ラプラス変換は,次の性質を有する. (証明は省略) t > 0, F(s) = L[f(t)], G(s)

    = L[g(t)],a と b は実数. 1. 線形性: L[af(t) + bg(t)] = aF(s) + bG(s) 2. 時間微分はおよそ s の乗算に相当: L df dt = sF(s) − f(0) L dnf dtn = snF(s)−sn−1f(0)−sn−2 df dt t=0 −· · · − dn−1f dtn−1 t=0 3. 時間積分は 1 s の乗算に相当: L t 0 f(τ)dτ = 1 s F(s) Tokyo Tech, the Society for the Study of Robotics, 2019 Classical Control Theory Seminar, the 1st Class 10 / 45
  11. ラプラス変換の性質 t > 0, F(s) = L[f(t)],a は実数. 4. 相似性:

    L[f(at)] = 1 a F s a 5. s 領域で推移: L[eatf(t)] = F(s − a) 6. t 領域で推移: L[f(t − a)] = e−asF(s) ただし,0 < t < a において f(t − a) = 0 Tokyo Tech, the Society for the Study of Robotics, 2019 Classical Control Theory Seminar, the 1st Class 11 / 45
  12. ラプラス変換の性質 t > 0, F(s) = L[f(t)], G(s) = L[g(t)].

    7. 初期値定理: lim t→0 f(t) = lim s→∞ sF(s) 8. 最終値定理: lim t→∞ f(t) = lim s→0 sF(s) 9. 合成積(畳み込み積分) : L t 0 f(t − τ)g(τ)dτ = F(s)G(s) Tokyo Tech, the Society for the Study of Robotics, 2019 Classical Control Theory Seminar, the 1st Class 12 / 45
  13. 逆ラプラス変換 ラプラス変換の逆写像である逆ラプラス変換は, 次のように定義される. 逆ラプラス変換の定義 c を正の実数とする. ラプラス変換(像関数)F(s) の原関数 f(t) は

    f(t) = 1 2πj c+j∞ c−j∞ F(s)estds により計算される. ラプラス演算子 L を用いると, f(t) = L−1[F(s)] のように表される. Tokyo Tech, the Society for the Study of Robotics, 2019 Classical Control Theory Seminar, the 1st Class 13 / 45
  14. ラプラス変換表 実用上,ラプラス変換や逆ラプラス変換は, 変換表を用いるのが便利である. 代表的な関数のラプラス変換を下表に示す. 原関数 f 像関数 F 原関数 f

    像関数 F δ(t) 1 sin ωt ω s2+ω2 us (t) 1 s cos ωt s s2+ω2 t 1 s2 e−at sin ωt ω (s+a)2+ω2 tn n! 1 sn+1 e−at cos ωt s+a (s+a)2+ω2 e−at 1 s+a te−at 1 (s+a)2 Tokyo Tech, the Society for the Study of Robotics, 2019 Classical Control Theory Seminar, the 1st Class 14 / 45
  15. 1 はじめに 2 ラプラス変換 3 伝達関数 4 ブロック線図 5 システム解析

    6 次回予告 Tokyo Tech, the Society for the Study of Robotics, 2019 Classical Control Theory Seminar, the 1st Class 15 / 45
  16. 伝達関数 出力 y(t) のラプラス変換を Y (s), 入力 u(t) のラプラス変換を U(s)

    とする. ここで,y(0) = ˙ y(0) = · · · = y(n)(0) = 0 を仮定する. 注目するシステム(系)が,ある関数 G(s) を用いて Y (s) = G(s)U(s) の形で表現できるとき, G(s) をこのシステムの伝達関数3と呼ぶ. 逆に,伝達関数は次のように与えられる. G(s) = Y (s) U(s) 3今回の場合,厳密には「入力から出力までの伝達関数」と呼ぶ Tokyo Tech, the Society for the Study of Robotics, 2019 Classical Control Theory Seminar, the 1st Class 16 / 45
  17. 伝達関数の例 次の運動方程式で表されるマス・バネ・ダンパ系を考える. m¨ x = −kx − c ˙ x

    + f m は質量,k はバネ定数,c は粘性摩擦係数である. このシステムの出力を位置座標 x,入力を外力 f とする. 両辺をラプラス変換すると,X = L[x], F = L[f] とすれば m · s2X = −kX − c · sX + F これを整理すると, このシステムの入力から出力までの伝達関数 G(s) は G(s) = X F = 1 ms2 + cs + k となる. Tokyo Tech, the Society for the Study of Robotics, 2019 Classical Control Theory Seminar, the 1st Class 17 / 45
  18. 伝達関数の分母と分子 一般に伝達関数は,次のように分母分子が多項式となる. G(s) = N(s) D(s) = bm sm +

    bm−1 sm−1 + · · · + b1 s + b0 an sn + an−1 sn−1 + · · · + a1 s + a0 ここで N(s) を分子多項式,D(s) を分母多項式と呼ぶ. 分子の最高次数 m と分母の最高次数 n を考える. m ≤ n を満たすとき, この伝達関数はプロパーである4と言い,G(∞) = 0 となる. N(s) = 0 を満たす s を零点, D(s) = 0 を満たす s を極という. 4プロパーでないものは物理的に実現不可能である Tokyo Tech, the Society for the Study of Robotics, 2019 Classical Control Theory Seminar, the 1st Class 18 / 45
  19. 1 はじめに 2 ラプラス変換 3 伝達関数 4 ブロック線図 5 システム解析

    6 次回予告 Tokyo Tech, the Society for the Study of Robotics, 2019 Classical Control Theory Seminar, the 1st Class 19 / 45
  20. ブロック線図の基本単位 ブロック線図の基本単位は,次の 3 つである. G u y ブロック y =

    Gu − + u w y 加え合わせ点 y = u − w u y z 引き出し点 y = u, z = u ブロック線図は,これらを組み合わせて構成される. Tokyo Tech, the Society for the Study of Robotics, 2019 Classical Control Theory Seminar, the 1st Class 21 / 45
  21. ブロック線図の基本結合 (1) 1. 直列結合 G1 u G2 y 結合前 G2

    G1 u y 結合後 2. 並列結合 u G1 G2 + + y 結合前 G1 + G2 u y 結合後 Tokyo Tech, the Society for the Study of Robotics, 2019 Classical Control Theory Seminar, the 1st Class 22 / 45
  22. ブロック線図の基本結合 (2) 3. フィードバック結合 u − + G1 y G2

    結合前 G1 1+G1G2 u y 結合後 これら 3 つが, ブロック線図の基本的な結合方式である. 加え合わせの符号に応じて, 結合後の伝達関数の符号も変化する. Tokyo Tech, the Society for the Study of Robotics, 2019 Classical Control Theory Seminar, the 1st Class 23 / 45
  23. 例:DCモータ ここで,ブロック線図を利用して DC モータをモデル化し, 伝達関数を導いてみよう. 印加電圧 e(t) を入力,速度 ω(t) を出力とする.

    モータの抵抗を R,インダクタンスを L,電機子電流を i(t), 逆起電力定数を Kr ,トルク定数を Kτ ,発生トルクを τ(t), 出力軸の慣性モーメントを J, 回転軸の粘性摩擦係数を B とする. また, E(s) = L[e(t)], Ω(s) = L[ω(t)], I(s) = L[i(t)], T(s) = L[τ(t)] とする. Tokyo Tech, the Society for the Study of Robotics, 2019 Classical Control Theory Seminar, the 1st Class 24 / 45
  24. 例:DCモータ まず,回路方程式から見ていこう. e(t) = Ri(t) + L d dt i(t)

    + Kr ω(t) だから,両辺ラプラス変換すると, E(s) = RI(s) + L · sI(s) + Kr Ω(s) このとき,ブロック線図は次のようになる. − + E Kr Ω 1 Ls+R I Tokyo Tech, the Society for the Study of Robotics, 2019 Classical Control Theory Seminar, the 1st Class 25 / 45
  25. 例:DCモータ 電流と発生トルクの関係は明らか. τ(t) = Kτ i(t) より,両辺ラプラス変換して T(s) = Kτ

    I(s) ブロック線図は次のようになる. Kτ I T Tokyo Tech, the Society for the Study of Robotics, 2019 Classical Control Theory Seminar, the 1st Class 26 / 45
  26. 例:DCモータ 最後に,オイラーの運動方程式を考える. J d dt ω(t) = τ(t) − Bω(t)

    だから,両辺ラプラス変換して J · sΩ(s) = T(s) − BΩ(s) ブロック線図は次のようになる. 1 Js+B T Ω Tokyo Tech, the Society for the Study of Robotics, 2019 Classical Control Theory Seminar, the 1st Class 27 / 45
  27. 例:DCモータ これらのブロック線図を統合すると,次のようになる. − + E Kr 1 Ls+R Kτ I

    1 Js+B T Ω これから,印加電圧から速度までの伝達関数 P(s) が P(s) = Kτ (Ls + R)(Js + B) + Kr Kτ であることを導ける. Tokyo Tech, the Society for the Study of Robotics, 2019 Classical Control Theory Seminar, the 1st Class 28 / 45
  28. 1 はじめに 2 ラプラス変換 3 伝達関数 4 ブロック線図 5 システム解析

    6 次回予告 Tokyo Tech, the Society for the Study of Robotics, 2019 Classical Control Theory Seminar, the 1st Class 29 / 45
  29. 単位インパルス入力 単位インパルス入力 δ(t) は, t = 0 で大きな値を,それ以外で 0 を取る.

    δ(t) はディラックのデルタ関数で,次の 2 条件を満たす. ∞ −∞ δ(t)dt = 1 ∞ −∞ f(t)δ(t) = f(0) また,次のように 考えることができる. δ(t) = lim →0 1 (0 < t < ) 0 (else) Tokyo Tech, the Society for the Study of Robotics, 2019 Classical Control Theory Seminar, the 1st Class 30 / 45 -1 -0.5 0 0.5 1 0 2 4 6 8 10
  30. インパルス応答 システムの初期状態を 0 としたときに, 単位インパルス入力を加えたときのシステムの出力を, インパルス応答という. Y (s) = G(s)U(s)

    であり, U(s) = L[δ(t)] = 1 であることから, インパルス応答は y(t) = L−1[G(s)] によって計算できる. Tokyo Tech, the Society for the Study of Robotics, 2019 Classical Control Theory Seminar, the 1st Class 31 / 45
  31. 単位ステップ入力 単位ステップ入力 us (t) は, t < 0 で 0

    を,t > 0 で 1 を取る. us (t) はヘヴィサイドの階段関数であり, us (t) = 0 (t < 0) 1 (t > 0) である. Tokyo Tech, the Society for the Study of Robotics, 2019 Classical Control Theory Seminar, the 1st Class 32 / 45 -1 -0.5 0 0.5 1 0 0.5 1 1.5 2
  32. ステップ応答 システムの初期状態を 0 としたときに, 単位ステップ入力を加えたときのシステムの出力を, ステップ応答という. Y (s) = G(s)U(s)

    であり, U(s) = L[us (t)] = 1 s であることから, ステップ応答は y(t) = L−1 G(s) 1 s によって計算できる. Tokyo Tech, the Society for the Study of Robotics, 2019 Classical Control Theory Seminar, the 1st Class 33 / 45
  33. 畳み込み積分 システムの初期状態を 0 としたときに, 一般の入力 u(t) を加えたときのシステムの出力を考える. このとき,Y (s) =

    G(s)U(s) であることから,出力は y(t) = L−1 [G(s)U(s)] = t 0 g(t − τ)u(τ)dτ と表現される. 右辺の演算は畳み込み積分 (convolution) と呼ばれ, ある時刻 t における出力は過去の入力に依存する 過去の入力による影響の重みは g によって決まる ということが読み取れる. Tokyo Tech, the Society for the Study of Robotics, 2019 Classical Control Theory Seminar, the 1st Class 34 / 45
  34. 一次系 K, T を正の実数として,伝達関数が G(s) = K Ts + 1

    で与えられるシステムを, 一次系(または一次遅れ系)と呼ぶ. 一次系において,K はゲイン,T は時定数と呼ぶ. Tokyo Tech, the Society for the Study of Robotics, 2019 Classical Control Theory Seminar, the 1st Class 35 / 45
  35. 一次系のインパルス応答 一次系のインパルス応答は y(t) = L−1[G(s)] = K T e− t

    T 0 2 4 6 8 10 0 0.2 0.4 0.6 0.8 1 Tokyo Tech, the Society for the Study of Robotics, 2019 Classical Control Theory Seminar, the 1st Class 36 / 45
  36. 一次系のステップ応答 一次系のステップ応答は y(t) = L−1 G(s) 1 s = L−1

    K s − KT Ts + 1 = K 1 − e− t T 一次系はステップ応答においては,次の性質を有する. 出力は定常値 K に収束する 時刻 t = T において,出力は定常値 K の 63.2% となる 応答の t = 0 における接線は,t = T で値 K を取る 0 2 4 6 8 10 0 0.2 0.4 0.6 0.8 1 0 2 4 6 8 10 0 0.2 0.4 0.6 0.8 1 Tokyo Tech, the Society for the Study of Robotics, 2019 Classical Control Theory Seminar, the 1st Class 37 / 45
  37. 二次系 K, ζ, ωn を正の実数として,伝達関数が G(s) = Kω2 n s2

    + 2ζωn s + ω2 n で与えられるシステムを, 二次系(または二次遅れ系)と呼ぶ. 二次系において,K はゲイン,ζ は減衰係数, ωn は自然角周波数と呼ぶ. p.17 で紹介したマス・バネ・ダンパ系 G(s) = 1 ms2+cs+k では, ζ は粘性摩擦係数 c に比例し, ωn は固有周波数 k m に一致する. Tokyo Tech, the Society for the Study of Robotics, 2019 Classical Control Theory Seminar, the 1st Class 38 / 45
  38. 二次系のインパルス応答 二次系のインパルス応答は y(t) = L−1 [G(s)] = L−1 Kωn 1

    − ζ2 1 − ζ2ωn (s + ζωn )2 + (1 − ζ2)ω2 = Kωn 1 − ζ2 e−ζωnt sin ωn 1 − ζ2t 0 10 20 30 -1 -0.5 0 0.5 1 Tokyo Tech, the Society for the Study of Robotics, 2019 Classical Control Theory Seminar, the 1st Class 39 / 45
  39. 二次系のステップ応答 二次系のステップ応答は,部分分数展開を用いて導ける. y(t) = L−1 G(s) 1 s = L−1

    K s − K(s + 2ζωn) s2 + 2ζωns + ω2 n = L−1 K s − K(s + ζωn) (s + ζωn)2 + (1 − ζ2)ω2 n − Kζ 1 − ζ2 q − ζ2ωn (s + ζωn)2 + (1 − ζ2)ω2 n = K 1 − e−ζωnt cos(ωn 1 − ζ2t) + ζ 1 − ζ2 sin(ωn 1 − ζ2t) = K 1 − e−ζωnt 1 − ζ2 sin(ωn 1 − ζ2t + θ) (θ = tan−1 1 − ζ2 ζ ) Tokyo Tech, the Society for the Study of Robotics, 2019 Classical Control Theory Seminar, the 1st Class 40 / 45
  40. 二次系のステップ応答 減衰係数 ζ を変化させた場合. 0 5 10 15 20 25

    30 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 Tokyo Tech, the Society for the Study of Robotics, 2019 Classical Control Theory Seminar, the 1st Class 41 / 45
  41. 二次系のステップ応答 自然角周波数 ωn を変化させた場合. 0 5 10 15 20 25

    30 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 Tokyo Tech, the Society for the Study of Robotics, 2019 Classical Control Theory Seminar, the 1st Class 42 / 45
  42. 1 はじめに 2 ラプラス変換 3 伝達関数 4 ブロック線図 5 システム解析

    6 次回予告 Tokyo Tech, the Society for the Study of Robotics, 2019 Classical Control Theory Seminar, the 1st Class 43 / 45
  43. 次回予告 次回は,古典制御論に基づいた制御器の設計を行います. MathWorks 社の提供する MATLAB6を利用しますので, 必ずインストールして来るようにしてください. ※本講習後インストールのサポートを行いますので, 心配な方は講習会場前方へお集まりください また,C 言語による実装例の紹介も行いますので,

    余裕のある方は C 言語の復習もしておいてください. 6東工大に在籍している方は,無償での利用が可能です. 詳しくは下記リンク先をご覧ください. https://www.t3.gsic.titech.ac.jp/matlab_individual/ Tokyo Tech, the Society for the Study of Robotics, 2019 Classical Control Theory Seminar, the 1st Class 44 / 45