Этот пример дает обзор доступных требований во временной области для настройки системы управления с systune
или looptune
.
The systune
и looptune
команды настраивают параметры систем управления с фиксированной структурой, удовлетворяющие различным требованиям во временной и частотной областях. The TuningGoal
пакет является репозиторием для таких требований проекта.
The 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 требование гарантирует, что каждый выход отслеживает соответствующий вход с минимальными поперечными связями.
The TuningGoal.StepRejection
требование задает, как настроенная система с обратной связью должна реагировать на нарушение порядка шага. Можно задать значения в худшем случае для амплитуды отклика, времени урегулирования и демпфирования колебаний. Для примера,
R1 = TuningGoal.StepRejection('d','y',0.3,2,0.5);
ограничивает амплитуду до 0,3, время урегулирования к 2 временным модулям и коэффициенту затухания к минимуму 0,5. Использование viewGoal
для просмотра соответствующей временной характеристики.
viewGoal(R1)
Можно также использовать «образец модели», чтобы задать желаемый ответ. Обратите внимание, что фактический и заданный отклики могут существенно отличаться, когда возможно лучшее подавление помех. Используйте TuningGoal.Transient
требование, когда требуется близкое соответствие. Для наилучших результатов настройте коэффициент усиления образца модели так, чтобы фактические и заданные отклики имели сходные пиковые амплитуды (см TuningGoal.StepRejection
документация для получения дополнительной информации).
The 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. Например, рассмотрим простой контур PID на рисунке 2, где и являются единичными нарушениями порядка дисперсии и шумовыми входами, и и являются lowpass и high pass фильтрами, которые моделируют нарушение порядка и шумовое спектральное содержимое.
Фигура 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.LQG
| TuningGoal.StepRejection
| TuningGoal.StepTracking
| TuningGoal.Transient