MPCでmdによる影響の予測は可能ですか?

조회 수: 5 (최근 30일)
yu uchimura
yu uchimura 2018년 6월 7일
답변: Hiroumi Mita 2018년 7월 12일
現在、simulinkでMPCコントローラを用いる際に、シミュレーション期間中のmdが既知であることを想定し、signal builderを使用しmdとして与え、シミュレーションを行っています。そのmdが変動する際に、制御対象から出力されるデータにも変動をもたらすのですが、この変動を抑制する(mdが制御対象へ与える影響を予測して制御を行う)ことは可能なのでしょうか?

채택된 답변

Hiroumi Mita
Hiroumi Mita 2018년 6월 11일
外乱(MD)や目標値(ref)の将来値を事前の織り込んで制御する機能を look aheadと言います。 次のサンプルデモをしっかり調べて読み込んでみるとよいかと思います。 look aheadはスクリプトでしか設定できないように見受けられます。
サンプルデモ Improving Control Performance with Look-Ahead (Previewing)
  댓글 수: 2
yu uchimura
yu uchimura 2018년 6월 18일
ご回答ありがとうございます。 サンプルデモの方参考にさせて頂きます。
yu uchimura
yu uchimura 2018년 6월 20일
重ねての質問申し訳ございません。
「サンプルデモ Improving Control Performance with Look-Ahead (Previewing)」のページを読んでおり、ページ最下部にSimulinkを用いてシミュレーションを行うことが可能であるような記述がありましたが、やはりこのlookaheadという機能はスクリプトでしか設定できないのでしょうか?もしSimulinkでも設定できるのであれば、方法を教えて頂きたいです。
それと、以下のSimulik図の「Reference Previewerブロック」、「Measured Disturbance Previewer ブロック」、「uSLブロック」、「ySLブロック」がSimulink ライブラリブラウザ内に見当たらないのですが、どのブロックを用いているのかを教えて頂きたいです。

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Hiroumi Mita
Hiroumi Mita 2018년 7월 12일
#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モデルの情報表示ー>自動生成名の非表示のチェックをはずすとブロック名は見ることができます。

카테고리

Help CenterFile Exchange에서 Linear Plant Specification에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!