exponenta event banner

TuningGoal.Transient класс

Пакет: 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 Control Design), связанный с моделью Simulink. Использовать addPoint (Simulink Control Design) для добавления точек анализа в slTuner интерфейс. Использовать getPoints (Simulink Control Design), чтобы получить список точек анализа, доступных в 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 Control Design), связанный с моделью Simulink. Использовать addPoint (Simulink Control Design) для добавления точек анализа в slTuner интерфейс. Использовать getPoints (Simulink Control Design), чтобы получить список точек анализа, доступных в 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' - Ограничить отклик единичным шагом. Используя '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 или MIMO (ss) модель. Когда вы используете цель настройки для настройки системы управления, переходная реакция от inputname кому outputname настроен на соответствие этому целевому отклику в пределах допуска, заданного RelGap собственность.

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

InputShaping

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

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

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

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

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

По умолчанию: 1

RelGap

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

gap=‖y (t) yref (t) 2‖yref (tr) (t) ‖ 2.

y (t) - yref (t) - несоответствие ответа, и 1 - yref (TR) (t) - переходная часть yref (отклонение от установившейся стоимости или траектории). ⋅ ‖2 обозначает энергию сигнала (с 2 нормами). Зазор можно понимать как отношение среднеквадратичного (среднеквадратичного) рассогласования к среднеквадратичному значению опорного переходного процесса.

Увеличение значения 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 Control Design), связанный с моделью Simulink. Использовать addPoint (Simulink Control Design) для добавления точек анализа и проемов контура в slTuner интерфейс. Использовать getPoints (Simulink Control Design), чтобы получить список точек анализа, доступных в 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)

Figure contains an axes. The axes contains an object of type line. This object represents Desired.

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

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

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

Изучите это требование.

viewGoal(Req2)

Figure contains an axes. The axes contains an object of type line. This object represents Desired.

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

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

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

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

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

inputfilter =

Создайте требование, ограничивающее ответ в '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)

Figure contains an axes. The axes contains an object of type line. This object represents Desired.

Цель переходного ответа с ограниченным применением модели и дополнительными проемами петель

Создайте цель настройки, ограничивающую импульсную реакцию. Установите 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) для передачи, которую ограничивает цель настройки. Нулевой проход накладывается потому, что H2 норма и, следовательно, значение цели настройки (см. Алгоритмы) бесконечны для систем непрерывного времени с ненулевым проходом.

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

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

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

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

    Для обеспечения нулевого прохождения через этот блок установите нулевое значение его D-матрицы и зафиксируйте параметр.

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

    Дополнительные сведения о фиксации значений параметров см. на страницах ссылок «Control Design Block», например tunableSS.

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

Алгоритмы

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

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

gap=‖y (t) yref (t) 2‖yref (tr) (t) ‖ 2.

y (t) - yref (t) - несоответствие ответа, и 1 - yref (TR) (t) - переходная часть yref (отклонение от установившейся стоимости или траектории). ⋅ ‖2 обозначает энергию сигнала (с 2 нормами). Зазор можно понимать как отношение среднеквадратичного (среднеквадратичного) рассогласования к среднеквадратичному значению опорного переходного процесса.

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

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

В R2016a изменилось поведение

Представлен в R2016a