ロボットなどのシステムを制御する際に、このシステムは安定なのか、または不安定なのかを確認することはとても重要です。
不安定なシステムを用いると、平衡な状態のシステムに何か入力や外乱がシステムに与えられた場合に、システムの出力が平衡な状態には戻らず、どんどんと無限大に大きく発散してしまいます。
今回から、このシステムの安定性を判別する方法について紹介していきたいと思います。
システムの安定性とは
システムが伝達関数
$$ G(s) = \frac{N(s)}{D(s)} $$
で表される場合を考えます。
このとき、伝達関数\(G(s)\)の分母にあたる特性方程式\(D(s)\)について、すべての\(s\)の解が複素平面(s-plane)において左側に存在する場合、このシステムは安定であると言えます。
反対に、特性方程式\(D(s)\)の解のうち1つでも複素平面の右側に存在する場合は、このシステムは不安定であると言えます。
安定なシステムと不安定なシステム
伝達関数\(G(s)\)が
$$ G(s) = \frac{1}{s+a} $$
と表されるシステムについて安定性を考えます。
この伝達関数\(G(s)\)の分母にあたる特性方程式\(D(s)\)は
$$ D(s) = s+a $$
です。
このシステムについて、特性方程式\(D(s)\)の解を求めると、
$$ D(s) = s+a = 0 $$
$$ \Rightarrow s = -a $$
となります。
よって、\(a > 0\)の場合は\(s < 0\)となります。
また、\(a < 0\)の場合は\(s > 0\)となります。
ここで、伝達関数\(G(s)\)を逆ラプラス変換を用いて時間領域\(t\)に変換すると、
$$ g(t) = e^{-a t} = e^{s t} $$
となります。
sが負の場合は\(e\)のべき数も負になるため、時間の経過とともに出力\(g(t)\)は0に収束します。
よって、このシステムは安定であると言えます。
反対に、sが正の場合は\(e\)のべき数も正になるため、時間の経過とともに出力\(g(t)\)は無限大に発散し収束します。
そのため、このシステムは不安定であると言えます。
少し複雑なシステムの安定性を判別する
システムの伝達関数\(G(s)\)が
$$ G(s) = \frac{1}{(s+a)(s+b)(s+c)} $$
で表される場合も同様な方法で安定性を判別することが出来ます。
この伝達関数を部分分数展開すると、
$$ G(s) = \frac{1}{(s+a)(s+b)(s+c)} $$
$$ = \frac{A}{s+a} + \frac{B}{s+b} + \frac{C}{s+c} $$
という形で表すことが出来ます。
よって、この部分分数展開した伝達関数\(G(s)\)を逆ラプラス変換を用いて時間領域\(t\)に変換すると、
$$ g(t) = A e^{-a t} + B e^{-b t} + C e^{-c t} $$
と表されます。
この出力の式\(g(t)\)に含まれる\(e^{-a t}\)、\(e^{-b t}\)または\(e^{-c t}\)の中で1つでも無限大に発散してしまうと、このシステムは不安定となります。
よって、伝達関数\(G(s)\)
$$ G(s) = \frac{1}{(s+a)(s+b)(s+c)} $$
で表されるシステムが安定であるためには、\(a > 0\)かつ\(b > 0\)かつ\(c > 0\)である必要があります。
まとめ
今回は、ロボットなどのシステムについて、このシステムが安定か不安定化を確認する方法を紹介しました。
ただ、今回のようなシンプルな伝達関数であれば簡単に安定性を判別できるかもしれませんが、伝達関数が複雑になってくると安定性を判別することが難しくなります。
次回は複雑な伝達関数も判別することが出来るラウス・フルビッツの安定判別法と呼ばれる手法を用いて、システムの安定性の判別を行う方法を紹介したいと思います。