nlmpcコマンドと nlmpcMultistageコマンドの違いについて
8 ビュー (過去 30 日間)
古いコメントを表示
Kazuki Kambe
2022 年 11 月 15 日
編集済み: Toshinobu Shintai
2022 年 11 月 15 日
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 件のコメント
採用された回答
Toshinobu Shintai
2022 年 11 月 15 日
編集済み: Toshinobu Shintai
2022 年 11 月 15 日
[質問1について]
非線形MPC(nlmpc)とマルチステージ非線形MPC(nlmpcMultistage)の間で、実現できる機能に差はありませんので、特に理由はないかと思います。
[質問2について]
マルチステージ非線形MPCでは、簡単に言うと予測ホライズンのステップごとに個別の評価関数を指定することができます。MPCでは、内部モデルを予測ホライズンの長さ分だけ実行して未来の予測値を計算し、その値を使って最適化を行います。その最適化の評価関数を、各予測ホライズンのステップごとに別の関数を指定することができます。
[質問3について]
一般的に、マルチステージ非線形MPC(nlmpcMultistage)は、多くのケースで非線形MPC(nlmpc)より計算効率が良くなります。
こちらはSimulinkの例ではありますが、非線形MPCとマルチステージ非線形MPCのモデリングの違いを説明した日本語デモを用意しています。ご参考にしていただければ幸いです。
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Linear Plant Specification についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!