exponenta event banner

TuningGoal.Класс пассивности

Пакет: TuningGoal

Ограничение пассивности для настройки системы управления

Описание

Система пассивна, если все ее траектории ввода-вывода (u (t), y (t)) удовлетворяют:

∫0Ty (t) Tu (t) dt > 0,

для всех T > 0. Эквивалентно, система пассивна, если её частотный отклик является положительным вещественным, что означает, что для всех λ > 0,

G () + G () H > 0

Использовать TuningGoal.Passivity для обеспечения пассивности отклика между указанными входами и выходами при использовании команды настройки системы управления, такой как systune. Также можно использовать TuningGoal.Passivity для обеспечения определенного превышения или недостатка пассивности (см. getPassiveIndex).

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

Req = TuningGoal.Passivity(inputname,outputname) создает цель настройки для обеспечения пассивности отклика от указанных входов к указанным выходам.

Req = TuningGoal.Passivity(inputname,outputname,nu,rho) создает цель настройки для принудительного применения:

∫0Ty (t) Tu (t) dt>ν∫0Tu (t) Tu (t) dt+ρ∫0Ty (t) Ty (t) dt,

для всех T > 0. Эта цель настройки обеспечивает превышение пассивности на входах или выходах, когда nu > 0 или rho > 0соответственно. Цель настройки допускает недостаток пассивности ввода, когда nu < 0. Посмотрите getPassiveIndex для получения дополнительной информации об этих индексах.

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

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 блок:

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

nu

Целевая пассивность на входах, перечисленных в inputname, задается как скалярное значение. Индекс входной пассивности определяется как наибольшее значение, для которого:

∫0Ty (t) Ту (t) dt>ν∫0Tu (t) Ту (t) дт,

для всех T > 0. Эквивалентно, nu является самым большим, для которого:

G () + G () H > 2startI

При установке цели nu в TuningGoal.Passivity цель, программное обеспечение настройки:

  • Гарантирует, что указанный ответ является строго пассивным, когда nu > 0. Величина nu устанавливает требуемое превышение пассивности.

  • Позволяет не вводить ответ строго пассивно, когда nu < 0. Величина nu устанавливает допустимую нехватку пассивности.

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

rho

Целевая пассивность на выходах, перечисленных в outputname, задается как скалярное значение. Индекс пассивности на выходе определяется как самое большое значение, для которого:

∫0Ty (t) Tu (t) dt>ρ∫0Ty (t) Ty (t) dt,

для всех T > 0.

При установке цели rho в TuningGoal.Passivity цель, программное обеспечение настройки:

  • Гарантирует, что указанный ответ будет выводиться строго пассивно, когда rho > 0. Величина rho устанавливает требуемое превышение пассивности.

  • Позволяет не выводить ответ строго пассивным, когда rho < 0. Величина rho устанавливает допустимую нехватку пассивности.

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

Свойства

IPX

Целевая пассивность на входах, сохраненная как скалярное значение. Это значение определяет требуемую величину пассивности на входах, перечисленных в inputname. Начальное значение этого свойства задается входным аргументом nu при создании TuningGoal.Passivity цель.

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

OPX

Целевая пассивность на выходах, сохраненная как скалярное значение. Это значение определяет требуемую величину пассивности на выходах, перечисленных в outputname Начальное значение этого свойства задается входным аргументом rho при создании TuningGoal.Passivity цель.

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

Focus

Полоса частот, в которой принудительно применяется цель настройки, заданная как вектор строки формы [min,max].

Установите Focus свойство для ограничения применения цели настройки к определенной полосе частот. Выражайте это значение в частотных единицах настраиваемой модели системы управления (рад/TimeUnit). Например, предположим Req является целью настройки, которую требуется применить только в диапазоне от 1 до 100 рад/с. Чтобы ограничить цель настройки этой областью данных, используйте следующую команду:

Req.Focus = [1,100];

По умолчанию: [0,Inf] на непрерывное время; [0,pi/Ts] для дискретного времени, где Ts - время выборки модели.

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

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

Примеры

свернуть все

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

TG = TuningGoal.Passivity('u','y');

Использовать viewGoal для визуализации цели настройки.

viewGoal(TG)

Figure contains an axes. The axes is empty. This object represents Normalized bound.

Требование выполняется, когда индекс относительной пассивности R < 1 на всех частотах. Закрашенная область представляет область, в которой нарушено требование. При использовании этого требования для настройки системы управления CL, viewGoal(TG,CL) показывает R для указанных входов и выходов на этом графике, позволяя определить диапазоны частот, в которых нарушается требование пассивности.

Создание требования, гарантирующего получение ответа от входных данных 'u' на вывод 'y' является входом строго пассивным, с превышением пассивности 2.

TGi = TuningGoal.Passivity('u','y',2,0);

Ограничение применения требования только в диапазоне частот от 0 до 10 рад/с.

TGi.Focus = [0 10];

Совет

  • Использовать viewGoal для визуализации этой цели настройки. Для обеспечения пассивности с помощью nu = 0 и rho = 0, viewGoal строит графики показателей относительной пассивности как функции частоты (см. passiveplot). Это сингулярные значения (I G ()) (I G (jλ)) − 1. Передаточная функция G отinputname кому outputname (оценивается при открытых контурах, как указано в Openings) является пассивным, когда наибольшее сингулярное значение меньше 1 на всех частотах.

    Для ненулевых значений nu или rho, viewGoal строит график относительного индекса, как описано в разделе Алгоритмы.

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

Алгоритмы

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

Для TuningGoal.Passivity цель, для функции передачи с замкнутым контуром G(s,x) от inputname кому outputname, f (x) задается следующим образом:

f (x) = R1 + R/Rmax, Rmax = 106.

R - относительный индекс сектора (см. getSectorIndexиз [G(s,x);I], для сектора, представленного:

Q = (2

используя значения OPX и IPX свойства, относящиеся, соответственно,