MPCでmdによる影響の予測は可能ですか?
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
yu uchimura
am 7 Jun. 2018
Beantwortet: Hiroumi Mita
am 12 Jul. 2018
現在、simulinkでMPCコントローラを用いる際に、シミュレーション期間中のmdが既知であることを想定し、signal builderを使用しmdとして与え、シミュレーションを行っています。そのmdが変動する際に、制御対象から出力されるデータにも変動をもたらすのですが、この変動を抑制する(mdが制御対象へ与える影響を予測して制御を行う)ことは可能なのでしょうか?

0 Kommentare
Akzeptierte Antwort
Hiroumi Mita
am 11 Jun. 2018
外乱(MD)や目標値(ref)の将来値を事前の織り込んで制御する機能を look aheadと言います。 次のサンプルデモをしっかり調べて読み込んでみるとよいかと思います。 look aheadはスクリプトでしか設定できないように見受けられます。
サンプルデモ Improving Control Performance with Look-Ahead (Previewing)
2 Kommentare
Weitere Antworten (1)
Hiroumi Mita
am 12 Jul. 2018
#Q1. lookaheadという機能はスクリプトでしか設定できないのでしょうか?
もしSimulinkでも設定できるのであれば、方法を教えて頂きたいです。
#A1. Simulinkで設定する機能は無いようです。 MPC Desingrerを見た限りでは、lookaheadの設定機能はありませんでした。
MPC Toolboxではスクリプトで設計したMPCオブジェクトをMPC制御器としてSimulink内で使えます。
MPCオブジェクトにlookaheadを設定すれば、その機能がSimulink上で使えることを示したのが 該当のデモです。
#Q2. 以下のSimulik図の「Reference Previewerブロック」、 「Measured Disturbance Previewer ブロック」、「uSLブロック」、 「ySLブロック」がSimulink ライブラリブラウザ内に見当たらないのですが、 どのブロックを用いているのかを教えて頂きたいです。
#A2. 「Reference Previewerブロック」、「Measured Disturbance Previewer ブロック」は
標準のブロックはありません。その中で、関数(mpcblock_preview.m)をコールするようデモ用に作成したものです。
マスク機能でカバーをつけ、MATLAB Function BlockでMATLAB関数を呼び出しています。
その内容はmpcblock_preview.mを精査してください。
なお、Simulinkモデルの情報表示ー>自動生成名の非表示のチェックをはずすとブロック名は見ることができます。
0 Kommentare
Siehe auch
Kategorien
Mehr zu Simulation finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!