Устойчивое Проектирование контроллера

Этот пример показывает, как спроектировать контроллер обратной связи для объекта с неопределенными параметрами и динамикой неопределенной модели. Целями проектирования контроллера являются хорошее статическое отслеживание и подавления помех.

Проектируйте контроллер для объекта управления G описывается в Robust Controller Design. Этот объект является системой первого порядка с неопределенной временной константой. У объект также есть некоторые неопределенные динамические отклонения от поведения первого порядка за пределами около 9 рад/с.

bw = ureal('bw',5,'Percentage',10);
Gnom = tf(1,[1/bw 1]);

W = makeweight(.05,9,10);
Delta = ultidyn('Delta',[1 1]);
G = Gnom*(1+W*Delta)
G =

  Uncertain continuous-time state-space model with 1 outputs, 1 inputs, 2 states.
  The model uncertainty consists of the following blocks:
    Delta: Uncertain 1x1 LTI, peak gain = 1, 1 occurrences
    bw: Uncertain real, nominal = 5, variability = [-10,10]%, 1 occurrences

Type "G.NominalValue" to see the nominal value, "get(G)" to see all properties, and "G.Uncertainty" to interact with the uncertain elements.

Проект контроллера

Из-за номинального поведения объекта управления первого порядка выберите архитектуру управления ПИ. Для желаемой замкнутой системы коэффициента затухания ωn, расчетные уравнения для пропорциональных и интегральных составляющих (на основе номинальной постоянной времени разомкнутого контура 0,2):

Kp=2ξωn5-1,Ki=ωn25.

Чтобы изучить, как неопределенность в G влияет на достижимую пропускную способность замкнутого контура, проектирует два контроллера, оба достигают ωn значения, 3 и 7,5.

xi = 0.707;
wn1 = 3;
wn2 = 7.5; 

Kp1 = 2*xi*wn1/5 - 1;
Ki1 = (wn1^2)/5;
C1 = tf([Kp1,Ki1],[1 0]);

Kp2 = 2*xi*wn2/5 - 1;
Ki2 = (wn2^2)/5;
C2 = tf([Kp2,Ki2],[1 0]);

Исследуйте эффективность контроллера

Номинальная полоса пропускания замкнутой системы, достигаемая C2 находится в области, где G имеет значительную неопределенность модели. Поэтому ожидается, что изменения модели вызывают значительное ухудшение эффективности с обратной связью с этим контроллером. Чтобы изучить эффективность, сформируйте системы с обратной связью и постройте график переходных характеристик для выборок полученных систем.

T1 = feedback(G*C1,1);
T2 = feedback(G*C2,1);
tfinal = 3;
step(T1,'b',T2,'r',tfinal)

Figure contains an axes. The axes contains 42 objects of type line. These objects represent T1, T2.

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

Можно использовать robstab проверить робастность устойчивости систем с обратной связью для моделирования изменений.

opt = robOptions('Display','on');
stabmarg1 = robstab(T1,opt);
Computing peak...  Percent completed: 100/100
System is robustly stable for the modeled uncertainty.
 -- It can tolerate up to 401% of the modeled uncertainty.
 -- There is a destabilizing perturbation amounting to 401% of the modeled uncertainty.
 -- This perturbation causes an instability at the frequency 3.74 rad/seconds.
stabmarg2 = robstab(T2,opt);
Computing peak...  Percent completed: 100/100
System is robustly stable for the modeled uncertainty.
 -- It can tolerate up to 125% of the modeled uncertainty.
 -- There is a destabilizing perturbation amounting to 125% of the modeled uncertainty.
 -- This perturbation causes an instability at the frequency 11.4 rad/seconds.

Отображение дает величину неопределенности, которую система может терпеть, не становясь нестабильной. В обоих случаях системы с обратной связью могут переносить более 100% смоделированной области значений неопределенностей, оставаясь стабильными. stabmarg содержит нижнюю и верхнюю границы запаса устойчивости. Запас устойчивости, больший 1, означает, что система стабильна для всех значений смоделированной неопределенности. Запас устойчивости менее 1 означает, что существуют допустимые значения неопределенных элементов, которые делают систему нестабильной.

Сравнение номинального и наихудшего поведения

Хотя обе системы стабильны для всех изменений, их эффективность зависит от различных степеней. Чтобы определить, как неопределенность влияет на эффективность в системе с обратной связью, можно использовать wcgain чтобы вычислить эффект неопределенности в худшем случае на пиковую величину функции чувствительности замкнутой системы, S = 1/(1+GC). Этот пиковый коэффициент усиления этой функции обычно коррелирует с количеством перерегулирования в переходную характеристику; пиковое усиление, больше единицы, указывает на перерегулирование.

Сформируйте функции чувствительности с обратной связью и вызовите wcgain.

S1 = feedback(1,G*C1);
S2 = feedback(1,G*C2);
[maxgain1,wcu1] = wcgain(S1);
[maxgain2,wcu2] = wcgain(S2);

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

maxgain1
maxgain1 = struct with fields:
           LowerBound: 1.8832
           UpperBound: 1.8866
    CriticalFrequency: 3.2410

maxgain2
maxgain2 = struct with fields:
           LowerBound: 4.6286
           UpperBound: 4.6381
    CriticalFrequency: 11.6174

wcu содержит конкретные значения неопределенных элементов, которые достигают этого худшего поведения. Использование usubs чтобы заменить эти значения в худшем случае на неопределенные элементы и сравнить номинальное и худшее поведение.

wcS1 = usubs(S1,wcu1);
wcS2 = usubs(S2,wcu2);
bodemag(S1.NominalValue,'b',wcS1,'b');
hold on
bodemag(S2.NominalValue,'r',wcS2,'r');

Figure contains an axes. The axes contains 4 objects of type line. These objects represent untitled1, untitled2, untitled3, untitled4.

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

См. также

| |

Похожие темы