どっちが先?古典制御と現代制御

みなさま、こんにちは。みなみゆうき(@yuki373)です。

古典制御と現代制御、どちらを先に勉強するのがよいのでしょうか?

 古典制御は伝達関数モデルをベースとした制御理論で、現代制御は状態空間モデルをベースとした制御理論です。大学の講義では、古典と現代の両方、または、古典だけ勉強します。
 そもそも、古典と現代は、登場した順番で名前がつけられているだけで、古典より現代の方が役に立つとか、古典より現代の方が難しいというわけではなりません。個人的には、現代制御の方が勉強しやすいと思っています。

古典制御で用いる伝達関数は、制御対象の微分方程式のモデルをラプラス変換して作ります。つまり、時間領域からs領域(周波数領域)に移動して、制御対象の特徴を議論します。ラプラス変換や複素関数の知識が必要になってきますので、初学者にとって難しいと感じるかもしれません。
 また、時間領域とs領域を行き来しますので、結局何をやっているのかを見失ってしまう人もいるでしょう。ただし、「安定余裕」という考え方があり、制御対象のモデルが正確でなくてもある程度使えるという利点もあります。そのため、現場で広く長く使われている強力な制御理論です。

 現代制御で用いる状態方程式は、制御対象のモデルを行列表現を用いて1階の微分方程式で表現します。ベクトルとか行列が登場しますが、1階の微分方程式になるだけですので、時間領域のままです。行列の固有値やランクといった、線形代数の知識が必要になりますが、おそらく、複素関数よりは勉強しやすいのではないかと思います。
 また、コントローラの設計も、行列の演算や固有値の計算ができれば、できてしまいますので、とっつきやすいでしょう。そして、コンピュータを使ってシステマティックに設計ができます。その反面、制御対象のモデルを正確に記述しておかないといけません。

 それで、古典制御、現代制御、どちらを先に勉強すれば良いか?についてですが、個人的な意見としては、電気系の人は古典制御、機械系の人は現代制御が良いのではないかと思っています。
 電気系の人は、電気回路のフェーザ表示などで複素数になれていますし、ローパスフィルタなどのフィルタ設計で周波数特性を理解されていますので、古典制御の内容が頭に入ってきやすいのではないかと思います。
 一方、機械系の人は、力学や機械力学(振動工学)を勉強していますので、時間領域の話の方がわかりやすいと思います。多自由度の振動現象を解析する場合には、行列表現を利用しますので、機械力学の延長で現代制御を勉強すると良いと思います。

 ということで、どちらが先かははっきりとは言えませんが、自分のバックグラウンドに合わせて順番を決めるというのがひとつのやり方かもしれません。大学のカリキュラムをそのようになっていると、制御工学を好きになってくれる人が増えるのかもしれません。
 古典から現代の順番ではなく、現代から古典の順番でも勉強することはできますし、制御問題において、古典制御で解決するか、現代制御で解決するかは、時と場合によります。そのため、古典制御とか現代制御という呼び方も見直した方が、イマドキかもしれません。
 ちなみに、拙書「Pythonによる制御工学入門」では古典制御と現代制御の両方を区別することなく記載しています(大学の講義でもそうしており、学生は、古典制御と現代制御という名前を知りません)。


この記事が気に入ったらサポートをしてみませんか?