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

В этом примере показано, как создать обобщенное пространство состояний (genss) модель системы управления, которая имеет и настраиваемые и неопределенные параметры. Можно использовать systune настроить настраиваемые параметры такой модели, чтобы достигнуть эффективности, которая устойчива против неопределенности в системе.

В данном примере объект является системой массового пружинного демпфера. Вход является приложенной силой, F, и выход является x, положением массы.

В этой системе масса m, ослабляющий постоянный c и коэффициент упругости k все имеют некоторую неопределенность. Используйте неопределенный ureal параметры, чтобы представлять эти количества в терминах их номинального или самого вероятного значения и области значений неопределенности по поводу того значения.

um = ureal('m',3,'Percentage',40);
uc = ureal('c',1,'Percentage',20);
uk = ureal('k',2,'Percentage',30);

Передаточная функция системы массового пружинного демпфера является функцией второго порядка, данной:

G(s)=1ms2+cs+k.

Создайте эту передаточную функцию в MATLAB® с помощью неопределенных параметров и tf команда. Результатом является неопределенное пространство состояний (uss) модель.

G = tf(1,[um uc uk])
G =

  Uncertain continuous-time state-space model with 1 outputs, 1 inputs, 2 states.
  The model uncertainty consists of the following blocks:
    c: Uncertain real, nominal = 1, variability = [-20,20]%, 1 occurrences
    k: Uncertain real, nominal = 2, variability = [-30,30]%, 1 occurrences
    m: Uncertain real, nominal = 3, variability = [-40,40]%, 1 occurrences

Type "G.NominalValue" to see the nominal value, "get(G)" to see all properties, and "G.Uncertainty" to interact with the uncertain elements.

Предположим, что вы хотите управлять этой системой с ПИД-регулятором, и что ваши конструктивные требования включают контроль ответа на шум во входе объекта. Создайте модель следующей системы управления.

Используйте настраиваемый ПИД-регулятор и вставьте аналитическую точку, чтобы обеспечить доступ к входу воздействия.

C0 = tunablePID('C','PID');
d = AnalysisPoint('d');

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

T0 = feedback(G*d*C0,1)
T0 =

  Generalized continuous-time state-space model with 1 outputs, 1 inputs, 3 states, and the following blocks:
    C: Tunable PID controller, 1 occurrences.
    c: Uncertain real, nominal = 1, variability = [-20,20]%, 1 occurrences
    d: Analysis point, 1 channels, 1 occurrences.
    k: Uncertain real, nominal = 2, variability = [-30,30]%, 1 occurrences
    m: Uncertain real, nominal = 3, variability = [-40,40]%, 1 occurrences

Type "ss(T0)" to see the current value, "get(T0)" to see all properties, and "T0.Blocks" to interact with the blocks.
T0.InputName = 'r';
T0.OutputName = 'x';

T0 обобщенное пространство состояний (genss) модель, которая имеет и настраиваемые и неопределенные блоки. В общем случае можно использовать feedback и другие команды соединения моделей, такие как connect, создавать модели более комплексных настраиваемых и неопределенных систем управления от компонентов LTI фиксированного значения, неопределенных компонентов и настраиваемых компонентов.

Когда вы строите отклики системы genss модель, которая является и настраиваемой и сомнительной, график, отображает множественные ответы, вычисленные наугад значения неопределенных компонентов. Эта выборка обеспечивает общий смысл области значений возможных ответов. Все графики используют текущее значение настраиваемых компонентов.

bodeplot(T0)

Figure contains 2 axes. Axes 1 with title From: r To: x contains 21 objects of type line. This object represents T0. Axes 2 contains 21 objects of type line. This object represents T0.

Когда вы извлекаете ответы из настраиваемого и неопределенного genss модель, ответы также содержат и настраиваемые и неопределенные блоки. Например, исследуйте передаточную функцию цикла во входе воздействия.

S0 = getLoopTransfer(T0,'d')
S0 =

  Generalized continuous-time state-space model with 1 outputs, 1 inputs, 3 states, and the following blocks:
    C: Tunable PID controller, 1 occurrences.
    c: Uncertain real, nominal = 1, variability = [-20,20]%, 1 occurrences
    d: Analysis point, 1 channels, 1 occurrences.
    k: Uncertain real, nominal = 2, variability = [-30,30]%, 1 occurrences
    m: Uncertain real, nominal = 3, variability = [-40,40]%, 1 occurrences

Type "ss(S0)" to see the current value, "get(S0)" to see all properties, and "S0.Blocks" to interact with the blocks.
bodeplot(S0)

Figure contains 2 axes. Axes 1 with title From: d To: d contains 21 objects of type line. This object represents S0. Axes 2 contains 21 objects of type line. This object represents S0.

Можно теперь создать настраивающиеся цели и использовать systune настроить коэффициенты ПИД-регулятора T0. Когда вы делаете так, systune автоматически настраивает коэффициенты, чтобы максимизировать эффективность по полному спектру неопределенности.

Смотрите также

| | |

Связанные примеры

Больше о