Запасы устойчивости MIMO для вращения спутника

Этот пример показывает, что в обратной связи MIMO, дисковые поля являются более надежными оценками запаса устойчивости, чем классическое, цикл за один раз запасы по амплитуде и фазе. Это сначала появилось в Ссылке [1].

Вращение спутника

Этот пример мотивирован путем управления трансверсальными угловыми уровнями во вращающемся спутнике (см. Ссылку [2]). Цилиндрическое тело разворачивает свою ось симметрии (z ось) с постоянным угловым уровнем Ω. Цель состоит в том, чтобы независимо управлять угловыми уровнями ωx и ωy вокруг x и y оси с помощью крутящих моментов ux и uy. Уравнения движения приводят к второго порядка, 2D входу, 2D выходной модели:

(ω˙xω˙y)=(0a-a0)(ωxωy)+(uxuy)

(ν1ν2)=(1a-a1)(ωxωy),a=10.

Рассмотрите закон о статическом элементе управления, который комбинирует действия модульной обратной связи и feedforward:

u=Kfr-ν.

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

Kf=11+a2(1-aa1)

Получившаяся система является системой управления 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)

Figure contains 4 axes objects. Axes object 1 with title From: In(1) contains an object of type line. This object represents T. Axes object 2 contains an object of type line. This object represents T. Axes object 3 with title From: In(2) contains an object of type line. This object represents T. Axes object 4 contains an object of type line. This object represents T.

Цикл за один раз запасы по амплитуде и фазе

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

Чтобы вычислить цикл за один раз запасы по амплитуде и фазе, введите аналитическую точку во входе объекта, чтобы облегчить доступ к ответам разомкнутого контура.

uAP = AnalysisPoint('u',2);
T = feedback(P*uAP,eye(2))*Kf;

Используйте getLoopTransfer получить доступ к передачам цикла SISO в ux с y круг, замкнутый, и в uy с x круг замкнут.

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% в ux образуйте канал и увеличивает его на 10% в uy канал. Затем вычислите полюса модульной обратной связи, чтобы видеть, что один из них переместился в правую полуплоскость, управляя нестабильным циклом.

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

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

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')

Figure contains 8 axes objects. Axes object 1 with title From: In(1) contains 2 objects of type line. These objects represent dg, smallest. Axes object 2 contains 2 objects of type line. These objects represent dg, smallest. Axes object 3 contains 2 objects of type line. These objects represent dg, smallest. Axes object 4 contains 2 objects of type line. These objects represent dg, smallest. Axes object 5 with title From: In(2) contains 2 objects of type line. These objects represent dg, smallest. Axes object 6 contains 2 objects of type line. These objects represent dg, smallest. Axes object 7 contains 2 objects of type line. These objects represent dg, smallest. Axes object 8 contains 2 objects of type line. These objects represent 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.

Смотрите также

|

Похожие темы