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 = 92
Final: Soft = 1.13, Hard = -Inf, Iterations = 80
Final: Soft = 1.13, Hard = -Inf, Iterations = 72
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 получены в итоге в следующей таблице.

Поле Значение
Run

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

Iterations

Общее количество итераций выполняется во время запуска, возвращенного как скаляр. Если вы используете RandomStart, info.Iterations(j) количество итераций, выполняемых в j th запуск перед завершением.

f

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

g

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

x

Настроенные значения параметров, возвращенные как вектор. Этот вектор содержит значения настраиваемых параметров в конце запуска. info.x может также включать значения дополнительных переменных, такие как масштабирования цикла, если systune использует их (см. info.LoopScaling).

MinDecay

Минимальный уровень затухания настроенной системной динамики, возвращенной как двухэлементный вектор-строка.

info.MinDecay(1) минимальный уровень затухания полюсов с обратной связью.

info.MinDecay(2) минимальный уровень затухания динамики настроенных блоков с ограничениями устойчивости. Для получения дополнительной информации о стабилизированной динамике и уровнях затухания, смотрите MinDecay опция systuneOptions.

fSoft

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

gHard

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

Blocks

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

Когда вы выполняете несколько запусков путем установки RandomStart опция к положительному значению, можно использовать это поле, чтобы исследовать производительность системы управления с результатами других запусков. Например, используйте следующий код, чтобы применить настроенные значения от j th запуск.

stj = setBlockValue(st0,info(j).Blocks)

LoopScaling

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

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

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

Настройка целей, затронутых таким масштабированием цикла, включает:

  • TuningGoal.LoopShape

  • TuningGoal.MinLoopGain и TuningGoal.MaxLoopGain

  • TuningGoal.Sensitivity

  • TuningGoal.Rejection

  • TuningGoal.Margins

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

Поле Значение
wcPert

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

wcf

Худшее мягко-целевое значение, возвращенное как скаляр. Это значение является самым большим мягким целевым значением (f) по неопределенности располагаются при использовании настроенного контроллера.

wcg

Худшее тяжело-целевое значение, возвращенное как скаляр. Это значение является самым большим трудным целевым значением (g) по неопределенности располагаются при использовании настроенного контроллера.

wcDecay

Самый маленький уровень затухания с обратной связью по неопределенности располагается при использовании настроенного контроллера, возвращенного как скаляр. Положительное значение указывает на устойчивую устойчивость. Для получения дополнительной информации о стабилизированной динамике и уровнях затухания, смотрите 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 затем решает ограниченную задачу минимизации:

Минимизировать maxifi(x) при ограничениях maxjgj(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