Одним из самых мощных все же простых инструментов синтеза контроллера является loopsyn
. Учитывая объект LTI, вы задаете форму системного графика частотной характеристики разомкнутого цикла, который вы хотите. Затем loopsyn
вычисляет стабилизировавшийся контроллер, который лучше всего аппроксимирует вашу заданную форму цикла.
Например, рассмотрите модель самолета НАСА 2 НА 2 HIMAT (Сафонов, Лоб и Хартманн [1]), изображенный в следующей схеме.
Контрольные переменные являются элевоном и приводами утки (и). Выходные переменные являются углом нападения () и углом отношения (). Модель имеет шесть состояний, данных:
где и лифт и состояния привода утки, соответственно.
Следующие команды создают модель в пространстве состояний G
самолета.
ag =[ -2.2567e-02 -3.6617e+01 -1.8897e+01 -3.2090e+01 3.2509e+00 -7.6257e-01; 9.2572e-05 -1.8997e+00 9.8312e-01 -7.2562e-04 -1.7080e-01 -4.9652e-03; 1.2338e-02 1.1720e+01 -2.6316e+00 8.7582e-04 -3.1604e+01 2.2396e+01; 0 0 1.0000e+00 0 0 0; 0 0 0 0 -3.0000e+01 0; 0 0 0 0 0 -3.0000e+01]; bg = [ 0 0; 0 0; 0 0; 0 0; 30 0; 0 30]; cg = [ 0 1 0 0 0 0; 0 0 0 1 0 0]; dg = [ 0 0; 0 0]; G = ss(ag,bg,cg,dg);
Чтобы разработать контроллер, чтобы сформировать частотную характеристику (сингулярное значение), график так, чтобы система имела приблизительно пропускную способность 10 рад/с, указывает, что ваша цель желала формы цикла. Затем используйте loopsyn
, чтобы найти формирующий цикл контроллер для G
, который оптимально соответствует, желаемый цикл формируют Gd
.
s = zpk('s');
w0 = 10;
Gd = w0/(s+.001);
[K,CL,GAM] = loopsyn(G,Gd);
Исследуйте частотную характеристику разомкнутого цикла с получившимся контроллером, K
.
sigma(G*K,'r',Gd,'k-.',Gd/GAM,'k:',Gd*GAM,'k:',{.1,30}) legend('Achieved Loop Shape','Target Loop Shape','Gd/GAM','Gd*GAM')
Исследуйте ответ с обратной связью также.
T = feedback(G*K,eye(2)); sigma(T,ss(GAM),'r*',{.1,30}); legend('Closed loop','GAM') grid
Возвращенный GAM
значения является индикатором точности, с которой оптимальная форма цикла совпадает с вашей желаемой формой цикла. GAM
является верхней границей на резонансном пиковом значении передаточной функции с обратной связью T = feedback(G*K,eye(2))
. В этом случае, GAM
= 1.6024 = 4 дБ, когда графики сингулярного значения показывают. Графики также показывают, что достигнутая форма цикла совпадает с желаемым целевым Gd
к приблизительно в дБ GAM
.
[1] Сафонов, M.G., Laub, A.J., и Хартманн, G., "Свойства обратной связи Многомерных Систем: Роль и Использование Матрицы Различия в Возврате", Сделка IEEE Автомата. Противоречие, 1981, AC-26 (1), стр 47-65.