Протестируйте диспетчера MPC Робастнесса, использующего MPC Designer

В этом примере показано, как протестировать чувствительность вашего прогнозирующего контроллера модели к симуляциям ошибок предсказания в MPC Designer.

Это - хорошая практика, чтобы протестировать робастность вашего контроллера к ошибкам предсказания. Классическая фаза и запасы по амплитуде являются одним способом определить количество робастности для приложения SISO. Программное обеспечение Robust Control Toolbox™ обеспечивает более сложные подходы для систем MIMO. Может также быть полезно оценить робастность рабочими симуляциями с выбранными несоответствиями модели и воздействиями.

Задайте модель объекта управления

В данном примере используйте модель CSTR, описанную в Контроллере Проекта Используя MPC Designer.

A = [-0.0285 -0.0014; -0.0371 -0.1476];
B = [-0.0850 0.0238; 0.0802 0.4462];
C = [0 1; 1 0];
D = zeros(2,2);
CSTR = ss(A,B,C,D);

Задайте имена сигнала и типы сигнала для объекта.

CSTR.InputName = {'T_c','C_A_i'};
CSTR.OutputName = {'T','C_A'};
CSTR.StateName = {'C_A','T'};
CSTR = setmpcsignals(CSTR,'MV',1,'UD',2,'MO',1,'UO',2);

Откройте MPC Designer и импортируйте модель объекта управления.

mpcDesigner(CSTR)

Приложение импортирует модель объекта управления и добавляет его в Data Browser. Это также создает контроллер по умолчанию и сценарий симуляции по умолчанию.

Спроектируйте контроллер

Как правило, вы спроектировали бы свой контроллер путем определения масштабных коэффициентов, определения ограничений и корректировки настраивающихся весов. В данном примере измените шаг расчета контроллера и сохраните другие настройки контроллера в их значениях по умолчанию.

В MPC Designer, на вкладке Tuning, в разделе Horizon, задают Sample time 0.25 секунды.

Input Response и Output Response строят обновление, чтобы отразить новый шаг расчета.

Сконфигурируйте сценарий симуляции

К отслеживанию заданного значения тестового контроллера и неизмеренному подавлению помех, измените сценарий симуляции по умолчанию.

В Data Browser, в разделах Scenarios, щелкают правой кнопкой по scenario1, и выберите Edit.

В диалоговом окне Simulation Scenario задайте Simulation duration 50 секунды.

В таблице Reference Signals сохраните Ref of T по умолчанию настройка заданного значения, которая симулирует модульное ступенчатое изменение в реакторной температуре.

Чтобы содержать заданное значение концентрации по его номинальной стоимости, во второй строке, в Signal выпадающий список, выбирают Constant.

Симулируйте модульный шаг неизмеренное воздействие во время 25 секунд. В таблице Unmeasured Disturbances, в Signal выпадающий список, выбирают Step, и задайте Time 25.

Нажмите OK.

Выполнение приложения сценарий симуляции и обновления графики отклика, чтобы отразить новые настройки симуляции. Для этого сценария внутренняя модель контроллера используется в симуляции. Поэтому результаты симуляции представляют эффективность контроллера, когда нет никаких ошибок предсказания.

Задайте встревоженные модели объекта управления

Предположим, что вы хотите протестировать чувствительность своего контроллера, чтобы посадить изменения, которые изменяют воздействие температуры хладагента на реакторной температуре. Можно симулировать такие изменения путем беспокойства элемента B(2,1) из матрицы входа к состоянию CSTR.

В MATLAB® Командное окно, задайте матрицу возмущения.

dB = [0 0;0.05 0];

Создайте две встревоженных модели объекта управления.

perturbUp = CSTR;
perturbUp.B = perturbUp.B + dB;

perturbDown = CSTR;
perturbDown.B = perturbDown.B - dB;

Исследуйте переходные процессы встревоженных объектов

Чтобы исследовать эффекты возмущений объекта, постройте переходные процессы объекта.

step(CSTR,perturbUp,perturbDown)
legend('CSTR','peturbUp','perturbDown')

Беспокойство элемента B(2,1) из объекта CSTR изменяет величину ответа реакторной температуры, T, к изменениям в температуре хладагента, Tc.

Импортируйте встревоженные объекты

В MPC Designer, на вкладке MPC Designer, в разделе Import, нажимают Import Plant.

В диалоговом окне Import Plant Model выберите perturbUp и perturbDown модели.

Нажмите Import.

Приложение импортирует модели и добавляет их в Data Browser.

Задайте встревоженные сценарии симуляции объекта

Создайте два сценария симуляции, которые используют встревоженные модели объекта управления.

В Data Browser, в разделе Scenarios, дважды кликают scenario1, и переименуйте его accurate.

Щелкните правой кнопкой по accurate, и нажмите Copy. Переименуйте accurate_Copy к errorUp.

Щелкните правой кнопкой по errorUp, и выберите Edit.

В диалоговом окне Simulation Scenario, в Plant used in simulation выпадающий список, выбирают perturbUp.

Нажмите OK.

Повторите этот процесс для второго встревоженного объекта.

Скопируйте accurate сценарий и переименовывает его в errorDown.

Отредактируйте errorDown, выбор perturbDown объект.

Исследуйте errorUp Ответ симуляции

На вкладке MPC Designer, в разделе Scenario, нажимают Plot Scenario> errorUp.

Приложение создает errorUp: Input и вкладки errorUp: Output, и отображает ответ симуляции.

Просмотреть accurate и errorUp ответы рядом друг с другом, перетащите вкладку accurate: Output в левую панель графика.

Возмущение создает объект, perturbUp, это быстрее отвечает на переменные изменения, которыми управляют, чем диспетчер предсказывает. На вкладке errorUp: Output, в графике Output Response, переходной процесс заданного значения T имеет приблизительно 10%-е перерегулирование с более длинным временем урегулирования. Несмотря на то, что этот ответ хуже, чем ответ accurate симуляция, это все еще приемлемо. Более быстрый ответ объекта приводит к меньшей пиковой ошибке из-за неизмеренного воздействия. В целом, контроллер может управлять perturbUp посадите успешно несмотря на внутреннюю ошибку предсказания модели.

Исследуйте errorDown Ответ симуляции

На вкладке MPC Designer, в разделе Scenario, нажимают Plot Scenario> errorDown.

Приложение создает errorDown: Input и вкладки errorDown: Output, и отображает ответ симуляции.

Просмотреть accurate и errorDown ответы рядом друг с другом, кликните по вкладке accurate: Output в левой панели.

Возмущение создает объект, perturbDown, это медленнее отвечает на переменные изменения, которыми управляют, чем диспетчер предсказывает. На вкладке errorDown: Output, в графике Output Response, отслеживание заданного значения и подавление помех хуже, чем для невозмутимого объекта.

В зависимости от требований к приложению и реального потенциала для таких изменений объекта, ухудшенного ответа для perturbDown объект может потребовать модификаций к проектированию контроллера.

Смотрите также

|

Похожие темы