Технические требования временного интервала

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

Figure contains an axes. The axes contains an object of type line. This object represents Desired.

Это требование может использоваться, чтобы настроить оба переходных процесса SISO и MIMO. В случае MIMO требование гарантирует, что каждый выход отслеживает соответствующий вход с минимальными перекрестными связями.

Подавление помех шага

TuningGoal.StepRejection требование задает, как настроенная система с обратной связью должна ответить на воздействие шага. Можно задать значения худшего случая для амплитуды ответа, времени урегулирования и затухания колебаний. Например,

R1 = TuningGoal.StepRejection('d','y',0.3,2,0.5);

ограничивает амплитуду y(t) к 0,3, время урегулирования к 2 единицам измерения времени и коэффициент затухания к минимуму 0,5. Используйте viewGoal видеть соответствующий ответ времени.

viewGoal(R1)

Figure contains an axes. The axes contains an object of type line. This object represents Reference.

Можно также использовать "образец модели", чтобы задать желаемый ответ. Обратите внимание на то, что фактические и заданные ответы могут отличаться существенно, когда лучшее подавление помех возможно. Используйте TuningGoal.Transient требование, когда близкое соответствие желаемо. Для лучших результатов настройте усиление образца модели так, чтобы фактические и заданные ответы имели подобные пиковые амплитуды (см. TuningGoal.StepRejection документация для деталей).

Соответствие переходного процесса

TuningGoal.Transient требование задает переходный процесс для определенного входного сигнала. Это - обобщение TuningGoal.StepTracking требование. Например,

R1 = TuningGoal.Transient('r','y',tf(1,[1 1 1]),'impulse');

требует что настроенный ответ от r к y будьте похожи на импульсную характеристику образца модели 1/(s2+s+1).

viewGoal(R1)

Figure contains an axes. The axes contains an object of type line. This object represents Desired.

Входной сигнал может быть импульсом, шагом, пандусом или более общим сигналом, смоделированным как импульсная характеристика некоторого входного формирующий фильтра. Например, синусоида с частотой ω0 может быть смоделирован как импульсная характеристика ω02/(s2+ω02).

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)

Figure contains an axes. The axes contains an object of type line. This object represents Desired.

Проект LQG

Используйте TuningGoal.LQG требование, чтобы создать линейную квадратичную Гауссову цель для настройки параметров системы управления. Эта цель применима к любой структуре управления, не только классической структуре наблюдателя управления LQG. Например, рассмотрите простой цикл ПИДа рисунка 2 где d и n воздействие модульного отклонения и шумовые входные параметры, и Sd и Sn lowpass и фильтры highpass, которые моделируют воздействие и шумовое спектральное содержимое.

Рисунок 2: цикл Регулирования.

Отрегулировать y вокруг нуля можно использовать следующий критерий LQG:

J=limTE(1T0T(y2(t)+0.05u2)dt)

Первый срок в интеграле штрафует отклонение y(t) от нуля и второго срока штрафует усилие по управлению. Используя systune, можно настроить ПИД-регулятор, чтобы минимизировать стоимость J. Для этого используйте требование LQG

Qyu = diag([1 0.05]);  % weighting of y^2 and u^2
R4 = TuningGoal.LQG({'d','n'},{'y','u'},1,Qyu);

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

| | |

Похожие темы