Этот пример показывает, что в обратной связи MIMO, дисковые поля являются более надежными оценками запаса устойчивости, чем классическое, цикл за один раз запасы по амплитуде и фазе. Это сначала появилось в Ссылке [1].
Этот пример мотивирован путем управления трансверсальными угловыми уровнями во вращающемся спутнике (см. Ссылку [2]). Цилиндрическое тело разворачивает свою ось симметрии ( ось) с постоянным угловым уровнем . Цель состоит в том, чтобы независимо управлять угловыми уровнями и вокруг и оси с помощью крутящих моментов и . Уравнения движения приводят к второго порядка, 2D входу, 2D выходной модели:
Рассмотрите закон о статическом элементе управления, который комбинирует действия модульной обратной связи и feedforward:
.
Установка усиления прямого распространения можно следующим образом достигает совершенного разъединения и заставляет каждый цикл ответить как система первого порядка постоянной единицей времени.
Получившаяся система является системой управления 2D цикла следующей схемой.
Создайте модель в пространстве состояний спутника и контроллера, чтобы видеть эффективность системы с этим контроллером.
% 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 путем явного моделирования и бухгалтерских взаимодействиях цикла for. Смотрите, что Анализ Устойчивости Использует Дисковые Поля для дополнительной справочной информации. Чтобы вычислить дисковые поля SISO и MIMO для вращающегося спутникового примера, извлеките передачу цикла MIMO L
и используйте 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].
diskmarginplot
команда позволяет вам визуализировать находящиеся на диске поля в зависимости от частоты. Для этой системы, что находящиеся на диске поля являются самым слабым близким DC (нулевая частота).
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')
Для многоконтурных систем управления дисковые поля являются более надежным устойчивым тестом устойчивости, чем цикл за один раз запасы по амплитуде и фазе. diskmargin
функция вычисляет и цикл за один раз и дисковые поля MIMO и соответствующие самые маленькие возмущения дестабилизации. Можно использовать эти возмущения для последующего анализа и оценки степени риска, например, путем введения их в подробной нелинейной симуляции системы.
Чтобы изучить, как спроектировать контроллер с соответствующими запасами устойчивости для этого объекта, смотрите пример Устойчивый Контроллер для Вращения Спутника.
[1] Дойл, J. “Робастность Многоконтурных Линейных Систем с обратной связью”. На 1 978 Конференциях по IEEE по Решению и Управлению Включая 17-й Симпозиум по Адаптивным Процессам, 12–18. Сан-Диего, CA, США: IEEE, 1978. https://doi.org/10.1109/CDC.1978.267885.
[2] Чжоу, K., J.C.Doyle и K. Перчаточник. Устойчивое и оптимальное управление, Englewood Cliffs, NJ: Prentice Hall, 1996, разделяет 9.6.