Одним из самых мощных все же простых инструментов синтеза контроллера является 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.