非線形MPCについての質問

11 views (last 30 days)
Ren
Ren on 11 May 2023
Commented: Ren on 15 May 2023
非線形MPCについての質問です。
非線形MPCを用いて車両制御(車両の旋回制御)を行いたいと考えています。
下記リンクの手法を参考に設計したいと考えています。下記リンクの手法では道路の先読み情報として道路中心線の情報を入力に使っているかと思います。
そこで非線形MPCブロックの入力についての質問です。道路の先読み情報をパラメータとして使用した場合(上記のリンクでいうところの道路の中心線の方位角偏差)、コードでパラメータを設計する際にはどういった表記をすればよろしいでしょうか?
つまり、非線形MPCブロックの入力(ref)をパラメータで使用できるのか?使用できる場合、どういった表記をすればよいのか?といった内容です。以上、よろしくお願いします。
質問の内容が理解できない場合はコメントしていただければと思います。よろしくお願いします。

Accepted Answer

Toshinobu Shintai
Toshinobu Shintai on 11 May 2023
非線形モデル予測制御のコスト関数の中に道路中心線の情報を入れておく、という方法はあるかと思います。
以下のリンク先にて、コスト関数(mスクリプト)の作り方が説明されています。
また、Simulinkの「Nonlinear MPC Controller」ブロックに、パラメーターとして入力することもできます。この場合は、モデル実行中に値を変化させることができます。
この外部入力のモデリングについては、以下リンク先のデモモデルをご参照ください。
この中の「6.非線形MPC」になります。また、マルチステージの非線形モデル予測制御の場合も解説しています。「8.マルチステージの非線形MPC」になります。
  3 Comments
Toshinobu Shintai
Toshinobu Shintai on 11 May 2023
Edited: Toshinobu Shintai on 11 May 2023
上記の1個目のリンク先をご確認ください。
非線形MPCのオブジェクトnlmpcを設計する時に、自作のコスト関数を指定することができますが、指定しないと「standard cost function」が用いられます。この時refは目標値として扱われています。
自作のコスト関数を指定する時、コスト関数の引数にdataを指定することができます。dataの中にrefで与えた信号データが格納されているので、それを自由に用いることができます。
Ren
Ren on 15 May 2023
ご回答有難うございます。

Sign in to comment.

More Answers (0)

Products


Release

R2023a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!