TuningGoal.Margins class

Пакет: TuningGoal

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

Описание

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

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

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

Конструкция

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

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

location

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

  • Если вы настраиваете модель Simulink® системы управления, можно использовать любую линейную аналитическую точку, отмеченную в модели или любую линейную аналитическую точку в slTuner Интерфейс (Simulink Control Design) сопоставлен с моделью Simulink. Использование addPoint (Simulink Control Design), чтобы добавить анализ указывает на slTuner интерфейс. Например, если slTuner интерфейс содержит аналитическую точку u, можно использовать 'u' относиться к той точке при создании настраивающихся целей. Использование getPoints (Simulink Control Design), чтобы получить список аналитических точек, доступных в 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 получить список аналитических точек, доступных в a genss модель.

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

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

gainmargin

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

Запас по амплитуде указывает, сколько усиление ответа разомкнутого контура может увеличить или уменьшить без потери устойчивости. Например,

  • Для системы SISO, установки gainmargin = 3 задает требование, чтобы система с обратной связью осталась устойчивой для изменений в коэффициенте усиления разомкнутого контура до ±3 дБ.

  • Для системы MIMO, установки gainmargin = 3 задает требование, чтобы закрытая система осталась устойчивой для изменений усиления на ±3 дБ в каждом канале обратной связи. Усиление может измениться во всех каналах одновременно, и различной суммой в каждом канале.

phasemargin

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

Запас по фазе указывает, сколько фаза ответа разомкнутого контура может увеличить или уменьшить без потери устойчивости. Например,

  • Для системы SISO, установки phasemargin = 45 задает требование, чтобы система с обратной связью осталась устойчивой для изменений до ±45 ° в фазе ответа разомкнутого контура.

  • Для системы MIMO, установки phasemargin = 45 задает требование, чтобы закрытая система осталась устойчивой для фазовых переходов до ±45 ° в каждом канале обратной связи. Фаза может измениться во всех каналах одновременно, и различной суммой в каждом канале.

Свойства

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

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

Примеры

свернуть все

Создайте маржинальное требование для внутреннего цикла следующей системы управления. Требование налагает минимальный запас по амплитуде 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 является автоматически вычисленным масштабным коэффициентом цикла. Для получения дополнительной информации о D, смотрите Запасы устойчивости в Настройке Системы управления.

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

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

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

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

Введенный в R2016a