В этом примере показано, как задать формы цикла и запасы устойчивости при настройке систем управления с 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 это требование гарантирует устойчивость для усиления или изменений фазы каждого канала обратной связи. Усиление или фаза могут измениться во всех каналах одновременно, и различной суммой в каждом канале. Смотрите Запасы устойчивости в Системе управления, Настраивающейся для деталей. Например, следующий код осуществляет дБ запаса по амплитуде и 45 градусов запаса по фазе в местоположении "u".
R = TuningGoal.Margins('u',6,45);
В MATLAB используйте AnalysisPoint
блокируйтесь, чтобы отметить местоположение "u" (см. Создающие Настраиваемые Модели для деталей). В Simulink используйте addPoint
метод slTuner
взаимодействуйте через интерфейс, чтобы отметить "u" как интересное место (см., Создают и Конфигурируют Интерфейс slTuner к Модели Simulink). Запасы устойчивости обычно измеряются во входных параметрах объекта или объекте выходные параметры или оба.
Целевые значения запаса по амплитуде и фазе преобразованы в нормированное ограничение усиления на некоторую соответствующую передаточную функцию с обратной связью. Желаемые поля достигаются на частотах, где усиление меньше 1. Используйте viewGoal
чтобы исследовать требование, вы сконфигурировали.
viewGoal(R)
Теневая область указывает, где ограничение нарушено. После настройки, для настроенной модели T
, можно использовать viewGoal(R,T)
видеть настроенные зависимые частотой поля на этом графике.
TuningGoal.MinLoopGain
| TuningGoal.MaxLoopGain
| TuningGoal.LoopShape
| TuningGoal.Margins