この記事では、プログラミング言語「Python」を用いて、無料で簡単に制御工学シミュレーションを行う方法を紹介します。
【はじめに】Pythonとは
制御シミュレーションには、Matlabがよく使われていますが、Pythonには無料というメリットがあります。
また、Pythonには制御工学シミュレーション以外にも様々なライブラリがあるため、拡張性が高いです。
Pythonとライブラリ「python-control」の環境構築方法については下記事で解説しています。
– | 「python-control」のインストール方法 |
---|---|
ライブラリの導入方法 | ■python-controlのインストール方法 |
制御工学の基礎はこちら | ■【制御工学入門】古典~現代制御の基本原理 |
【python-control編】制御シミュレーション
Pythonには、制御工学シミュレーション用のライブラリ「python-control」があります。
このライブラリはMatlabの制御シミュレーションに関する機能をそのまま移植したようなライブラリです。
そのため、使い方がMatlabの関数とよく似ているので使用しやすいです。
今回は、「python-control」を使って制御工学シミュレーションを行っていきます。
– | 古典制御 |
---|---|
伝達関数 | ■伝達関数モデルの作成 |
周波数応答 | ■ボード線図(ゲイン位相) ■ナイキスト線図 ■根軌跡 |
安定判別 | ■システムの極(安定判別) ■ゲイン・位相余裕 ■システムの零点 |
時間応答 | ■インパルス応答 ■ステップ応答 |
PID制御 | ■P制御 ■PD制御 ■PID制御 |
– | 現代制御 |
---|---|
状態空間 | ■状態空間モデルの作成 |
変換 | ■状態→伝達(1自由度) ■■状態→伝達(2自由度機械) ■伝達関数→状態方程式 |
可制御・可観測性 | ■可制御性の判別 ■可観測性の判別 |
状態フィードバック | ■ゲイン設計(極配置法) |
最適レギュレータ | ■リカッチ方程式の解 ■リアプノフ方程式の解 ■最適レギュレータ ■オブザーバ(同一次元) ■オブザーバ(最小次元) ■最適サーボ制御 |
【SciPy編編】制御シミュレーション
– | 古典制御 |
---|---|
周波数応答 | ■ボード線図 |
例 | ■RLC回路のボード線図・位相線図 |
– | 現代制御 |
---|---|
状態空間 | ■状態方程式 ■状態方程式と伝達関数の相互変換 |
– | スライディングモード制御 |
---|---|
切換超平面の設計 | ■ |
コントローラの設計 | ■ |
実行 | ■極配置法 |
参考文献 | ■非線形制御モデル化・実践(スライディングモード制御編) |
コメント