При формулировании требований проект как ограничений H-Infinity вы выразили требования к проектированию как ограничение на H ∞ норму передаточной функции с обратной связью H (s ).
Следующим шагом является создание Обобщенной модели H (s), которая включает все фиксированные и настраиваемые элементы системы управления. Модель также включает любые функции взвешивания, которые представляют ваши требования к проектированию. Существует два способа получить эту настраиваемую модель вашей системы управления:
Чтобы создать настраиваемую обобщенную линейную модель вашей системы управления с обратной связью в MATLAB®:
Используйте такие команды, как tf
, zpk
, и ss
создать числовые линейные модели, которые представляют фиксированные элементы вашей системы управления и любые функции взвешивания, которые представляют ваши проекты требования.
Используйте настраиваемые модели (или Блоки Control Design или Обобщенные модели LTI), чтобы смоделировать настраиваемые элементы вашей системы управления. Для получения дополнительной информации о настраиваемых моделях см. «Модели с настраиваемыми коэффициентами».
Используйте соединения моделей команды, такие как series
, parallel
, и connect
чтобы создать систему с обратной связью из числовых и настраиваемых моделей.
Этот пример показывает, как создать настраиваемую обобщенную линейную модель следующей системы управления для настройки с hinfstruct
.
Этот блок представляет сборку головного диска (HDA) в жестком диске. Архитектура включает в себя объект G
в цикл обратной связи с ПИ-контроллером C
и lowpass, F = a/(s+a)
. Настраиваемыми параметрами являются усиления PI C
и параметр фильтра a
.
Схема блока также включает функции взвешивания LS и 1/ LS, которые выражают требования к формированию цикла. Пусть T (s) обозначает передаточную функцию с обратной связью от входов (r, nw) до выходов (y, ew). Затем H ∞ ограничение:
приблизительно применяет форму отклика разомкнутого контура LS
. В данном примере форма целевого цикла
Это значение LS соответствует следующей форме отклика без разомкнутого контура.
Настройка системы управления HDA с hinfstruct
, создайте настраиваемую модель системы с обратной связью T (s), включая функции взвешивания, следующим образом .
Загрузите объект G
из сохраненного файла.
load hinfstruct_demo G
G
является пространством состояний SISO 9-го порядка (ss
) модель.
Создайте настраиваемую модель ПИ-контроллера.
Можно использовать предопределенный блок Система Управления tunablePID
для представления настраиваемого ПИ-контроллера.
C = tunablePID('C','pi');
Создайте настраиваемую модель lowpass.
Поскольку для фильтра нет предопределенного блока Система Управления F = a/(s+a)
, использование realp
для представления настраиваемого параметра фильтра a
. Затем создайте настраиваемый genss
модель, представляющая фильтр.
a = realp('a',1);
F = tf(a,[1 a]);
Задайте форму целевого цикла LC
.
wc = 1000;
s = tf('s');
LS = (1+0.001*s/wc)/(0.001+s/wc);
Пометьте входы и выходы всех компонентов системы управления.
Маркировка I/Os позволяет вам соединить элементы для создания системы с обратной связью T (s).
Wn = 1/LS; Wn.InputName = 'nw'; Wn.OutputName = 'n'; We = LS; We.InputName = 'e'; We.OutputName = 'ew'; C.InputName = 'e'; C.OutputName = 'u'; F.InputName = 'yn'; F.OutputName = 'yf';
Задайте суммирующие соединения в терминах меток ввода-вывода других компонентов системы управления.
Sum1 = sumblk('e = r - yf'); Sum2 = sumblk('yn = y + n');
Использовать connect
объединить все элементы в полную модель системы с обратной связью T (s).
T0 = connect(G,Wn,We,C,F,Sum1,Sum2,{'r','nw'},{'y','ew'});
T0
является genss
объект, который является Обобщенной моделью LTI, представляющей систему управления с обратной связью с функциями взвешивания. The Blocks
свойство T0
содержит настраиваемые блоки C
и a
.
T0.Blocks
ans = struct with fields:
C: [1x1 tunablePID]
a: [1x1 realp]
Для получения дополнительной информации об обобщенных моделях систем управления, которые включают как числовые, так и настраиваемые компоненты, см. Модели с настраиваемыми коэффициентами.
Теперь можно использовать hinfstruct
для настройки параметров этой системы управления. См. «Настройка параметров контроллера».
В этом примере системная модель управления T0
является моделью в непрерывном времени (T0.Ts
= 0). Вы также можете использовать hinfstruct
с моделью в дискретном времени при условии, что вы задаете определенный шаг расчета (T0.Ts
≠ –1).
Если у вас есть модель вашей системы управления и программное обеспечение Simulink Control Design, используйте slTuner
(Simulink Control Design), чтобы создать интерфейс к модели Simulink вашей системы управления. Когда вы создаете интерфейс, вы задаете, какие блоки настраивать в модели. The slTuner
интерфейс позволяет вам извлечь модель с обратной связью для настройки с hinfstruct
. (Функциональность на основе Simulink недоступна в MATLAB Online™.)
Этот пример показывает, как создать настраиваемую обобщенную линейную модель системы управления в модели Simulink rct_diskdrive
.
Чтобы создать обобщенную линейную модель этой системы управления (включая функции взвешивания формирования контура):
Откройте модель.
open('rct_diskdrive');
Создайте slTuner
интерфейс с моделью. Интерфейс позволяет вам задавать настраиваемые блоки и извлекать линеаризированные отклики разомкнутого и замкнутого циклов. (Для получения дополнительной информации об интерфейсе см. slTuner
(Simulink Control Design) страница с описанием.)
ST0 = slTuner('rct_diskdrive',{'C','F'});
Эта команда задает, что C
и F
являются настраиваемыми блоками в модели. The slTuner
интерфейс автоматически параметризирует эти блоки. Параметризация по умолчанию блока передаточной функции F
является передаточной функцией с двумя свободными параметрами. Потому что F
является lowpass фильтром, вы должны ограничить его коэффициенты. Для этого задайте пользовательскую параметризацию F
.
a = realp('a',1); % filter coefficient setBlockParam(ST0,'F',tf(a,[1 a]));
Извлеките настраиваемую модель передаточной функции с обратной связью, которую вы хотите настроить.
T0 = getIOTransfer(ST0,{'r','n'},{'y','e'});
Эта команда возвращает a genss
модель линейной передаточной функции с обратной связью от ссылки и шумовых входов r,n
на выходные параметры измерения и ошибки y,e
. Выход ошибки необходим для функции взвешивания формирования цикла.
Определите функции формирования весов и добавьте их к T0
.
wc = 1000;
s = tf('s');
LS = (1+0.001*s/wc)/(0.001+s/wc);
T0 = blkdiag(1,LS) * T0 * blkdiag(1,1/LS);
Обобщенная линейная модель T0
является настраиваемой моделью передаточной функции с обратной связью T (s), обсуждаемой в Примере: Моделирование системы управления с настраиваемым ПИ-контроллером и настраиваемым фильтром. T (s) является взвешенной моделью системы управления rct_diskdrive
. Настройка T0
для принудительного применения ограничения H ∞
приблизительно применяет форму целевого цикла LS
.
Теперь можно использовать hinfstruct
для настройки параметров этой системы управления. См. «Настройка параметров контроллера».