Is it possible to switch between multiple adaptive MPC controller?
5 次查看(过去 30 天)
显示 更早的评论
Hello,
I have two adaptive MPC controller, which control different manipulated variables (MV) in a plant. I need to switch between these two based on a specific condition. I modelled the controllers in matlab and Im using them in simulink. The plant and the linearized model updater are also coded in matlab and called with a MatlabFunction.
For example: If a certain criteria is given, then the first MPC should be "on" and if not, then the second should be "on".
Is this even possible?
Or should I use only one MPC, which controlls all MVs of the plant? But in that case some of the MVs need to be off or set to 0 if the others being manipulated.
I know you can controll two MPCs with a switch based on their cost function, but in my case I need a different criteria not the cost function. And in that example both MPCs control the same MVs. So I thought there should be a similar solution.
Thanks
回答(1 个)
Sam Chak
2022-8-9
I'm not sure how complicated is your problem. If the ON/OFF switching is triggered by a simple event that depends on the state, then you can try this idea, mathematically.
where
k2 = 1.00; % trigger ON when x <= 0.5
k1 = 0.25; % else
F = @(t, x) [- (k1*(sign(x - 0.5) + 1)/2 + k2*(1 - sign(x - 0.5))/2).*x];
[t, x] = ode45(F, [0 10], 1);
plot(t, x), grid on, xlabel('t')
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Refinement 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!