exponenta event banner

Класс TuningGoal.StepDecision

Пакет: TuningGoal

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

Описание

Использовать TuningGoal.StepRejection чтобы указать, как ступенчатое возмущение, введенное в указанном месте в системе управления, влияет на сигнал в указанном месте вывода. Используйте эту цель настройки с командами настройки системы управления, такими как systune или looptune.

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

Для определения отклонения возмущений с точки зрения профиля затухания в частотной области используйте TuningGoal.Rejection.

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

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

Req = TuningGoal.StepRejection(inputname,outputname,peak,tSettle) задает отклик без колебаний в терминах пикового значения и времени установки.

Req = TuningGoal.StepRejection(inputname,outputname,peak,tSettle,zeta) допускает демпфирование колебаний с коэффициентом демпфирования не менее zeta.

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

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

Эталонная система для отклонения целевого шага, заданная как динамическая модель системы SISO, например, tf, zpk, или ss модель. refsys должна быть стабильной и правильной и иметь нулевой коэффициент усиления постоянного тока. Это ограничение обеспечивает полное отклонение стационарного возмущения.

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

Для достижения наилучших результатов, refsys и отклик разомкнутого контура от возмущения к выходному сигналу должен иметь аналогичные коэффициенты усиления на частоте, где пики коэффициента усиления эталонной модели. Можно проверить пиковый коэффициент усиления и пиковую частоту с помощью getPeakGain. Например:

[gmax,fmax] = getPeakGain(refsys);

Использовать getIOTransfer для извлечения соответствующего ответа с разомкнутым контуром из настраиваемой системы.

peak

Пиковое абсолютное значение целевого ответа на возмущение, заданное как скалярное значение.

tSettle

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

zeta

Минимальный коэффициент демпфирования колебаний в ответ на возмущение, определяемый как значение от 0 до 1.

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

Свойства

ReferenceModel

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

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

Если вы используете peak, tSample, и zeta входные аргументы, затем ReferenceModel является zpk представление передаточной функции первого или второго порядка, ответ на шаг которой имеет заданные характеристики.

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

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

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';

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

Примеры

свернуть все

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

Предположим, вам нужен ответ на 'y' к нарушению, введенному в 'd' никогда не превышать абсолютное значение 0,25 и отстояться в течение 5 секунд. Создать TuningGoal.StepRejection требование, которое фиксирует эти спецификации, а также определяет неколебательную реакцию.

Req1 = TuningGoal.StepRejection('d','y',0.25,5);

Отсутствие явного значения коэффициента демпфирования, zeta, эквивалентно установке zeta = 1. Поэтому Req задает неколебательный отклик. Программное обеспечение преобразует пиковое значение и время установления в эталонную передаточную функцию, ответ на шаг которой имеет требуемый профиль временной области. Эта передаточная функция хранится в ReferenceModel имущество Req.

Req1.ReferenceModel
ans =
 
   0.92883 s
  -----------
  (s+1.367)^2
 
Continuous-time zero/pole/gain model.

Подтвердите целевой ответ, отобразив Req.

figure()
viewGoal(Req1)

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

Предположим, приложение может выдерживать колебания при условии, что коэффициент демпфирования меньше 0,4. Создайте требование, определяющее эту реакцию возмущения.

Req2 = TuningGoal.StepRejection('d','y',0.25,5,0.4);
figure()
viewGoal(Req2)

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

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

Предположим, что требуется реакция на нарушение, введенное в точке анализа d в вашей системе управления и измеряется в точке 'y' отклонять, по крайней мере, а также передаточную функцию

H (s) = ss2 + 2s + 1.

Создать TuningGoal.StepRejection требование.

H = tf([1 0],[1 2 1]);
Req = TuningGoal.StepRejection('d','y',H);

Просмотрите требование.

viewGoal(Req)

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

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

Совет

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

Алгоритмы

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

TuningGoal.StepRejection стремится удерживать коэффициент усиления от возмущения до выходного сигнала ниже коэффициента усиления эталонной модели. Скалярное значение цели настройки f (x) задаётся:

f (x) =‖WF (ы) Tdy (s, x) ‖ ∞,

или его дискретный временной эквивалент. Здесь Tdy (s, x) - функция передачи с замкнутым контуром отInput кому Output, и ∞ обозначает H∞ норму ( см.norm). WF - это функция частотного взвешивания, полученная из профиля отклонения шага, указанного в цели настройки. Выгоды от WF и 1/ReferenceModel приблизительно совпадают для значений усиления в пределах 60 дБ от пикового усиления. По числовым причинам взвешивающая функция выравнивается за пределами этого диапазона, если не указана ссылочная модель, изменяющая наклон за пределами этого диапазона. Эта корректировка называется регуляризацией. Поскольку полюса WF близки к s = 0 или s = Inf может привести к плохому числовому кондиционированию systune задача оптимизации, не рекомендуется указывать опорные модели с очень низкочастотной или очень высокочастотной динамикой.

Для получения WF используйте:

WF = getWeight(Req,Ts)

где Req является целью настройки, и Ts - время выборки, в которое выполняется настройка (Ts = 0 на непрерывное время). Дополнительные сведения о регуляризации и ее последствиях см. в разделе Визуализация целей настройки.

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

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

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

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