TuningGoal.Passivity class

Пакет: TuningGoal

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

Описание

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

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

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

G(jω)+G(jω)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)Tu(t)dt>ν0Tu(t)Tu(t)dt,

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

G(jω)+G(jω)H>2νI

Когда вы устанавливаете цель 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). Это сингулярные значения (IG(jω))(IG(jω))1. Передаточная функция G от inputname на outputname (оценивается с открытыми циклами, как указано в Openings) является пассивным, когда наибольшее сингулярное значение меньше 1 на всех частотах.

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

  • Эта цель настройки накладывает неявное ограничение минимальной фазы на передаточную функцию G + I. Нули передачи G + I являются stabilized dynamics для этой цели настройки. The 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ρII2ν),

использование значений OPX и IPX свойства для ρ и ν, соответственно.