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

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

Вращающийся спутник

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

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

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

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

u=Kfr-ν.

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

Kf=11+a2(1-aa1)

Получившаяся система является двухконтурной системой управления следующей схемы.

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

% 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. Axes 1 with title From: In(1) contains an object of type line. This object represents T. Axes 2 contains an object of type line. This object represents T. Axes 3 with title From: In(2) contains an object of type line. This object represents T. Axes 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 путем явного моделирования и учета циклических взаимодействий. Дополнительные сведения см. в разделе Анализ устойчивости с использованием полей на диске. Чтобы вычислить поля дисков 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

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

См. также

|

Похожие темы