MPCでmdによる影響の予測は可能ですか?
3 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
yu uchimura
il 7 Giu 2018
Risposto: Hiroumi Mita
il 12 Lug 2018
現在、simulinkでMPCコントローラを用いる際に、シミュレーション期間中のmdが既知であることを想定し、signal builderを使用しmdとして与え、シミュレーションを行っています。そのmdが変動する際に、制御対象から出力されるデータにも変動をもたらすのですが、この変動を抑制する(mdが制御対象へ与える影響を予測して制御を行う)ことは可能なのでしょうか?
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/191073/image.jpeg)
0 Commenti
Risposta accettata
Hiroumi Mita
il 11 Giu 2018
外乱(MD)や目標値(ref)の将来値を事前の織り込んで制御する機能を look aheadと言います。 次のサンプルデモをしっかり調べて読み込んでみるとよいかと思います。 look aheadはスクリプトでしか設定できないように見受けられます。
サンプルデモ Improving Control Performance with Look-Ahead (Previewing)
Più risposte (1)
Hiroumi Mita
il 12 Lug 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 Commenti
Vedere anche
Categorie
Scopri di più su Linear Plant Specification in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!