Управление поиском экстремума для отслеживания образца модели неопределенных систем

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

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

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

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), и термин прямого распространения, -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.

Управление поиском экстремума адаптивная настройка усиления

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

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

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

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

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

  • Экстремум, ища контроллер обновляет параметр усиления.

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

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

firstOrderRefTracking_Esc Модель Simulink реализует эту проблемную настройку.

mdl = 'firstOrderRefTracking_Esc';
open_system(mdl)

В этой модели вы используете Экстремум, Ища Блок управления, чтобы оптимизировать значение усиления.

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

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

Задайте исходное предположение для значения усиления.

IC = 0;

Экстремум, Ища Блок управления тревожит значение параметров с помощью сигнала модуляции. Это затем демодулирует получившееся изменение в сигнале целевой функции прежде, чем вычислить обновление параметра. Сконфигурируйте экстремум, ища параметры управления для этого блока.

Сначала задайте количество параметров, которые будут настроены (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

В данном примере Экстремум, Ища Блок управления сконфигурирован, чтобы удалить высокочастотный шум из демодулируемого сигнала. Установите частоту среза для соответствующего фильтра lowpass.

omega_lpf = 1;

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

sim(mdl);

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

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

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

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

Путем максимизации целевой функции диспетчер ESC оптимизирует значение усиления управления около его идеального значения –2. Колебания значения усиления происходят из-за сигнала модуляции от Экстремума, Ища Блок управления.

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

bdclose(mdl)

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

Блоки

Похожие темы