В этом примере показано, как задать формы цикла и запасы устойчивости при настройке систем управления с 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)
видеть настроенные зависимые частотой поля на этом графике.
TuningGoal.LoopShape
| TuningGoal.Margins
| TuningGoal.MaxLoopGain
| TuningGoal.MinLoopGain