How can I Switch between PID and MPC ?

17 visualizaciones (últimos 30 días)
Hossein Rezazadeh
Hossein Rezazadeh el 23 de Oct. de 2018
Respondida: Arkadiy Turevskiy el 29 de Oct. de 2018
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.

Respuesta aceptada

Arkadiy Turevskiy
Arkadiy Turevskiy el 29 de Oct. de 2018
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

Más respuestas (0)

Categorías

Más información sobre Controller Creation en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by