TuningGoal.ConicSector class

Пакет: TuningGoal

Сектор, направляющийся в настройку системы управления

Описание

Конический связанный сектор является ограничением на выходные траектории системы. Если для всех ненулевых входных траекторий u (t), выходная траектория z (t) = (Hu) (t) линейной системы H удовлетворяет:

0Tz(t)TQz(t)dt<0,

для всего T ≥ 0, затем выходные траектории H лежат в коническом секторе, описанном симметричным неопределенным матричным Q. Выбор различных матриц Q налагает различные условия на отклик системы.

При настройке системы управления с systune, используйте TuningGoal.ConicSector ограничить выходные траектории ответа между заданными вводами и выводами к заданному сектору. Для получения дополнительной информации о границах сектора, займитесь Границами Сектора и индексами Сектора.

Конструкция

Req = TuningGoal.ConicSector(inputname,outputname,Q) создает настраивающуюся цель по ограничению ответа H (s) от входных параметров inputname к выходным параметрам outputname к коническому сектору, заданному симметрической матрицей Q. Настраивающаяся цель ограничивает H, таким образом, что его траектории z (t) = (Hu) (t) удовлетворяют:

0Tz(t)TQz(t)dt<0,

для всего T ≥ 0. (Займитесь Границами Сектора и индексами Сектора.) Матричный Q должен иметь столько же отрицательных собственных значений, сколько существуют входные параметры в H.

Чтобы задать зависимые частотой границы сектора, установите Q к модели LTI, которая удовлетворяет Q (s) T = Q (–s).

Входные параметры

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 получить список аналитических точек, доступных в a 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 получить список аналитических точек, доступных в a genss модель.

    Если outputname AnalysisPoint местоположение обобщенной модели, выходным сигналом для настраивающейся цели является подразумеваемый выход, сопоставленный с AnalysisPoint блок:

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

Q

Геометрия сектора в виде:

  • Матрица A, для постоянной геометрии сектора. Q симметричная квадратная матрица, которая является ny на стороне, где ny количество сигналов в outputname. Матричный Q должно быть неопределенным, чтобы описать четко определенный конический сектор. Неопределенная матрица имеет и положительные и отрицательные собственные значения. В частности, Q должен иметь столько же отрицательных собственных значений, сколько там вводятся каналы, заданные в inputname (размер векторного входного сигнала u (t)).

  • Модель LTI, для зависимой частотой геометрии сектора. Q удовлетворяет Q (s) T = Q (–s). Другими словами, Q (s) оценивает к Эрмитовой матрице на каждой частоте.

Для получения дополнительной информации займитесь Границами Сектора и индексами Сектора.

Свойства

SectorMatrix

Геометрия сектора в виде матрицы или модели LTI. Q входной параметр устанавливает начальное значение SectorMatrix когда вы создаете настраивающуюся цель, и те же ограничения и характеристики применяются к SectorMatrix как применяются к Q.

Regularization

Параметр регуляризации в виде действительного неотрицательного скалярного значения.

Учитывая неопределенную факторизацию матрицы сектора,

Q=W1W1TW2W2T,W1TW2=0

сектор связан

H(jω)TQH(jω)<0

эквивалентно

H1(jω)HH1(jω)<H2(jω)HH2(jω),

где H1=W1TH, H2=W2TH, и (•) H обозначает, что Эрмитовы транспонируют. Осуществление этого условия может стать численно сложным, когда другие настраивающие цели управляют и H1 () и H2 (), чтобы обнулить на некоторых частотах. Это условие эквивалентно управлению знаком 0/0 выражения, которое тяжело в присутствии погрешностей округления. Чтобы избежать этого условия, вы можете regularize сектор, связанный с

H(jω)TQH(jω)<ε2I,

или эквивалентно,

H1(jω)HH1(jω)+ε2I<H2(jω)HH2(jω).

Эта регуляризация предотвращает H2 () от становления сингулярным, и помогает сохранить оценку настраивающейся цели численно послушной. Используйте Regularization свойство установить значение ε к маленькому (но не незначительный) часть типичной нормы проходного термина в H. Например, если вы ожидаете норму проходного термина H, чтобы быть порядка 1 во время настройки, попробуйте:

Req.Regularization = 1e-3;

Значение по умолчанию: 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 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' в системе управления к следующему сектору:

S={(y,u):0.1u2<uy<10u2}.

Матрицей Q для этого сектора дают:

a = 0.1;  
b = 10; 
Q = [1 -(a+b)/2 ; -(a+b)/2 a*b];

Используйте эту матрицу Q, чтобы создать настраивающуюся цель.

TG = TuningGoal.ConicSector('u','y',Q)
TG = 
  ConicSector with properties:

      SectorMatrix: [2x2 double]
    Regularization: 0
             Focus: [0 Inf]
             Input: {'u'}
            Output: {'y'}
            Models: NaN
          Openings: {0x1 cell}
              Name: ''

Установите свойства далее сконфигурировать настраивающуюся цель. Например, предположите, что модель системы управления имеет аналитическую точку под названием 'OuterLoop', и вы хотите осуществить настраивающуюся цель с циклом, открытым в той точке.

TG.Openings = 'OuterLoop';

Прежде или после настройки, используйте viewGoal визуализировать настраивающуюся цель.

viewGoal(TG)

Figure contains an axes. The axes is empty. This object represents Max.

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

Рассмотрите следующую систему управления.

Предположим, что сигнал u отмечен как аналитическая точка в модели Simulink или genss модель системы управления. Предположим также, что G является передаточной функцией с обратной связью от u до y. Создайте настраивающуюся цель, которая ограничивает все траектории ввода-вывода {u (t), y (t)} G удовлетворять:

0T(y(t)u(t))TQ(y(t)u(t))dt<0,

\forall T0. В данном примере используйте матрицу сектора, которая налагает входную пассивность с индексом 0.5.

nu = 0.5;
Q = [0 -1;-1 2*nu];

Ограничение траекторий ввода-вывода G эквивалентно ограничению выходных траекторий z(t) из H=[G;I] к сектору, заданному:

0Tz(t)TQz(t)dt<0.

(Займитесь Границами Сектора и индексами Сектора для получения дополнительной информации об этой эквивалентности.), Чтобы задать это ограничение, создайте настраивающуюся цель, которая ограничивает передаточную функцию H=[G;I], который передаточная функция от входа u к выходным параметрам {y;u}.

TG = TuningGoal.ConicSector('u',{'y';'u'},Q);

Когда вы задаете тот же 'u' сигнала как оба ввода и вывода, конический сектор, настраивающий цель, устанавливает соответствующую передаточную функцию на идентичность. Поэтому передаточная функция ограничивается TG H=[G;I] как предназначено. Эта обработка характерна для конической настраивающей цели сектора. Для других настраивающих целей, когда тот же сигнал появляется в обоих вводах и выводах, получившаяся передаточная функция является нулем в отсутствие обратной связи или дополнительной чувствительностью в том местоположении в противном случае. Этот результат происходит, потому что, когда анализ программных процессов указывает, это принимает, что вход введен после выхода. Смотрите представляющего интерес Марка Сигнэлса для Анализа и проектирования Системы управления для получения дополнительной информации о том, как работают аналитические точки.

Советы

  • Коническая настраивающая цель сектора требует этого W2TH(s) будьте квадратной и минимальной фазой, где H (s) является передаточной функцией между заданными вводами и выводами и W 2 промежутка отрицательное инвариантное подпространство матрицы сектора, Q:

    Q=W1W1TW2W2T,W1TW2=0

    (См. Алгоритмы.) Это означает, что стабилизированные движущие силы для этой цели не являются полюсами H, а скорее нулями передачи W2TH(s). MinDecay и MaxRadius опции systuneOptions управляйте границами на этих неявно ограниченных движущих силах. Если оптимизации не удается соответствовать границам по умолчанию, или если конфликт границ по умолчанию с другими требованиями, использовать systuneOptions изменить эти значения по умолчанию.

Алгоритмы

Пусть

Q=W1W1TW2W2T,W1TW2=0

будьте неопределенной факторизацией Q. Когда W2TH(s) квадратная и минимальная фаза, затем сектор временного интервала привязал траектории z (t) = H u (t),

0Tz(t)TQz(t)dt<0,

эквивалентно условию сектора частотного диапазона,

H(jω)TQH(jω)<0

для всех частот. TuningGoal.ConicSector цель использует эту эквивалентность, чтобы преобразовать характеристику временного интервала в условие частотного диапазона это systune может обработать таким же образом, это обрабатывает ограничения усиления. Защитить эту эквивалентность, TuningGoal.ConicSector также делает W2TH(s) минимальная фаза путем создания всех ее нулей устойчивыми.

Для границ сектора R - индекс играет ту же роль, как пиковое усиление делает для ограничений усиления (займитесь Границами Сектора и индексами Сектора). Условие

H(jω)TQH(jω)<0

удовлетворен на всех частотах, если и только если R - индекс меньше того. viewGoal постройте для TuningGoal.ConicSector показывает R - значение индекса в зависимости от частоты (см. sectorplot).

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

Для связанного сектора

H(jω)TQH(jω)<0

TuningGoal.ConicSector использует целевую функцию, данную:

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

R является ограниченный сектором R - индекс (см. getSectorIndex для деталей).

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

Введенный в R2017b