Форма цикла и спецификации запаса устойчивости

Этот пример показывает, как задать формы цикла и запасы устойчивости при настройке систем управления с systune или looptune.

Фон

systune и команды looptune настраивают параметры систем управления фиксированной структуры, подвергающихся разнообразию времени - и требования частотного диапазона. Пакет TuningGoal является репозиторием для таких конструктивных требований.

Форма цикла

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

s = tf('s');
R1 = TuningGoal.LoopShape('u',1/s);

указывает, что ответ разомкнутого цикла, измеренный в местоположении "u", должен быть похожим на чистый интегратор (насколько его усиление затронуто). В MATLAB используйте блок AnalysisPoint, чтобы отметить местоположение "u", видеть "Создающие Настраиваемые Модели" пример для деталей. В Simulink используйте метод addPoint интерфейса slTuner, чтобы отметить "u" как интересное место.

Как с другими спецификациями усиления, можно только задать асимптоты желаемой формы цикла с помощью нескольких точек частоты. Например, чтобы задать форму цикла с перекрестным соединением усиления на уровне 1 рад/с, наклон на-20 дБ/десятилетие, прежде чем 1 рад/с и наклон на-40 дБ/десятилетие после 1 рад/с, только указывает, что усиление на частотах 0.1,1,10 должно быть 10,1,0.01, соответственно.

LS = frd([10,1,0.01],[0.1,1,10]);
R2 = TuningGoal.LoopShape('u',LS);

bodemag(LS,R2.LoopGain)
legend('Specified','Interpolated')

Требования формы цикла являются ограничениями на ответ разомкнутого цикла. Для настройки целей они преобразованы в ограничения усиления с обратной связью на функцию чувствительности и дополнительную функцию чувствительности. Используйте viewGoal, чтобы визуализировать целевую форму цикла и соответствующие границы усиления на (зеленом) и (красном) цвете.

viewGoal(R2)

Минимальное и максимальное усиление цикла

Вместо TuningGoal.LoopShape можно использовать TuningGoal.MinLoopGain и TuningGoal.MaxLoopGain, чтобы задать минимальные или максимальные значения для усиления цикла в конкретном диапазоне частот. Это полезно, когда фактическую форму цикла около перекрестного соединения лучше всего оставляют настраивающемуся алгоритму выяснить. Например, следующие требования задают минимальное усиление цикла в пропускной способности и характеристиках спада вне пропускной способности, но не задают фактическую перекрестную частоту, ни форму цикла около перекрестного соединения.

MinLG = TuningGoal.MinLoopGain('u',5/s);  % integral action
MinLG.Focus = [0 0.2];

MaxLG = TuningGoal.MaxLoopGain('u',1/s^2);  % -40dB/decade roll off
MaxLG.Focus = [1 Inf];

viewGoal([MinLG MaxLG])

Требование TuningGoal.MaxLoopGain опирается на то, что открытые - и усиления с обратной связью сопоставимы, когда усиление цикла является маленьким (). В результате это может быть неэффективно при хранении усиления цикла ниже некоторого значения близко к 1. Например, предположите, что гибкие режимы вызывают скачки усиления вне перекрестной частоты и что необходимо сохранить эти скачки ниже 0.5 (-6 дБ). Вместо того, чтобы использовать TuningGoal.MaxLoopGain, можно непосредственно ограничить усиление использования TuningGoal.Gain с циклом, открывающимся в "u".

MaxLG = TuningGoal.Gain('u','u',0.5);
MaxLG.Opening = 'u';

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

MaxLG.Stabilize = false;

Рисунок 1 показывает это требование, оцененное для ответа разомкнутого цикла с гибкими режимами.

Рисунок 1: Получите ограничение на L.

Запасы устойчивости

Требование TuningGoal.Margins осуществляет минимальные количества запасов по амплитуде и фазе в заданном цикле вводный сайт (сайты). Для обратной связи MIMO это требование использует понятие дисковых полей, которые гарантируют устойчивость для параллельного усиления и изменений фазы заданной суммы во всех каналах обратной связи (см. diskmargin для деталей). Например, следующий код осуществляет дБ поля усиления и 45 градусов поля фазы в местоположении "u".

R = TuningGoal.Margins('u',6,45);

В MATLAB используйте блок AnalysisPoint, чтобы отметить местоположение "u" (см. Создающие Настраиваемые Модели (Control System Toolbox) для деталей). В Simulink используйте метод addPoint интерфейса slTuner, чтобы отметить "u" как интересное место (см., Создают и Конфигурируют Интерфейс slTuner к Модели Simulink). Запасы устойчивости обычно измеряются во входных параметрах объекта или объекте выходные параметры или оба.

Целевые значения запаса по амплитуде и фазе преобразованы в нормированное ограничение усиления на некоторую соответствующую передаточную функцию с обратной связью. Желаемые поля достигаются на частотах, где усиление - меньше чем 1. Используйте viewGoal, чтобы исследовать требование, которое вы сконфигурировали.

viewGoal(R)

Теневая область указывает, где ограничение нарушено. После настройки, для настроенной модели T, можно использовать viewGoal(R,T), чтобы видеть настроенные зависимые частотой поля на этом графике.

Смотрите также

| | |

Похожие темы