musyn

Устойчивое проектирование контроллера с использованием Mu-Synthesis

Описание

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

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

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

  • Робастно настройте контроллер фиксированного или фиксированного порядка, состоящий из настраиваемых компонентов, таких как ПИД-регуляторы, модели пространства состояний и статические усиления.

Для получения дополнительной информации о выполнении синтеза μ и интерпретации результатов смотрите Robust Controller Design Using Mu Synthesis.

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

пример

[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).

[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. The genss модели CL0 является неопределенной и настраиваемой моделью системы с обратной связью, устойчивую эффективность которой вы хотите оптимизировать. Модель содержит:

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

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

musyn возвращает модель с обратной связью CL с настраиваемыми блоками системы управления, установленными на настроенные значения. Лучшая достигнутая устойчивая эффективность возвращается следующим CLperf.

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

[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, an 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-Synthesis.)

Можно изучить устойчивую эффективность с помощью команд анализа, таких как 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 чтобы настроить его. См. «Робастная настройка контроллера с фиксированной структурой».

Настройте контроллер с фиксированной структурой для системы управления в Unstructured Robust Controller Synthesis, который показывает, как использовать 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 может опционально содержать функции взвешивания (loop-shaping filters), которые представляют цели управления, которые вы хотите надежно удовлетворить контроллеру. Для подробного примера, который создает такую дополненный объект для синтеза μ, смотрите Робастное Управление Активной Суспензией.

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

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

Начальное значение контроллера, заданное как динамическая системная модель, такое как пространство состояний (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, возвращается как пространство состояний (ss) модель. Контроллер имеет nmeas входы и ncont выходы.

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

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

Для получения дополнительной информации об расчете и интерпретации этой величины смотрите Robust Performance Measure for Mu-Synthesis. Для получения информации о том, как улучшить лучшую достигнутую устойчивую эффективность, смотрите Улучшите Результаты Mu-Synthesis.

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

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

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

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

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

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

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

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

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

PeakMuУстойчивая эффективность μ¯ системы с обратной связью с контроллером info(j).K, возвращается как положительная скалярная величина значение. Отображение командного окна по умолчанию показывает это значение в Peak MU столбец. Для получения дополнительной информации об расчете и интерпретации этой величины смотрите Robust Performance Measure for Mu-Synthesis.
DG

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

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

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

Для получения дополнительной информации об D и G масштабировании смотрите Robust Performance Measure for Mu-Synthesis.

dr,dc,PSIРациональная подгонка D и G данных масштабирования, возвращаемая как ss модели. Для получения дополнительной информации о том, как musyn подходит для данных масштабирования, см. Robust Performance Measure for Mu-Synthesis.
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-го запуска.

Ограничения

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

Совет

Алгоритмы

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

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

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

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

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

Для получения дополнительной информации о том, как этот алгоритм работает, смотрите Процесс итерации D-K.

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

Введенный в R2019b