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

Этот пример показывает, как создать обобщенную модель (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: Parametric 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)

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

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

  Generalized continuous-time state-space model with 1 outputs, 1 inputs, 3 states, and the following blocks:
    C: Parametric 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)

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

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

| | |

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

Больше о