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

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

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 является массивом установившихся рабочих точек. Для получения дополнительной информации об установившихся рабочих точках, займитесь Рабочими точками.

Линеаризуйте в точках проекта

Линеаризация модели объекта управления с помощью 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 (Control System Toolbox).

Для другого примера, который иллюстрирует обрезку использования и линеаризацию, чтобы сгенерировать семейство линейных моделей для запланированного на усиление контроллера, настраивающегося, смотрите Обрезку и Линеаризацию Корпуса (Control System Toolbox) 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) пространства состояний системы и выбрать модель с изменением параметра, чтобы сгенерировать массив. Для примера смотрите Изменение Параметра Исследования путем Выборки Настраиваемой Модели (Control System Toolbox).

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

| |

Похожие темы

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