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 для формирования частотных характеристик для отслеживания и подавления помех, усилия контроллера и снижения шума и робастности, соответственно. Для получения дополнительной информации о том, как выбрать функции взвешивания, смотрите Mixed-Sensitivity Loop Shaping.

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

Sγ|W11|KSγ|W21|Tγ|W31|.

[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 большой внутри управляющей полосы).

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

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.

Входные параметры

свернуть все

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

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

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

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

  • Для ослабления робастности и шума выберите W3 большой вне управляющей полосы для получения малых T.

  • Чтобы ограничить усилие управления в конкретном диапазоне частот, увеличьте амплитуду W 2 в этом диапазоне частот, чтобы получить малую KS.

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

Использовать makeweight создание весовых функций с желаемыми профилями усиления. Для получения дополнительной информации о выборе функций взвешивания смотрите Mixed-Sensitivity Loop Shaping.

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

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

Целевой уровень эффективности, заданный как положительная скалярная величина. mixsyn пытается вычислить контроллер таким образом, чтобы H ∞ взвешенной системы с обратной связью M (s) не превышал 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.

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

свернуть все

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

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

Дополненная передаточная функция с обратной связью, возвращенная как пространство состояний (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