How can I have 'measured states' in a MPC controller object in Simulink?
10 views (last 30 days)
Show older comments
Daniel
on 21 Jan 2023
Commented: Daniel
on 30 Jan 2023
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.
0 Comments
Accepted Answer
Emmanouil Tzorakoleftherakis
on 25 Jan 2023
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
Emmanouil Tzorakoleftherakis
on 30 Jan 2023
What I am saying is basically this: if you can measure all the states in your system reliably, you don't need a filter. If you can only measure some of your states, you need to estimate the rest because MPC needs all the states for the internal prediction model. You cannot estimate the "missing states" without an estimator, and to do that, you need to pass the measured states to that filter. This is the notion of obserbability
More Answers (0)
See Also
Categories
Find more on Refinement in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!