exponenta event banner

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

В этом примере показано, как построить обобщенное состояние-пространство (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) = 1 ms2 + 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.

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

Используйте настраиваемый PID-контроллер и вставьте точку анализа для обеспечения доступа к входу возмущения.

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 контроллера PID. Когда вы это делаете, systune автоматически настраивает коэффициенты для максимизации производительности во всем диапазоне неопределенности.

См. также

| | |

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

Подробнее