TuningGoal. Класс ConicSector

Пакет: 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. Используйте 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:

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

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=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. Используйте addPoint, чтобы добавить аналитические точки и открытия цикла к интерфейсу slTuner. Используйте getPoints, чтобы получить список аналитических точек, доступных в интерфейсе 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)

Цели удовлетворяют когда относительный индекс 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