Спецификации временного интервала

Этот пример проводит экскурсию доступных требований временного интервала для системы управления, настраивающейся с 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)

Проект LQG

Используйте требование 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);

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

| | |

Похожие темы