非線形システム(非線形振り子など)の制御に関するいくつかの論文を読んだことがあります。非線形システムを対象とするいくつかのアプローチがあります。最も一般的なものは、フィードバック線形化、バックステッピング、およびスライディングモードコントローラーです。
私の場合は、C ++で単純な振り子とその他のマニピュレーターの問題の非線形モデルを制御する理論的および実用的な部分を実行しました。振り子では、角変位と速度の追跡タスクを解くためにバックステッピングコントローラーを利用しました。結果は
ここで、およびです。
結果は良好です。ただし、コントローラの調整には時間がかかります。ほとんどの論文では、PD、PID、バックステッピングコントローラーなどのコントローラーの調整に遺伝的アルゴリズムを使用しています。私はこの分野では無知です。誰かがこの概念に光を当ててくれることを願っています。できれば、少なくとも単純な振り子を制御するためのMATLABサンプルがある場合は望ましいです。
これまでのところ、コントローラーを手動で調整するために、C ++ / QtでシンプルなGUIを設計しました。下の図は、ステップ関数のコントローラーの応答です。