目次[非表示]
はじめに
社会人になってから必要に迫られ、組み込みエンジニアに必要な制御工学を学んできました。かなり偏っているかもしれないが、知っていると何かと役立つと思う制御工学の知見をまとめてみようと思い立ち、このブログを立ち上げることにしました。
1990年代に入ると組み込み制御は高度化し、学生時代に苦手だった制御工学の教科書を社会人になってからあらためて開きました。
しかし、当初はどのようにシステムに実装するのか、なかなか理解できませんでした。今でも、制御を実装する段階で、同じように悶々とされている方は多いのではないでしょうか。
そこで、このブログでは、制御工学を具体的に理解し使える技術にする ことを目的に説明していきます。
- 状態方程式によるモデル化と離散時間モデルへの変換方法
- 離散時間制御の実装例 ~フィードバック制御とフィードフォワード制御
- システム同定
- 現代制御 ~オブザーバと状態フィードバック(レギュレータ)、LQR
- 適応制御 ~セルフチューニングレギュレータ
- スライディングモード制御
- 適応フィルタ ~LMSアルゴリズム
- カルマンフィルタ
- 数理計画法によるシステム最適化 ~線形計画法の活用例
- 数理計画法によるシステム最適化 ~逐次2次計画法(SQP)
- リアルタイムカーネル
- モデル予測制御(MPC)
対象とする読者
- これからシステムの制御開発に携わるエンジニア(特にエンベデッドシステム系の方)
- あらためて制御工学を見直してみたいとお考えの方
- PID制御は経験あるが、現代制御を使えるようになりたいとお考えの方
- 現代制御の勉強を始めたが、学習を進めることに悶々とされている方
注意事項
本ブログはリンクフリーです。本ブログに記載の内容やダウンロードしたファイルは引用元を明記していただければ、ご自由に活用頂いて構いません。ただし、それにより生じたトラブルの責任は負いかねます。
システム制御に取り組むエンジニアのニーズ(勝手に想像)
離散時間システムのモデル化と時間応答の評価(シミュレーション)手法
組み込みエンジニアが実装するのは離散時間制御です。制御工学で扱う連続時間システムを離散時間システムに変換する具体的な手法および時間応答の評価手法が必要になります。
システム同定の手法
システム同定も実務で使える知識とします。シミュレーションだけでなく、制御にも必要な知見です。
フィードバック制御やフィードフォワード制御の理解と実装
フィードバック制御:PID制御を例に説明します。
フィードフォワード制御:遅れ補償制御を例に説明します。
非線形なシステムの扱い方
実際のところ制御対象は非線形なことが多いので、どのように扱うかを示します。
現代制御(オブザーバや状態フィードバック)の理解と実装
現代制御にチャレンジしたいというニーズは結構あると思います。オブザーバと状態フィードバックを例に説明します。組み込みエンジニアから見ると設計手順が重要です。シミュレーションで挙動の確認をするだけでなく、ターゲットへの実装を前提に、モデル化からゲイン計算、離散化、ロジックの実装の手順を説明します。
アプローチ
モデル化とシミュレーションの基礎からPID制御や現代制御まで全てEXCELで
どなたでも制御工学を手軽に学習でき、また、具体的に理解して使える技術にできるように、計算方法の確認やグラフ表示による振る舞いの確認は全てEXCELで提示します。
組み込みエンジニアは制御ロジックをマイコンベースのコントロールユニットに実装します。実装する制御ロジックは離散時間制御になることから、離散時間システムの時間応答を中心に説明します。EXCELシート上で制御が実装できて、制御対象の振る舞いがシミュレーションできれば、その離散時間制御ロジックをターゲットにも実装できるはずです。
このブログでは、組み込みエンジニアが制御工学を使える技術として身に着けられるように説明していこうと思います。
※どなたでも手軽にロジックの詳細を確認できることを最優先にするため、このブログではEXCELで説明していきますが、実際の制御開発では、Matlab/Simulinkなどの制御設計ソフトウエアを利用するのが一般的だと思います。
最後まで読んでいただきありがとうございます。
次に本編の状態方程式によるモデル化に進みたい方はこちら → リンク
取り敢えず、EXCELファイルを見てみたい方はこちら → リンク
とにかく現代制御を理解したい方は、モデル化と離散化手法、特性方程式と固有値までが必要な知見です。バネマスモデルの時間応答の確認の後、オブザーバ(状態観測器)や状態フィードバック(レギュレータ)にショートカットできます。
現代制御の勉強を始めたが学習を進めることに悶々とされている方はこちら → リンク を読んでいただくと良いかもしれません。
サイトマップはこちら → リンク
僕はコレですね。
返信削除”PID制御は経験あるが、現代制御を使えるようになりたいとお考えの方”
僕もここ1年で現代制御理論を勉強してきましたが、MatLabは使わず、手計算とExcelだけで学習してきました。行列計算もできないのにMatLabを利用しても意味が無いからです。ただ、現代制御設計が実務段階に入ればMatLab+Simlinkは利用しようと思います、強力なツールなので。
今は最適制御理論まで学んで、残りはいよいよリカッチ型微分方程式を読解すれば勉強は完成です。
コメントありがとうございます。返信遅れてしまってすみません。
削除” 残りはいよいよリカッチ型微分方程式を読解すれば勉強は完成です。”
素晴らしいです。学んだことを活用できるようになるといいですね。