exponenta event banner

Extremum ищет контроль для отслеживания эталонной модели неопределенных систем

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

Адаптивная настройка усиления для неопределенных линейных систем

В этом примере рассмотрим следующую линейную систему первого порядка.

(t) = a0x (t) + b0u (t)

Здесь x (t) и u (t) - состояние и управляющий вход системы, соответственно. Константы a0 и b0 неизвестны.

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

x˙ref (t) = a * внешняя ссылка (t) + b * r (t)

Здесь внешняя ссылка (t) является состоянием эталонного растения, а r (t) является эталонным сигналом.

Цель управляющего сигнала u (t) состоит в том, чтобы состояния x (t) неопределенной системы отслеживали опорные состояния внешней ссылки (t).

u (t) = -Kx (t) + Kr (t)

Проектируемый контроллер содержит член обратной связи -Kx (t) и член обратной связи Kr (t).

Замените этот управляющий сигнал на неизвестную линейную системную динамику.

(t) = a0x (t) + b0 (-Kx (t) + Kr (t))

Это выражение можно переписать, как показано в следующем уравнении.

(t) = - (a0 + b0K) x (t) + b0Kr (t)

В идеальном случае, если коэффициенты a0 и b0 номинальной динамики системы известны, то можно определить коэффициент усиления К контроллера с помощью методов размещения полюсов. При этом создается следующее условие соответствия.

a0 + b0K = a *, b0K = b *

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

В этом примере используется следующая неизвестная система и ссылочная динамика.

(t) = -1x (t) + u (t)

x˙ref (t) = -3xref (t) + 2r (t)

В этом случае идеальным коэффициентом усиления управления является K = -2.

Extremum ищет управление адаптивной настройкой усиления

Для реализации подхода extremum seeking control (ESC) к предыдущей проблеме необходимо определить целевую функцию, которую контроллер ESC затем максимизирует, чтобы найти коэффициент усиления K контроллера.

В этом примере используется следующая целевая функция.

J=-5∫ (x (t) -xref (t)) 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')

См. также

Блоки

Связанные темы