Модели объекта управления для запланированного на усиление контроллера, настраивающегося

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

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 взаимодействуйте через интерфейс, чтобы создать семейство настраиваемых моделей с обратной связью. Для этого используйте замену блока, как описано в Нескольких Точках Проекта в Интерфейсе slTuner.

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

То В этом примере показано, как линеаризовать модель объекта управления в наборе проекта, указывает для настройки запланированного на усиление контроллера. Пример затем использует получившиеся линеаризовавшие модели, чтобы сконфигурировать 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 с линеаризовавшим массивом модели объекта управления G.

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

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

Для получения дополнительной информации об использовании замены блока, чтобы сконфигурировать slTuner интерфейс для запланированного на усиление контроллера, настраивающегося, смотрите Несколько Точек Проекта в Интерфейсе slTuner.

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

Демонстрационная система в снимках состояния симуляции

Если вы управляете системой вокруг ссылочной траектории (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) модель системы и выборки модель с изменением параметра, чтобы сгенерировать массив. Для примера смотрите Изменение Параметра Исследования путем Выборки Настраиваемой Модели.

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

| |

Похожие темы