exponenta event banner

Класс TuningGoal.StepTracking

Пакет: TuningGoal

Требование ответа на шаг для настройки системы управления

Описание

Использовать TuningGoal.StepTracking задают целевой шаг ответа от указанных входов к указанным выходам системы управления. Используйте эту цель настройки с командами настройки системы управления, такими как systune или looptune.

Строительство

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

Req = TuningGoal.StepTracking(inputname,outputname,tau) задает требуемый отклик шага как отклик первого порядка с постоянной времени tau:

Req.ReferureModel = 1/таус + 1/тау.

Req = TuningGoal.StepTracking(inputname,outputname,tau,overshoot) задает требуемый отклик шага как отклик второго порядка с естественным периодом tau, собственная частота 1/tau, и процент превышения overshoot:

Req.ReferureModel = (1/tau) 2s2 + 2 (дзета/тау) s + (1/тау) 2.

Демпфирование задается zeta = cos(atan2(pi,-log(overshoot/100))).

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

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 модель. refsys должен быть стабильным и иметь коэффициент усиления постоянного тока 1 (нулевая стационарная ошибка).

refsys может быть непрерывным или дискретным. Если refsys дискретный, он может включать временные задержки, которые рассматриваются как полюса при z = 0.

refsys может быть MIMO, при условии, что он квадратный и что его сингулярное значение DC (sigma) равно 1. Если refsys является моделью MIMO, то ее количество входов и выходов должно соответствовать измерениям inputname и outputname.

Для достижения наилучших результатов, refsys должны также включать внутренние характеристики системы, такие как нулевые значения не минимальной фазы (неполнота).

tau

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

При использовании синтаксиса Req = TuningGoal.StepTracking(inputname,outputname,tau) чтобы указать целевой ответ первого порядка, затем tau - постоянная времени затухания отклика. В этом случае целью является ступенчатая реакция системы, задаваемая:

Req.ReferureModel = 1/таус + 1/тау.

При использовании синтаксиса Req = TuningGoal.StepTracking(inputname,outputname,tau,overshoot) для указания целевого ответа второго порядка, затем tau - обратная собственная частота отклика. В этом случае целью является ступенчатая реакция системы, задаваемая:

Req.ReferureModel = (1/tau) 2s2 + 2 (дзета/тау) s + (1/тау) 2.

Демпфирование системы определяется zeta = cos(atan2(pi,-log(overshoot/100))).

overshoot

Процент превышения целевого ответа на шаг, заданный как скалярное значение в диапазоне (0,100).

Свойства

ReferenceModel

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

Если вы используете refsys входной аргумент для создания цели настройки, затем значение ReferenceModel является ss(refsys).

Если вы используете tau или tau и overshoot входные аргументы, затемReferenceModel является представлением пространства состояний соответствующей функции переноса первого или второго порядка.

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

RelGap

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

gap=‖y (t) yref (t) 2‖1−yref (t) ‖ 2.

y (t) - yref (t) - несоответствие отклика, и 1 - yref (t) - ошибка отслеживания шага целевой модели. ‖ 2 - энергия сигнала (2-норма).

Увеличение значения RelGap для ослабления соответствующего допуска.

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

InputScaling

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

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

Например, предположим, что Req является целью настройки, которая сигнализирует {'y1','y2'} опорные сигналы пути {'r1','r2'}. Предположим далее, что выходные данные необходимы для отслеживания привязок с перекрестной связью менее 10%. Если r1 и r2 иметь сопоставимые амплитуды, то достаточно сохранить коэффициенты усиления от r1 кому y2 и r2 и y1 ниже 0,1. Однако, если r1 в 100 раз больше, чем r2, выигрыш от r1 кому y2 должно быть меньше 0,001 для обеспечения того, чтобы r1 изменения y2 менее чем на 10% от r2 цель. Чтобы обеспечить этот результат, установите InputScaling следующим образом.

Req.InputScaling = [100,1];

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

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

По умолчанию: []

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' к сигналу с именем 'y'. Ограничьте отклик шага, чтобы он соответствовал передаточной функции H = 10/( s + 10), но разрешите 20% относительное изменение между целевыми настроенными откликами.

H = tf(10,[1 10]);
Req = TuningGoal.StepResp('r','y',H);

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

Req.RelGap = 0.2;

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

viewGoal(Req);

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

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

Ответ на шаг первого порядка с известной постоянной времени

Создайте требование, определяющее отклик шага первого порядка с постоянной времени 5 секунд. Создайте требование для ответа на шаг из сигнала с именем 'r' к сигналу с именем 'y'.

Req = TuningGoal.StepResp('r','y',5);

При использовании этого требования для настройки модели системы управления Tпостоянная времени 5 принимается выраженной в преобладающих единицах системы управления. Например, если T является genss модель и свойство T.TimeUnit является 'seconds', то это требование задает целевую постоянную времени 5 секунд для ответа от входа 'r' в выходные данные 'y' из 'T'.

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

refsys = tf(Req.ReferenceModel)
refsys =
 
    0.2
  -------
  s + 0.2
 
Continuous-time transfer function.

Как и ожидалось, refsys является моделью первого порядка.

Изучите требование. viewGoal отображает целевой отклик, который является ступенчатым откликом ссылочной модели.

viewGoal(Req);

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

Пунктирная линия показывает целевой отклик шага, заданный этим требованием, отклик первого порядка с постоянной времени пять секунд.

Ответ на шаг второго порядка с известным естественным периодом и превышением

Создайте требование, определяющее отклик шага второго порядка с естественным периодом 5 секунд и превышением 10%. Создайте требование для ответа на шаг из сигнала с именем 'r' к сигналу с именем 'y'.

Req = TuningGoal.StepResp('r','y',5,10);

При использовании этого требования для настройки модели системы управления Tестественный период 5 принимается выраженным в преобладающих единицах системы управления. Например, если T является genss модель и свойство T.TimeUnit является 'seconds', то это требование задает целевой естественный период в 5 секунд для ответа от входа 'r' в выходные данные 'y' из 'T'.

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

refsys = tf(Req.ReferenceModel)
refsys =
 
          0.04
  ---------------------
  s^2 + 0.2365 s + 0.04
 
Continuous-time transfer function.

Как и ожидалось, refsys является моделью второго порядка.

Изучите требование. viewGoal отображает целевой отклик, который является ступенчатым откликом ссылочной модели.

viewGoal(Req);

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

Пунктирная линия показывает целевой отклик шага, заданный этим требованием, отклик второго порядка с превышением 10% и естественным периодом в пять секунд.

Отслеживание цели с ограниченным применением модели и дополнительными проемами петель

Создайте цель настройки, которая задает отклик шага первого порядка с постоянной времени 5 секунд. Установите Models и Openings для дальнейшей настройки применимости цели настройки.

Req = TuningGoal.StepTracking('r','y',5);
Req.Models = [2 3];
Req.Openings = 'OuterLoop'

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

Совет

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

Алгоритмы

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

Для TuningGoal.StepTracking, f (x) задается следующим образом:

f (x) =‖1s (T (s, x) Tref (s)) 2RelGap‖1s (Tref (s) − I) ‖ 2.

T (s, x) - функция передачи с обратной связью отInput кому Output со значениями параметров x, и Tref (s) является ссылочной моделью, указанной в ReferenceModel свойство. 2 обозначает H2 норму ( см.norm).

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

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

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

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