質問: モデル予測制御の制約条件の設定について モデル予測制御を用いてモータの速度制御を行っています。 制約条件について質問させていただきます。 現在、以下に示す状態方程式を用いています。 入力の制約条件を以下の関係のように設定したいのですがどのように設定すればいいのでしょうか? 教えていただけると幸いです。 よろしくお願いいたします。
回答: 掛けようとされている入力制約は非線形等式制約です。 vdcが定数でかつ、右辺を線形に置き換えることができるのであれば、以下のヘルプに紹介されている入出力が組み合わさったカスタムの線形制約機能を用いることで実現できるかもしれません。 なお、本機能は線形mpcコントローラーにおいてのみ有効です。 https://jp.mathworks.com/help/mpc/ug/constraints-on-linear-combinations-of-inputs-and-outputs.html 非線形制約のまま取り扱うとなると、非線形mpcを設計し、その中においてカスタムの等式制約を設けるという方法が考えられます。 非線形mpcでは、ユーザーによって任意の等式、不等式制約を設けることが可能です。 各制約は以下のスクリプト例のように関数m-fileや関数ハンドル、無名関数といった形式で非線形mpcオブジェクト(nlmpc)に与えることで考慮することが出来ます。 nlobj.optimization.customeqconfcn = "myeqconfunction"; 利用方法の詳細については、以下のヘルプを確認してください。 https://jp.mathworks.com/help/mpc/ug/specify-constraints-for-nonlinear-mpc.html