В этом примере показано, как использовать численную оптимизацию для настройки параметров контроллера нелинейной системы. В этом примере мы моделируем систему CE 152 Magnetic Levitation, где контроллер используется для размещения свободно левитирующего шара в магнитном поле. Структура управления для этой модели является фиксированной, и требуемая производительность контроллера может быть определена в терминах идеализированного временного отклика.
Теорема Эрншоу доказала, что невозможно добиться стабильной левитации с помощью статических, макроскопических, классических электромагнитных полей. Однако система СЕ 152 работает вокруг этого, создавая потенциальный хорошо вокруг точки, в которой мяч должен быть подвешен, тем самым создавая неинверсную квадратную силу закона. Это достигается индуктивной катушкой, которая генерирует изменяющееся во времени электромагнитное поле. Электромагнитное поле управляется с помощью обратной связи для удержания шара в требуемом месте.
open_system('maglev_demo')

Система магнитной левитации представляет собой нелинейную динамическую систему с одним входом и одним выходом. Дважды щелкните значок Magnetic Levitation Plant Model для открытия этой подсистемы. Входное напряжение подается на катушку, создающую электромагнитное поле. Выходное напряжение измеряется ИК-приемником и представляет положение шара в магнитном поле. Эта система представлена на схеме ниже.

Физическая система состоит из шара (массой 0,00837 кг), находящегося под действием трёх сил:
Магнитное поле, создаваемое индуктивной катушкой. Это моделируется Power amplifier and coil блок в модели Simulink ®. Вход индуктора является сигналом напряжения, а выход - током. Сила от катушки зависит от квадрата тока, воздушного зазора между катушкой и шаром и физических свойств мяча. Это создает действующую вверх силу на мяч.
Гравитационная сила, действующая вниз
Демпфирующая сила, действующая в направлении, противоположном скорости в любой момент времени
Эти три силы вызывают результирующее движение мяча и моделируются в Simulink, как показано на рисунке.
open_system('maglev_demo/Magnetic Levitation Plant Model')

Нелинейности, возникающие в результате насыщения катушки и изменения динамики вне пределов магнитного поля, также моделируются в модели Simulink. Поскольку сила от катушки затухает в соответствии с обратным квадратным законом, требуются большие напряжения, то далее шар поступает от катушки. Сигнал управления масштабируется для учета этого, и масштабирование включается в блоки масштабирования сигнала управления.
Требование к контроллеру состоит в том, чтобы он мог позиционировать шар в любом произвольном положении в магнитном поле и перемещать шар из одного положения в другое. Эти требования фиксируются путем установки ступенчатых границ отклика на измерение положения. Конкретно мы требуем следующих ограничений на мяч:
Ограничение положения: в пределах 20% от требуемого положения менее чем за 0,5 секунды
Ограничение по времени установки: в пределах 2% от требуемого положения в течение 1,5 секунды
Для выполнения требований к управлению мы внедрили контроллер пропорциональной интегральной производной (PID). Для удобства контроллер использует нормализованное измерение положения с диапазоном от 0 до 1, представляющее самое нижнее и самое верхнее положения мяча соответственно.
Simulink ® Design Optimization™ и численная оптимизация идеально подходят для настройки коэффициентов PID, поскольку:
Динамика системы достаточно сложна, чтобы требовать усилий и времени для анализа, если мы подходим к проблеме с использованием традиционных методов проектирования управления.
Структура контроллера фиксирована
Мы знаем, какой шаг ответа мы требуем от системы.
Учитывая желаемую характеристику реакции на шаг, просто указать верхнюю и нижнюю границы реакции. Дважды щелкните значок Position Constraint блок в Magnetic Levitation Plant Model подсистема для просмотра ограничений на положение мяча. Линии зависимости можно перемещать с помощью мыши.

Можно запустить оптимизатор ответа с помощью меню «Приложения» на панели инструментов Simulink или sdotool в MATLAB. Предварительно настроенную задачу оптимизации можно запустить в оптимизаторе отклика, предварительно открыв модель и дважды щелкнув оранжевый блок в нижней части модели. В оптимизаторе отклика нажмите кнопку «График отклика модели», чтобы смоделировать модель и показать, насколько хорошо начальная конструкция удовлетворяет проектным требованиям.

Мы выбираем параметры контроллера PID для настройки, открывая Design Variables редактор, как показано ниже

После определения параметров оптимизации и требуемых границ ответа на шаг мы начинаем оптимизацию, нажав кнопку Optimize (Оптимизировать) в оптимизаторе ответа. Во время оптимизации графики обновляются с учетом положения шара для каждой итерации, и темная кривая показывает окончательную оптимизированную траекторию шара (как показано ниже).


После завершения оптимизации важно проверить результаты на соответствие другим размерам шага. Успешная оптимизация параметров должна обеспечивать хорошее управление всеми размерами шагов, близкими к настроенному размеру шага 1. Для подтверждения производительности контроллера необходимо проверить размеры шагов от .7 до 1. Следующий график показывает отклик на ввод шага от 0 до 0,85 через 0,1 секунды.

Этап проверки показывает, что рабочие характеристики контроллера удовлетворяют указанным требованиям, а настроенные значения параметров пригодны для управления. Настроенные параметры могут использоваться для обеспечения базовой производительности, с которой могут сравниваться другие схемы управления, или базовой линии для контроллеров для различных рабочих областей.
% Close the model bdclose('maglev_demo')