exponenta event banner

musyn

Надежная конструкция контроллера с использованием синтеза mu

Описание

musyn конструирует надежный контроллер для неопределенной установки, использующей итерацию D-K, который сочетает синтез H∞ (стадия K) с (стадия D) для оптимизации надежной производительности с замкнутым контуром.

Вы можете использовать musyn кому:

  • Синтезируйте неструктурированные надежные контроллеры «черного ящика».

  • Надежная настройка контроллера фиксированного порядка или фиксированной структуры, состоящего из настраиваемых компонентов, таких как контроллеры PID, модели пространства состояний и статические коэффициенты усиления.

Для получения дополнительной информации об синтезе, а также интерпретации результатов см. раздел Разработка надежного контроллера с использованием синтеза Mu.

Централизованные контроллеры полного заказа

пример

[K,CLperf] = musyn(P,nmeas,ncont) возвращает контроллер K что оптимизирует надежную работу неопределенной системы с замкнутым контуром CL = lft(P,K). Завод P - непрерывное или дискретное неопределенное растение с разделенной формой

[zy] = [P11P12P21P22] [wu],

где:

  • w представляет входы возмущений.

  • u представляет управляющие входы.

  • z представляет выходные сигналы ошибок, которые должны оставаться малыми.

  • y представляет выходные сигналы измерений, подаваемые в контроллер.

nmeas и ncont - количество сигналов в y и u соответственно. y и u являются последними выходами и входами Pсоответственно. Система замкнутого контура CL = lft(P,K) обеспечивает надежную производительность CLperf, которая является верхней границей, метрикой надежной производительности, рассчитанной musynperf.

Для этого синтаксиса: musyn использование hinfsyn для синтеза H∞ (стадия К).

[K,CLperf,info] = musyn(P,nmeas,ncont) возвращает дополнительную информацию о каждой итерации D-K.

[K,CLperf,info] = musyn(P,nmeas,ncont,Kinit) инициализирует процесс итерации D-K с контроллером Kinit. Чтобы перезапустить итерацию D-K с использованием результатов j-ой итерации предыдущего прогона, используйте Kinit = info(j).K.

[K,CLperf,info] = musyn(___,opts) использует дополнительные опции для итерации D-K и андерлаинга hinfsyn вычисления. Использовать musynOptions для создания набора опций. Этот синтаксис можно использовать с любой из предыдущих комбинаций входных и выходных аргументов.

Контроллеры фиксированной структуры

пример

[CL,CLperf] = musyn(CL0) оптимизирует надежную производительность путем настройки свободных параметров в настраиваемой, неопределенной модели с замкнутым контуром CL0. genss модель CL0 является неопределенной и настраиваемой моделью системы с замкнутым контуром, надежную производительность которой необходимо оптимизировать. Модель содержит:

  • Неопределенные блоки проектирования управления, такие как ureal и ultidyn для представления неопределенности

  • Настраиваемые блоки управления, такие как tunablePID, tunableSS, и tunableGain для представления перестраиваемых компонентов структуры управления

musyn возвращает модель с замкнутым контуром CL с настраиваемыми блоками конструкции управления, установленными на настроенные значения. Наилучшая достигнутая надежная производительность возвращается как CLperf.

Для этого синтаксиса: musyn использование hinfstruct для синтеза H∞ (стадия К).

[CL,CLperf,info] = musyn(CL0) также возвращает дополнительную информацию о каждой итерации D-K.

[CL,CLperf,info] = musyn(CL0,blockvals) инициализирует итерацию D-K с перестраиваемыми значениями блоков в blockvals. Значения блоков можно указать в виде структуры или путем предоставления модели с замкнутым циклом, блоки которой настроены на значения, которые требуется инициализировать. Например, для использования настроенных значений, полученных в предыдущем musyn выполнить, установить blockvalues = CL.

[CL,CLperf,info] = musyn(___,opts) использует дополнительные опции для итерации D-K и андерлаинга hinfstruct вычисления. Использовать musynOptions для создания набора опций. Этот синтаксис можно использовать с любой из предыдущих комбинаций входных и выходных аргументов.

[CL,CLperf,info,runs] = musyn(___,opts) также возвращает сведения о каждом независимом запуске настройки при использовании 'RandomStart' вариант musynOptions для выполнения дополнительных рандомизированных прогонов.

Примеры

свернуть все

Синтезируйте стабилизирующий надежный контроллер K для системы на следующей иллюстрации, где завод G включает в себя некоторую динамическую неопределенность. Контроллер также должен отклонять нарушения, вводимые на выходе установки.

Номинальная модель завода G0 является нестабильной системой первого порядка.

G0 = tf(1,[1 -1]);

Неопределенность в G0 является следующим:

  • При низкой частоте, ниже 2 рад/с, установка может изменяться до 25% от своего номинального значения.

  • Около 2 рад/с процентное изменение начинает увеличиваться, достигая 400% при приблизительно 32 рад/с.

Представление зависимой от частоты неопределенности модели с помощью веса Wu и неопределенная динамическая неопределенность LTI InputUncодин ultidyn блок управления конструкцией.

Wu = 0.25*tf([1/2 1],[1/32 1]); 
InputUnc = ultidyn('InputUnc',[1 1]);
G = G0*(1+InputUnc*Wu);

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

При предоставлении этой дополненной установки P кому musyn, функция конструирует контроллер, который управляет передаточной функцией от d кому e ниже 1 на всех частотах. Эта передаточная функция Wp/S, где S = 1 – GK - функция чувствительности. Таким образом, выбрать Wp чтобы быть обратной требуемой чувствительности. В этом примере выберите Wp с:

  • Низкочастотный коэффициент усиления 100 (40 дБ)

  • Кроссовер 0 дБ при 0,5 рад/с

  • Высокочастотный коэффициент усиления 0,25 (12 дБ)

Wp = makeweight(100,[1 0.5],0.25);
bodemag(Wp)

Figure contains an axes. The axes contains an object of type line. This object represents Wp.

Теперь можно построить растение, как показано на блок-схеме, присвоив сигналам имена, определив суммарный блок и используя connect. Постройте установку таким образом, чтобы управляющий вход был последним входом, а выход измерения - последним выходом.

G.InputName = 'u';
G.OutputName = 'y1';
Wp.InputName = 'y';
Wp.OutputName = 'e';
SumD = sumblk('y = y1 + d');

inputs = {'d','u'};
outputs = {'e','y'};
P = connect(G,Wp,SumD,inputs,outputs);

Использовать musyn для проектирования контроллера K для этой неопределенной системы.

nmeas = 1;
ncont = 1;
[K,CLperf,info] = musyn(P,nmeas,ncont); 
D-K ITERATION SUMMARY:
-----------------------------------------------------------------
                       Robust performance               Fit order
-----------------------------------------------------------------
  Iter         K Step       Peak MU       D Fit             D
    1           1.345        1.344         1.36             8
    2          0.7923       0.7904       0.7961             4
    3          0.6789       0.6789       0.6857            10
    4          0.6572       0.6572       0.6598             8
    5          0.6538       0.6538       0.6542             8
    6          0.6532       0.6532       0.6533             8

Best achieved robust performance: 0.653

Дисплей показывает, что наилучшая достигаемая надежная производительность составляет около 0,65. Этот результат означает, что выигрыш от d кому e остается ниже 0,65 для до 1/0,65 степени неопределенности, указанной в растении. Таким образом, контроллер достигает надежных целей производительности для всего диапазона смоделированной неопределенности. (Для получения дополнительной информации о переводе musyn результаты см. в разделе Надежная конструкция контроллера с использованием синтеза Mu.)

Можно проверить надежную производительность с помощью таких команд анализа, как robgain и wcgainplot. Например, изучите наихудший коэффициент усиления системы с замкнутым контуром.

CL = lft(P,K);
wcg = wcgain(CL)
wcg = struct with fields:
           LowerBound: 0.5283
           UpperBound: 0.5294
    CriticalFrequency: 0

Этот результат подтверждает, что фактический наихудший выигрыш над смоделированной неопределенностью составляет около 0,53, что находится в пределах надежной производительности 0,65, гарантированной musyn.

Для этой проблемы контроллер возвратил musyn довольно высокий порядок.

size(K)
State-space model with 1 outputs, 1 inputs, and 11 states.

Вы можете попытаться уменьшить порядок контроллера с помощью команд сокращения модели, таких как balred или reduce для проверки возможности поддержания надежной производительности. (Пример см. в разделе musynperf справочная страница.) Можно также попытаться указать структуру контроллера нижнего порядка и использовать musyn чтобы настроить его. См. раздел Надежная настройка контроллера фиксированной структуры.

Настройка контроллера фиксированной структуры для системы управления в неструктурированном синтезе надежных контроллеров, который показывает, как использовать musyn для конструирования неструктурированного централизованного контроллера полного порядка и возвращает контроллер порядка 11. Для этого примера используйте ту же структуру управления, как показано на диаграмме, но ограничьте структуру K в модель пространства состояния пятого порядка.

Сначала постройте одно и то же растение P как в неструктурированном синтезе надежных контроллеров. Растение является неопределённым растением G дополняется функцией взвешивания чувствительности Wp.

G0 = tf(1,[1 -1]);
Wu = 0.25*tf([1/2 1],[1/32 1]); 
InputUnc = ultidyn('InputUnc',[1 1]);
G = G0*(1+InputUnc*Wu);
G.InputName = 'u';
G.OutputName = 'y1';

Wp = makeweight(100,[1 0.5],0.25);
Wp.InputName = 'y';
Wp.OutputName = 'e';

SumD = sumblk('y = y1 + d');
inputs = {'d','u'};
outputs = {'e','y'};
P = connect(G,Wp,SumD,inputs,outputs);

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

C0 = tunableSS('K',5,1,1);

Сформировать замкнутую систему, представляющую собой обобщённое состояние-пространство (genss) модель, которая имеет как настраиваемый блок, так и неопределенный блок.

CL0 = lft(P,C0)
CL0 =

  Generalized continuous-time state-space model with 1 outputs, 1 inputs, 8 states, and the following blocks:
    InputUnc: Uncertain 1x1 LTI, peak gain = 1, 1 occurrences
    K: Tunable 1x1 state-space model, 5 states, 1 occurrences.

Type "ss(CL0)" to see the current value, "get(CL0)" to see all properties, and "CL0.Blocks" to interact with the blocks.

Использовать musyn для настройки свободных записей контроллера.

[CL,CLperf,info] = musyn(CL0);
D-K ITERATION SUMMARY:
-----------------------------------------------------------------
                       Robust performance               Fit order
-----------------------------------------------------------------
  Iter         K Step       Peak MU       D Fit             D
    1           1.342        1.342        1.357             8
    2          0.7951       0.7808       0.7858             6
    3          0.6815       0.6776       0.6814             8
    4          0.6632       0.6608       0.6666            10
    5          0.6606        0.655       0.6635             6
    6          0.6599       0.6545       0.6617            10

Best achieved robust performance: 0.655

Даже при указании структуры K в качестве модели пространства состояния пятого порядка, musyn могут найти настроенные значения параметров, которые дают очень похожую надежную производительность контроллеру 11-го порядка. Вы можете попытаться уменьшить заказы контроллера, чтобы увидеть, сохранена ли надежная стабильность.

Надежный контроллер, возвращенный musyn оптимизирует надежную производительность неопределенных систем обратной связи. Когда неопределенная установка содержит umargin блоки, это требование надежной стабильности эквивалентно обеспечению усиления на основе дисков и фазовых полей, равных umargin неопределенность. В этом примере следует разработать надежный контроллер для неопределенной установки, обеспечивающий стабильность по замкнутому контуру от усиления и фазовых колебаний на входах и выходах установки.

Используйте завод из примера "Формирование петель с mixsyn"на mixsyn справочная страница, представляющая некоторую неопределенность в расположении системных полюсов и нуля.

a = ureal('a',1,'PlusMinus',[-0.1,0.1]);
s = zpk('s');
G = (s-a)/(s+a)^2;

Целью является обеспечение стабильности по замкнутому контуру от усиления и изменения фазы на входах и выходах установки в полном диапазоне изменения параметров, смоделированных в установке. G. Для этого используйте целевой коэффициент усиления и поля фазы для создания umargin неопределенные блоки и прикрепить их к установке. В этом примере предположим, что требуется устойчивость к изменениям коэффициента усиления 1,5 в любом направлении или фазовым изменениям ± 20 °.

DGM = getDGM(1.5,20,'tight');
Fin = umargin('Fin',DGM);
Fout = umargin('Fout',DGM);
Gmarg = Fout*G*Fin
Gmarg =

  Uncertain continuous-time state-space model with 1 outputs, 1 inputs, 7 states.
  The model uncertainty consists of the following blocks:
    Fin: Uncertain gain/phase, gain × [0.667,1.5], phase ± 22.6 deg, 1 occurrences
    Fout: Uncertain gain/phase, gain × [0.667,1.5], phase ± 22.6 deg, 1 occurrences
    a: Uncertain real, nominal = 1, variability = [-0.1,0.1], 3 occurrences

Type "Gmarg.NominalValue" to see the nominal value, "get(Gmarg)" to see all properties, and "Gmarg.Uncertainty" to interact with the uncertain elements.

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

W1 = makeweight(10,[1 0.1],0.01);
W2 = makeweight(0.1,[32 0.32],1);
W3 = makeweight(0.01,[1 0.1],10);

Gaug = augw(Gmarg,W1,W2,W3);

Использовать musyn для проектирования контроллера.

[K,gam] = musyn(Gaug,1,1);
D-K ITERATION SUMMARY:
-----------------------------------------------------------------
                       Robust performance               Fit order
-----------------------------------------------------------------
  Iter         K Step       Peak MU       D Fit             D
    1           7.753        1.527        1.539            24
    2           1.131        1.084        1.091            40
    3               1       0.9964        1.004            38
    4           0.997       0.9945        1.003            44
    5          0.9995       0.9939        1.001            38

Best achieved robust performance: 0.994

musyn достигается надежная производительность около 1, что говорит о том, что коэффициент усиления по замкнутому контуру остается ниже 1 для всего диапазона неопределенности, определенного в установке. Чтобы подтвердить, что результирующий контроллер достигает целевого коэффициента усиления и запаса по фазе, используйте wcdiskmargin проверить наихудший коэффициент усиления и фазовые поля системы на предмет одновременных изменений на входах и выходах установки. Использовать завод G который содержит неопределенность параметра, но не неопределенность усиления и фазы.

MMIO = wcdiskmargin(G,K)
MMIO = struct with fields:
           GainMargin: [0.6027 1.6593]
          PhaseMargin: [-27.8480 27.8480]
           DiskMargin: 0.4958
           LowerBound: 0.4958
           UpperBound: 0.4968
    CriticalFrequency: 0.9146
    WorstPerturbation: [1x1 struct]

Наихудший запас усиления на основе диска, равный [0,6 1,66], немного больше целевого предела [0,66 1,5], а наихудший запас фазы ± 28 ° также лучше требуемого предела ± 20 °. Таким образом, контроллерK обеспечивает требуемый запас для всего диапазона неопределенностей параметров установки G.

Пример использования umargin блоки с musyn для обеспечения усиления и фазовых полей в контуре управления MIMO см. раздел Надежный контроллер для вращающегося спутника.

Входные аргументы

свернуть все

Неопределенная установка, указанная как неопределенное состояние-пространство (uss) модель. P имеет входы [w; u] и выходы [z; y], где:

  • w представляет входы возмущений.

  • u представляет управляющие входы.

  • z представляет выходные сигналы ошибок, которые должны оставаться малыми.

  • y представляет выходные сигналы измерений, подаваемые в контроллер.

Конструкция P так, что измерительные выходы y являются последними выходами, а управляющие входы u являются последними входами.

P может дополнительно содержать функции взвешивания (фильтры формирования петель), которые представляют цели управления, которым контроллер должен удовлетворять. Для подробного примера, который конструирует такую дополненную установку для β - синтеза, см. Надежный контроль активной суспензии.

Количество выходных сигналов измерений в установке, указанное как неотрицательное целое число. Функция принимает последнее nmeas выход установки в виде измерений y. Возвращенный контроллер K имеет nmeas входные данные.

Количество управляющих входных сигналов в установке, указанное как неотрицательное целое число. Функция принимает последнее ncont заводские вводы в качестве контрольных u. Возвращенный контроллер K имеет ncont выходы.

Начальное значение контроллера, указанное как динамическая модель системы, например state-space (ss) модель. По умолчанию musyn начинается с вычисления контроллера H∞ для номинальной системы. Использовать Kinit для запуска с другого контроллера. Настройка Kinit = info(j).K использует контроллер, вычисленный в j-ой D-K итерации musyn прогон, который был создан info.

Одним из способов использования этого входного аргумента является продолжение итерации после musyn достигает максимального числа итераций, указанного 'MaxIter' вариант musynOptions. Если на дисплее видно, что musyn все еще идет вперед, когда он прекращает итерацию, вы можете запустить musyn снова, начиная с последнего синтезированного контроллера, чтобы увидеть, сколько еще musyn может повысить надежную производительность.

Дополнительные опции для вычисления, заданные как объект опций, создаваемый с помощью musynOptions. Доступны следующие опции:

  • Включите полное отображение хода выполнения алгоритма, которое приостанавливается после каждой итерации D-K, чтобы можно было проверить промежуточные результаты.

  • Для менее консервативного и, возможно, более надежного контроллера используйте смешанный γ-синтез, чтобы рассматривать реальные неопределенные параметры как реальные, а не как сложные.

  • Установите максимальные заказы для функций, используемых для соответствия масштабам D и G.

  • Используйте параллельные вычисления для выполнения независимой оптимизации при настройке контроллера фиксированной структуры.

Сведения обо всех доступных параметрах см. в разделе musynOptions.

Замкнутая система с перестраиваемыми элементами контроллера, заданная как обобщенное состояние-пространство (genss) модель с неопределенными и настраиваемыми блоками конструкции управления. Конструкция CL0 путем создания и соединения:

  • Числовые модели LTI, представляющие фиксированные компоненты системы управления

  • Неопределенные блоки проектирования управления, такие как ureal и ultidyn блоки, представляющие неопределенные компоненты установки

  • Дополнительные функции взвешивания LTI (фильтры формирования контуров), представляющие цели управления

  • Настраиваемые блоки управления, такие как tunablePID, tunableSS, и tunableGain для представления перестраиваемых компонентов контроллера C0

Пример создания такой модели см. в разделе Создание настраиваемой модели системы управления с неопределенными параметрами.

Начальные значения перестраиваемых параметров в CL0, указанный как структура или как genss модель. По умолчанию musyn начинается с настройки параметров контроллера для номинальной системы. Использовать blockvals для запуска с другого контроллера. Укажите начальные значения параметров как:

  • Структура, поля которой являются именами настраиваемых блоков и значения которых являются управляющими блоками проектирования, имеющими требуемые текущие значения. Например, если у вас есть настроенная система CL полученные в предыдущем musyn run, можно инициализировать с помощью настроенных значений блоков контроллера в CL путем установки blockvals = CL.Blocks.

  • A genss модель, перестраиваемые блоки которой имеют требуемое текущее значение.

Настройка blockvals = info(j).K использует настроенные значения, вычисленные в j-ой итерации D-K musyn прогон, который был создан info. Например, если у вас есть настроенная система CL, можно инициализировать с его настроенными значениями путем установки blockvals = CL. Такая инициализация может быть полезна для продолжения итерации после musyn достигает максимального числа итераций. Если на дисплее видно, что musyn все еще идет вперед, когда он прекращает итерацию, вы можете запустить musyn снова, начиная с последнего синтезированного контроллера, чтобы увидеть, сколько еще musyn может повысить надежную производительность.

Выходные аргументы

свернуть все

Контроллер, обеспечивающий надежную производительность H∞ CLperf, возвращенный как state-space (ss) модель. Контроллер имеет nmeas входные данные и ncont выходы.

Порядок K зависит от порядка подбора функций для масштабирования D и G и количества неопределенных блоков в системе. Сведения о том, как уменьшить порядок возвращаемого контроллера, см. в разделе Улучшение результатов синтеза Mu.

Наилучшая достигаемая надежная производительность, возвращаемая как положительный скаляр. musyn попытки оптимизировать контроллер K для минимизации этого значения. Коэффициент усиления по замкнутому контуру от w до z остается ниже CLperf для неопределенности вверх 1/CLperf умножает неопределенность, указанную на заводе. Например, если CLperf составляет 1,125, тогда коэффициент усиления по замкнутому контуру остается ниже 1,125 в течение до 0,8 раз больше неопределенности, указанной в установке. Использовать uscale для преобразования этой нормированной величины неопределенности в фактические диапазоны неопределенности, которые они представляют.

Дополнительные сведения о вычислении и интерпретации этой величины см. в разделе Надежный показатель производительности для синтеза Mu. Информацию о том, как улучшить наилучшие достигнутые надежные характеристики, см. в разделе Улучшение результатов синтеза мю.

Подробные сведения о результатах итерации D-K, возвращаемых в виде массива структуры. info(j) содержит результаты j-ой итерации D-K в прогоне. info имеет следующие поля.

ОбластьОписание
K

Оптимальный контроллер, найденный на шаге K этой итерации, возвращен как state-space (ss) модель или в виде структуры, содержащей настроенные блоки проекта управления.

  • Для неструктурированного синтеза контроллера, info(j).K является моделью пространства состояний.

  • Для настройки контроллера фиксированной структуры, info(j).K - структура, имена которой являются именами настраиваемых блоков в CL0. Значения являются настраиваемыми управляющими конструкторскими блоками с текущими значениями, установленными на настроенное значение.

gammaОптимизированная масштабируемая производительность H∞, возвращаемая в виде скаляра. Эта масштабируемая производительность достигается оптимальным контроллером info(j).K. В окне командной строки по умолчанию это значение отображается в K Step столбец. Дополнительные сведения о вычислении и интерпретации этой величины см. в разделе Надежный показатель производительности для синтеза Mu.
KInfo

H∞ данные синтеза, возвращенные в виде структуры.

  • Для централизованного синтеза контроллера полного порядка эта структура аналогична info выходной аргумент hinfsyn.

  • Для настройки контроллера фиксированной структуры эта структура аналогична info выходной аргумент hinfstruct.

PeakMuНадежная рабочая характеристика (λ) системы с замкнутым контуром с контроллеромinfo(j).K, возвращается как положительное скалярное значение. В окне командной строки по умолчанию это значение отображается в Peak MU столбец. Дополнительные сведения о вычислении и интерпретации этой величины см. в разделе Надежный показатель производительности для синтеза Mu.
DG

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

  • Frequency - Вектор частот, для которых был выполнен мканализ

  • Dr, Dc, Gcr - значения масштабных коэффициентов Dr (λ), Dc (λ) и Gcr (λ) на соответствующих частотах.

Дополнительные сведения о масштабировании D и G см. в разделе Показатель надежной производительности для синтеза Mu.

dr,dc,PSIРациональная подгонка данных масштабирования D и G, возвращаемых как ss модели. Для получения подробной информации о том, как musyn соответствует масштабным данным, см. раздел Показатель надежной производительности для синтеза Mu.
FitOrderПорядки функций, используемых для подгонки данных масштабирования в этой итерации, возвращаемые как двухэлементный вектор. Две записи являются порядком соответствия для шкал D и G соответственно. В окне командной строки по умолчанию эти значения отображаются в Fit Order столбец.
PeakMuFitМасштабируемая производительность H∞ достигается с помощью info(j).K и соответствующие D и G масштабирования, возвращенные как скаляр. В окне командной строки по умолчанию это значение отображается в DG Fit столбец.

Настроенная замкнутая система, возвращаемая как обобщенное состояние-пространство genss модель с теми же неопределенными и настраиваемыми блоками конструкции управления, что и CL0. Текущие значения настраиваемых блоков в CL.Blocks имеют настроенные значения.

Информация о каждом независимом рандомизированном прогоне, возвращаемая в виде структурного массива. Используйте этот вывод с синтезом, имеющим фиксированную структуру, при установке 'RandomStart' вариант musynOptions в N > 0. Этот вариант вызывает musyn для выполнения нескольких независимых итераций D-K, инициализированных из различных значений параметров контроллера. runs(j) содержит результаты j-го независимого перезапуска в следующих полях.

ОбластьОписание
K

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

muPerfНаилучшая производительность H∞ для этого прогона, возвращенная как положительный скаляр. Контроллер, который musyn возвращает при использовании нескольких прогонов то, для которого runs(j).muPerf является наименьшим.
Info

Подробные сведения о результатах итерации D-K, возвращаемых в виде массива структуры. runs(j).Info содержит поля, соответствующие полям info вывод musyn, для j-го пробега.

Ограничения

  • Для установок дискретного времени время выборки, которое очень мало по сравнению с другой динамикой в проблеме, может привести к сбою синтеза из-за числовых проблем. Для получения наилучших результатов выберите время выборки таким образом, чтобы значимая динамика (динамика системы и функции взвешивания) не превышала 10 или 2 лет ниже частоты Найквиста. Проблема возникает потому, что динамика шкал D и G, как правило, концентрируется вокруг динамики системы. Слишком малое время выборки приводит к накоплению полюсов около z = 1 (относительно частоты Найквиста), что вызывает числовые проблемы с решателями Риккати. Альтернативно, конструирование в непрерывном режиме.

Совет

Алгоритмы

musyn использует итеративный процесс, называемый D-K итерацией. В этом процессе функция:

  1. Использует синтез H∞ для поиска контроллера, который минимизирует коэффициент усиления номинальной системы по замкнутому контуру.

  2. Выполняет анализ надежности для оценки надежной H∞ производительности системы с замкнутым контуром. Эта величина выражается как масштабированная H∞ норма, включающая динамические масштабирования, называемые D и G масштабированием (шаг D).

  3. Поиск нового контроллера для минимизации масштабированной нормы H∞, полученной на шаге 2 (шаг K).

  4. Повторяет шаги 2 и 3 до тех пор, пока надежная производительность не перестанет улучшаться.

Дополнительные сведения о работе этого алгоритма см. в разделе Процесс итерации D-K.

Расширенные возможности

Представлен в R2019b