How to solve the discontinuity of MPC controller output?

5 ビュー (過去 30 日間)
Jingchao Li
Jingchao Li 2020 年 8 月 6 日
回答済み: Jingchao Li 2020 年 8 月 11 日
In simulink, I used the MPC toolbox to obtain the control value calculated by MPC with a sampling period of 0.05s.
In the following calculations, I need to derive the control variable. However, 0.05s is much smaller than the simulation step size, which leads to an infinite value for the derivative.
I tried to use low-pass filtering, but it still can't solve the problem well.
The MPC algorithm should calculate the control variables in the control horizon together, and then output them one by one. Is it possible to perform interpolation processing before the output of the MPC controller? Or is there any better way to solve this difficulty?

採用された回答

Jingchao Li
Jingchao Li 2020 年 8 月 11 日
When I use the discrete derivation module, the problem is solve

その他の回答 (1 件)

Fangjun Jiang
Fangjun Jiang 2020 年 8 月 6 日
Use a rate transition block or zero-order holder block to deal with different sample rate
  4 件のコメント
Jingchao Li
Jingchao Li 2020 年 8 月 10 日
編集済み: Jingchao Li 2020 年 8 月 10 日
In the process of using the low-pass filter, I also encountered the same problem:
I added a low pass filter after the output of MPC.When it is not connected to other modules, the output becomes very smooth, but once connected to the controlled object, it cannot work.The system has no feedback, and the MPC output to the low-pass filter is exactly the same.
Jingchao Li
Jingchao Li 2020 年 8 月 11 日
Thank you, when I use the discrete derivation module, the problem is solved

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeLinear Plant Specification についてさらに検索

製品


リリース

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by