exponenta event banner

mixsyn

Метод синтеза H∞ смешанной чувствительности для надежного формирования контура управления

Описание

пример

[K,CL,gamma,info] = mixsyn(G,W1,W2,W3) вычисляет контроллер, который минимизирует H∞ норму взвешенной функции передачи с замкнутым контуром

M (s) = [W1SW2KSW3T],

где S = (I + GK) -1 и T = (I-S) - дополнительная чувствительность следующей системы управления .

Выбираются функции взвешивания. W1,W2,W3 формировать частотные характеристики для отслеживания и отклонения возмущений, усилия контроллера и снижения шума и надежности, соответственно. Дополнительные сведения о выборе функций взвешивания см. в разделе Формирование цикла смешанной чувствительности.

mixsyn вычисляет контроллер K который дает минимальное значение | | M (s) ||∞, возвращаемое в видеgamma. Для возвращенного контроллера K,

S‖∞≤γ'W1−1|‖KS‖∞≤γ'W2−1|‖T‖∞≤γ'W3−1|.

[K,CL,gamma] = mixsyn(G,W1,W2,W3,gamTry) вычисляет контроллер для целевого уровня производительности gamTry. Определение gamTry может быть полезен, когда оптимальная производительность контроллера выше, чем требуется для вашего приложения. В этом случае менее оптимальный контроллер может иметь меньшие коэффициенты усиления и быть лучше кондиционирован численно. Когда W1,W2,W3 зафиксировать требуемые пределы усиления S, KS и T, использования gamtry = 1, чтобы просто ввести эти ограничения.

Если gamTry недостижим, mixsyn прибыль [] для K и CL, и Inf для gamma.

[K,CL,gamma] = mixsyn(G,W1,W2,W3,gamRange) поиск в диапазоне gamRange за наилучшую достижимую производительность. Укажите диапазон с вектором формы [gmin,gmax]. Ограничение диапазона поиска может ускорить вычисления, уменьшив число итераций, выполняемых mixsyn для тестирования различных уровней производительности.

[K,CL,gamma] = mixsyn(___,opts) задает дополнительные параметры вычислений. Создать opts, использовать hinfsynOptions. Определить opts после всех других входных аргументов.

[K,CL,gamma,info] = mixsyn(___) возвращает структуру, содержащую дополнительную информацию о вычислении синтеза H∞. Этот аргумент можно использовать с любым из предыдущих синтаксисов.

Примеры

свернуть все

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

  • Сформировать функцию чувствительности для эталонного отслеживания и отклонения возмущений (W1 = 1/S большой внутри полосы пропускания управления).

  • Сформировать дополнительную чувствительность для устойчивости и ослабления шума (W3 = 1/T большой за пределами полосы пропускания управления).

  • Ограничить усилие управления (W2 = 1/KS большой внутри полосы пропускания управления).

(Дополнительные сведения о выборе функций взвешивания см. в разделе Формирование цикла смешанной чувствительности.)

s = zpk('s');
G = (s-1)/(s+1)^2;

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

bodemag(W1,W2,W3)

Figure contains an axes. The axes contains 3 objects of type line. These objects represent W1, W2, W3.

Спроектируйте контроллер.

[K,CL,gamma] = mixsyn(G,W1,W2,W3);

mixsyn формирует сингулярные значения функции чувствительности S, функция дополнительной чувствительности Tи усилия по управлению R = K*S. Изучите результаты синтеза и формы этих передаточных функций.

S = feedback(1,G*K);
KS = K*S;
T = 1-S;
sigma(S,'b',KS,'r',T,'g',gamma/W1,'b-.',ss(gamma/W2),'r-.',gamma/W3,'g-.',{1e-3,1e3})
legend('S','KS','T','GAM/W1','GAM/W2','GAM/W3','Location','SouthWest')
grid

Figure contains an axes. The axes contains 6 objects of type line. These objects represent S, KS, T, GAM/W1, GAM/W2, GAM/W3.

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

свернуть все

Установка, заданная как динамическая системная модель, например state-space (ss) модель. G может быть любой моделью LTI. mixsyn предполагает следующую структуру управления.

Если G является обобщенной моделью состояния-пространства с неопределенными или настраиваемыми блоками проектирования управления, то mixsyn использует номинальное или текущее значение этих элементов.

Функции взвешивания, определенные как динамические модели системы. Выберите функции взвешивания W1,W2,W3 формирование частотных откликов для отслеживания и отклонения возмущений, усилия контроллера, снижения шума и надежности. Обычно:

  • Для хорошего эталонного отслеживания и контроля отклонений выберите W1 большой внутри полосы управления для получения малого S.

  • Для обеспечения надежности и ослабления шума выберите W3 большие за пределами полосы управления для получения малых Т.

  • Чтобы ограничить усилия управления в конкретной полосе частот, увеличьте величину W2 в этой полосе частот, чтобы получить малую КС.

Если один из весов не требуется, установите для него значение []. Например, если вы не хотите ограничивать усилия по управлению, используйте W2 = [].

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

Если G имеет NU входов и NY выходов, то W1,W2,W3 должны быть SISO или квадратными системами размера NY, NU и NY соответственно.

Поскольку S + T = I, mixsyn нельзя сделать S и T малыми (менее 0 дБ) в одном диапазоне частот. Поэтому при задании весов для формирования цикла должен существовать диапазон частот, в котором оба W1 и W3 ниже 0 дБ.

Целевой уровень производительности, заданный как положительный скаляр. mixsyn пытается вычислить контроллер таким образом, чтобы H∞ взвешенной системы M замкнутого цикла не превышалаgamTry. Если этот уровень производительности достижим, то возвращаемый контроллер имеет gammagamTry. Если gamTry недостижим, mixsyn возвращает пустой контроллер.

Диапазон производительности для поиска, указанный как вектор формы [gmin,gmax]. mixsyn команда проверяет только уровни производительности в этом диапазоне. Он возвращает контроллер с производительностью:

  • gammagmin, когда gmin достижимо.

  • gmin < gamma < gmax, когда gmax достижим и, но gmin не является.

  • gamma = Inf когда gmax недостижим. В этом случае mixsyn прибыль [] для K и CL.

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

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

Использовать opts чтобы указать параметры для андерлаинга hinfsyn вычисления (см. Алгоритмы). Доступные варианты:

  • Отображение хода выполнения алгоритма в командной строке.

  • Отключите автоматическое масштабирование и регуляризацию.

  • Укажите метод оптимизации.

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

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

свернуть все

Контроллер, возвращенный как state-пробел (ss) объект модели или [].

Если вы поставляете gamTry или gamRange и указанные значения производительности не достижимы, то K = [].

Дополненная функция передачи с замкнутым контуром, возвращаемая как state-space (ss) объект модели или []. Увеличенная функция передачи с замкнутым контуром задается

M (s) = [W1SW2KSW3T],

где S = (I + GK) -1 и T = (I-S) - дополнительная чувствительность невзвешенной системы управления. См. раздел Формирование цикла смешанной чувствительности.

Возвращенный уровень производительности gamma является H∞ нормой CL.

Если вы поставляете gamTry или gamRange и указанные уровни производительности не достижимы, то CL = [].

Производительность контроллера, возвращаемая как неотрицательное скалярное значение или Inf. Это значение является производительностью, достигнутой с помощью возвращаемого контроллера K, и является H∞ нормой CL (см. hinfnorm). Если вы не предоставляете уровни производительности для тестирования с помощью gamTry или gamRange, то gamma является наилучшим достижимым уровнем производительности.

Если вы предоставите gamTry или gamRange, то gamma - фактический уровень производительности, достигнутый контроллером, вычисленный для наилучшего уровня производительности передачи, который hinfsyn пытается. Если указанные уровни производительности недостижимы, то gamma = Inf.

Дополнительные данные синтеза, возвращенные в виде структуры или [] (если указанный уровень производительности недостижим). информация содержит данные об андерлаинге hinfsyn вычисления, используемые mixsyn для минимизации H∞ нормы функции M (s) передачи с замкнутым контуром. Для получения подробной информации о значении полей info, см. info выходной аргумент hinfsyn.

Алгоритмы

mixsyn использует функции взвешивания для создания дополненного завода P = augw(G,W1,W2,W3). Затем он вызывает hinfsyn найти контроллер, который минимизирует норму H∞ функции передачи с обратной связью M (s) = LFT (P, K). Дополнительные сведения см. в разделе Формирование цикла смешанной чувствительности .

Вопросы совместимости

развернуть все

Не рекомендуется начинать с R2019b

В R2019b изменилось поведение

Представлен до R2006a