フィルターのクリア

Why are the output constraints not applied when using MPC Controller?

1 回表示 (過去 30 日間)
GKH
GKH 2017 年 12 月 7 日
I am trying to develop a Model Predictive Controller using a simple Suspension Model. I defined a state space model and then used 'mpcDesigner' to design the controller. As I see, the constraints assigned to the outputs using the toolbox are not being assigned when I simulate the model.
% Define the matrices A, B ,C and D in the continuous state
A = [0 1 0 -1; (-cc/mc) (-dc/mc) 0 (dc/mc); 0 0 0 1; (cc/mw) (dc/mw) (-cw/mw) ((-dc-dw)/mw)];
B = [0 0; 0 (1/mc); -1 0; (dw/mw) (-1/mw)];
C = [1 0 0 0;(-cc/mc) (-dc/mc) 0 (dc/mc); 0 0 -cw -dw];
D = [0 0; 0 0;0 0];
%D = [0 (1/mc); dw -1];
% state space
sys = ss(A,B,C,D,'StateName',{'Suspension Deflection' 'Chassis Velocity' 'Tire Deflection' 'Wheel Velocity'},...
'StateUnit',{'m','m/s','m','m/s'},...
'InputName',{'Road Disturbance', 'Actuator Force'},...
'InputUnit',{'m/s','N'},...
'OutputName', {'Suspension Deflection','Chassis Acceleration','Dynamic Wheel Load'},...
'OutputUnit', {'m','m/(s^2)','N'});
Then I used 'mpcDesigner' and defined the variables from MPC Structure
Then from the 'Tuning' Tab, I clicked on 'Constraints' to define my constraints on manipulated variable and the outputs
Then I exported the simulink model and excited it with a sinewave of Amplitude '3' (physically unrealistic value for an excitation)
When I run the simulation for 10 seconds and check the output scope block, I see this
As seen, the first plot output definitely does not lie between -0.08 and 0.08 as specified when designing the controller.
Am I doing anything wrong or how can I limit the output?

回答 (0 件)

カテゴリ

Help Center および File ExchangeRefinement についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by