フィードバック制御入門
https://www.coronasha.co.jp/np/isbn/9784339033038/ この本を参考にしています.
制御の標準的な構成と制御目的
https://gyazo.com/f69ac0cd5a17fb6650e53c4952cf9065
上の図のようなモデルの表現をブロック線図と言う.
入力の事を操作量, 出力の事を制御量と言う.
また, 制御対象に影響を与える物で人為的には操作できない物を外乱と呼ぶ.
・フィードフォワード制御系
https://gyazo.com/caef9fad611a7ae9e69047c03be6c1a5
・フィードバック制御系
https://gyazo.com/5b72314a56c024df7b577039e13b5cd4
ラプラス変換 はここを見て.
単位インパルス関数 : インパルス応答は伝達関数を表す.
・定義 : 単位インパルス関数$ \delta(t)は以下の2つの条件を満たす関数と定義される.
1. $ \int_{-\infty}^\infty \delta(t)dt=1,\ \ \ \ \delta(t)=0\ (t\neq 0)
2. 任意の連続関数$ f(t)について$ \int_{-\infty}^\infty f(t)\delta(t) dt = f(0)成立.
具体的には, $ \delta_{\epsilon}(t) := \left\{ \begin{array}{lll} 1/\epsilon & (0 < t< \epsilon) \\ 0 & (\mathrm{otherwise}) \end{array} \right.について,$ \epsilon \rightarrow 0とした極限と考えられる.
※ $ \mathcal{L}[\delta(t)] = \int_0^\infty e^{-st}\delta(t) dt = 1 となる.
---> これをシステムの入力とした時のシステムの出力をインパルス応答と言う.
---> インパルス応答は$ \mathcal{L}^{-1}[G(s)] となる. ($ G(s)は伝達関数)
単位ステップ関数 : 定常入力を表す. 実験的に求めやすい.
・定義 : $ u_s(t) := \left\{ \begin{array}{l} 1 & (t > 0) \\ 0 & (t<0) \end{array} \right.なる$ u_s(t)の事.
---> $ \mathcal{L}[u_s(t)] = \frac{1}{s} となる.
※ これをシステムの入力とした時のシステムの出力をステップ応答と呼ぶ.
--> ステップ応答は$ \mathcal{L}^{-1}[G(s)\frac{1}{s}] となる. (※ $ G(s)は伝達関数)
※ たたみ込み積分を用いて計算すると ステップ応答$ y(t)=\int_0^t g(\tau)d\tau となる. ($ g(t):=L^{-1}[G(s)] : インパルス応答)
たたみ込み積分 : ↓の$ gは各時刻での$ u(t)に重み付けしてると解釈できる.
・定義 : 関数$ f,g の畳み込み$ f \ast g を$ f \ast g (x) = \int f(x-\tau)g(\tau)d\tau = \int f(\tau)g(x-\tau)d\tau と定義する.
※ インパルス応答を$ g(t) とすると, 任意の入力$ u(t) に対して,
出力$ y(t) = \mathcal{L^{-1}}[G(s)u(s)] = f\ast g (t) = \int_0^t g(t-\tau) u(\tau) d\tau = u(t) が成立.
---> ステップ応答はこれを用いて$ y_2(t) = \int_0^t g(\tau)d\tauと表現できる
まとめ : 関数$ f(t) について, $ F(s) = \mathcal{L}[f(t)] と置くと,
・インパルス応答 : $ \mathcal{L}^{-1}[F(s)]
--> インパルス入力 : $ \mathcal{L}[\delta(t)] = \int_0^\infty \delta(t)e^{-st}dt = e^{-st}|_{t=0} = 1 より,
インパルス応答は$ \mathcal{L}[f(r)]\mathcal{L}[\delta(t)] = \mathcal{L}[f(t)] となる.
・ステップ応答 : $ \mathcal{L}^{-1}[F(s)\frac{1}{s}]
--> ステップ入力 : $ \mathcal{L}[u(t)] = \int_0^\infty u(t)e^{-st}dt = \int_0^\infty e^{-st}dt = [\frac{-e^{-st}}{s}]_0^{\infty} = \frac{1}{s} より,
ステップ応答は $ \mathcal{L}[f(t)]\mathcal{L}[u(t)] = \frac{F(s)}{s} となる.
※ 時刻$ tでのインパルス応答を$ f(t)と置くと,
ステップ応答は$ \mathcal{L}^{-1}[\frac{1}{s}F(s)] =\int_0^t f(\tau)d\tau と表せる. (インパルス応答の和に対応する.)
*2章 ダイナミカルシステムの表現 : 入力$ u(t)に対する出力$ y(t[)を考える.]
静的システム : 現在時刻の入力のみから出力が一意に定まるシステムの事を静的システムと呼ぶ.
厳密に言えば, 現在時刻$ t_0に対して, 入力の過去の履歴$ \{u(t): 0\leq t < t_0\}に無関係に出力が定まるという事である.
例2.1 バネ系 : バネ定数$ K, 入力をバネに加えられる力$ f(t), 出力をバネの伸び$ x(t)とする.
$ x(t) = \frac{1}{K}f(t)と表現できる.
これは, 現在時刻の入力$ f(t)のみから出力が一意に定まるので, 静的なシステムである.
ダイナミカルシステム : 現在の出力が現在時刻の入力のみでなく, 過去の入力にも依存するシステムの事.
※ 動的システムとも言う.
例2.2 質量-バネ-ダンパ系 : 質量$ m, バネ定数$ k, ダンパの速度に比例する力の定数$ c, 入力$ f(t), 出力は物体の変位$ x(t)
https://gyazo.com/3376cd3beee0bbfa46747375e84b8096
これをまとめて, $ f(t) = M \frac{d^2 x(t)}{d^2 t} + c \frac{dx(t)}{dt} + kx(t)となる.
これを解くと積分形で$ x(t)が表現される事から, 過去の入力にも依存して出力が定まる.
*この例の式を一般化して,
$ \sum_{k=0}^n a_k \frac{d^k y(t)}{dt^k} = \sum_{k=0}^m b_k \frac{d^k u(t)}{dt^k}なる$ n階の微分方程式を考える事で多くの動的システムが考察できる.
システムの線形性 : 平衡点の近傍で線形に近似する.
入力$ u_1(t), u_2(t)とそれに対応する出力$ y_1(t), y_2(t)について, $ \alpha y_1(t) + \beta y_2(t) = \alpha u_1(t) + \beta u_2(t)が成立する時,
このシステムは線形であると言う. この様に線型微分方程式で記述されるシステムを線形システムと呼ぶ.
※ベクトルなどの文脈で使う"線形"と全く同じ
※非線形なシステムもシステムの特性を線形システムで近似する線形化がしばしば行われる.
・例2.4 ==================================================================
タンク へ水が流量$ q_i(t)\ (m^3/s)で流れ込み, タンクの底から$ q_o(t)\ (m^3/s)で流れ出す.
タンクの断面積は$ A\ (m^2)で, 水位は$ h(t)\ (m)とする.
https://gyazo.com/bf2f17791ae6ec9b2f2d27cb23e09dc6
・$ \frac{d Ah(t)}{dt} = q_i(t) - q_o(t) : 流入量と流出量と体積変化の関係
・$ q_o(t) = k \sqrt{h(t)} : 水の流出量の関係
の2式より, モデルを表現する微分方程式は, $ \frac{d Ah(t)}{dt} + k\sqrt{h(t)} = q_i(t) となる.
----> $ \sqrt{h(t)}は非線形でうまく扱う事が出来ないので, これを線形化する.
※ 平衡点近傍で微小変化させて考える.
平衡状態では, $ q_i 0 = q_o 0 = k \sqrt{h_0}が成立する. ($ \frac{d*}{dt}=0が成立するとみなせるので)
ここで, 平衡状態からの微小変化量を$ \delta q_i(t), \delta q_o(t), \delta h(t)と置くと,
$ q_i(t)= q_i 0 + \delta q_i(t)
$ q_o (t) = q_o 0 + \delta q_o(t)
$ h(t) = h_0 + \delta h(t)
と書き直せる.
これらを用いて,
$ q_i 0 + \delta q_i(t) = k\sqrt{h_0 + \delta h(t)}が成立.
テイラー展開し, $ \delta h(t)は十分に小さいとして2次以上の項を無視して近似する事で
$ q_o0 +\delta q_o = k \sqrt{h_0}(1+\frac{\delta h(t)}{h_0})^{\frac{1}{2}} \simeq k\sqrt{h_0}(1 + \frac{\delta h(t)}{2 h_0}) = k \sqrt{h_0} + \frac{k}{2\sqrt{h_0}} \delta h(t) とできる.
これに平衡状態の式を引いて, $ \delta q_o = \frac{k}{2 \sqrt{h_0}}\delta h(t)が成立.
以上から, $ A\frac{d}{d t}\delta h(t) + \frac{k}{2\sqrt{h_0}}\delta h(t) = \delta q_i (t)という線形システムで近似できる.
==============================================================================
リヤプノフの安定性 :
ここでは, $ \frac{dx}{dt} = f(x)で表されるシステムと, $ f(x_e)=0なる平衡点$ x_eを考える.
平衡点$ x_e周りでの線形化は$ \frac{d}{dt}\delta x = f'(x_e)\delta xと表せる.
・定義(リヤプノフ安定)
---> $ \forall \epsilon >0,\ \exist \delta >0\ \ s.t.\ \ ||x(0)-x_e|| < \delta \Longrightarrow ||x(t)-x_e ||< \epsilon\ \ (\forall t >0)が成立する時,
平衡点$ x_eは「リヤプノフ安定」と言う.
・定義(漸近安定)
---> リヤプノフ安定な平衡点$ x_eについて,
$ ||x(0)-x_e|| <\deltaなる任意の解$ x(t)が$ \lim_{t\rightarrow \infty}||x(t) - x_e|| = 0を満たす$ \delta >0が存在する時, 「漸近安定」と言う.
・定理(リヤプノフの間接法) : 安定性解析に使える
---> 線形化の平衡点$ \delta x=0が漸近安定であれば, 元の微分方程式の平衡点$ x_eも漸近安定
伝達関数
・定義 : $ 伝達関数 = \frac{出力のラプラス変換}{入力のラプラス変換}と定義される.
入力, 出力のラプラス変換$ U(s),Y(s)と伝達関数$ G(s)について,$ Y(s) = G(s)U(s)と書き直せる.
・例2.5と2.6 : 2つのシステムが直列に結合された場合
入力$ u_1 に対する出力$ y_1の式と入力$ y_1に対する出力$ u_2の式を考える.
$ \frac{d^2 y_1(t) }{dt^2 } + 2\frac{d y_1(t)}{dt} + y_1(t) = \frac{d u_1 (t)}{dt} + u_1(t)
$ \frac{d^2 y_2(t) }{dt^2 } + 3\frac{d y_2(t)}{dt} + y_2(t) = 2\frac{d y_1 (t)}{dt} + y_1(t)
それぞれのシステムの入出力関係がわかっても, このままでは$ u_1(t)と$ y_2(t)の関係式が分かりにくい.
---> ラプラス変換をしてみる.
それぞれラプラス変換したものを$ U_1, Y_1, U_2と置くと,
$ \frac{Y_1(s)}{U_1(s)} = \frac{s+1}{s^2 + 2s + 3},\ \ \ \frac{Y_2(s)}{Y_1(s)} = \frac{2s+1}{s^2 + 3s + 1} となる.
これは, $ \frac{Y_2(s)}{U_1(s)} = \frac{s+1}{s^2 + 2s + 3} \cdot \frac{2s + 1}{s^2 + 3s + 1} と出来て非常に便利.
※ 上の式は$ (s^2 + 2s + 1)Y_1(s) = (s+1)U(s) とかから求めてるだけ.
・例 2.13 むだ時間要素
下図の様にパイプの中を水が流速$ v\ \ (m/s)で流れている状態を考える.
この時に位置$ Aから入力$ u(t)\ \ (m^3/s)で流体を注入するとして,
$ Aと$ Bの距離を$ l\ \ (m), $ Bから流出する物質の量を$ y(t)\ \ (m^3/s)とする.
https://gyazo.com/0dfb1fb7dc0b75d526589ee0fefb49c4
すると, $ Aにある物質が$ Bに到達するまでに$ L:=l/v\ \ (s)かかるので, $ y(t) = u(t- l/v)という関係が成立.
この$ L\ \ (s)をむだ時間と呼ぶ.
https://gyazo.com/e67ea6cd0a68472581c722033f6cb81f
↑むだ時間要素
ラプラス変換の性質を用いて$ Y(s) = e^{-sL}U(s)が成立する事から,
伝達関数は$ G(s) = \frac{Y(s)}{U(s)} = e^{-sL}と表せる.
指数関数だと扱いにくい時もあるので, パデー近似を用いて
$ e^{-sL} \simeq \frac{1 - Ls/2}{1 + Ls/2},\ \ \ 又は$ e^{-sL}\simeq \frac{1 - Ls/2 + (Ls)^2 /12}{1 + Ls/2 + (Ls)^2 / 12}\ \ \ と近似する事もある.
ブロック線図 : 制御系の表現方法
・ブロック線図の基本単位
https://gyazo.com/d915cac785faf0f66b5bd3ec1273639b
・等価変換
https://gyazo.com/1de8a37c6956c498991ed1928a20b1f7
↑ これで変換できる. とても便利.
3. については, $ X = G(U \mp XH)より.
・例 2.14, 2.15 DCサーボモーター
下図のような回路を考える.
https://gyazo.com/14ae2336d2935ccc40aac2cf2f4550e2
電機子電圧$ e_a (t)を入力として, モーターにつながれた回転体の回転角変位$ \theta(t)を出力とする.
抵抗$ R_a, インダクタンス$ L_A, 電機子電流$ i_a(t), 回転体の慣性モーメントを$ J, (角速度に対する)粘性摩擦係数を$ Bとする.
また, モーターの逆起電力の係数$ K_b, 電流に対するトルクの比例係数を$ K_\tauとする.
モーターの回転の角速度を$ \omega(t)と置く.
電機子回路に着目して, $ e_a(t) = L_a \frac{d i_a(t)}{dt} + R_a i_a(t) + e_b(t),\ \ \ \ e_b(t) = K_b \omega(t)
回転体の速度の関係より, $ \theta(t) = \int_0^t \omega(k)dk
モーターのトルクの関係から, モーターのトルク$ \tau(t) = K_\tau i_a(t) = J\frac{d\omega(t)}{dt} + B \omega(t)
これらをラプラス変換して,
$ i_a(s) = \frac{1}{L_a s + R_a}(e_a(s) - e_b(s))
$ e_b(s) = K_b \omega(s)
$ \theta(t) = \frac{1}{s}\omega(s)
$ \tau(s) = K_\tau i_a(s) = (Js+B)\omega(s)
これをボード線図にすると以下の様になる.https://gyazo.com/ff430ed74136ad08a458035cc07fac7a
これらと等価変換を用いて簡単に伝達関数を求められる.
*3章 ダイナミカルシステムの過渡応答と安定性 : 過渡応答によるシステム特性の解析
伝達関数$ G(s):=\frac{N(s)}{D(s)} = \frac{\sum_{i=0}^m b_i s^i}{\sum_{i=0}^n a_i s^i}について,
・零点 : $ N(s)=0の根をシステムの零点と呼ぶ.
・極 : $ D(s)=0の根をシステムの極と呼ぶ.
これら2つからシステムの性質がわかる.
https://gyazo.com/fa1d37441a89b7a5247291b4aa24aa12
(出典 : )
--> 極が負ならステップ応答が一定値に収束. 極が正ならステップ応答が$ \inftyに発散.
--> 極の絶対値が大きいほど収束/発散が早くなる.
---> 極の"実部の大きさ"で収束(or 発散)の速さが定まり, "虚部の大きさ"で振動成分の周期が定まる.
・プロパー : 分母の次数$ nが分子の次数$ m以上であるような伝達関数$ G(s)をプロパーと呼ぶ.
1次系の応答
※ これ以降は過渡応答にはステップ応答を用いる.
(実験的に求めやすい / ステップ応答から制御対象をモデル化できる などの理由からステップ応答が用いられる)
・1次系 : 伝達関数が$ G(s):= \frac{K}{1 + Ts},\ \ \ \ (T,k : const.)と表現されるようなシステムの事.
※ 1階の線形微分方程式で表現できる系の事.
---> $ T\dot{y}(t) + y(t) = Ku(t)のような場合 ($ y(t):制御量, $ u(t):目標値)
※ $ T:時定数, $ K:ゲインと言う.
--> ステップ応答$ y(t)を求める.
インパルス応答を$ g(t) と置くと, $ G(s) = \frac{K/T}{1/T + s} より, $ g(t) = \mathcal{L}^{-1}[G(s)] = \frac{K}{T}e^{- t/T} と求まる.
ゆえに, $ y(t) = \int_0^t g(\tau)d\tau = K(1 - e^{-t/T})と求まる.
ここから, ステップ応答の定常値と初期速度は,それぞれ
$ \lim_{t \rightarrow \infty}y(t) = K,\ \ \ \ \left.\frac{dy}{dt}\right|_{t=0} = \frac{K}{T} とわかる.
また, 定常値はラプラス変換の最終値定理より, $ \lim_{t \rightarrow \infty} y(t) = \lim_{s \rightarrow 0}sy(s) = \lim_{s\rightarrow 0}s[G(s)\frac{1}{s}] = G(0) と計算できる.
https://gyazo.com/9d2eecb113620cd04d14fec497b0a17e
↑$ G(s)=\frac{1}{Ts + 1}のグラフ
・例3.1 : 後で自分で解く
2次系の応答
・定義 : 伝達関数が$ G(s) = \frac{K\omega_n^2}{s^2 + 2 \xi \omega_n s + \omega_n^2}となるシステムを2次系と呼ぶ.
※ 2階の線形微分方程式で表現できる系の事.
*$ \xi > 0,\ =0,\ <0でシステムの極が複素共役, 重根, 2実解になるかの場合分けが必要になる.
システムの極$ p_1, p_2は, $ \omega_d := \omega_n \sqrt{1 - \xi^2}と置くと, $ p_1 = -\xi \omega_n + (i) \omega_d,\ \ \ p_2 = - \xi \omega_n - i \omega_dとなる.
----> ステップ応答$ y(t)を求める.
1. 極が複素共役($ \xi < 1)の時,
インパルス応答$ g(t)は
$ g(t)= \mathcal{L}^{-1}[G(s)] = \mathcal{L}^{-1}\left[\frac{K \omega_n}{\sqrt{1 - \xi^2}}\frac{\sqrt{1 - \xi^2}\omega_n }{(s+\xi \omega_n)^2 + (1-\xi^2)\omega_n^2}\right] = \frac{K\omega_n}{\sqrt{1- \xi^2}}e^{-\xi \omega_n t}\sin\{(\omega_n \sqrt{1 - \xi^2})t\} となる.
※ ↑から, 極の実部($ -\xi \omega_n)が$ 0に収束する速さを, 虚部($ \omega_d = \omega_n \sqrt{1-\xi^2})が応答の振動周波数を定める事が分かる.
ステップ応答$ y(t) は
$ g(t) = \frac{K\omega_n}{\sqrt{1- \xi^2}}e^{-\xi \omega_n t}\sin\{(\omega_n \sqrt{1 - \xi^2})t\} より, $ y(t) = \mathcal{L}^{-1}\left[g(s)\frac{1}{s}\right] を踏まえて, 部分分数分解を用いて,
$ y(t) = \mathcal{L}^{-1}\left[ \frac{K}{s} - \frac{K(s+2\xi \omega_n)}{s^2 + 2 \xi \omega_n s + \omega_n^2} - \frac{K\xi}{\sqrt{1 - \xi^2}} \frac{\sqrt{1-\xi^2}\omega_n}{(s+\xi \omega_n)^2 + \omega_d^2} \right]
$ \ \ \ \ = K \left\{ 1 - e^{-\xi \omega_n t}\left( \cos \omega_d t + \frac{\xi}{\sqrt{1 - \xi^2}} \sin (\omega_d t)\right) \right\} = K \left\{ 1 - \frac{e^{-\xi \omega_n t}}{\sqrt{1 - \xi^2}} \sin(\omega_d t + \theta) \right\}となる.
($ \theta := \tan^{-1}\frac{\sqrt{1 - \xi^2}}{\xi})
同様にして,
2. 重根($ \xi = 1)の時, $ y(t) = K \{ 1 - e^{-\omega_n t}(1 + \omega_n t) \}
3. 2実根($ \xi > 1)の時, $ \beta := \sqrt{\xi^2 -1}として,
$ y(t) = K\left\{ 1 - \frac{e^{-\xi \omega_n t}}{2\beta}((\xi + \beta)e^{\omega_n \beta t} - (\xi - \beta )e^{- \omega_n\beta t}) \right\} : 極の実部が正になれば発散する
と求まる.
https://gyazo.com/b2a34bae41e3ed7048aeaba6c1f18791
↑2次遅れ系の図
※ $ \xiが$ 0に近づくほど極は虚軸の方に近づき, 応答が振動的になる.
※ $ \xi < 1,\ \xi = 1,\ \xi>1の振る舞いをそれぞれ不足振動, 臨界振動, 過制動と呼んだりする.
under dumping, critical dumping, over dumping
次回4.2まで
※細かい言葉の定義
https://gyazo.com/8ef81eb68738db3c5630d618f2589808
・立ち上がり時間$ T_r : ステップ応答が定常値の$ 10\%から$ 90\%になるまでに要する時間
・遅れ時間$ T_d : ステップ応答が定常値の$ 50%に達するまでに要する時間
・整定時間$ T_s : 応答が定常値の$ \pm2%の範囲内に収まるまでの時間 (これは$ \pm5%, \pm 1%の場合もある)
・オーバーシュート(最大行き過ぎ量)$ A_{max} : 応答のピーク値と定常値との差. 割合で表示する事が多い
・行き過ぎ時間$ T_p : 最初の行き過ぎに達するまでの時間.
・減衰比 : 最初の行き過ぎ量と次の行き過ぎ量の比率
・3.4.1 極とインパルス応答
---> 極の"実部の大きさ"で収束(or 発散)の速さが定まり, "虚部の大きさ"で振動成分の周期が定まる.
---> 極とステップ応答の関係を考える.
システムの伝達関数$ G(s)が実極$ - \sigma_i\ \ (i=1,2,...,M), 及び複素共役極$ -\alpha_i \pm j \omega_i\ \ \ (i=1,2,...,N)を持つとする.
(簡単の為にこれらは互いに異なるとする.)
この時, ステップ応答のラプラス変換$ y(s)は,
$ y(s) = \frac{A_0}{s} + \sum_i \frac{A_i}{s+ \sigma_i} + \sum_{i=1}^{N}\frac{B_i}{(s + \alpha_i)^2 + \omega_i^2} と表記できる.
これを逆ラプラス変換して, ステップ応答$ y(t)は,
$ y(t) = A_0 + \sum_{i=1}^M A_i e^{-\sigma_i t} + \sum_{i=1}^N \frac{B_i}{\omega_i}e^{-\alpha_i t}\sin \omega_it と求められる.
この式の第一項はステップ入力の極$ (s=0)に対応するインパルス応答,
残りの項は, $ G(s)の各極に対応するインパルス応答となる.
※ インパルス応答は$ \mathcal{L}^{-1}[G(s)] , ステップ応答は $ \mathcal{L}^{-1}[\frac{1}{s}G(s)] となる事に注意.
※ 2次系では行き過ぎ時間$ T_p=\frac{\pi}{\omega_d},応答のピーク値$ M_p=K(1+e^{-\zeta\pi / \sqrt{1-\zeta^2}})と求められる.
・極とインパルス応答::代表極 : 出力応答に最も影響を与える極の事. 代表特性極とも言う.
---> 極が複数ある時にどの極に注目すべきかを考えたい.
ステップ応答が$ y(t) = A_0 + \sum_{i=1}^M A_i e^{-\sigma_i t} + \sum_{i=1}^N \frac{B_i}{\omega_i}e^{-\alpha_i t}\sin \omega_it の様に表現されるシステムを考える.
$ 0 < \alpha_1 \ll \alpha_i,\ \ (1 < i \leq M)かつ$ \alpha_1 \ll \sigma_i,\ \ \ (1 \leq i \leq N)であるとする時,
$ e^{-\sigma_i},\ \ e^{-\alpha_i}は$ \alpha_1を除いて急速に収束するので, $ y(t) = A_0 + \frac{B_i}{\omega_i}e^{-\alpha_1 t}\sin \omega_1 tと近似できる.
---> この時の代表極は$ \alpha_1となる.
・例 3.3 : 代表極
$ G_1(s) := \frac{1}{\tau s + 1},\ \ \ G_2(s) := \frac{5}{s^2 + 2s + 5}として, $ G(s) = G_1(s)G_2(s)なるシステムを考える.
1. : 時定数$ \tauが非常に小さい時
---> $ G_1(s)の出力がステップ目標値と変わらないので, $ G(s)の応答は$ G_2(s)の応答とほぼ同じになる.
2. : 時定数$ \tauが非常に大きい時
---> $ G_1(s)の出力が支配的になる.
https://gyazo.com/bd63e5b497045a40f9d1a4f538375f17
↑実際そうなってる ↓ その時の極配置
https://gyazo.com/f4c4d51c37a3deac341e8390ce82ad90
・極とインパルス応答::零点
---> おおよその振る舞いは極の位置で決まるが, オーバーシュートや逆ぶれは零点の位置に影響される事がある.
・例3.4 : 零点
$ G(s):=\frac{as + 1}{(s+1)(2s+1)}と表現されるシステムを考える.
下図の様に, $ a << 0の時は逆ぶれを生じていて, $ a>>0の時はオーバーシュートを生じている.
https://gyazo.com/8aaf6e19645d141c2d78edd9af701296
※ 極は共に実数領域にあり, 負の値を取るので, $ a=\pm 0.1の時の様な挙動となると予想できる.
システムの安定性
・定義 : 有界な大きさの任意の入力$ u(t)\ \ \ (|u(t)| < \infty)について,
その出力が有界となるシステムを安定と呼び, そうでないシステムを不安定と呼ぶ.
・安定性の必要十分条件 : 「すべての極の実部が負」
---> $ G(s)が実極$ \sigma_i\ \ (i=1,2,...,M), 及び複素共役極$ \alpha_i \pm j \omega_i\ \ \ (i=1,2,...,N)を持つとする.
ステップ応答が$ y(t) = A_0 + \sum_{i=1}^M A_i e^{\sigma_i t} + \sum_{i=1}^N \frac{B_i}{\omega_i}e^{\alpha_i t}\sin \omega_it となる事から,
$ \sigma_i,\ \alpha_iが負であれば, $ e^{\sigma_i t},\ e^{\alpha_i t}は収束する.
※安定性の必要条件 : 「伝達関数$ G(s)の分母多項式のすべての係数が正」 : まぁまぁ便利
---> 安定性の必要十分条件 $ \Longrightarrow $ G(s)の分母多項式の係数が正 だから明らか.
ラウスの安定判別法
・定義 : 伝達関数の分母多項式を$ D(s) = \sum_{i=0}^n a_i s^i\ \ \ \ (a_0 > 0)とする.
この時, 「$ D(s) の極の実部が負」 $ \Longleftrightarrow 「ラウス数列がすべて正」かつ「$ D(s) の係数がすべて正」 が成立.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
---> これによって安定か否か判定する事ができる.
※ 実際は, 「ラウス数列がすべて正」は極の実部が負である事の必要十分条件になっている.
・ラウス数列 : ラウスの表の第1列目, つまり$ \{ R_{i,1} | i=1,2,...,n+1 \}の事.
・ラウスの表 :$ R_{i,j}を$ i列$ j行においたもの.
・$ R_{i,j}の定義
$ R_{1,1} = a_n,\ \ R_{1,2} = a_{n-1},\ \ ...\ \ ,R_{1,j} = a_{n-2(j-1)}
$ R_{2,1} = a_{n-1},\ \ R_{2,2} = a_{n-3},\ \ ,...,\ \ R_{2,j} = a_{n-2j+1}
$ R_{i,j} = \frac{R_{i-1,1}R_{i-2, j+1} - R_{i-2,1}R_{i-1,j+1}}{R_{i-1,1}}
https://gyazo.com/1361388e054e94c4f20bbf3351122698
※$ a_iが存在しない項である時は, $ a_i = 0とする.
※ ラウスの表のある行(横)に正の数を掛けても, ラウス数列の符号は変化しない.
※ラウスの表の計算時の注意
1. 第1列目に$ 0があり, 同じ行に$ 0でない要素がある場合
---> $ 0を$ \epsilon > 0で置き換えて, 最後に$ \epsilon \rightarrow +0とする.
2. ある行$ iのすべてが$ 0となる場合
---> $ i-1行の要素からなる多項式(補助方程式)$ f_i(s) = \sum_{j=0} a_{i-1,j}s^{n-i - 2(j-1)}を作り,
$ \frac{d f_{i-1}(s)}{ds}の係数を高次から順に$ (i,1),\ (i,2),\ ...の要素として($ i行目の要素として) 用いる.
フルビッツの安定判別法
・定義 : 伝達関数の分母多項式を$ D(s) = \sum_{i=0}^n a_i s^i\ \ \ \ (a_0 > 0)とする.
この時, 「$ D(s) の極の実部が負」 $ \Longleftrightarrow 「$ H_1,...,H_nがすべて正」かつ「$ D(s) の係数がすべて正」 が成立.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
※注意「$ H_kがすべて正」は, (係数がすべて正という条件下で)
$ n=2kの時は, 「$ H_3,\ H_5,\ ...,H_{2k-1}がすべて正」
$ n=2k+1の時は, 「$ H_2,\ H_4,\ ...,H_{2k}がすべて正」
と簡略化できる.
※ 実際には「$ H_kがすべて正」は極の実部が負となる必要十分条件.
※ $ H = (h_{i,j}),\ \ \ \ h_{i,j} = \left\{ \begin{array}{lll} a_{n-2j+1} & (\mathrm{otherwise}) \\ 0 & (n-2j+1 >n\ \ ,n-2j+1 < 0) \end{array}\right.で定義される行列.
---> 右に移ると添字が$ -2, 下に移ると添字が$ +1される.
※ $ H_kは$ Hの左上から取ってきた$ k次正方行列の行列式.
*4章 フィードバック制御系の特性
感度特性 : パラメータの変化に対する応答の変化の特性
・以下の2つの制御系を考える.
$ P(s):制御対象, $ K(s):制御器の伝達関数, $ r(t):目標値, $ d(t):未知の外乱, $ u(t), y(t):制御入力, 制御量.
https://gyazo.com/2293c6fabf250ed9d6b6a4dca3218919
https://gyazo.com/cabb11ece97f2066a1d92b54e7ac170d
↑ 上はフィードフォワード, 下はフィードバック系になってる.
---> 外乱がなく, 制御対象が1次系, 制御器が定数ゲインの場合を考える.
まず, $ d(t)=0,\ P(s) = \frac{A}{\tau s + 1},\ K(s)=Kとできる.
1. FF系の時,
$ y(s) = P(s)K(s)r(s) = \frac{AK}{\tau s + 1}r(s)より,
$ K = \frac{1}{A}とすれば, $ y(s) = \frac{r(s)}{\tau s + 1}となるので, 十分に時間が経過すると$ y(t) \simeq r(t)となる.
(ステップ目標の場合は$ r(t) = aならば$ r(s) = \frac{a}{s}となって最終値の定理から求まる.)
しかし, 制御対象の$ Aが微妙に変化して$ \overset{\sim}{A} = 1.5Aとなったとすると,
$ \overset{\sim}{y}(t) = 1.5 r(t)となり, 制御系のパラメータに完全に依存してしまう.
---> これは パラメータのズレ / 変化 が大きく影響してしまう事を意味している.
2. FB系の時,
$ y(s) = P(s)K(s) r(s) = \frac{AK}{\tau s + AK + 1}r(s)より,
$ K \rightarrow \inftyと大きくしてやると$ y(s) \rightarrow \frac{AK}{AK}r(s) = r(s)となり,パラメータに非依存になる.
---> ゲインを大きくするとパラメータ変動に対する感度が低くなる.
---> 2.を一般化して考える.
FB系の$ r(s)から$ y(s)への伝達関数は$ T(s) = \frac{P(s)K(s)}{1 + P(s)K(s)}と求まる.
ここで, 制御対象の伝達関数が$ P(s) \rightarrow \overset{\sim}{P}(s)と変化したとする.
すると$ T(s ) \rightarrow \overset{\sim}{T}(s)と変化するので,
それぞれの相対的な変動率を$ \Delta P(s) = \frac{P(s) - \overset{\sim}{P}(s)}{\overset{\sim}{P}(s)},\ \ \ \Delta T(s) = \frac{T(s) - \overset{\sim}{T}(s) }{\overset{\sim}{T}(s)}と定義すると,
$ \Delta T(s) = \frac{1}{1+P(s)K(s)}\Delta P(s)と求まる.
これは, $ P(s)の変動が$ \frac{1}{1+P(s)K(s)}倍になってFB系に影響を及ぼすと解釈できる.
この比率を感度関数と呼び, $ S(s) = \frac{1}{1+P(s)K(s)}と定義される.
・外乱の影響
$ r(t)=0の下で外乱$ d(t)が制御量$ y(t)に及ぼす影響を考える.
1. FF系 : $ y(s) = P(s)d(s)
2. FB系 : $ y(s) = \frac{P(s)d(s)}{1 + P(s)K(s)}
が成立する.
ゆえに, 外乱の影響も同様に, FB系を使えば感度関数$ S(s)で低減できると分かる.
*定常特性 : 定常時においては目標値との偏差を$ 0にしたい.
・例 : 定常偏差がある場合
FB系において,入力が一定値$ 1で$ P(s) = \frac{1}{s+1},\ \ \ \ K(s) = Kとなる場合を考える.
この時, 全体での伝達関数は$ \frac{K}{s+1 + K} \frac{1}{s} = \frac{K}{s(s+(K+1))} = \frac{K}{K+1} \frac{K+1}{s(s+K+1)}より,
ステップ応答は$ y(t) = \frac{K}{1+K}(1 - e^{-(K+1)t})となる.
これは$ \lim_{t \rightarrow \infty}y(t) = \frac{K}{1+K}より,定常偏差が存在する.
https://gyazo.com/cabb11ece97f2066a1d92b54e7ac170d
・追従偏差 : 目標値から現在の制御対象の値を引いた物. (上図の$ e(t) = r(t) - y(t)の事.)
・一巡伝達関数 : FB系の閉ループを一巡した時の伝達関数の事. (上図の$ L(s) := P(s)K(s)の事.)
※ 開ループ伝達関数とも呼ばれる.
---> 追従偏差は$ e(s) = r(s) - \frac{L(s)}{1+L(s)}r(s) = \frac{1}{1+L(s)}r(s)と計算できる.
※一般の一巡伝達関数$ L(s) = \frac{b_m s^m + b_{m-1}s^{m-1} + ... + b_0}{s^l(s^n + a_{n-1}s^{n-1} + ... + a_0)}について,
1. $ l=1の時,
$ L(s)は積分器($ 1/s)を1個含み, 定常位置偏差は$ 0となる.
2. $ l=2,3の時,
$ L(s)は積分器をそれぞれ2,3個含み, 定常速度偏差, 定常加速度偏差も$ 0となる.
この様に, $ L(s)が積分器を$ l個含む時, $ l型の制御系と呼ぶ.
・定常偏差 : $ tの極限での追従偏差の事.
---> 定常偏差$ e_s := \lim_{t \rightarrow \infty}e(t) = \lim_{s\rightarrow 0}\ s \frac{1}{L(s)+1}r(s)と定義される.
(※ ラプラス変換の最終値の定理 : $ f(\infty) = \lim_{t\rightarrow \infty}f(t) = \lim_{s\rightarrow 0}sf(s)より.)
1. ステップ入力の場合の定常偏差
---> $ e_s = \lim_{s\rightarrow 0}\ s\frac{1}{1+L(s)}\frac{1}{s} = \frac{1}{1+\lim_{s\rightarrow 0}L(s)}
※ これを定常位置偏差と呼ぶ.
2. ランプ入力の場合
---> $ r(t) = tの時, $ e_s = \lim_{s\rightarrow 0}\ s\frac{1}{1+L(s)}\frac{1}{s^2} = \lim_{s\rightarrow 0}\frac{1}{sL(s)}
※ これを定常速度偏差と呼ぶ.
3. 一定加速度入力の場合
---> $ r(t)=\frac{t^2}{2}の時, $ e_s = \lim_{s\rightarrow 0}\frac{1}{s^2 L(s)}
※ これを定常加速度偏差と呼ぶ.
※$ K_p := \lim_{s\rightarrow 0}L(s)を位置偏差定数, $ K_v = \lim_{s\rightarrow 0}sL(s)を速度偏差定数, $ K_a = \lim_{s\rightarrow 0}s^2 L(s)を加速度偏差定数と呼ぶ.
・外乱に対する定常偏差
$ r(t)=0なFB系を考える.
---> $ y(s) = \frac{P(s)}{1+P(s)K(s)}d(s)となる.
$ \lim_{t\rightarrow \infty}y(t) = \lim_{s \rightarrow 0}sy(s) = \lim_{s\rightarrow 0}\frac{P(s)d(s)}{s(1+P(s)K(s))}より,
定常状態での外乱の影響が$ 0になるには, $ P(0)=0または$ K(0)=\inftyが条件となる.
・まとめ : 定常状態での偏差が$ 0になるには, $ K(0)= \inftyとなる事が条件になる.
https://gyazo.com/1ca0abc7e554fafcbf3008892fc70a78
根軌跡 :
・定義 : 開ループ伝達関数$ G(s)について, 閉ループ系伝達関数$ \frac{KG(s)}{1+KG(s)}の極の$ K:0\rightarrow \inftyとして変化させた時の軌跡.
※ $ 1+KG(s)=0の解の事を特性根と言い, $ Kの増大する方向に矢印をつける場合が多い.
----> これを用いて虚軸と根軌跡の交わる点を求める事で安定する$ Kの範囲が分かる.
・性質 : 低次では単純に解を求めて軌跡を書く事で根軌跡が書けるが, 高次では難しいので以下の性質を用いて書く.
1. 根軌跡は$ G(s)の極$ p_i\ \ (i=1,2,..,n)から出発し, その中の$ m本は$ G(s)の零点$ z_i\ \ (i=1,2,..,m)が終点となる.
残りの$ n-m本の軌跡は無限遠点に発散していく.
2. 無限遠点に至る根軌跡の漸近線の角度は$ \frac{180^\circ + 360^\circ l}{n-m}となる. $ (\forall l \in \mathbb{Z})
$ n-m \geq 2の時は漸近線と実軸は$ \frac{(\sum_{i=~1}^n p_i) - (\sum_{j=1}^m z_j)}{n-m}の一点で交わる.
3. 実軸上の点でその右側に$ G(s)の実極と実零点が(重複を含めて)合計奇数個あれば, その点は根軌跡上の点となる.
4. 根軌跡が実軸から分岐(or 合流)する点は$ \frac{d}{ds}\frac{1}{G(s)} = 0を満たす. (必要条件)
5. 極$ p_jから根軌跡が出発する角度は$ 180^\circ - \sum_{i \neq j}\angle (p_j - p_i)+\sum_{i=1}^m \angle(p_j-z_i)であり,
零点$ z_jへ根軌跡が終端する角度は$ 180^\circ + \sum_{i=1}^n \angle (z_j - p_i) - \sum_{i \neq j}\angle(z_j - z_i)となる.
https://gyazo.com/976b56dc8c80adbe7736e2ddbeca6984
5章 : 周波数応答 : 正弦波を入力に加えた時の定常状態の応答によってシステムの特性を解析する
周波数応答 : 安定な線形システムに一定周波数の正弦波を加え続けると定常出力が同じ周波数の正弦波になる
・定義 : 入力の正弦波の周波数を変化させた時の振幅と位相がどの様に変化するかという特性を周波数特性と呼ぶ.
----> 伝達関数$ G(s)を持つシステムに角周波数$ \omegaの正弦波を突っ込んだ時の定常出力は$ |G(i\omega)|e^{i(\omega t + \phi)}となる.
----> 振幅の変化は$ |G(i\omega)|, 位相差は$ \angle G(i\omega)によって生まれる. (それぞれゲイン, 位相差と呼ぶ.)
※ $ G(i\omega)を周波数伝達関数と呼ぶ.
Proof. ======================================================================
簡単のために$ G(s)の極$ p_iは安定で相異なるとする.
このシステムに対して, $ u(t)=e^{i\omega t} = \cos (\omega t) + i \sin(\omega t)を入力する.
$ \mathcal{L}[u(t)]=\frac{1}{s-i\omega} より, 出力$ y(t) は
$ y(t)=\mathcal{L}^{-1}\left[G(s)\frac{1}{s-i\omega} \right]=\mathcal{L}^{-1}\left[\frac{K_0}{s-i\omega} + \sum_{i=1}^n \frac{K_i}{s-p_i}\right] (部分分数分解. ローラン展開のノリ)
$ = K_0e^{i\omega t} + \sum_{i=1}^n K_i e^{p_i t}となるが, $ p_iは安定な極なので, $ \lim_{t \rightarrow \infty}e^{p_i t} = 0となる.
また, $ K_0 = \lim_{s\rightarrow i\omega}(s-i\omega)\left(G(s)\frac{1}{s-i\omega}\right) = G(i\omega)として求められるので, (留数の計算)
$ \lim_{t \rightarrow \infty}y(t) = |G(i\omega)|e^{i (\omega t + \phi)} として計算できる. ($ \phi = \angle G(i\omega), 定数)
=============================================================================
ベクトル軌跡 : $ \omegaを$ 0 \rightarrow \inftyと変化させた時の周波数伝達関数$ G(i\omega)の軌跡.
1. 積分系 $ G(s)=1/s
---> $ |G(i\omega)|= |\frac{1}{i\omega}| = \frac{1}{|\omega|}より, ゲインは$ \omega:0 \rightarrow \inftyとなるに従って$ \inftyから$ 0に収束する.
$ \angle G(i\omega) = - \angle i = -90^\circより, ベクトル軌跡は以下の様になる.
https://gyazo.com/907b396df5098be34b9003425cad5599
2. 二重積分系 $ G(s)=1/s^2
----> $ |G(i\omega)| = \frac{1}{|\omega|^2}より, ゲインは$ \omega: 0\rightarrow \inftyになるにしたがって$ \inftyから$ 0に収束する.
$ \angle G(i\omega) = - \angle i^2 = -180^\circより, ベクトル軌跡は以下の様になる.
https://gyazo.com/52619fd6e0db5135dc933ba83657e941
3. 1次系 $ G(s)=\frac{1}{1+Ts}
----> $ |G(i\omega)| = \frac{1}{|1+i\omega T|} = \frac{1}{\sqrt{1+(\omega T)^2}}より, ゲインは$ \omega : 0 \rightarrow \inftyになるにしたがって$ 1から$ 0へと収束する.
$ \angle G(i\omega) = - \angle (1+i \omega T)より, $ G(i \omega) = \frac{1}{2} + \frac{1}{2}\cdot \frac{1 - i\omega T}{1+i\omega T}である事を合わせて, ベクトル軌跡は以下の通り
※ $ \left| \frac{1-i\omega T}{1+i \omega T} \right| = 1より, $ 1/2が中心の円になる.
https://gyazo.com/8ec99c504678b7fa3bd918932f8f2010
4. 2次系 $ G(s)= \frac{\omega_n^2}{s^2 + 2\zeta \omega_n + \omega_n^2},\ \ \ \ \Omega = \frac{\omega}{\omega_n}
----> $ |G(i\omega)| = |\frac{1}{i^2 \Omega^2 +2\zeta \Omega i + 1}| = \frac{1}{\sqrt{(1-\Omega)^2 + 4\zeta^2 \Omega^2}}より, ゲインは$ \omega:0 \rightarrow \inftyになるに従って$ 1から$ 0に収束.
$ \angle G(i\omega) = - \angle (1-\Omega^2 +2 i \zeta \Omega) より, ベクトル軌跡は以下の通り
https://gyazo.com/d735b9a688ea3fd8e48337cba50f47b8
5. 一般の高次系 $ G(s) = \frac{b_ms^m + b_{m-1}s^{m-1} + ... + b_1 s + b_0}{s^n + a_{n-1}s^{n-1} + ... + a_1 s + a_0},\ \ \ (n > m)
---> ベクトル軌跡の始点は$ a_0 \neq 0の時は$ 0, 原点に$ l位の極がある時は, $ |G(0)|が無限に発散し,
$ \angle G(i\omega) = \angle \frac{b_m (i\omega)^m + ... + b_0}{(i\omega)^l ((i\omega)^{n-l}+a_{n-1}(i\omega)^{n-l-1}+...+a_l)} \rightarrow \angle \frac{b_0}{a_l (i\omega)^l}=\angle \frac{b_0}{(i\omega)^l} = l \times 90^\circ + \angle b_0 \ \ \ (\omega\rightarrow 0)
※ 安定な極のみを持つ分母多項式の係数は正なので$ a_l \in \mathbb{R}は無視できる. $ b_0は値ではなく符号が効いてくる.
また, $ \omega \rightarrow \inftyとなる時には, $ |G(i\omega)|\rightarrow 0であり,
$ \angle G(i\omega) \rightarrow \angle \frac{b_m}{(i\omega)^{n-m}}= (n-m)\times (-90^\circ) + \angle b_m\ \ \ (\omega \rightarrow \infty)の方向から原点に向かう.
ボード線図 : 周波数応答の可視化
---> $ \omegaに対する$ |G(i\omega)|の変化を示すゲイン曲線と$ \angle G(i\omega)の変化を示す位相曲線によって周波数応答を可視化した物.
具体的には, 縦軸にゲインをデシベル(dB, つまり$ 20\log|G(i\omega)|)で示して, 横軸に$ \omega > 0を対数メモリで示す.
https://gyazo.com/e9ef885ae6423497fd887f8c0a5333e7
(出典 : https://controlabo.com/bode-diagram-drawing/ )
※ 1 decade : 10倍の事
・性質
1. ゲイン特性が等しくても, 位相特性も同じとは限らない.
----> ex. $ G_1(s) = \frac{1+s}{s^2+s+1},\ G_2(s) = \frac{1-s}{s^2+s+1}
https://gyazo.com/4f40111beefc2e2a3b56960f19bc39c0
↑ ゲインは同じだが, 位相の推移が違う. (安定な零点の方が位相の推移が小さい)
※ 安定なシステムでかつ不安定零点を持たない物の事を最小位相推移系又は最小位相系と呼ぶ.
----> 最小位相系の場合にはゲインが位相から一意に定まる.
$ \angle G(i\omega) = \frac{180^\circ}{\pi^2}\int_{-\infty}^\infty \frac{dM}{du}W du.
ただし$ u=\ln (\omega/\omega_1),\ \ M = \ln|G(i\omega)|,\ \ W=\ln (\coth |u|/2))であり, 右辺の単位は度$ \!^\circ
※ 重み関数$ Wについては, $ \int_{-\infty}^\infty Wdu = \frac{\pi^2}{2} が成立し, $ \omega = \omega_1でインパルス同様に急激に大きくなる.
2. $ G(s) = G_1(s)G_2(s)....G_n(s)となる時, Bode線図上で$ G(s)は$ G_1(s),...,G_n(s)を加え合わせた物になる.
※ ゲインが対数スケール, 位相が線形スケールになっているので, $ G_j(s) = r_j e^{i\theta_j}として計算する事で示せる.
$ G_j(s)をかけ合わせると, $ \theta_jは和になり, $ r_jは積になる.
----> 基礎的な要素のボード線図を合成する事で高次元のボード線図が書ける.
3. $ G(s)の逆関数$ G^{-1}(s)のボード線図は, $ G(s)のボード線図を逆転(符号を反転)させた物になる.
----> 2.と同様にして証明できる.
4. 簡単に折れ線近似できる.
5. 実験データから書きやすい
・基本的要素のボード線図
https://gyazo.com/00ecd7b842488bcff181655ab318654a
https://gyazo.com/79f696b942faf1b87a1b39ee46de0e54
https://gyazo.com/ad3d874750cd6ff8ed37adb78f39da1d
https://gyazo.com/7e4469f5d17b42bbc0abe8ef3c6e0013
後半 : フィードバック制御入門(6章~)