nlmpcコマンドと nlmpcMultistageコマンドの違いについて
8 views (last 30 days)
Show older comments
Kazuki Kambe
on 15 Nov 2022
Edited: Toshinobu Shintai
on 15 Nov 2022
nlmpcコマンドと nlmpcMultistageコマンドの違いについての質問です.
例題では,Trajectory PlanningというセクションではnlmpcMultistageコマンドを使用しているのに対して,Feedback Control for Path Followingというセクションではnlmpcコマンドを使用していました.
参照したドキュメントでは,以下のように書かれていました.
- nlmpc コマンド...To implement generic nonlinear MPC, create an nlmpc object.
- nlmpcMultistageコマンド...A multistage MPC problem is an MPC problem in which cost and constraint functions are stage-based.Specifically, a multistage MPC controller with a prediction horizon of length p has p+1 stages, where the first stage corresponds to the current time and the last (terminal) stage corresponds to the last prediction step.
そこで,質問です.
- 例題ではどうしてTrajectory PlanningでnlmpcMultistageコマンドを使用し,Feedback Control for Path Followingでnlmpcコマンドを使用したのでしょうか.どのような問題設定や評価関数の違いによって使い分けているのでしょうか.
- 評価関数と制約関数がStage-basedであるとはどういうことでしょうか.generic nonlinear MPCでもStage-basedだと思っていたのですが,間違っていますでしょうか.
- nlmpacMultistageコマンドはある条件を満たすと,nlmpcコマンドと比較して同じ問題を解いた時の計算効率が良くなることに違いがあるという認識であっていますでしょうか.
ご教授いただければ幸いです.よろしくお願い致します.
0 Comments
Accepted Answer
Toshinobu Shintai
on 15 Nov 2022
Edited: Toshinobu Shintai
on 15 Nov 2022
[質問1について]
非線形MPC(nlmpc)とマルチステージ非線形MPC(nlmpcMultistage)の間で、実現できる機能に差はありませんので、特に理由はないかと思います。
[質問2について]
マルチステージ非線形MPCでは、簡単に言うと予測ホライズンのステップごとに個別の評価関数を指定することができます。MPCでは、内部モデルを予測ホライズンの長さ分だけ実行して未来の予測値を計算し、その値を使って最適化を行います。その最適化の評価関数を、各予測ホライズンのステップごとに別の関数を指定することができます。
[質問3について]
一般的に、マルチステージ非線形MPC(nlmpcMultistage)は、多くのケースで非線形MPC(nlmpc)より計算効率が良くなります。
こちらはSimulinkの例ではありますが、非線形MPCとマルチステージ非線形MPCのモデリングの違いを説明した日本語デモを用意しています。ご参考にしていただければ幸いです。
More Answers (0)
See Also
Categories
Find more on Linear Plant Specification in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!