Model Predictive Control Toolboxのref端子の使用について

5 views (last 30 days)
友和 松浦
友和 松浦 on 23 May 2022
Commented: 友和 松浦 on 23 May 2022
現在、MPC制御を用いて車両の車線追従を構築したいと考えています。
Model Predictive Control ToolboxのMPC Controller(線形)用いて構築を行っているのですが思うように動作できていません。
プラントモデルを線形2輪モデルとして、予測モデルは状態量、出力を「ヨーレート、ヨー角、横位置、横速度」の4つ、入力を前輪舵角としております。mo端子にプラント出力値を入力、ref端子に目標出力を予測ホライズン個数Hp分の行列(Hp×4)入力しております。
目標出力「ヨーレート、ヨー角、横位置、横速度」は目標軌跡から事前に設定しています。
ご質問として2点有ります。
①ref端子への入力はこの行列を入れる方法で問題ないのでしょうか?
 それとも予測ホライズンの最終点の目標出力値1点のみ入力する形が適切でしょうか?(MPCブロック内では目標出力値1点のみの行列)
②予測モデルとしてプラントの値ではなく、事前に計算した各出力の偏差を状態量に設定「ヨーレート偏差、ヨー角偏差、横位置偏差、横速度偏差」してしまった場合、refは全て0となってしまうため予測区間の情報をMPCブロックに伝えることができず、予測して入力を事前に動作させることができない。という認識であっていますでしょうか?
ご回答よろしくお願いいたします。

Answers (1)

Toshinobu Shintai
Toshinobu Shintai on 23 May 2022
ref端子への入力は、横方向に(ヨーレート、ヨー角、横位置、横速度)を並べ、縦方向に予測ホライズンの分だけそのベクトルを並べる形になります。目標出力値1点のみを入力する場合でも問題なく制御できます。予測ホライズン分の指令値を入力すると、複雑な指令値軌道に遅れなく追従できるようになります。
以下のデモモデルの「適応MPCによる軌道追従制御」という所でそのモデリングを行っていますので、良ければご参照ください。
予測ホライズンの区間で、指令値を変動させる必要がなければ目標出力値1点のみを入力する方法で、区間で指令値軌道に沿うようにしたければ、予測ホライズンの分だけ変動する指令値軌道を入力することになります。
予測モデルとしてプラントの値ではなく、事前に計算した各出力の偏差を状態量に設定「ヨーレート偏差、ヨー角偏差、横位置偏差、横速度偏差」した場合でも、同様の考え方で行うことができると思います。
各出力の偏差指令値が予測ホライズンの区間で変動すれば、その変動する指令値軌道を入力すればよいのではないでしょうか。
  3 Comments
Toshinobu Shintai
Toshinobu Shintai on 23 May 2022
モデル予測制御 設計実装ワークフロー紹介」というデモモデルの、「非線形MPCコントローラの設計と実装」という例で、同様に指令値軌道の入力を行っています。
こちらは過去バージョンのR2021aのモデルがあります。リンク先の下の方の"過去バージョン"というセクションをご確認ください。
友和 松浦
友和 松浦 on 23 May 2022
ご回答ありがとうございます。確認してみます。

Sign in to comment.

Categories

Find more on Model Predictive Control Toolbox in Help Center and File Exchange

Tags

Products


Release

R2021a

Community Treasure Hunt

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

Start Hunting!