exponenta event banner

Надежная конструкция контроллера

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

Проектирование контроллера для установки G описан в документе «Конструкция надежного контроллера». Этот завод является системой первого порядка с неопределенной постоянной времени. Растение также имеет некоторые неопределенные динамические отклонения от поведения первого порядка за пределами около 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.

Контроллер проекта

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

Kp=2ξωn5-1, Ки =ωn25.

Чтобы изучить, как неопределенность в G влияет на достижимую полосу пропускания с замкнутым контуром, проектируют два контроллера, оба достигая, по-видимому, «», 0,707 «», но с различными значениями (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 для этой конкретной неопределенной модели.

См. также

| |

Связанные темы