How can I Switch between PID and MPC ?

15 次查看(过去 30 天)
HI. Is that possible to design a controller in which the operator can manually switch between MPC and PID ? In the design below the problem is when we switch from MPC to PID, the MPC receives feedbacks which are not correspondent to MPC signals and it makes the MPC state estimator to estimate totally wrong estate of the model. Consequently it is not possible to switch back to MPC because it is running on a wrong state. So the question is how can I change last move values of the MPC to be equal to PID signals during run time when switching to PID so that the estate estimator does not get lost . Or if there is any other design that can solve this problem.

采纳的回答

Arkadiy Turevskiy
Arkadiy Turevskiy 2018-10-29
Hi there,
Yes, you can definitely switch between different controllers. We call this feature "bumpless transfer". In your MPC controller you need to check the option in block dialog to use "external manipulated variable". This is explained here .
You also need to ensure bumpless transfer for when you switch from MPC to PID controller. If you use Simulink PID Controller block, you do that by using tracking mode feature, as explained here .
Finally, here is a link to our webinar where we designed both PID and MPC controllers for a robot arm and compared them by switching between them and comparing performance.
Hope this helps.
Arkadiy

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Controller Creation 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by