musyn

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

Описание

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

Можно использовать musyn к:

  • Синтезируйте "черный квадрат" неструктурированные устойчивые контроллеры.

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

Для получения дополнительной информации о выполнении синтеза μ и интерпретации результатов, смотрите, что Устойчивое Проектирование контроллера Использует 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 th итерация от предыдущего запуска, используйте 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 синтез (шаг 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 выполнять дополнительные рандомизированные запуски.

Примеры

свернуть все

Синтезируйте стабилизировавшегося устойчивого диспетчера К для системы на следующем рисунке, где объект 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)

Можно теперь создать объект как показано в блок-схеме путем именования сигналов, определения блока суммы и использования 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 настроить его. Смотрите Устойчивую Настройку Контроллера Фиксированной Структуры.

Настройте контроллер фиксированной структуры для системы управления в Неструктурированном Устойчивом диспетчере Синтезисе, который показывает, как использовать 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: Parametric 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.341        1.356            10
    2          0.7961       0.7943       0.7997             6
    3          0.6791       0.6775       0.6813             8
    4          0.6598       0.6574       0.6629            10
    5          0.6577       0.6527       0.6592             8
    6           0.657       0.6536       0.6574             8

Best achieved robust performance: 0.653

Даже когда вы задаете структуру 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.093            38
    3          0.9988       0.9964        1.005            36
    4          0.9963       0.9947       0.9966            36
    5          0.9959       0.9943        1.001            36

Best achieved robust performance: 0.994

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

MMIO = wcdiskmargin(G,K)
MMIO = struct with fields:
           GainMargin: [0.6030 1.6584]
          PhaseMargin: [-27.8217 27.8217]
           DiskMargin: 0.4954
           LowerBound: 0.4954
           UpperBound: 0.4963
    CriticalFrequency: 1
    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 выходные параметры .

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

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

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

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

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

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

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

Для получения информации обо всех доступных параметрах смотрите musynOptions.

Система с обратной связью с настраиваемыми элементами контроллера в виде обобщенного пространства состояний (genss) модель и с неопределенными и с настраиваемыми блоками системы управления. Создайте CL0 путем создания и соединения:

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

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

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

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

Для примера, который показывает, как создать такую модель, смотрите, Создают Настраиваемую Модель Системы управления Неопределенными Параметрами.

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

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

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

Установка blockvals = info(j).K использует настроенные значения, вычисленные в j th 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 преобразовывать эту нормированную сумму неопределенности в фактическую неопределенность располагается, они представляют.

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

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

Поле Описание
K

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

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

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

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

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

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

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

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

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

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

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

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

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

Поле Описание
K

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

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

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

Ограничения

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

Советы

Алгоритмы

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

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

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

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

  4. Шаги 2 и 3 повторений до устойчивой производительности прекращают улучшаться.

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

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

Введенный в R2019b