Этот пример показывает, что в циклах обратной связи MIMO, запасы диска являются более надежными оценками запаса устойчивости, чем классические, циклические и фазовые запасы. Впервые он появился в Ссылке [1].
Этот пример мотивирован управлением поперечными угловыми скоростями в вращающемся спутнике (см. Ссылку [2]). Цилиндрическое тело вращается вокруг своей оси симметрии ( ось) с постоянной угловой скоростью . Цель состоит в том, чтобы независимо контролировать угловые скорости и вокруг и оси, использующая крутящие моменты и . Уравнения движения приводят к модели второго порядка, двух входов, двух выходов:
Рассмотрим статический закон управления, который объединяет действия с feedforward и модульной обратной связью:
.
Установка коэффициента усиления с feedforward следующим образом достигает идеального развязывания и заставляет каждый цикл реагировать как систему первого порядка с единичной временной константой.
Получившаяся система является двухконтурной системой управления следующей схемы.
Создайте модель пространства состояний спутника и контроллера, чтобы увидеть эффективность системы с этим контроллером.
% Plant a = 10; A = [0 a;-a 0]; B = eye(2); C = [1 a;-a 1]; D = 0; P = ss(A,B,C,D); % Prefilter Kf = [1 -a;a 1]/(1+a^2); % Closed-loop model T = feedback(P,eye(2))*Kf; step(T,10)
Классический коэффициент усиления и запасов по фазе являются обычным способом измерения робастности циклов обратной связи SISO для установления неопределенности. В системах управления MIMO запасы по усилению и фазе часто оцениваются по одному циклу за раз, что означает, что запасы вычисляются независимо для каждого канала обратной связи с закрытыми другими циклами. Робастность явно подвергается сомнению, когда обнаруживается, что один цикл имеет слабые границы. К сожалению, обращение не соответствует действительности. Каждый отдельный цикл может иметь сильные запасы по усилению и фазе, в то время как общая робастность является слабой. Это связано с тем, что циклический подход не учитывает циклические взаимодействия и обусловленность передачи цикла MIMO. Пример вращающегося спутника является идеальным рисунком этой точки зрения.
Чтобы вычислить коэффициент усиления и запасов по фазе в цикле в момент времени, введите точку анализа на входе объекта, чтобы облегчить доступ к откликам без разомкнутого контура.
uAP = AnalysisPoint('u',2);
T = feedback(P*uAP,eye(2))*Kf;
Использование getLoopTransfer
для доступа к передачам цикла SISO в с цикл замкнут, и при с цикл закрыт.
Lx = getLoopTransfer(T,'u(1)',-1); Ly = getLoopTransfer(T,'u(2)',-1);
Наконец, используйте margin
вычислить цикл классического усиления и запасов по фазе в конкретный момент времени.
[gmx,pmx] = margin(Lx)
gmx = Inf
pmx = 90
[gmy,pmy] = margin(Ly)
gmy = Inf
pmy = 90
margin
сообщает о запасе по амплитуде Inf
и запас фазы 90 °, так как устойчивый к изменениям в усилении и фазе, как цикл SISO, может быть. Этот результат неудивителен, учитывая, что цикл переносится Lx
и Ly
являются чистыми интеграторами.
tf(Lx), tf(Ly)
ans = From input "u(1)" to output "u(1)": 1 - s Continuous-time transfer function. ans = From input "u(2)" to output "u(2)": 1 - s Continuous-time transfer function.
Несмотря на этот результат цикла в момент времени, цикл обратной связи MIMO T может быть дестабилизирован изменением коэффициента усиления на 10%, влияющим на оба цикла. Чтобы продемонстрировать эту дестабилизацию, умножьте объект на статический коэффициент усиления, который уменьшает коэффициент усиления на 10% в канал и увеличивает его на 10% в канал. Затем вычислите полюсы цикла обратной связи модуля, чтобы увидеть, что один из них переместился в правую половинную плоскость, приводя цикл в нестабильное состояние.
dg = diag([1-0.1,1+0.1]); pole(feedback(P*dg,eye(2)))
ans = 2×1
-2.0050
0.0050
Поскольку неопределенность модели обычно влияет на все циклы обратной связи, цикла - за раз, как правило, переоценивают фактическую робастность и могут пропустить важные проблемы с проектами MIMO.
Понятие маржи диска дает более комплексную оценку робастности в циклах обратной связи MIMO путем явного моделирования и учета циклических взаимодействий. Дополнительные сведения см. в разделе Анализ устойчивости с использованием полей на диске. Чтобы вычислить поля дисков SISO и MIMO для примера вращающегося спутника, извлеките L
передачи цикла MIMO и используйте
diskmargin
команда.
L = getLoopTransfer(T,'u',-1);
[DM,MM] = diskmargin(L);
Первый выход DM
содержит цикл на дисковых полях. Это более низкие оценки классического усиления и запасов по фазе. Для этой модели дисковые маржи также сообщают о запасе по амплитуде Inf
и запас по фазе 90 ° для каждого отдельного цикла. Пока ничего нового.
DM(1)
ans = struct with fields:
GainMargin: [0 Inf]
PhaseMargin: [-90 90]
DiskMargin: 2
LowerBound: 2
UpperBound: 2
Frequency: 0
WorstPerturbation: [2x2 ss]
DM(2)
ans = struct with fields:
GainMargin: [0 Inf]
PhaseMargin: [-90 90]
DiskMargin: 2
LowerBound: 2
UpperBound: 2
Frequency: 0
WorstPerturbation: [2x2 ss]
Второй выходной MM
содержит дисковые поля MIMO.
MM
MM = struct with fields:
GainMargin: [0.9051 1.1049]
PhaseMargin: [-5.7060 5.7060]
DiskMargin: 0.0997
LowerBound: 0.0997
UpperBound: 0.0999
Frequency: 1.0000e-04
WorstPerturbation: [2x2 ss]
Этот мультицикл дисковый запас является наиболее надежной мерой робастности MIMO, поскольку он учитывает независимые изменения коэффициента усиления и фазы во всех каналах цикла одновременно. Вот MM
сообщает о запасе по амплитуде [0,905,1,105], что означает, что коэффициент усиления разомкнутого контура может увеличиться или уменьшиться в множителе 1,105 при сохранении устойчивости с обратной связью. Запас по фазе составляет 5,7 °. Этот результат соответствует дестабилизирующему возмущению dg
выше, что соответствует относительному изменению усиления в области значений [0.90.1.10].
The diskmarginplot
позволяет вам визуализировать дисковые поля как функцию от частоты. Для этой системы, что дисковые поля являются самыми слабыми около постоянного тока (нулевая частота).
clf diskmarginplot(L) grid
Область struct MM
также содержит наименьшее дестабилизирующее возмущение MM.WorstPerturbation
. Это динамическое возмущение является реализацией наименьшего дестабилизирующего изменения в усилении и фазе. Обратите внимание, что это возмущение изменяет и коэффициент усиления, и фазу в обоих каналах обратной связи.
WGP = MM.WorstPerturbation; pole(feedback(P*WGP,eye(2)))
ans = 8×1 complex
-1.0000 + 0.0001i
-1.0000 - 0.0001i
-0.0002 + 0.0002i
-0.0002 - 0.0002i
-0.0000 + 0.0001i
-0.0000 - 0.0001i
-0.0000 + 0.0000i
-0.0000 - 0.0000i
Сравните динамическое возмущение WGP
со статическим усилением dg
используется выше для дестабилизации системы.
bode(ss(dg),WGP), grid title('Smallest destabilizing perturbation') legend('dg','smallest')
Для систем мультицикла управления запасы дисков являются более надежным тестом устойчивости, чем коэффициент усиления и запасов по фазе в цикле. The diskmargin
функция вычисляет цикл дисковых полей MIMO и их наименьшие дестабилизирующие возмущения. Можно использовать эти возмущения для последующего анализа и оценки риска, например, путем их инъекции в подробную нелинейную симуляцию системы.
Чтобы узнать, как спроектировать контроллер с адекватными запасами устойчивости для этого объекта, смотрите пример Robust Controller for Spinning Satellite.
[1] Doyle, J. «Robustness of Multiloop Linear Feedback Systems». В 1978 году Конференция IEEE по принятию решений и контролю, включая 17-й симпозиум по адаптивным процессам, 12-18. Сан-Диего, Калифорния, США: IEEE, 1978. https://doi.org/10.1109/CDC.1978.267885.
[2] Zhou, K., J.C.Doyle, and K. Glover. Устойчивое и оптимальное управление, Englewood Cliffs, NJ: Prentice Hall, 1996, раздел 9.6.