exponenta event banner

Класс TuningGoal.ConicSector

Пакет: TuningGoal

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

Описание

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

∫0Tz (t) TQ z (t) dt < 0,

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

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

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

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

∫0Tz (t) TQ z (t) dt < 0,

для всех T ≥ 0. (См. раздел О границах секторов и индексах секторов.) Матрица Q должны иметь столько же отрицательных собственных значений, сколько входных данных в Н.

Чтобы задать частотно-зависимые границы сектора, установите 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 чтобы получить список точек анализа, доступных в 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 блок:

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

Q

Геометрия сектора, заданная как:

  • Матрица для постоянной геометрии сектора. 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 = W1W1T W2W2T, W1TW2 = 0

сектор, связанный

H (джом) TQ H (джом) < 0

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

H1 (джом) HH1 (джом) < H2 (джом) HH2 (джом),

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

H () TQ H () < α2I,

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

H1 (джом) HH1 (джом) + ε2I < H2 (джом) HH2 (джом).

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

Req.Regularization = 1e-3;

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

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,

для всех T≥0. Для этого примера используйте матрицу сектора, которая навязывает входную пассивность с индексом 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 (ы) были квадратной и минимальной фазой, где H (ы) - передаточная функция между указанными входами и выходами, и W2 охватывает отрицательное инвариантное подпространство матрицы сектора, Q:

    Q = W1W1T W2W2T, W1TW2 = 0

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

Алгоритмы

Давайте

Q = W1W1T W2W2T, W1TW2 = 0

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

∫0Tz (t) TQ z (t) dt < 0,

эквивалентно состоянию сектора частотной области,

H (джом) TQ H (джом) < 0

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

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

H (джом) TQ H (джом) < 0

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

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

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

H (джом) TQ H (джом) < 0

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

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

R - связанный с сектором R-индекс (см. getSectorIndex для получения подробной информации).

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

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