TuningGoal.Margins class

Пакет: TuningGoal

Требование по запасу устойчивости для настройки системы управления

Описание

Используйте TuningGoal.Margins задавать настраивающуюся цель для запасов по амплитуде и фазе обратной связи MIMO или SISO. Можно использовать эту настраивающую цель по проверке настроенной системы управления с viewGoal. Можно также использовать настраивающуюся цель для системы управления, настраивающейся с настраивающимися командами, такими как systune или looptune.

После того, как вы создадите настраивающуюся цель, можно сконфигурировать ее далее установкой Properties объекта.

После использования настраивающейся цели настроить систему управления, можно визуализировать настраивающуюся цель и настроенное значение с помощью viewGoal команда. Для получения информации об интерпретации цели полей смотрите Запасы устойчивости в Настройке Системы управления.

Конструкция

Req = TuningGoal.Margins(location,gainmargin,phasemargin) создает настраивающуюся цель, которая задает минимальные запасы по амплитуде и фазе в заданном местоположении в системе управления.

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

location

Местоположение в системе управления, в которой минимальные запасы по амплитуде и фазе применяются в виде вектора символов или массива ячеек из символьных векторов, которые идентифицируют одно или несколько местоположений в системе управления, чтобы настроиться. То, какие местоположения доступны, зависит от того, какую систему вы настраиваете:

  • Если вы настраиваете модель Simulink® системы управления, можно использовать любую линейную аналитическую точку, отмеченную в модели или любую линейную аналитическую точку в slTuner интерфейс сопоставлен с моделью Simulink. Используйте addPoint добавить анализ указывает на slTuner интерфейс. Например, если slTuner интерфейс содержит аналитическую точку u, можно использовать 'u' относиться к той точке при создании настраивающихся целей. Используйте getPoints получить список аналитических точек, доступных в slTuner взаимодействуйте через интерфейс к своей модели.

  • Если вы настраиваете обобщенное пространство состояний (genss) модель системы управления, можно использовать любой AnalysisPoint местоположение в модели системы управления. Например, следующий код создает цикл PI с аналитической точкой во входе 'u' объекта.

    AP = AnalysisPoint('u');
    G = tf(1,[1 2]);
    C = tunablePID('C','pi');
    T = feedback(G*AP*C,1);
    

    При создании настраивающихся целей можно использовать 'u' чтобы относиться к анализу указывают на вход объекта. Используйте getPoints получить список аналитических точек, доступных в genss модель.

Маржинальные требования применяются к передаточной функции разомкнутого цикла "точка-точка" в заданном открывающем цикл местоположении. Та передаточная функция является ответом разомкнутого цикла, полученным путем введения сигналов в заданном местоположении и измерения сигналов возврата в той же точке.

Если location массив ячеек, затем маржинальное требование применяется к передаточной функции разомкнутого цикла MIMO.

gainmargin

Необходимый минимальный запас по амплитуде для обратной связи в виде скалярного значения в дБ.

Для обратной связи MIMO, находящаяся на диске устойчивость гарантии запаса по амплитуде, когда усиление в каждой обратной связи образовывают канал изменения до факторного gainmargin. Усиление может измениться во всех каналах обратной связи одновременно, и различной суммой в каждом канале. Смотрите, что Анализ Устойчивости Использует Дисковые Поля (Robust Control Toolbox) для получения дополнительной информации о дисковых полях.

phasemargin

Необходимый минимальный запас по фазе для обратной связи в виде скалярного значения в градусах.

Для обратной связи MIMO, находящаяся на диске устойчивость гарантии запаса по фазе, когда усиление в каждой обратной связи образовывают канал изменения до phasemargin степени. Фаза может измениться во всех каналах обратной связи одновременно, и различной суммой в каждом канале. Смотрите, что Анализ Устойчивости Использует Дисковые Поля (Robust Control Toolbox) для получения дополнительной информации о дисковых полях.

Свойства

GainMargin

Необходимый минимальный запас по амплитуде для обратной связи в виде скалярного значения в децибелах (дБ).

Значение GainMargin свойство установлено gainmargin входной параметр, когда вы создаете настраивающуюся цель.

PhaseMargin

Необходимый минимальный запас по фазе для обратной связи в виде скалярного значения в градусах.

Значение PhaseMargin свойство установлено phasemargin входной параметр, когда вы создаете настраивающуюся цель.

ScalingOrder

Управляет порядком (количество состояний) масштабирований, вовлеченных в вычисление запасов устойчивости MIMO. Статические масштабирования (ScalingOrder = 0) используются по умолчанию. Увеличение порядка может улучшить результаты за счет увеличенных расчетов. Используйте viewGoal оценить разрыв между оптимизированными и фактическими полями. Если этот разрыв является слишком большим, рассмотрите увеличение масштабирующегося порядка. Смотрите Запасы устойчивости в Настройке Системы управления.

Значение по умолчанию: 0 (статическое масштабирование)

Focus

Диапазон частот, в котором настройка цели осуществляется в виде вектора-строки из формы [min,max].

Установите Focus свойство ограничить осуществление настраивающейся цели к конкретному диапазону частот. Для лучших результатов с требованиями по запасу устойчивости выберите диапазон частот, расширяющий приблизительно одно десятилетие на каждой стороне частот среза усиления. Например, предположите Req TuningGoal.Margins возразите, что вы используете, чтобы настроить систему с пропускной способностью на приблизительно 10 рад/с. Чтобы ограничить осуществление настраивающейся цели, используйте следующую команду:

Req.Focus = [1,100];

Значение по умолчанию: [0,Inf] в течение непрерывного времени; [0,pi/Ts] в течение дискретного времени, где Ts шаг расчета модели.

Location

Местоположение, в котором минимальные запасы по амплитуде и фазе применяются в виде массива ячеек из символьных векторов, которые идентифицируют одну или несколько аналитических точек в системе управления, чтобы настроиться. Например, если Location = {'u'}, настраивающаяся цель осуществляет минимальные запасы по амплитуде и фазе в аналитической точке 'u'.

Значение Location свойство установлено location входной параметр, когда вы создаете настраивающуюся цель.

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';

Значение по умолчанию: []

Примеры

свернуть все

Создайте маржинальное требование для внутреннего цикла следующей системы управления. Требование налагает минимальный запас по амплитуде 5 дБ и минимальный запас по фазе 40 градусов.

Создайте модель системы. Для этого задайте и соедините числовые модели объекта управления G1 и G2, и настраиваемые контроллеры C1 и C2. Также задайте и соедините AnalysisPoint блоки AP1 и AP2 та метка интересные места для анализа и настройки.

G1 = tf(10,[1 10]);
G2 = tf([1 2],[1 0.2 10]);
C1 = tunablePID('C','pi');
C2 = tunableGain('G',1);
AP1 = AnalysisPoint('AP1');
AP2 = AnalysisPoint('AP2');
T = feedback(G1*feedback(G2*C2,AP2)*C1,AP1);

Создайте настраивающийся объект требования.

Req = TuningGoal.Margins('AP2',5,40);

Это требование налагает заданные запасы устойчивости на обратную связь, идентифицированную AnalysisPoint канал 'AP2', который является внутренним циклом.

Укажите, что эти поля оценены с внешним циклом открытой системы управления.

Req.Openings = {'AP1'};

Добавление 'AP1' к Openings свойство настраивающегося объекта требований гарантирует тот systune оценивает требование с циклом, открытым в том местоположении.

Используйте systune настроить свободные параметры T удовлетворять настраивающееся требование, заданное Req. Можно затем использовать viewGoal подтверждать настроенную систему управления против требования.

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

Требование устанавливает минимальный запас по амплитуде 10 дБ и минимальный запас по фазе 40 градусов в полосе между 0,1 и 10 рад/с.

Req = TuningGoal.Margins({'r','theta','phi'},10,40);

Имена 'r', 'theta', и 'phi' должен задать допустимые открывающие цикл местоположения в системе управления, которую вы настраиваете.

Ограничьте требование диапазоном частот между 0,1 и 10 рад/с.

 Req.Focus = [0.1 10];

Советы

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

Алгоритмы

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

Для TuningGoal.Margins, f (x) дают:

f(x)=2αSαI.

S = D –1 [I – L (s, x)] –1D является масштабированной функцией чувствительности.

L (s, x) является сформированным ответом разомкнутого цикла.

D является автоматически вычисленным масштабным коэффициентом цикла.

α является скалярным параметром, вычисленным из заданного запаса по амплитуде и фазе.

Вопросы совместимости

развернуть все

Поведение изменяется в R2016a

Введенный в R2016a