manvaのエンジニアリング魂

エンジニアリング・ものづくり・DIYをもっと身近にするためのブログ。インスピレーションを刺激します。

スモールゲイン定理の必要性を完全に理解した

前に書いた記事↓で,
manva.hatenablog.com

スモールゲイン定理(ロバスト制御の話で出てくるバージョン)で,\|M\|_\infty<1が必要条件でもあることについて,自分なりの結論を出していたが,まだちゃんと理解できたという確信がなかったので,しつこく調べていた。

スモールゲイン定理
f:id:manva:20210816132754p:plain
上図で,\DeltaMは安定でプロパな伝達関数とする。このとき,\|\Delta\|_\infty\leq1をみたす全ての\Deltaに対して,図の閉ループ系が内部安定となるための必要十分条件\|M\|_\infty<1であること。

解釈の仕方の結論↓

結論

スモールゲイン定理は,\|\Delta\|_\infty\leq1の「全ての」\Deltaに対して内部安定であるための条件なので,\Deltaの位相遅れがどうなっているかはわからない。したがって,全ての周波数で開ループの位相遅れが-180(+360*n) deg になり得る。どの周波数で-180degになっても安定であるためには\|M\|_\infty<1であることが「必要」である。

調べてみて,やはりその解釈で正しいという確信が強まったので根拠を説明する。
確信がなかったのは,Zhou氏らの著書↓の証明を読んでも難しくて理解できなかったためである。
Robust and Optimal Control 9.2節
Essentials of Robust Control 8.2節
上記の結論とZhou氏の証明の関係が見えない。ここを理解したい。

いろいろ文献を探しても,大抵どれも,スモールゲイン定理の必要性(安定であるために\|M\|_\infty<1が必要であること)の証明は「省略する」とか,「(Zhou氏の著書)を参照」としていて,なかなか説明してくれているものがなかった。のだが,井村氏の著書↓にわかりやすい説明があった。

Zhou氏の著書の証明と同様の話を,1入出力の場合で説明してくれているのでありがたい。詳細な条件や数学的に正確な話はこの本を見てもらうとして無視して,以下では理解するためのメイン部分のみ私なりに説明する。

スモールゲイン定理の必要性(安定であるために\|M\|_\infty<1が必要であること)を証明するには,対偶をとって,

\|M\|_\infty\geq1であるとすると,\|\Delta\|_\infty\leq1であってもループが不安定になるような\Deltaが存在する

ということを示せば良い。井村氏の著書では,1入出力の場合に限定して,

ある周波数\omega_0のときに|M(j\omega_0)|\geq1であるとすると,|\Delta(j\omega)|\leq1 \quad\forall\omegaであっても1-M(j\omega_0)\Delta(j\omega_0)=0になるような\Deltaが存在する

ということを示している。

1-M(j\omega_0)\Delta(j\omega_0)=0のときにループが不安定になる,というのは「ナイキストの安定定理より明らか」と書かれているが,私レベルにとってはそんなに「明らか」ではないので補足する。
(※ただし,教科書で1+M(j\omega_0)\Delta(j\omega_0)=0と書かれていたところを,たぶんミスと判断したため,勝手に1-M(j\omega_0)\Delta(j\omega_0)=0に書き換えている。ナイキストの安定定理は、普通,開ループをマイナスでフィードバックした場合で考えるので、直接プラスでフィードバックしている上記定義の図だと、不安定であることを言うには、1-M(j\omega_0)\Delta(j\omega_0)=0が言えないといけないはず。Zhou氏の著書の証明では,この条件がdet(I-M(j\omega_0)\Delta(j\omega_0))=0であり,多入力多出力で考えているので,det( )がついているが,やはりマイナスになっている。)
ナイキストの安定定理は,実用的には開ループが安定な場合の簡易版しかほぼ使わないので,そちらで覚えている人が多いだろう。簡易版の考え方で言うと,開ループ伝達関数の軌跡が複素平面で(-1,0)の左側を回らなければ閉ループは安定である。ただし,開ループはマイナスでフィードバックする前提なので,今回の場合,開ループ伝達関数の軌跡は,-M(j\omega)\Delta(j\omega)のようにマイナスで考えなければならない。1-M(j\omega_0)\Delta(j\omega_0)=0は,\omega=\omega_0のときにちょうど開ループが(-1,0)になることを意味している。(-1,0)は位相遅れが-180degの点だ。つまり,ある周波数\omega_0|M(j\omega_0)|\geq1となる場合,その周波数で開ループの位相遅れが-180degになるような\Deltaを作れる,ということを示してスモールゲイン定理の必要性を証明しているのである。私の解釈した結論とつながった。
(-1,0)の点は,安定かどうかの判定のちょうど境目であり発散はしないが、持続振動になるので,0に収束するのが安定であるとする漸近安定の定義では安定ではない。

後は、一応、例えばどのような\Delta(s)の時に|\Delta(j\omega)|\leq1 \quad\forall\omegaかつ1-M(j\omega_0)\Delta(j\omega_0)=0となるのかを見ておこう。井村氏の著書では,

\displaystyle{\begin{eqnarray}
\Delta(s)&=&\frac{g(s)h(s)}{|M(j\omega_0)|^2}\\
g(s)&=&\left(\frac{\omega_0s}{qs^2+\omega_0s+q\omega_0^2}\right)^2\\
h(s)&=&a+\frac{s}{\omega_0}b
\end{eqnarray}}
という関数を作っている。ただし,a=\mathrm{Re}[M(j\omega_0)] b=\mathrm{Im}[ M(j\omega_0)] とおいた。M(j\omega_0)=a+bj である。

g(s)は、s=j\omega_0のとき,

\displaystyle{\begin{eqnarray}
g(j\omega_0)&=&\left(\frac{j\omega_0^2}{-q\omega_0^2+j\omega_0^2+q\omega_0^2}\right)^2=1
\end{eqnarray}}
となる関数になっている。それ以外の周波数\omegaのときは0に近い大きさになるように,係数qは十分大きい値であるとしている。
h(s)は、s=j\omega_0のとき,h(j\omega_0)=M(j\omega_0)となる関数である。
h(s)は1次関数で,g(s)の相対次数は2なので,g(s)h(s)s=j\omega_0のとき最大となる。
そのときの\Delta(s)の大きさは,
\displaystyle{\begin{eqnarray}
\left|\Delta(j\omega_0)\right|=\frac{|g(j\omega_0)h(j\omega_0)|}{|M(j\omega_0)|^2}=\frac{1}{|M(j\omega_0)|}\leq1
\end{eqnarray}}
なので,|\Delta(j\omega)|\leq1 \quad\forall\omegaを満たしている。
では、もう一つの条件、1-M(j\omega_0)\Delta(j\omega_0)=0の方も確認しよう。
\displaystyle{\begin{eqnarray}
1-M(j\omega_0)\Delta(j\omega_0)&=&1-M(j\omega_0)\frac{g(j\omega_0)h(j\omega_0)}{|M(j\omega_0)|^2}\\
&=&1-\frac{M(j\omega_0)^2}{|M(j\omega_0)|^2}\ ?
\end{eqnarray}}
おや?0にならない。なぜだ?ここも教科書のミスではないか。
私の解釈通りなら、s=j\omega_0のとき,h(j\omega_0)M(j\omega_0)の共役となるように

h(s)=a-\frac{s}{\omega_0}b
と置けば,共役でも大きさは同じなので|\Delta(j\omega)|\leq1 \quad\forall\omegaはそのままで,かつ
\displaystyle{\begin{eqnarray}
1-M(j\omega_0)\Delta(j\omega_0)&=&1-(a+bj)\frac{a-bj}{a^2+b^2}=0
\end{eqnarray}}
となる。
ちょっと合わなくて自分の解釈に寄せてしまったところもあるが、不安定になる\Deltaを作れた。Zhou氏の証明もこれの多軸バージョンと考えれば,全てを理解したと言っていいだろう。
f:id:manva:20210922144352p:plain