Создайте Настраиваемую Модель С обратной связью для Настройки с hinfstruct

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

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

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

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

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

  2. Используйте настраиваемые модели (любой Control Design Blocks или Generalized LTI модели), чтобы смоделировать настраиваемые элементы вашей системы управления. Для получения дополнительной информации о настраиваемых моделях, см. Модели с Настраиваемыми Коэффициентами (Control System Toolbox).

  3. Используйте команды соединения моделей, такие как series, parallel и connect, чтобы создать вашу систему с обратной связью из числовых и настраиваемых моделей.

Пример: моделирование системы управления с настраиваемым контроллером PI и настраиваемым фильтром

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

Эта блок-схема представляет блок главного диска (HDA) в жестком диске. Архитектура включает объект G в обратную связь с контроллером PI C и фильтр нижних частот, 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 является 9-м порядком модель (ss) пространства состояний SISO.

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

    Можно использовать предопределенный Блок Системы управления tunablePID, чтобы представлять настраиваемый контроллер PI.

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

    Поскольку нет никакого предопределенного Блока Системы управления для фильтра 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, который является моделью Generalized LTI, представляющей систему управления с обратной связью с функциями взвешивания. Свойство Blocks T0 содержит настраиваемые блоки C и a.

T0.Blocks
ans = struct with fields:
    C: [1x1 tunablePID]
    a: [1x1 realp]

Для получения дополнительной информации об обобщенных моделях систем управления, которые включают и числовые и настраиваемые компоненты, см. Модели с Настраиваемыми Коэффициентами (Control System Toolbox).

Можно теперь использовать hinfstruct, чтобы настроить параметры этой системы управления. Смотрите Мелодию Параметры Контроллера.

В этом примере модель T0 системы управления является непрерывно-разовой моделью (T0.Ts = 0). Можно также использовать hinfstruct с моделью дискретного времени, при условии, что вы задаете определенный шаг расчета (T0.Ts ≠ –1).

Построение системы с обратной связью Используя команды Simulink Control Design

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

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

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

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

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

    open('rct_diskdrive');
    

  2. Создайте интерфейс slTuner к модели. Интерфейс позволяет вам задавать настраиваемые блоки, и извлечение линеаризовало разомкнутый цикл и ответы с обратной связью. (Для получения дополнительной информации об интерфейсе, смотрите страницу с описанием slTuner.)

    ST0 = slTuner('rct_diskdrive',{'C','F'});
    

    Эта команда указывает, что C и F являются настраиваемыми блоками в модели. Интерфейс slTuner автоматически параметризует эти блоки. Параметризация по умолчанию блока F передаточной функции является передаточной функцией с двумя свободными параметрами. Поскольку F является фильтром нижних частот, необходимо ограничить его коэффициенты. Для этого задайте пользовательскую параметризацию F.

    a = realp('a',1);    % filter coefficient
    setBlockParam(ST0,'F',tf(a,[1 a]));
    
  3. Извлеките настраиваемую модель передаточной функции с обратной связью, которую вы хотите настроить.

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

    Эта команда возвращает модель 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), обсужденный в Примере: Моделирование Системы управления С Настраиваемым Контроллером PI и Настраиваемым Фильтром. T (s) является взвешенной моделью с обратной связью системы управления rct_diskdrive. Настройка T0, чтобы осуществить H ограничение

T(s)<1

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

Можно теперь использовать hinfstruct, чтобы настроить параметры этой системы управления. Смотрите Мелодию Параметры Контроллера.

Для просмотра документации необходимо авторизоваться на сайте