TuningGoal. Переходный класс

Пакет: TuningGoal

Переходное требование соответствия для настройки системы управления

Описание

Используйте объект TuningGoal.Transient ограничить переходный ответ от заданных входных параметров до заданных выходных параметров. Эта настраивающая цель указывает, что переходный ответ тесно совпадает с ответом эталонной модели. Задайте близость необходимого соответствия с помощью свойства RelGap настраивающейся цели (см. Свойства). Можно ограничить ответ на импульс, шаг или входной сигнал пандуса. Можно также ограничить ответ на входной сигнал, данный импульсным ответом входного фильтра, который вы задаете.

Конструкция

Req = TuningGoal.Transient(inputname,outputname,refsys) требует, чтобы импульсный ответ от inputname до outputname тесно совпадал с импульсным ответом эталонной модели refsys. Задайте близость необходимого соответствия с помощью свойства RelGap настраивающейся цели (см. Свойства). inputname и outputname могут описать SISO или ответ MIMO вашей системы управления. Для ответов MIMO количество входных параметров должно равняться количеству выходных параметров.

Req = TuningGoal.Transient(inputname,outputname,refsys,inputtype) задает, является ли входной сигнал, который генерирует ограниченный переходный ответ, и импульс, шаг или сигнал пандуса.

Req = TuningGoal.Transient(inputname,outputname,refsys,inputfilter) задает входной сигнал для генерации переходного ответа, который ограничивает настраивающаяся цель. Задайте входной сигнал как передаточную функцию SISO, inputfilter, который является Преобразованием Лапласа желаемого входного сигнала временного интервала. Импульсный ответ inputfilter является желаемым входным сигналом.

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

inputname

Входные сигналы для настраивающейся цели, заданной как вектор символов или, для нескольких - входные настраивающие цели, массив ячеек из символьных векторов.

  • Если вы используете настраивающуюся цель настроить модель Simulink® системы управления, то inputname может включать:

    • Любой образцовый вход.

    • Любая линейная аналитическая точка отмечена в модели.

    • Любой линейный анализ указывает в интерфейсе slTuner, сопоставленном с моделью Simulink. Используйте addPoint, чтобы добавить, что анализ указывает на интерфейс slTuner. Используйте getPoints, чтобы получить список аналитических точек, доступных в интерфейсе slTuner к вашей модели.

    Например, предположите, что интерфейс slTuner содержит аналитические точки u1 и u2. Используйте 'u1', чтобы определять ту точку как входной сигнал при создании настраивающихся целей. Используйте {'u1','u2'}, чтобы определять двухканальный вход.

  • Если вы используете настраивающуюся цель настроить обобщенную модель (genss) пространства состояний системы управления, то inputname может включать:

    • Любой вход модели genss

    • Любое местоположение AnalysisPoint в модели системы управления

    Например, если вы настраиваете модель системы управления, T, затем inputname может быть любым входным именем в T.InputName. Кроме того, если T содержит блок AnalysisPoint с местоположением под названием AP_u, то inputname может включать 'AP_u'. Используйте getPoints, чтобы получить список аналитических точек, доступных в модели genss.

    Если inputname является местоположением AnalysisPoint обобщенной модели, входной сигнал для настраивающейся цели является подразумеваемым входом, сопоставленным с блоком AnalysisPoint:

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

outputname

Выходные сигналы для настраивающейся цели, заданной как вектор символов или, для нескольких - выходные настраивающие цели, массив ячеек из символьных векторов.

  • Если вы используете настраивающуюся цель настроить модель Simulink системы управления, то outputname может включать:

    • Любой образцовый вывод.

    • Любая линейная аналитическая точка отмечена в модели.

    • Любой линейный анализ указывает в интерфейсе slTuner, сопоставленном с моделью Simulink. Используйте addPoint, чтобы добавить, что анализ указывает на интерфейс slTuner. Используйте getPoints, чтобы получить список аналитических точек, доступных в интерфейсе slTuner к вашей модели.

    Например, предположите, что интерфейс slTuner содержит аналитические точки y1 и y2. Используйте 'y1', чтобы определять ту точку как выходной сигнал при создании настраивающихся целей. Используйте {'y1','y2'}, чтобы определять двухканальный вывод.

  • Если вы используете настраивающуюся цель настроить обобщенную модель (genss) пространства состояний системы управления, то outputname может включать:

    • Любой вывод модели genss

    • Любое местоположение AnalysisPoint в модели системы управления

    Например, если вы настраиваете модель системы управления, T, затем outputname может быть любым выходным именем в T.OutputName. Кроме того, если T содержит блок AnalysisPoint с местоположением под названием AP_u, то outputname может включать 'AP_u'. Используйте getPoints, чтобы получить список аналитических точек, доступных в модели genss.

    Если outputname является местоположением AnalysisPoint обобщенной модели, выходным сигналом для настраивающейся цели является подразумеваемый вывод, сопоставленный с блоком AnalysisPoint:

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

refsys

Ссылочная система для целевого переходного ответа, заданного как модель динамической системы, такая как tf, zpk или модель ss. Желаемый переходный ответ является ответом этой модели к входному сигналу, заданному inputtype или inputfilter. Эталонная модель должна быть стабильной, и последовательная связь эталонной модели с входным формирующий фильтром не должна иметь никакого проходного термина.

inputtype

Тип входного сигнала, который генерирует ограниченный переходный ответ, заданный как одно из следующих значений:

  • 'impulse' — Ограничьте ответ в outputname к модульному импульсу, примененному в inputname.

  • шаг Ограничьте ответ на модульный шаг. Используя 'step' эквивалентно использованию цели проекта TuningGoal.StepTracking.

  • 'ramp' — Ограничьте ответ на модульный пандус, u = t.

Значение по умолчанию: 'impulse'

inputfilter

Пользовательский входной сигнал для генерации переходного ответа, заданного как передаточная функция SISO (tf или zpk) модель, которая представляет Преобразование Лапласа желаемого входного сигнала. inputfilter должен быть непрерывным, и не может иметь никаких полюсов в открытой правой полуплоскости.

Частотная характеристика inputfilter дает спектр сигнала желаемого входного сигнала, и импульсный ответ inputfilter является входным сигналом временного интервала.

Например, чтобы ограничить переходный ответ на амплитудную модулем синусоиду частоты w, установите inputfilter на tf(w,[1,0,w^2]). Этой передаточной функцией является Преобразование Лапласа sin (wt).

Последовательная связь refsys с inputfilter не должна иметь никакого проходного термина.

Свойства

ReferenceModel

Ссылочная система для целевого переходного ответа, заданного как SISO или модель (ss) пространства состояний MIMO. Когда вы используете настраивающуюся цель настроить систему управления, переходный ответ от inputname до outputname настраивается, чтобы совпадать с этим целевым ответом на в допуске, заданном свойством RelGap.

Аргумент refsys к TuningGoal.Transient устанавливает значение ReferenceModel к ss(refsys).

InputShaping

Входной сигнал для генерации переходного ответа, заданного как модель SISO zpk, которая представляет Преобразование Лапласа входного сигнала временного интервала. InputShaping должен быть непрерывным, и не может иметь никаких полюсов в открытой правой полуплоскости. Значение этого свойства заполняется с помощью аргументов inputtype или inputfilter, используемых при создании настраивающейся цели.

Для настройки целей создал использование аргумента inputtype, InputShaping принимает следующие значения:

inputtypeInputShaping
'impulse'1
'step'1/s
'ramp'1/s2

Для настройки целей создал использование передаточной функции inputfilter, InputShaping принимает значение zpk(inputfilter).

Последовательная связь ReferenceModel с InputShaping не должна иметь никакого проходного термина.

Значение по умолчанию: 1

RelGap

Максимальная относительная ошибка соответствия, заданная как значение положительной скалярной величины. Это свойство задает соответствующий допуск как максимальный относительный разрыв между целевыми и фактическими переходными ответами. Относительный разрыв задан как:

разрыв=y(t)yref(t)2yref(tr)(t)2.

y (t) – yref (t) является несоответствием ответа, и 1 – y, ref (tr) (t) является переходным фрагментом yref (отклонение от установившегося значения или траектории). 2 обозначает энергию сигнала (2-норма). Разрыв может быть понят как отношение среднеквадратичного значения (RMS) несоответствия к RMS ссылочного переходного процесса

Увеличьте значение RelGap, чтобы ослабить соответствующий допуск.

Значение по умолчанию: 0.1

InputScaling

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

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

Предположим, что T (s) является передаточной функцией с обратной связью от Input до Output. Настраивающаяся цель оценена для масштабированной передаточной функции Do –1T (s) Di. Диагональные матрицы Do и Di имеют OutputScaling и значения InputScaling на диагонали, соответственно.

Значение по умолчанию, [], не означает масштабирования.

Значение по умолчанию: []

OutputScaling

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

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

Предположим, что T (s) является передаточной функцией с обратной связью от Input до Output. Настраивающаяся цель оценена для масштабированной передаточной функции Do –1T (s) Di. Диагональные матрицы Do и Di имеют OutputScaling и значения InputScaling на диагонали, соответственно.

Значение по умолчанию, [], не означает масштабирования.

Значение по умолчанию: []

Input

Имена входного сигнала, заданные как как массив ячеек из символьных векторов, которые указывают на входные параметры для переходных ответов, которые ограничивает настраивающаяся цель. Начальное значение свойства Input заполняется аргументом inputname, когда вы создаете настраивающуюся цель.

Output

Имена выходного сигнала, заданные как массив ячеек из символьных векторов, которые указывают на выходные параметры, где переходные ответы, которые ограничивает настраивающаяся цель, измеряются. Начальное значение свойства Output заполняется аргументом outputname, когда вы создаете настраивающуюся цель.

Models

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

Используйте свойство Models при настройке массива моделей системы управления с systune, чтобы осуществить настраивающуюся цель для подмножества моделей в массиве. Например, предположите, что вы хотите применить настраивающуюся цель, Req, к вторым, третьим, и четвертым моделям в образцовом массиве передал systune. Чтобы ограничить осуществление настраивающейся цели, используйте следующую команду:

Req.Models = 2:4;

Когда Models = NaN, настраивающаяся цель применяется ко всем моделям.

Значение по умолчанию: NaN

Openings

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

Если вы используете настраивающуюся цель настроить модель Simulink системы управления, то Openings может включать любую линейную аналитическую точку, отмеченную в модель или любую линейную аналитическую точку в интерфейсе slTuner, сопоставленном с моделью Simulink. Используйте addPoint, чтобы добавить аналитические точки и открытия цикла к интерфейсу slTuner. Используйте getPoints, чтобы получить список аналитических точек, доступных в интерфейсе slTuner к вашей модели.

Если вы используете настраивающуюся цель настроить обобщенную модель (genss) пространства состояний системы управления, то Openings может включать любое местоположение AnalysisPoint в модель системы управления. Используйте getPoints, чтобы получить список аналитических точек, доступных в модели genss.

Например, если Openings = {'u1','u2'}, то настраивающаяся цель оценена с циклами, открытыми при анализе, указывает u1 и u2.

Значение по умолчанию: {}

Name

Имя настраивающейся цели, заданной как вектор символов.

Например, если Req является настраивающейся целью:

Req.Name = 'LoopReq';

Значение по умолчанию: []

Примеры

Переходное требование ответа с заданным входным типом и допуском

Создайте требование для переходного ответа от сигнала под названием 'r' к сигналу под названием 'u'. Ограничьте импульсный ответ совпадать с ответом передаточной функции refsys=1/(s+1), но позвольте 20%-е относительное изменение между целью и настроенными ответами.

refsys = tf(1,[1 1]);
Req1 = TuningGoal.Transient('r','u',refsys);

Когда вы не задаете тип ответа, требование ограничивает переходный ответ. По умолчанию требование позволяет относительный разрыв 0,1 между целью и настроенными ответами. Чтобы изменить относительный разрыв на 20%, установите свойство RelGap требования.

Req1.RelGap = 0.2;

Исследуйте требование.

viewGoal(Req1)

Пунктирная линия показывает целевой импульсный ответ, заданный этим требованием. Можно использовать это требование, чтобы настроить модель системы управления, T, который содержит допустимые местоположения ввода и вывода под названием 'r' и 'u'. Если вы делаете так, команда, viewGoal(Req1,T) строит достигнутый импульсный ответ от 'r' до 'u' для сравнения с целевым ответом.

Создайте требование, которое ограничивает ответ на вход шага вместо импульсного ответа.

Req2 = TuningGoal.Transient('r','u',refsys,'step');

Исследуйте это требование.

viewGoal(Req2)

Req2 эквивалентен требованию отслеживания следующего шага:

Req3 = TuningGoal.StepTracking('r','u',refsys);

Ограничьте переходный ответ на пользовательский входной сигнал

Создайте требование для переходного ответа от 'r' до 'u'. Ограничьте ответ на синусоидальный входной сигнал, а не на вход, шаг или пандус.

Чтобы задать пользовательский входной сигнал, установите входной фильтр к Преобразованию Лапласа желаемого сигнала. Например, предположите, что вы хотите ограничить ответ на сигнал sinωt. Преобразованием Лапласа этого сигнала дают:

inputfilter=ωs2+ω2.

Создайте требование, которое ограничивает ответ в 'u' к синусоидальному входу собственной частоты 2 рад/с в 'r'. Ответ должен совпадать с ответом ссылочной системы refsys=1/(s+1).

refsys = tf(1,[1 1]);
w = 2;
inputfilter = tf(w,[1 0 w^2]);
Req = TuningGoal.Transient('u','r',refsys,inputfilter);

Исследуйте требование, чтобы видеть форму целевого ответа.

viewGoal(Req)

Переходная цель ответа с ограниченным образцовым приложением и дополнительными открытиями цикла

Создайте настраивающуюся цель, которая ограничивает импульсный ответ. Установите свойства Models и Openings далее сконфигурировать применимость настраивающейся цели.

refsys = tf(1,[1 1]);
Req = TuningGoal.Transient('r','u',refsys);
Req.Models = [2 3];
Req.Openings = 'OuterLoop'

При настройке системы управления, которая имеет вход (или аналитическая точка) 'r', вывод (или аналитическая точка) 'u' и другая аналитическая точка в местоположении 'OuterLoop', можно использовать Req в качестве входа к looptune или systune. Установка свойства Openings указывает, что импульсный ответ от 'r' до 'y' вычисляется с циклом, открытым в 'OuterLoop'. Когда настройка массива моделей системы управления, установка свойства Models ограничивают, как настраивающаяся цель применяется. В этом примере настраивающаяся цель применяется только к вторым и третьим моделям в массиве.

Советы

  • Когда вы используете эту настраивающую цель настроить непрерывно-разовую систему управления, systune пытается осуществить нулевое сквозное соединение (D = 0) на передаче, которую ограничивает настраивающаяся цель. Нулевое сквозное соединение наложено, потому что H 2 нормы, и поэтому значение настраивающейся цели (см. Алгоритмы), бесконечен для непрерывно-разовых систем с ненулевым сквозным соединением.

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

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

    Чтобы зафиксировать параметры настраиваемых блоков к заданным значениям, используйте свойства Value и Free параметризации блока. Например, рассмотрите настроенный блок пространства состояний:

    C = tunableSS('C',1,2,3);

    Чтобы осуществить нулевое сквозное соединение на этом блоке, обнулите его матричное значение D и зафиксируйте параметр.

    C.D.Value = 0;
    C.D.Free = false;

    Для получения дополнительной информации о фиксации значений параметров смотрите страницы с описанием Блока Системы управления, такие как tunableSS.

  • Эта настраивающая цель налагает неявное ограничение устойчивости на передаточную функцию с обратной связью от Input до Output, оцененного с циклами, открытыми в точках, идентифицированных в Openings. Движущими силами, затронутыми этим неявным ограничением, является stabilized dynamics для этой настраивающей цели. MinDecay и опции MaxRadius systuneOptions управляют границами на этих неявно ограниченных движущих силах. Если оптимизации не удается соответствовать границам по умолчанию, или если конфликт границ по умолчанию с другими требованиями, используйте systuneOptions, чтобы изменить эти значения по умолчанию.

Алгоритмы

Когда вы настраиваете систему управления с помощью TuningGoal, программное обеспечение преобразовывает настраивающуюся цель в нормированное скалярное значение f (x), где x является вектором свободных (настраиваемых) параметров в системе управления. Программное обеспечение затем настраивает значения параметров, чтобы минимизировать f (x) или управлять f (x) ниже 1, если настраивающейся целью является трудное ограничение.

Для TuningGoal.Transient f (x) основан на относительном разрыве между настроенным ответом и целевым ответом:

разрыв=y(t)yref(t)2yref(tr)(t)2.

y (t) – yref (t) является несоответствием ответа, и 1 – y, ref (tr) (t) является переходным фрагментом yref (отклонение от установившегося значения или траектории). 2 обозначает энергию сигнала (2-норма). Разрыв может быть понят как отношение среднеквадратичного значения (RMS) несоответствия к RMS ссылочного переходного процесса

Вопросы совместимости

развернуть все

Поведение изменяется в R2016a

Введенный в R2016a