Different sample time for control loop and predictions

Hi,

In order to get a larger prediction horizon,
Is it possible that my MPC controller ran at 100 Hz while internally the predictions are performed at 10 Hz? Is it a good practice?

Thus, with 20 nodes I would get a prediction horizon of 2 seconds. On the other hand, If I set both sampling times (of the control loop and the predictions) at 100 Hz, with 20 nodes I would get a prediction horizon of 0.2 seconds (quite short to my purposes).

If it is possible, I should consider this in the problem formulation? For example in the MPC initialization for the next step.

Thanks in advance!

Hi Antonio,

What I understand: you formulate your OCP with a first shooting interval of length 0.1s and apply that control for a shorter time, 0.01 s in your example.
This might lead to a more conservative control behavior, compared to having the first shooting node length be of length 0.01 s.
But I don’t think it is problematic otherwise.
Maybe you can consider using a nonuniform multiple shooting discretization, to combine short intervals at the start and an overall longer prediction horizon.

Cheers,
Jonathan

How should I achieve different sampling times in the prediction horizon,I am using matlab/simulink.

Please check the minimal example for MATLAB where a nonuniform discretization is used.