Робастность тестового контроллера

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

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

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

В данном примере используйте модель CSTR, описанную в Контроллер Using 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) Объект величину отклика температуры реактора, 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 объект может потребовать изменений в проектировании контроллера.

См. также

|

Похожие темы