Создайте настраиваемую модель замкнутой системы для настройки с помощью hinfstruct

При формулировании требований проект как ограничений H-Infinity вы выразили требования к проектированию как ограничение на H ∞ норму передаточной функции с обратной связью H (s ).

Следующим шагом является создание Обобщенной модели H (s), которая включает все фиксированные и настраиваемые элементы системы управления. Модель также включает любые функции взвешивания, которые представляют ваши требования к проектированию. Существует два способа получить эту настраиваемую модель вашей системы управления:

Построение системы с обратной связью с помощью команд Control System Toolbox

Чтобы создать настраиваемую обобщенную линейную модель вашей системы управления с обратной связью в MATLAB®:

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

  2. Используйте настраиваемые модели (или Блоки Control Design или Обобщенные модели LTI), чтобы смоделировать настраиваемые элементы вашей системы управления. Для получения дополнительной информации о настраиваемых моделях см. «Модели с настраиваемыми коэффициентами».

  3. Используйте соединения моделей команды, такие как 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 ∞ ограничение:

T(s)<1

приблизительно применяет форму отклика разомкнутого контура LS. В данном примере форма целевого цикла

LS=1+0.001sωc0.001+sωc.

Это значение LS соответствует следующей форме отклика без разомкнутого контура.

Настройка системы управления HDA с hinfstruct, создайте настраиваемую модель системы с обратной связью T (s), включая функции взвешивания, следующим образом .

  1. Загрузите объект G из сохраненного файла.

    load hinfstruct_demo G

    G является пространством состояний SISO 9-го порядка (ss) модель.

  2. Создайте настраиваемую модель ПИ-контроллера.

    Можно использовать предопределенный блок Система Управления tunablePID для представления настраиваемого ПИ-контроллера.

    C = tunablePID('C','pi');
  3. Создайте настраиваемую модель lowpass.

    Поскольку для фильтра нет предопределенного блока Система Управления F = a/(s+a), использование realp для представления настраиваемого параметра фильтра a. Затем создайте настраиваемый genss модель, представляющая фильтр.

    a = realp('a',1);    
    F = tf(a,[1 a]);
  4. Задайте форму целевого цикла LC.

    wc = 1000;  
    s = tf('s');
    LS = (1+0.001*s/wc)/(0.001+s/wc);
  5. Пометьте входы и выходы всех компонентов системы управления.

    Маркировка 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';
  6. Задайте суммирующие соединения в терминах меток ввода-вывода других компонентов системы управления.

    Sum1 = sumblk('e = r - yf');
    Sum2 = sumblk('yn = y + n');
  7. Использовать 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

Если у вас есть модель вашей системы управления и программное обеспечение Simulink Control Design, используйте slTuner (Simulink Control Design), чтобы создать интерфейс к модели Simulink вашей системы управления. Когда вы создаете интерфейс, вы задаете, какие блоки настраивать в модели. The slTuner интерфейс позволяет вам извлечь модель с обратной связью для настройки с hinfstruct. (Функциональность на основе Simulink недоступна в MATLAB Online™.)

Пример: Создание взвешенной настраиваемой модели системы управления, начиная с модели Simulink

Этот пример показывает, как создать настраиваемую обобщенную линейную модель системы управления в модели Simulink rct_diskdrive.

Чтобы создать обобщенную линейную модель этой системы управления (включая функции взвешивания формирования контура):

  1. Откройте модель.

    open('rct_diskdrive');
    

  2. Создайте 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]));
    
  3. Извлеките настраиваемую модель передаточной функции с обратной связью, которую вы хотите настроить.

    T0 = getIOTransfer(ST0,{'r','n'},{'y','e'});
    

    Эта команда возвращает a genss модель линейной передаточной функции с обратной связью от ссылки и шумовых входов r,n на выходные параметры измерения и ошибки y,e. Выход ошибки необходим для функции взвешивания формирования цикла.

  4. Определите функции формирования весов и добавьте их к 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

T(s)<1

приблизительно применяет форму целевого цикла LS.

Теперь можно использовать hinfstruct для настройки параметров этой системы управления. См. «Настройка параметров контроллера».