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

Пакет: 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. Используйте addPoint, чтобы добавить, что анализ указывает на интерфейс slTuner. Используйте getPoints, чтобы получить список аналитических точек, доступных в интерфейсе 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. Используйте addPoint, чтобы добавить, что анализ указывает на интерфейс slTuner. Используйте getPoints, чтобы получить список аналитических точек, доступных в интерфейсе 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 ограничить осуществление настраивающейся цели к конкретному диапазону частот. Выразите это значение в единицах частоты модели системы управления, которую вы настраиваете (rad/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. Используйте addPoint, чтобы добавить аналитические точки и открытия цикла к интерфейсу slTuner. Используйте getPoints, чтобы получить список аналитических точек, доступных в интерфейсе 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)

Требование удовлетворено когда относительный индекс 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 для этой настраивающей цели. 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 для ρ и ν, соответственно.