systune

Настройте параметры системы управления в Simulink с помощью slTuner интерфейс

Описание

systune системы управления фиксированной структуры мелодий подвергают и мягким и трудным целям проекта. systune может настроить несколько фиксированный порядок, элементы управления фиксированной структуры, распределенные по одной или нескольким обратной связи. Для обзора настраивающегося рабочего процесса смотрите Автоматизированный Настраивающий Рабочий процесс.

Эта команда настраивает системы управления, смоделированные в Simulink®. Для настройки систем управления, представленных в MATLAB®, используйте systune для genss модели.

пример

[st,fSoft] = systune(st0,SoftGoals) настраивает свободные параметры системы управления в Simulink. Модель Simulink, настроенные блоки и аналитические интересные места заданы slTuner интерфейс, st0. systune настраивает параметры системы управления, чтобы лучше всего удовлетворить целям производительности, SoftGoals. Команда возвращает настроенную версию st0 как st. Лучшие достигнутые мягкие ограничительные значения возвращены как fSoft.

Если st0 содержит действительную неопределенность параметра, systune автоматически выполняет устойчивую настройку, чтобы оптимизировать ограничительные значения для значений параметров худшего случая. systune также выполняет устойчивую настройку против набора моделей объекта управления, полученных в различных рабочих точках или значениях параметров. Смотрите Входные параметры.

Настройка выполняется в шаге расчета, заданном Ts свойство st0.

[st,fSoft,gHard] = systune(st0,SoftGoals,HardGoals) настраивает систему управления, чтобы лучше всего удовлетворить мягким целям согласно удовлетворению трудным целям. Это возвращает лучшие достигнутые значения, fSoft и gHard, для мягких и трудных целей. Цели удовлетворяют, когда ее достигнутое значение меньше 1.

[st,fSoft,gHard] = systune(___,opt) задает опции для оптимизации для любой из комбинаций входных аргументов в предыдущих синтаксисах.

[st,fSoft,gHard,info] = systune(___) также возвращает подробную информацию о каждой оптимизации, запущенной для любой из комбинаций входных аргументов в предыдущих синтаксисах.

Примеры

свернуть все

Настройте систему управления в rct_airframe2 модель к мягким целям по отслеживанию, прокрутитесь прочь, запас устойчивости и подавление помех.

Откройте модель Simulink.

mdl = 'rct_airframe2';
open_system(mdl);

Создайте и сконфигурируйте slTuner взаимодействуйте через интерфейс к модели.

st0 = slTuner(mdl,'MIMO Controller');

st0 slTuner взаимодействуйте через интерфейс к rct_aircraft2 модель с MIMO Controller блок, заданный как настраиваемый фрагмент системы управления.

Модель уже имеет точки ввода линеаризации на сигналах az ref, delta fin, azQ, и e. Эти сигналы поэтому доступны, когда анализ указывает для настройки целей и линеаризации.

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

req1 = TuningGoal.Tracking('az ref','az',1);
req2 = TuningGoal.Gain('delta fin','delta fin',tf(25,[1 0]));
req3 = TuningGoal.Margins('delta fin',7,45);
max_gain = frd([2 200 200],[0.02 2 200]);
req4 = TuningGoal.Gain('delta fin','az',max_gain);

req1 ограничивает az отслеживать az ref. Следующее требование, req2, налагает требование спада путем определения профиля усиления для разомкнутого цикла, передаточная функция "точка-точка", измеренная в delta fin. Следующее требование, req3, налагает коэффициент усиления разомкнутого контура и запасы по фазе на той же самой передаточной функции "точка-точка". Наконец, req4 воздействия отклонений к az введенный в delta fin, путем определения максимального усиления профилируют между теми двумя точками.

Настройте модель с помощью этих настраивающих целей.

opt = systuneOptions('RandomStart',3);
rng(0);
[st,fSoft,~,info] = systune(st0,[req1,req2,req3,req4],opt);
Final: Soft = 1.13, Hard = -Inf, Iterations = 91
Final: Soft = 1.13, Hard = -Inf, Iterations = 76
Final: Soft = 1.13, Hard = -Inf, Iterations = 67
Final: Soft = 40, Hard = -Inf, Iterations = 76

st настроенная версия st0.

RandomStart опция задает тот systune должен выполнить три независимых запуска оптимизации, которые используют различные (случайные) начальные значения настраиваемых параметров. Эти три запуска в дополнение к запуску оптимизации по умолчанию, который использует текущее значение настраиваемых параметров как начальное значение. Вызов rng отбирает генератор случайных чисел, чтобы произвести повторяемую последовательность чисел.

systune отображает конечный результат для каждого запуска. Отображенное значение, Soft, максимум значений, достигнутых для каждого четырех голов производительности. Программное обеспечение выбирает лучший запуск в целом, который является запуском, дающим к самому низкому значению Soft. Последнему запуску не удается достигнуть устойчивости с обратной связью, которая соответствует Soft = Inf.

Исследуйте лучшие достигнутые значения мягких ограничений.

fSoft
fSoft =

    1.1327    1.1327    0.5140    1.1327

Только req3, требование по запасу устойчивости, соответствуется для всех частот. Другие значения близко к, но превышают, 1, указывая на нарушения целей для, по крайней мере, некоторых частот.

Используйте viewGoal визуализировать настроенную производительность системы управления по целям и определить, приемлемы ли нарушения. Чтобы оценить определенный разомкнутый цикл или передаточные функции с обратной связью для настроенных значений параметров, можно использовать команды линеаризации, такие как getIOTransfer и getLoopTransfer. После проверки настроенных значений параметров, если вы хотите применить эти значения к модели Simulink®, можно использовать writeBlockValue.

Входные параметры

свернуть все

Интерфейс для настройки систем управления, смоделированных в Simulink, заданном как slTuner интерфейс.

Если вы задаете изменение параметра или линеаризацию в нескольких рабочих точках, когда вы создаете st0, затем systune выполняет устойчивую настройку против всех моделей объекта управления. Если вы задаете неопределенное (uss) модель как замена блока, когда вы создаете st0, затем systune выполняет устойчивую настройку, оптимизируя параметры против значений параметров худшего случая. Для получения дополнительной информации об устойчивых настраивающих подходах, смотрите Устойчивые Настраивающие Подходы (Robust Control Toolbox). (Используя неопределенные модели требует лицензии Robust Control Toolbox™.)

Мягкие цели (цели) для настройки системы управления описаны st0, заданный как вектор TuningGoal объекты. Для полного списка смотрите Настраивающиеся Цели.

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

Трудные цели (ограничения) для настройки системы управления описаны st0, заданный как вектор TuningGoal объекты. Для полного списка смотрите Настраивающиеся Цели.

Трудной цели удовлетворяют, когда ее значение меньше 1. systune настраивает настраиваемые параметры системы управления, чтобы минимизировать максимальное значение мягких настраивающих целей согласно удовлетворению всем трудным настраивающим целям.

Настройка опций алгоритма, заданных как набор опций, созданный с помощью systuneOptions.

Доступные параметры включают:

  • Количество дополнительной оптимизации, чтобы запустить запуск со случайных начальных значений свободных параметров

  • Допуск к завершению оптимизации

  • Отметьте для использования параллельной обработки

Смотрите systuneOptions страница с описанием для получения дополнительной информации обо всех доступных параметрах.

Выходные аргументы

свернуть все

Настроенный интерфейс, возвращенный как slTuner интерфейс.

Лучше всего достигнутые значения мягких целей, возвращенных как вектор.

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

fSoft содержит значение каждой мягкой цели по лучшему полному запуску. Лучший полный запуск является запуском, который достиг наименьшего значения для max(fSoft)Согласно max(gHard)<1.

Достигнутые значения трудных целей, возвращенных как вектор.

gHard содержит значение каждой трудной цели по лучшему полному запуску (запуск, который достиг наименьшего значения для max(fSoft)Согласно max(gHard)<1. Все записи gHard меньше 1, когда всем трудным целям удовлетворяют. Записи, больше, чем 1, указывают на тот systune не мог удовлетворить одному или нескольким конструктивным ограничениям.

Подробная информация о каждой запущенной оптимизации, возвратилась как структура. Поля info :

Запустите номер, возвращенный как скаляр. Если вы используете RandomStart опция systuneOptions выполнять несколько запусков оптимизации, info массив структур и info.Run индекс.

Общее количество итераций выполняется во время запуска, возвращенного как скаляр.

Лучше всего полное мягкое ограничительное значение, возвращенное как скаляр. systune преобразует мягкие цели в функцию свободных параметров системы управления. Команда затем настраивает параметры, чтобы минимизировать эту функцию, удовлетворяющую трудным ограничениям. (См. Алгоритмы.) info.fBest максимальное мягкое ограничительное значение в итоговой итерации. Это значение только значимо, когда трудным ограничениям удовлетворяют.

Лучше всего в целом трудное ограничительное значение, возвращенное как скаляр. systune преобразует трудные цели в функцию свободных параметров системы управления. Команда затем настраивает параметры, чтобы управлять теми значениями ниже 1. (См. Алгоритмы.) info.gBest максимальное трудное ограничительное значение в итоговой итерации. Это значение должно быть меньше 1 для трудных ограничений, которым удовлетворят.

Отдельные мягкие ограничительные значения, возвращенные как вектор. systune преобразует каждое мягкое требование в нормированное значение, которое является функцией свободных параметров системы управления. Команда затем настраивает параметры, чтобы минимизировать то значение, удовлетворяющее трудным ограничениям. (См. Алгоритмы.) info.fSoft содержит отдельные значения мягких ограничений в конце каждого запуска. Эти значения появляются в fSoft в том же порядке, что ограничения заданы в SoftGoals.

Отдельные трудные ограничительные значения, возвращенные как вектор. systune преобразует каждое трудное требование в нормированное значение, которое является функцией свободных параметров системы управления. Команда затем настраивает параметры, чтобы минимизировать те значения. Трудному требованию удовлетворяют, меньше ли его значение 1. (См. Алгоритмы.) info.gHard содержит отдельные значения трудных ограничений в конце каждого запуска. Эти значения появляются в gHard в том же порядке, что ограничения заданы в HardGoals.

Минимальный уровень затухания полюсов с обратной связью, возвращенных как вектор.

По умолчанию местоположения полюса с обратной связью настроенной системы ограничиваются удовлетворить Ре (p) <–10–7. Используйте MinDecay опция systuneOptions изменить это ограничение.

Настроенные значения настраиваемых блоков и параметров, возвращенных как структура.

В случае нескольких запусков можно попробовать результаты какого-то конкретного запуска кроме лучшего запуска. Для этого можно использовать любой getBlockValue или showTunable получить доступ к настроенным значениям параметров. Например, чтобы использовать результаты третьего запуска, введите getBlockValue(st,Info(3).Blocks).

Оптимальное диагональное масштабирование для оценки настраивающих целей MIMO, возвращенных как модель в пространстве состояний.

Когда применено многоконтурные системы управления, настраивая цели, такие как TuningGoal.LoopShape и TuningGoal.Margins может быть чувствительно к масштабированию отдельных передаточных функций цикла, к которым они применяются. systune автоматически корректирует масштабирующиеся проблемы и возвращает оптимальный диагональный масштабирующийся матричный d как модель в пространстве состояний в info.LoopScaling.

Каналы цикла сопоставлены с каждым диагональным элементом D перечислены в info.LoopScaling.InputName. Масштабированной передачей цикла является D\L*D, где L передача разомкнутого цикла, измеренная в местоположениях info.LoopScaling.InputName.

Худшие комбинации неопределенных параметров, возвращенных как массив структур. (Запрашивает устойчивую настройку систем управления с неопределенностью только.) Каждая структура содержит один набор неопределенных значений параметров. Возмущения с худшей производительностью перечислены сначала.

Самое большое мягкое целевое значение по неопределенности располагается при использовании настроенного контроллера. (Запрашивает устойчивую настройку систем управления с неопределенностью только.)

Самое большое трудное целевое значение по неопределенности располагается при использовании настроенного контроллера. (Запрашивает устойчивую настройку систем управления с неопределенностью только.)

Самый маленький уровень затухания с обратной связью по неопределенности располагается при использовании настроенного контроллера. (Запрашивает устойчивую настройку систем управления с неопределенностью только.) Положительное значение указывает на устойчивую устойчивость. Смотрите MinDecay опция в systuneOptions для деталей.

Больше о

свернуть все

Настроенные блоки

Tuned blocks, используемый slTuner соедините интерфейсом, идентифицируйте блоки в модели Simulink, параметры которой должны быть настроены, чтобы удовлетворить настраивающимся целям. Можно настроить большинство блоков Simulink, которые представляют линейные элементы, такие как усиления, передаточные функции или модели в пространстве состояний. (Для полного списка блоков, которые поддерживают настройку, смотрите, Как Настроенные блоки Simulink Параметризованы). Можно также настроить более комплексные блоки, такие как SubSystem или Блоки s-function путем определения эквивалентной настраиваемой линейной модели (Control System Toolbox).

Используйте настраивающиеся команды, такие как systune настроить параметры настроенных блоков.

Необходимо задать настроенные блоки (например, C1 и C2) когда вы создаете slTuner интерфейс.

st = slTuner('scdcascade',{'C1','C2'})

Можно изменить список настроенных блоков с помощью addBlock и removeBlock.

Взаимодействовать с настроенным использованием блоков:

  • getBlockParam, getBlockValue, и getTunedValue получить доступ к настроенной параметризации блока и их текущим значениям.

  • setBlockParam, setBlockValue, и setTunedValue изменить настроенную параметризацию блока и их значения.

  • writeBlockValue обновить блоки в модели Simulink с текущими значениями настроенной параметризации блока.

Аналитические точки

Analysis points, используемый slLinearizer и slTuner интерфейсы, идентифицируйте местоположения в модели, которые важны для линейного анализа и настройки системы управления. Вы используете аналитические точки в качестве входных параметров к командам линеаризации, таким как getIOTransfer, getLoopTransfer, getSensitivity, и getCompSensitivity. Как входные параметры к командам линеаризации, аналитические точки могут задать любой разомкнутый цикл или передаточную функцию с обратной связью в модели. Можно также использовать аналитические точки, чтобы задать конструктивные требования при настройке систем управления с помощью команд, таких как systune.

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

Можно добавить, что анализ указывает на slLinearizer или slTuner интерфейсы, когда вы создаете интерфейс. Например:

s = slLinearizer('scdcascade',{'u1','y1'});

В качестве альтернативы можно использовать addPoint команда.

Просмотреть все аналитические точки s, введите s в командной строке, чтобы отобразить интерфейсное содержимое. Для каждой аналитической точки s, отображение включает имя блока и номер порта и имя сигнала, который происходит в этой точке. Можно также программно получить список всех аналитических точек с помощью getPoints.

Для получения дополнительной информации о том, как можно использовать аналитические точки, смотрите представляющего интерес Марка Сигнэлса для Анализа и проектирования Системы управления и представляющего интерес Марка Сигнэлса для Пакетной Линеаризации.

Алгоритмы

x является вектором настраиваемых параметров в системе управления, чтобы настроиться. systune преобразует каждое мягкое и трудное настраивающее требование SoftReqs(i) и HardReqs(j) в нормированные значения fi (x) и gj (x), соответственно. systune затем решает ограниченную задачу минимизации:

Минимизировать max ifi(x) удовлетворяющий max jgj(x)<1для xmin<x<xmax .

xmin и xmax являются минимальными и максимальными значениями свободных параметров системы управления.

Когда вы используете и мягкие и трудные настраивающие цели, программное обеспечение обращается к этой задаче оптимизации путем решения последовательности неограниченных подпроблем формы:

minxmax (αf(x),g(x)).

Программное обеспечение настраивает множитель α так, чтобы решение подпроблем сходилось к решению исходной ограниченной задачи оптимизации.

systune возвращает slTuner интерфейс параметрами, настроенными на значения, которые лучше всего решают задачу минимизации. systune также возвращает лучшие достигнутые значения fi (x) и gj (x), как fSoft и gHard соответственно.

Для получения информации о функциях fi (x) и gj (x) для каждого типа ограничения, смотрите страницы с описанием для каждого TuningGoal объект требования.

systune использует несглаженные алгоритмы оптимизации, описанные в [1], [2], [3], [4]

systune вычисляет норму H∞ с помощью алгоритма [5] и сохранение структуры eigensolvers от библиотеки SLICOT. Для получения информации о библиотеке SLICOT см. http://slicot.org.

Альтернативная функциональность

Мелодия в интерактивном режиме с помощью Control System Tuner.

Ссылки

[1] П. Апкэриэн и Д. Нолл, "Несглаженный Синтез H-бесконечности", Транзакции IEEE на Автоматическом управлении, Издании 51, Номере 1, 2006, стр 71–86.

[2] Apkarian, P. и Д. Нолл, "Несглаженная Оптимизация для Многополосной Системы управления Частотного диапазона", Automatica, 43 (2007), стр 724–731.

[3] Apkarian, P., П. Гэхинет и К. Бахр, "Мультимодель, многоцелевая настройка контроллеров фиксированной структуры", ECC Продолжений (2014), стр 856–861.

[4] Apkarian, P. m, n . Дао и Д. Нолл, "параметрическая устойчивая структурированная система управления", транзакции IEEE на автоматическом управлении, 2015.

[5] Bruisma, Н.Э. и М. Стейнбач, "Алгоритм FAST, чтобы Вычислить -норму H Матрицы Передаточной функции", Системные Буквы Управления, 14 (1990), стр 287-293.

Расширенные возможности

Введенный в R2014a