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

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

Это - хорошая практика, чтобы протестировать робастность вашего контроллера к ошибкам прогноза. Классическая фаза и поля усиления являются одним способом определить количество робастности для приложения 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 может потребовать модификаций к проектированию контроллера.

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

|

Похожие темы