How can I have 'measured states' in a MPC controller object in Simulink?

7 views (last 30 days)
I'm trying to model a MPC controller that tries to hold one measured state of a plant constant. Therefore I am using this measureable state as my 'observed output'. To control the plant I have three 'manipulated variables'.
The model of the plant I want to control is based on a Simulink model that I linearized. I am using this linearized state space model as the basis for my MPC object. To design my MPC I am using the 'basic' MPC Controller block from the 'Model Predictive Control' toolbox.
Now my question is: How can I add measured states to the MPC Controller, additional to the one plant output I want to control. I actually can measure multiple of the states of my plant, so I want to provide them to the MPC instead of having them estimated by the Kalmann filter. One way seems to be to use a custom state estimation, is that correct? The deficit would be that I than have to build a state estimator for the unmeasured states.

Accepted Answer

Emmanouil Tzorakoleftherakis
Edited: Emmanouil Tzorakoleftherakis on 25 Jan 2023
Model Predictive Control Toolbox includes built-in Kalman filters for the linear MPC API and blocks. So you really don't need to do anything other than feed the measured outputs to the MPC block. The built-in Kalman filter will take care of the rest
  3 Comments

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!

Translated by