MATLAB Answers

0

ある出力にデッドバンドを設けたい

Asked by yu uchimura on 19 Jul 2018
Latest activity Commented on by Tohru Kikawada on 24 Jul 2018
現在、simulinkの MPC Controllerを用いて空調制御のシミュレーションを行っているのですが、MPC Controllerから出力される操作量mvに、デッドバンドを設定することは可能でしょうか?可能でありましたら、その方法も教えていただきたいです。

  0 Comments

Sign in to comment.

2 Answers

Answer by Tohru Kikawada on 20 Jul 2018

単純にデッドバンド(不感帯)を設けたいだけであれば Dead Zone ブロックを使ってはいかがでしょうか。

  0 Comments

Sign in to comment.


Answer by yu uchimura on 20 Jul 2018

ご回答ありがとうございます。
確認したところ、Dead Zone ブロックはMPCより計算された操作量に、追加で不感帯を設けるもののようですが、MPC ブロックの外部で操作量を変化させてもMPCの最適化には影響を及ぼさないのでしょうか?
また、私の解析における操作量の不感帯幅は、MPCの操作量で決定されるのではなく、MPCの ref と mo の差により決定されるようなものを設定したいのですが、そのような不感帯を設定する方法はございますでしょうか?具体的には、MPCの操作量に±1.0の不感帯幅を設けたい場合に、操作量に直接不感帯の上限と下限を設定するのではなく、例えば ref が25℃で、ref と mo の差が±1.0℃の範囲であれば操作量を一定の値で出力するといったような不感帯を設定したいです。
回答に質問を重ねてしまい誠に申し訳ありませんが、上記2つの質問に対して、ご回答をよろしくお願いいたします。

  1 Comment

Tohru Kikawada on 24 Jul 2018
ご指摘のとおり、影響を及ぼします。MPCの外側で操作量を変えているため、最適化では考慮されません。不感帯をMPCで考慮する場合には論理変数(boolean)を使って混合整数最適化問題として定式化する方法があるようです。この場合、Model Predictive Control Toolboxの標準機能では実現が難しいかと思います。
また、refとmoの差により操作量を一定値にしたいとのことですが、その場合にはMPCとは並列に例外処理のコントローラーを接続し、それらを状態によって切り替える方法があるようです。

Sign in to comment.