Модели объекта управления для настройки контроллера по расписанию усиления

Табличное управление является подходом к управлению для управления нелинейным объектом. Чтобы настроить систему управления с запланированным усилением, вам нужен набор линейных моделей, которые аппроксимируют нелинейную динамику около выбранных проектных точек. Обычно динамика объекта описывается нелинейными дифференциальными уравнениями вида:

x˙=f(x,u,σ)y=g(x,u,σ).

Здесь x - вектор состояния, u - вход объекта управления, а y - выход объекта. Эти нелинейные дифференциальные уравнения могут быть известны явно для конкретной системы. Чаще всего они задаются неявно, например, Simulink® модель.

Можно преобразовать эту нелинейную динамику в семейство линейных моделей, которые описывают локальное поведение объекта вокруг семейства рабочих точек (x (σ), u (σ)), параметризованных переменными планирования σ. Отклонения от номинального рабочего условия определяются как:

δx=xx(σ),δu=uu(σ).

Эти отклонения регулируются, в первом порядке, linear parameter-varying динамикой:

δ˙x=A(σ)δx+B(σ)δu,δy=C(σ)δx+D(σ)δu,A(σ)=fx(x(σ),u(σ))B(σ)=fu(x(σ),u(σ))C(σ)=gx(x(σ),u(σ))D(σ)=gu(x(σ),u(σ)).

Этот континуум линейных приближений к нелинейной динамике называется линейной изменяющейся параметром (LPV) моделью:

dxdt=A(σ)x+B(σ)uy=C(σ)x+D(σ)u.

Модель LPV описывает, как динамика линеаризированного объекта изменяется со временем, рабочим условием или любой другой переменной планирования. Например, динамика оси тангажа самолета может быть аппроксимирована моделью LPV, которая зависит от угла падения, α, скорости воздуха, V и высоты h.

На практике вы заменяете этот континуум моделей объекта управления конечным набором линейных моделей, полученных для подходящей сетки σ значений Эта замена представляет собой выборку динамики LPV в рабочей области значений и выбор репрезентативного набора σ значений, вашего design points.

Запланированные по усилению контроллеры дают лучшие результаты, когда динамика объекта изменяется плавно между проектными точками.

Получение семейства линейных моделей

Если у вас нет этого семейства линейных моделей, существует несколько подходов к его получению, включая:

Для настройки графиков усиления, после того, как вы получите семейство линейных моделей, вы должны связать его с slTuner интерфейс для создания семейства настраиваемых моделей замкнутой системы. Для этого используйте замену блоков, как описано в Multiple Design Points in slTuner Interface.

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

В этом примере показов, как линеаризировать модель объекта управления в наборе проекта точек для настройки запланированного по усилению контроллера. Затем пример использует получившиеся линеаризированные модели, чтобы сконфигурировать slTuner интерфейс для настройки графика усиления.

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

mdl = 'rct_CSTR';
open_system(mdl)

В этой модели Concentration controller и Temperature controller оба зависят от концентрации выхода Cr. Чтобы настроить эту систему с запланированным усилением для настройки, вы линеаризируете объект в наборе статических рабочих точек, которые соответствуют различным значениям параметра планирования Cr. Иногда для обрезки и линеаризации при различных условиях работы удобно использовать отдельную модель объекта. Для примера в этом случае самым простым способом получить эти линеаризации является использование отдельного разомкнутого контура модели объекта, rct_CSTR_OL.

mdl_OL = 'rct_CSTR_OL';
open_system(mdl_OL)

Обрезка объекта в проектных точках

Предположим, что вы хотите управлять этим объектом в области значений Cr значения из 4 на 8. Обрезайте модель, чтобы найти установившиеся рабочие точки для множества значений в этой области значений. Эти значения являются проектом точками для настройки.

Cr = (4:8)';        % concentrations
for k=1:length(Cr)
   opspec = operspec(mdl_OL);
   % Set desired residual concentration
   opspec.Outputs(1).y = Cr(k);
   opspec.Outputs(1).Known = true;
   % Compute equilibrium condition
   [op(k),report(k)] = findop(mdl_OL,opspec,findopOptions('DisplayReport','off'));
end

op - массив установившихся рабочих точек. Для получения дополнительной информации об установившихся рабочих точках смотрите О рабочих точках (Simulink Control Design).

Линеаризация в проектных точках

Линеаризация модели объекта управления с помощью op возвращает массив моделей LTI, каждая из которых линеаризируется в соответствующей точке проекта.

G = linearize(mdl_OL,'rct_CSTR_OL/CSTR',op);

Создание slTuner Интерфейс с подстановкой блоков

Настройка системы управления rct_CSTR, создать slTuner интерфейс, который линеаризирует систему в этих проектных точках. Используйте замену блоков, чтобы заменить объект в rct_CSTR с линеаризированным массивом plant-model G.

blocksub.Name = 'rct_CSTR/CSTR';
blocksub.Value = G;
tunedblocks = {'Kp','Ki'};
ST0 = slTuner(mdl,tunedblocks,blocksub);

В данном примере только коэффициенты PI в Concentration controller обозначаются как настроенные блоки. В целом, однако tunedblocks В перечислены все блоки для настройки.

Для получения дополнительной информации об использовании подстановки блоков для настройки slTuner интерфейс для настройки контроллера по расписанию усиления см. в разделе Multiple Design Points in slTuner Interface.

Для другого примера, который иллюстрирует использование обрезки и линеаризации для генерации семейства линейных моделей для настройки контроллера по расписанию усиления, см. Обрезку и линеаризацию HL-20 Airframe.

Пример системы на снимках симуляции

Если вы управляете системой вокруг ссылки траектории (x (σ), u (σ)), используйте линеаризацию снимка для выборки системы в различных точках вдоль σ траектории. Используйте этот подход для изменяющихся во времени систем, где переменной планирования является время.

Чтобы линеаризировать систему в наборе снимков симуляции, используйте вектор положительных скалярных величин как op входной параметр linearize, slLinearizer, или slTuner. Эти скаляры являются временами симуляции, в которые можно линеаризировать модель. Используйте тот же набор значений времени, что и расчетные точки в настраиваемых поверхностях для системы.

Пример системы с различными значениями параметров

Если переменная планирования является параметром в модели Simulink, можно использовать изменение параметра для выборки системы управления над сеткой параметра. Например, предположим, что вы хотите настроить модель с именем suspension_gs который содержит два параметра, Ks и Bs. Каждый из этих параметров может варьироваться в некоторой известной области значений, и коэффициент усиления контроллера в модели изменяется как функция от обоих параметров.

Чтобы настроить такую модель для настройки, создайте сетку значений параметров. В данном примере позвольте Ks варьируются от 1 до 5, и позволяют Bs варьируйте от 0,6 до 0,9.

Ks = 1:5;
Bs = [0.6:0.1:0.9];
[Ksgrid,Bsgrid] = ndgrid(Ks,Bs);

Эти значения являются проектными точками, в которых будет производиться выборка и настройка системы. Для примера создайте slTuner интерфейс к модели, принимая один настраиваемый блок, Lookup Table блок с именем K который моделирует зависящий от параметра коэффициент усиления.

params(1) = struct('Name','Ks','Value',Ksgrid);
params(2) = struct('Name','Bs','Value',Bsgrid);
STO = slTuner('suspension_gs','K',params);

slTuner дискретизирует модель на всех (Ksgrid,Bsgrid) значения, заданные в params.

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

design = struct('Ks',Ksgrid,'Bs',Bsgrid);
shapefcn = @(Ks,Bs)[Ks,Bs,Ks*Bs];
K = tunableSurface('K',1,design,shapefcn);
setBlockParam(ST0,'K',K);

После того, как вы параметризоваете все запланированные усиления, можно создать цели настройки и настроить систему с systune.

Удаление выборок в ненужных точках проекта

Иногда ваша сетка дискретизации включает точки, которые представляют нерелевантные или нефизические точки проекта. Можно полностью исключить такие проектные точки из сетки модели, так что они не способствуют никакому этапу настройки или анализа. Для этого используйте voidModel, который заменяет заданные модели в массиве моделей на NaN. voidModel заменяет заданные модели в массиве моделей на NaN. Используя voidModel позволяет проект по сетке проекта точек, которая является почти регулярной.

Существуют другие инструменты для управления, какие модели способствуют проекту и анализу. Например, вы можете захотеть:

  • Сохраните модель в сетке для анализа, но исключить ее из настройки.

  • Сохраните модель в сетке для настройки, но исключить ее из конкретной цели проекта.

Для получения дополнительной информации см. раздел «Изменение требований с учетом операционных условий».

LPV- Объектов в MATLAB

В MATLAB®можно использовать массив моделей объекта управления LTI, чтобы представлять систему LPV, выбранную при меняющихся значениях σ. Чтобы связать каждую линейную модель в наборе с базовыми проектными точками, используйте SamplingGrid свойство массива моделей LTI σ. Один из способов получить такой массив - создать параметрическое обобщенное пространство состояний (genss) модель системы и выборка модели с изменением параметра, чтобы сгенерировать массив. Для получения примера смотрите Изменение параметра исследования путем дискретизации настраиваемых Моделей.

См. также

| (Simulink Control Design) | (Simulink Control Design)

Похожие темы