How to specify a nonlinear mpc controller for continuous time delay differential equation state function?

13 views (last 30 days)
I have a system of continuous-time nonlinear delay differential equations with two states and two explicit time delays. I would like to build a nonlinear mpc controller for this system, but I am not sure how to write a state function with time delays.
The system:
Where are the state varaibles, are constants, u is the manipulated variable, and are the continuous-time nonlinear state equations.
Is this possible to do using nlmpc ?

Accepted Answer

Emmanouil Tzorakoleftherakis
You can basically add states to help model the delays. So your new discretized state vector would be [x(k) y(k) x(k-1) y(k-1) ... x(k-tau1/Ts) y(t-tau2/Ts)]. Then you can use the respective state function with nlmpc.
  4 Comments
Kayvon
Kayvon on 20 Mar 2023
In this case I was able to rescale the time variable in the delay differential equations so that the needed time delays were small which made the computation tractable. But in other cases I like the idea of fitting a data-driven model and I'm going to look into that as well anyways.

Sign in to comment.

More Answers (0)

Categories

Find more on Model Predictive Control Toolbox in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!