制御系設計を支援するツール:制御工学の基礎知識6

制御工学の基礎知識

更新日:2022年4月1日(初回投稿)
著者:大阪大学 大学院 工学研究科 准教授 南 裕樹

前回は、状態方程式ベースの制御系設計について解説しました。今回は、最終回です。制御系設計を支援するツールを紹介します。制御対象の特徴を解析したり、仕様を満足する制御系を設計したりする際には、制御系CADを利用します。本稿では、MATLABとPythonを利用した制御系設計例を紹介します。また、制御工学を詳しく勉強する際に役立つ書籍を紹介します。

1. 制御系設計を支援するツール

第4回第5回では、伝達関数ベースと状態方程式ベースの制御系設計について解説しました。図1に、制御系設計の流れを示します。制御系設計では、まず、制御対象をモデル化し、伝達関数モデルや状態方程式モデルで表します。その後、そのモデルを利用して、制御対象の特徴を解析します。さらに、仕様をもとに制御則を設計し、その制御則がうまく働くかを評価します。評価結果が満足いくものでなければ、制御則の設計を見直します。満足いくものになれば、最後に制御器としてマイクロコントローラなどに実装します。

図1:制御系設計の地図

図1:制御系設計の地図

制御工学を学習する際には、モデル化や制御系解析・設計の考え方を理解するために、手計算のテクニックを訓練します。しかし、現実の問題は、手計算できるほど素性のよい問題であるとは限りません。そのため、実際には、制御系設計のためのツール(制御系CAD)を利用します。制御系CADは、制御対象のステップ応答や周波数応答の可視化、状態フィードバックゲインの設計などをサポートしてくれます。

制御分野において広く利用されている制御系CADは、MathWorks社が開発したMATLAB/Simulinkです。MATLABは数値計算ソフトです。制御系設計をサポートするさまざまな関数が用意されています。MATLABを利用すれば、ステップ応答や周波数応答の可視化、極や固有値の計算、行列演算に基づく制御系設計などが手軽に行えます。また、Simulinkというツールを利用すれば、制御系のブロック線図を描くことで、グラフィカルにその性能を評価することができます。

MATLABは有償のソフトウェアであるのに対し、いくつかの無償のキラーアプリケーションがあります。Scilab、GNU Octaveなどです。さらに最近では、PythonやJuliaといったプログラミング言語を利用して制御系設計をするためのライブラリが開発されています。特に、PythonライブラリであるPython Control Systems Library(Python-Control)には、MATLABと同じ関数が用意されているので、MATLABと同じ感覚で利用することができます。MATLABとPython Control Systems Libraryについては、次章でデモを紹介します。

2. 制御系CADを用いた設計例

続きは、保管用PDFに掲載中。ぜひ、下記よりダウンロードして、ご覧ください。

3. 参考図書の紹介

続きは、保管用PDFに掲載中。ぜひ、下記よりダウンロードして、ご覧ください。