Этот пример проводит экскурсию доступных требований временного интервала для системы управления, настраивающейся с systune
или looptune
.
systune
и looptune
команды настраивают параметры систем управления фиксированной структуры, удовлетворяющих разнообразию времени - и требования частотного диапазона. TuningGoal
пакет является репозиторием для таких конструктивных требований.
TuningGoal.StepTracking
требование задает, как настроенная система с обратной связью должна ответить на вход шага. Можно задать желаемый ответ или в терминах первого - или в терминах характеристик второго порядка, или как модель прямой ссылки. Этому требованию удовлетворяют, когда относительный промежуток между фактическими и желаемыми ответами мал достаточно в смысле наименьших квадратов. Например,
R1 = TuningGoal.StepTracking('r','y',0.5);
предусматривает что ответ с обратной связью от r
к y
должен вести себя как система первого порядка с постоянной времени 0.5, в то время как
R2 = TuningGoal.StepTracking('r','y',zpk(2,[-1 -2],-1));
задает второго порядка, поведение "не минимальная фаза". Используйте viewGoal
визуализировать желаемый ответ.
viewGoal(R2)
Это требование может использоваться, чтобы настроить оба переходных процесса SISO и MIMO. В случае MIMO требование гарантирует, что каждый выход отслеживает соответствующий вход с минимальными перекрестными связями.
TuningGoal.StepRejection
требование задает, как настроенная система с обратной связью должна ответить на воздействие шага. Можно задать значения худшего случая для амплитуды ответа, времени урегулирования и затухания колебаний. Например,
R1 = TuningGoal.StepRejection('d','y',0.3,2,0.5);
ограничивает амплитуду к 0,3, время урегулирования к 2 единицам измерения времени и коэффициент затухания к минимуму 0,5. Используйте viewGoal
видеть соответствующий ответ времени.
viewGoal(R1)
Можно также использовать "образец модели", чтобы задать желаемый ответ. Обратите внимание на то, что фактические и заданные ответы могут отличаться существенно, когда лучшее подавление помех возможно. Используйте TuningGoal.Transient
требование, когда близкое соответствие желаемо. Для лучших результатов настройте усиление образца модели так, чтобы фактические и заданные ответы имели подобные пиковые амплитуды (см. TuningGoal.StepRejection
документация для деталей).
TuningGoal.Transient
требование задает переходный процесс для определенного входного сигнала. Это - обобщение TuningGoal.StepTracking
требование. Например,
R1 = TuningGoal.Transient('r','y',tf(1,[1 1 1]),'impulse');
требует что настроенный ответ от к будьте похожи на импульсную характеристику образца модели .
viewGoal(R1)
Входной сигнал может быть импульсом, шагом, пандусом или более общим сигналом, смоделированным как импульсная характеристика некоторого входного формирующий фильтра. Например, синусоида с частотой может быть смоделирован как импульсная характеристика .
w0 = 2; F = tf(w0^2,[1 0 w0^2]); % input shaping filter R2 = TuningGoal.Transient('r','y',tf(1,[1 1 1]),F); viewGoal(R2)
Используйте TuningGoal.LQG
требование, чтобы создать линейную квадратичную Гауссову цель для настройки параметров системы управления. Эта цель применима к любой структуре управления, не только классической структуре наблюдателя управления LQG. Например, рассмотрите простой цикл ПИДа рисунка 2 где и воздействие модульного отклонения и шумовые входные параметры, и и lowpass и фильтры highpass, которые моделируют воздействие и шумовое спектральное содержимое.
Рисунок 2: цикл Регулирования.
Отрегулировать вокруг нуля можно использовать следующий критерий LQG:
Первый термин в интеграле штрафует отклонение от нуля и второго термина штрафует усилие по управлению. Используя systune
, можно настроить ПИД-регулятор, чтобы минимизировать стоимость . Для этого используйте требование LQG
Qyu = diag([1 0.05]); % weighting of y^2 and u^2 R4 = TuningGoal.LQG({'d','n'},{'y','u'},1,Qyu);
TuningGoal.StepTracking
| TuningGoal.StepRejection
| TuningGoal.Transient
| TuningGoal.LQG