systune

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

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

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

Синтаксис

[st,fSoft] = systune(st0,SoftGoals)
[st,fSoft,gHard] = systune(st0,SoftGoals,HardGoals)
[st,fSoft,gHard] = systune(___,opt)
[st,fSoft,gHard,info] = systune(___)

Описание

пример

[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, az, q и 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.14, Hard = -Inf, Iterations = 46
Final: Soft = 1.13, Hard = -Inf, Iterations = 75
Final: Soft = 1.13, Hard = -Inf, Iterations = 73
Final: Soft = 40, Hard = -Inf, Iterations = 95

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, когда вы создаете интерфейс. Например:

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