古典制御1(基礎)
基礎
・制御の標準的な構成と制御目的
https://gyazo.com/f69ac0cd5a17fb6650e53c4952cf9065
↑上の図のようなモデルの表現をブロック線図と言う。
入力の事を操作量、出力の事を制御量と言う。
制御対象に影響を与える物で人為的には操作できない物を外乱と呼ぶ。
・単位インパルス関数 : ハンマーで殴ったりするのがこれ。壊れる。
定義
単位インパルス関数$ \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(t)は$ \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 となる.
---> $ \delta(t)を入力した時のシステムの応答をインパルス応答と言う。
---> システム$ G(s) のインパルス応答は$ \mathcal{L}^{-1}[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}\left[ u_s(t)\right]=\frac{1}{s} となる。
---> $ u_s(t)を入力した時のシステムの応答をステップ応答と言う。
---> システム$ G(s) のステップ応答は$ \mathcal{L}^{-1}\left[ \frac{G(s)}{s} \right] で、インパルス応答$ g(t) = \mathcal{L}^{-1}[G(s)] に対して、
ステップ応答$ y(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)のみから出力$ x(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)が積分系になり、過去の入力$ f(t)にも依存するので動的システム。
*この例の式を一般化して、以下の$ n階微分方程式を考える事で多くの動的システムを扱える。
---> $ \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}
システムの線形性と線形化
定義 : 線形システム
線形微分方程式で記述されるシステムの事
・線形化 : 平衡点の近傍で線形に近似する
具体的な手続き
(例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が存在する時、
平衡点$ x_eは「漸近安定」と言う。
・定理(リヤプノフの間接法) : 安定性解析に使える
線形化の平衡点$ \delta x=0が漸近安定なら、元の微分方程式の平衡点$ x_eも漸近安定。
伝達関数
定義 : 伝達関数
$ 伝達関数 = \frac{出力のラプラス変換}{入力のラプラス変換}
---> 入力、出力$ U(s),Y(s)とシステムの伝達関数$ G(s)について、$ Y(s) = G(s)U(s)が成立。
※ 分母の次数$ \geq 分子の次数な伝達関数$ G(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}\ \ \ と近似する事もある.
*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 発散)の速さが、 "虚部の大きさ"で振動成分の周期が定まる。
1次系の応答
定義 : 一次系
伝達関数 : $ G(s):= \frac{K}{1 + Ts},\ \ \ \ (T,k : const.)となるシステムの事。
※ $ T: 時定数、$ K: ゲイン
※ 1階の線形微分方程式で表現できる系とも言える。
---> $ T\dot{y}(t) + y(t) = Ku(t)など。 ($ y(t):制御量、$ u(t):目標値)
性質 : 応答
・インパルス応答 : $ g(t) = \mathcal{L}^{-1}[G(s)](t) = \frac{K}{T}e^{-t/T}
・ステップ応答 : $ y(t) = \int_0^t g(\tau)d\tau = K\left(1-e^{-t/T} \right)
---> ステップ応答の定常値と初期速度は、$ \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\left[G(s)\frac{1}{s}\right] = G(0) とも求まる。(ラプラス変換の最終値定理) https://gyazo.com/9d2eecb113620cd04d14fec497b0a17e
↑$ G(s)=\frac{1}{Ts + 1}のグラフ。$ Tが大きいほど応答が遅くなる。
2次系の応答
定義 : 2次系
伝達関数 : $ G(s) = \frac{K\omega_n^2}{s^2 + 2 \xi \omega_n s + \omega_n^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の振る舞いをそれぞれ不足振動, 臨界振動, 過制動と呼んだりする.
細かい言葉の定義
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 発散)の速さが定まり, "虚部の大きさ"で振動成分の周期が定まる.
・極とステップ応答$ y(t)の関係を考える。
システム$ 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)の各極に対応するインパルス応答となる。
※ 2次系では行き過ぎ時間$ T_p=\frac{\pi}{\omega_d}、応答のピーク値$ M_p=K(1+e^{-\zeta\pi / \sqrt{1-\zeta^2}})と求められる。
・代表極 : 出力応答に最も影響を与える極の事。
---> 極が複数ある時にどの極に注目すべきかを考えたい.
(例) : 代表極1
ステップ応答が$ 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) : 代表極2
$ 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の時の様な挙動となると予想できる.