Формирование цикла с использованием метода Гловера-Макфарлейна

В этом примере показано, как использовать ncfsyn формировать реакцию разомкнутого контура с одновременным обеспечением устойчивости и максимизацией робастности. ncfsyn измеряет робастность с точки зрения нормализованного запаса устойчивости перевертывания, вычисляемого ncfmargin.

Модель объекта управления

Модель объекта управления является слабо демпфированной системой второго порядка.

P(s)=16s2+0.16s+16.

A Диаграммы Боде показывает резонансный пик.

P = tf(16,[1 0.16 16]);
bode(P)

Figure contains 2 axes. Axes 1 contains an object of type line. This object represents P. Axes 2 contains an object of type line. This object represents P.

Цели проекта и первоначальный проект компенсатора

Целями проекта замкнутого контура являются следующие.

  • Нечувствительность к шуму, включая 60dB/decade затухание за 20 рад/сек

  • Интегральное действие и полоса пропускания не менее 0,5 рад/с

  • Коэффициент усиления частот среза не более 7 рад/с

В системе управления формированием контура вы переводите эти требования в желаемую форму для усиления разомкнутого контура и ищете компенсатор, который применяет эту форму. Для примера компенсатор, состоящий из ПИ-термина последовательно с высокочастотной задержкой компонента достигает желаемого цикла формы.

K_PI = pid(1,0.8);
K_rolloff = tf(1,[1/20 1]);
Kprop = K_PI*K_rolloff;
bodemag(P*Kprop); grid

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

К сожалению, компенсатор Kprop не стабилизирует систему с обратной связью. При рассмотрении динамики замкнутого контура показаны полюса в правой полуплоскости.

pole(feedback(P*Kprop,1))
ans = 4×1 complex

 -20.6975 + 0.0000i
   0.4702 + 5.5210i
   0.4702 - 5.5210i
  -0.4029 + 0.0000i

Обеспечение стабильности и робастности с помощью ncfsyn

Можно использовать ncfsyn обеспечить стабильность и адекватные запасы устойчивости без существенного изменения формы цикла. Используйте начальный проект Kprop как предварительный фильтр формирования контура. ncfsyn принимает систему положительной обратной связи управления (см ncfsyn), так перевернуть знак Kprop и возвращенного контроллера.

[K,~,gamma] = ncfsyn(P,-Kprop);
K = -K;   % flip sign back
gamma
gamma = 1.9885

Значение эффективности gamma менее 3 указывает на успех (скромное ухудшение усиления наряду с приемлемыми запасами по робастности). Новый компенсатор K стабилизирует объект и имеет хорошие запасы устойчивости.

allmargin(P*K)
ans = struct with fields:
     GainMargin: [6.3267 11.1183]
    GMFrequency: [1.6110 15.1526]
    PhaseMargin: [80.0229 -99.6598 63.7949]
    PMFrequency: [0.4471 3.1461 5.2318]
    DelayMargin: [3.1238 1.4443 0.2128]
    DMFrequency: [0.4471 3.1461 5.2318]
         Stable: 1

С gamma приблизительно 2, ожидаемое самое большее 20*log10(gamma) = 6dB уменьшение усиления в области с высоким усилением и самое большее 6dB увеличение усиления в области с низким усилением. График величины Бода подтверждает это. Обратите внимание, что ncfsyn изменяет форму цикла в основном вокруг кроссовера для достижения устойчивости и робастности.

subplot(1,2,1)
bodemag(Kprop,'r',K,'g',{1e-2,1e4}); grid
legend('Initial design','NCFSYN design')
title('Controller Gains')
subplot(1,2,2)
bodemag(P*Kprop,'r',P*K,'g',{1e-3,1e2}); grid
legend('Initial design','NCFSYN design')
title('Open-Loop Gains')

Figure contains 2 axes. Axes 1 contains 2 objects of type line. These objects represent Initial design, NCFSYN design. Axes 2 contains 2 objects of type line. These objects represent Initial design, NCFSYN design.

Фигура 1: Коэффициент усиления компенсатора и разомкнутого контура.

Импульсная характеристика

С ncfsyn компенсатор, импульсное нарушение порядка на входе объекта демпфируется за несколько секунд. Сравните этот ответ с некомпенсированной характеристикой объекта.

subplot(1,2,1)
impulse(feedback(P,K),'b',P,'r',5);
legend('Closed loop','Open loop')

Figure contains 2 axes. Axes 1 contains 2 objects of type line. These objects represent Initial design, NCFSYN design. Axes 2 contains 2 objects of type line. These objects represent Closed loop, Open loop.

subplot(1,2,2);
impulse(-feedback(K*P,1),'b',5)
title('Control action')

Figure contains 2 axes. Axes 1 contains 2 objects of type line. These objects represent Closed loop, Open loop. Axes 2 contains an object of type line. This object represents untitled1.

Фигура 2: Реакция на импульс на входе объекта.

Функции чувствительности

Функции чувствительности и комплементарной чувствительности с обратной связью показывают желаемое снижение чувствительности и высокочастотное шумовое ослабление, выраженные в задачах эффективности с обратной связью.

S = feedback(1,P*K);
T = 1-S;
clf
bodemag(S,T,{1e-2,1e2}), grid
legend('S','T')

Figure contains an axes. The axes contains 2 objects of type line. These objects represent S, T.

Заключение

В этом примере вы использовали функцию ncfsyn регулирование ручного компенсатора для достижения устойчивости замкнутого контура при приблизительно сохранении требуемой формы цикла.

См. также

|