I have aproblem implementing an MPC controller for a system with important delays. The final control system will be used with a RT PXI on an engine test bench, but for the moment I'm running some previous simulations for fixing the problems.
The attached vi shows a simplified 2x2 MIMO system. When I run it with the default parameters (initial window=0; prediction horizon=5 and control horizon=2; no system delay, nor prediction model delay) everything works quite well.
However, if I include a plant delay (for example plant delay=10) the MPC shows a behaviour that is not clear to me:
* If I set "integral action?" to false: MPC operates in open loop, and the MPC calculates (and applies) the same control action than in the non delayed system. Of course it can not compensate modelling errors, so is not really valid for me.
* If I set "integral action?" to true:system is not stable; for fixing it I change the initial window to 10 (and consequently prediction horizon to 15). Although the system is now stable, the performance of the control is not really good, since important overshoots exist
Then I try to include in my prediction model the delay (through a "CD Set Delays to Model (State-Space)" block) but it seems that the MPC is not sensible at all about the delay defined in the model.
Could any one hep me?
Thank you very much in advance,
(note, in the attached example I have marked in blue the parameters I'm changing)
Solved! Go to Solution.
Don't worry, I fixed the problem by myself including the delays in the model setting additional states which aceted as memories.
I can confirm that the MPC does not takes in consideration the delays defined in the SS model.
Hello I'm trying to implement MPC to derive mobile robot using Labview sending control signal through Xbee communication.
Any one can help me on that?