Табличное управление является подходом управления для управления нелинейным объектом. Чтобы настроить запланированную на усиление систему управления, вам нужен набор линейных моделей, которые аппроксимируют нелинейную динамику около выбранных точек проекта. Обычно движущие силы объекта описаны нелинейными дифференциальными уравнениями формы:
Здесь, x является вектором состояния, u является входом объекта, и y является объектом выход. Эти нелинейные дифференциальные уравнения могут быть известны явным образом конкретной системой. Чаще всего они заданы неявно, такой как моделью Simulink®.
Можно преобразовать эти нелинейные движущие силы в семейство линейных моделей, которые описывают локальное поведение объекта вокруг семейства рабочих точек (x (σ), u (σ)), параметрированный переменными планирования, σ. Отклонения от номинальных условий работы заданы как:
Этими отклонениями управляет, к первому порядку, динамика linear parameter-varying:
Этот континуум линейных аппроксимаций к нелинейной динамике называется моделью линейного варьирования параметра (LPV):
Модель LPV описывает, как линеаризовавшие движущие силы объекта меняются в зависимости от времени, условий работы или любой другой переменной планирования. Например, динамика оси подачи самолета может быть аппроксимирована моделью LPV, которая зависит от угла установки, α, воздушной скорости, V, и высоты, h.
На практике вы заменяете этот континуум моделей объекта управления конечным множеством линейных моделей, полученных для подходящей сетки значений σ, Эта замена составляет выборку динамики LPV в рабочем диапазоне и выборе представительного набора значений σ, вашего design points.
Запланированные на усиление контроллеры приводят к лучшим результатам, когда движущие силы объекта варьируются гладко между точками проекта.
Если у вас нет этого семейства линейных моделей, существует несколько подходов к получению его, включая:
Если вы имеете модель Simulink, обрезаете и линеаризуете модель в точках проекта.
Линеаризуйте модель Simulink с помощью изменения параметра.
Если переменная планирования время, линеаризуйте модель в ряду снимков состояния симуляции.
Если у вас есть нелинейные дифференциальные уравнения, которые описывают объект, линеаризуют их в точках проекта.
Для настройки расписаний усиления, после того, как вы получите семейство линейных моделей, необходимо сопоставить его с 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
позволяет вашему проекту по сетке точек проекта, которая почти обычна.
Существуют другие инструменты для управления, которое модели вносят в проект и анализ. Например, вы можете хотеть:
Сохраните модель в сетке для анализа, но исключите его из настройки.
Сохраните модель в сетке для настройки, но исключите его из конкретной цели проекта.
Для получения дополнительной информации смотрите Требования Изменения с Условиями работы.
В MATLAB® можно использовать массив моделей объекта управления LTI, чтобы представлять систему LPV, произведенную в различных значениях σ. Чтобы сопоставить каждую линейную модель в наборе с базовыми точками проекта, используйте SamplingGrid
свойство массива моделей LTI σ. Один способ получить такой массив состоит в том, чтобы создать параметрическое обобщенное пространство состояний (genss
) модель системы и выборки модель с изменением параметра, чтобы сгенерировать массив. Для примера смотрите Изменение Параметра Исследования путем Выборки Настраиваемой Модели (Control System Toolbox).