TuningGoal. Класс полей

Пакет: 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 и ±phasemargin во всех каналах обратной связи. Смотрите, что Анализ Устойчивости Использует Дисковые Поля (Robust Control Toolbox) для получения дополнительной информации о дисковых полях.

phasemargin

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

Для обратной связи MIMO поле фазы основано на понятии дисковых полей, которые гарантируют устойчивость для параллельного усиления и изменений фазы ±gainmargin и ±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