Extremum Ищет управление для образца модели неопределенных систем

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

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

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

x˙(t)=a0x(t)+b0u(t)

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

Цель этого примера состоит в том, чтобы отследить эффективность следующих ссылок модели объекта управления, который определяет необходимое переходное и статическое поведение.

x˙ref(t)=a*xref(t)+b*r(t)

Вот, xref(t) - состояние эталонного объекта и r(t) является опорный сигнал.

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

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

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

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

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

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

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

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

a0+b0K=a*,b0K=b*

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

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

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

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

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

Экстремум Поиск Управление Адаптивная Настройка Усиления

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

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

J=-5(x(t)-xref(t))2dt

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

  • Функция затрат вычисляется из выходов ссылочной системы и фактической системы.

  • Контроллер поиска extremum обновляет параметр усиления.

  • Действие управления обновляется с помощью нового значения усиления.

  • Это действие управления применяется к фактической системе.

Это строение задачи реализовано в firstOrderrefTracking_Esc Модель Simulink.

mdl = 'firstOrderRefTracking_Esc';
open_system(mdl)

В этой модели значение усиления оптимизируется с помощью блока Extremum Seeking Control.

Подсистема Системная динамика и Цель содержит образец модели, объект (включая фактическую систему и действие управления) и расчет целевой функции. Все эти элементы реализованы с помощью Блоков MATLAB function.

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 Control сконфигурирован, чтобы удалить высокочастотный шум из демодулированного сигнала. Установите частоту отключения для соответствующего lowpass.

omega_lpf = 1;

Симулируйте модель.

sim(mdl);

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

open_system([mdl '/System Dynamics and Objective/State'])

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

open_system([mdl '/System Dynamics and Objective/Cost'])

Путем максимизации целевой функции контроллер ESC оптимизирует значение усиления управления вокруг его идеального значения -1. Колебания значения усиления связаны с сигналом модуляции от блока Extremum Seeking Control.

open_system([mdl '/System Dynamics and Objective/Gain K'])

bdclose('firstOrderRefTracking_Esc')

См. также

Блоки

Похожие темы