Конструкция обратной связи и усиления обратной связи для данной системы является общей технологией проектирования контроллера. В этом примере контроллер поиска экстремума используется для отслеживания заданной эталонной модели установки путем адаптации обратной связи и усиления обратной связи для неопределенной динамической системы.
В этом примере рассмотрим следующую линейную систему первого порядка.
b0u (t)
Здесь ) и t) - состояние и управляющий вход системы, соответственно. a0 b0 неизвестны.
Целью этого примера является отслеживание производительности следующей эталонной модели установки, которая определяет требуемое переходное и стационарное поведение.
+ b * r (t)
Здесь ) является состоянием эталонного растения, а t) является эталонным сигналом.
Цель управляющего сигнала ) состоит в том, чтобы состояния t) неопределенной системы отслеживали опорные (t).
Kr (t)
Проектируемый контроллер содержит член обратной связи ) и член обратной связи t).
Замените этот управляющий сигнал на неизвестную линейную системную динамику.
) + Kr (t))
Это выражение можно переписать, как показано в следующем уравнении.
+ b0Kr (t)
В идеальном случае, если коэффициенты и номинальной динамики системы известны, то можно определить коэффициент усиления К контроллера с помощью методов размещения полюсов. При этом создается следующее условие соответствия.
b0K = b *
При использовании одного значения коэффициента усиления в качестве коэффициента усиления передачи и коэффициента усиления обратной связи это условие соответствия может не удовлетворяться для всех возможных значений и . Для более общего решения можно настроить два различных значения усиления (многопараметрическая настройка).
В этом примере используется следующая неизвестная система и ссылочная динамика.
+ u (t)
2r (t)
В этом случае идеальным коэффициентом усиления управления является -2.
Для реализации подхода extremum seeking control (ESC) к предыдущей проблеме необходимо определить целевую функцию, которую контроллер ESC затем максимизирует, чтобы найти коэффициент усиления контроллера.
В этом примере используется следующая целевая функция.
) 2dt
На следующем рисунке показана настройка элемента управления для поиска экстремума.
Функция затрат вычисляется на основе выходных данных эталонной системы и фактической системы.
Контроллер поиска экстремума обновляет параметр усиления.
Управляющее действие обновляется с использованием нового значения усиления.
Это управляющее действие применяется к фактической системе.
![]()
Эта конфигурация проблемы реализована в firstOrderrefTracking_Esc Модель Simulink.
mdl = 'firstOrderRefTracking_Esc';
open_system(mdl)![]()
В этой модели значение усиления оптимизируется с помощью блока Extremum Seeking Control.
Подсистема System Dynamics and Objective содержит ссылочную модель, завод (включая фактическую систему и управляющее действие) и вычисление целевой функции. Все эти элементы реализованы с использованием функциональных блоков MATLAB.
open_system([mdl '/System Dynamics and Objective'])![]()
Укажите начальное предположение для значения коэффициента усиления.
IC = 0;
Блок Extremum Seeking Control возмущает значение параметра, используя сигнал модуляции. Затем он демодулирует результирующее изменение в сигнале целевой функции перед вычислением обновления параметра. Настройте параметры управления при поиске extremum для этого блока.
Сначала укажите количество настраиваемых параметров (N) и скорость обучения (lr).
N = 1; lr = 0.55;
Сконфигурируйте сигналы демодуляции и модуляции, указав их частоту (omega), фазы (phi_1 и phi_2) и их амплитуды (a и b).
omega = 5; % Forcing frequency a = 1; % Demodulation Amplitude b = 0.1; % Modulation Amplitude phi_1 = 0; % Demodulation phase phi_2 = 0; % Modulation phase
Для этого примера блок управления Extremum Seeking сконфигурирован для удаления высокочастотного шума из демодулированного сигнала. Установите частоту отсечки для соответствующего фильтра нижних частот.
omega_lpf = 1;
Моделирование модели.
sim(mdl);
Чтобы проверить производительность отслеживания ссылок, просмотрите траектории состояния из моделирования. Фактическая траектория сходится к опорной траектории менее чем за пять секунд.
open_system([mdl '/System Dynamics and Objective/State'])![]()
Чтобы проверить поведение контроллера ESC, сначала просмотрите целевую функцию, которая быстро достигает максимального значения.
open_system([mdl '/System Dynamics and Objective/Cost'])![]()
Максимизируя целевую функцию, контроллер ESC оптимизирует значение усиления управления вокруг своего идеального значения -1. Флуктуации значения усиления обусловлены сигналом модуляции от блока управления поиска экстремума.
open_system([mdl '/System Dynamics and Objective/Gain K'])![]()
bdclose('firstOrderRefTracking_Esc')