How can I Switch between PID and MPC ?

조회 수: 32 (최근 30일)
Hossein Rezazadeh
Hossein Rezazadeh 2018년 10월 23일
답변: Arkadiy Turevskiy 2018년 10월 29일
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