gpc2mpc

Сгенерируйте контроллер MPC, использующий настройки обобщенного прогнозирующего контроллера (GPC)

Синтаксис

mpcObj = gpc2mpc(plant)
gpcOptions = gpc2mpc
mpcObj = gpc2mpc(plant,gpcOptions)

Описание

mpcObj = gpc2mpc(plant) генерирует одно вход одно выход контроллер MPC с настройками GPC по умолчанию и шагом расчета заданного объекта, plant. GPC является неминимальным представлением пространства состояний, описанным в [1]. plant модель LTI дискретного времени с шагом расчета, больше, чем 0.

gpcOptions = gpc2mpc создает структуру gpcOptions содержа значения по умолчанию настроек GPC.

mpcObj = gpc2mpc(plant,gpcOptions) генерирует контроллер MPC, использующий настройки GPC в gpcOptions.

Входные параметры

plant

Модель LTI дискретного времени со временем выборки, больше, чем 0.

gpcOptions

Настройки GPC в виде структуры со следующими полями.

N1

Стартовый интервал в горизонте предсказания в виде положительного целого числа.

Значение по умолчанию: 1

N2Последний интервал в горизонте предсказания в виде положительного целого числа, больше, чем N1.Default: 10
NU

Управляйте горизонтом в виде положительного целого числа меньше, чем горизонт предсказания.

Значение по умолчанию: 1

Lam

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

Значение по умолчанию: 0

T

Числитель возмущения GPC в виде вектора-строки из полиномиальных коэффициентов, корни которых лежат в модульном кругу.

Значение по умолчанию: [1].

MVindex

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

Значение по умолчанию: 1

Примеры

Спроектируйте контроллер MPC, использующий настройки GPC:

% Specify the plant described in Example 1.8  of 
% [1].
G = tf(9.8*[1 -0.5 6.3],conv([1 0.6565],[1 -0.2366 0.1493]));

% Discretize the plant with sample time of 0.6 seconds.
Ts = 0.6;
Gd = c2d(G, Ts);

% Create a GPC settings structure.
GPCoptions = gpc2mpc;

% Specify the GPC settings described in example 4.11 of 
% [1].
% Hu
GPCoptions.NU = 2; 
% Hp
GPCoptions.N2 = 5; 
% R
GPCoptions.Lam = 0; 
GPCoptions.T = [1 -0.8];

% Convert GPC to an MPC controller.
mpc = gpc2mpc(Gd, GPCoptions);

% Simulate for 50 steps with unmeasured disturbance between 
% steps 26 and 28, and reference signal of 0. 
SimOptions = mpcsimopt(mpc);
SimOptions.UnmeasuredDisturbance = [zeros(25,1); ...
-0.1*ones(3,1); 0];
sim(mpc, 50, 0, SimOptions);

Советы

  • Для объектов с несколькими входными параметрами только один вход является переменной, которой управляют, и остающиеся входные параметры являются измеренными воздействиями в компенсации feedforward. Объектом выход является измеренный выход контроллера MPC.

  • Используйте контроллер MPC с программным обеспечением Model Predictive Control Toolbox™ для симуляции и анализа производительности с обратной связью.

Ссылки

[1] Мациейовский, Дж. М. Предиктив Контрол с Ограничениями, Pearson Education Ltd., 2002, стр 133–142.

Введен в R2010a