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

11 visualizzazioni (ultimi 30 giorni)
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.

Risposta accettata

Emmanouil Tzorakoleftherakis
Modificato: Emmanouil Tzorakoleftherakis il 25 Gen 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 Commenti
Emmanouil Tzorakoleftherakis
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

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Linear Plant Specification in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by