Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Пакеты расширения MATLAB. Control System Toolbox и Robust Control Toolbox

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
1 Мб
Скачать
Глава 2. Методы анализа и синтеза линейных динамических систем 131
Таким образом, наилучшее значение γ = 1.172. Характеристи­ки системы приведены на рис. 2.60. Видно, что модуль передаточ­ной функции Ty1u1 в существенном диапазоне частот равен 1.Та­кая характеристика называется всечастотной («all-pass»). Далее, если использовать команды pole(ssg) è zero(sscp), то можно увидеть, что комплексный полюс объекта ±j150 компенсируется таким же нулем регулятора. Эти два свойства являются общими при использовании рассматриваемой методики оптимизации.
Здесь также можно попытаться упростить регулятор, приме­нив команду sscpr = schmr(sscp,1,5). Влияние упрощения регу­лятора такое же, как и для предыдущего случая: функция чувстви­тельности S приобретает вид, близкий к изображенному на рис. 2.59. Уравнения регулятора даны в Приложении 2.
Теперь рассмотрим систему регулирования скорости. Для это­го нужно изменить только первый блок в программе:
[ag, bg, cg, dg] = tf2ss([C], conv([1 0],[J1*J2 0 C*(J1 + J2)])); ag = ag - 0.01*eye(size(ag)); ssg = ss(ag, bg, cg, dg); ssgf = tf([C], conv([1 0], [J1*J2 0 C*(J1 + J2)])); [aga, bga, cga, dga] = tf2ss([C], conv([1 0],[J1*J2*3 0 C*(J1 + J2*3)])); ssga = ss(aga, bga, cga, dga). (Ï. 2.12.6))
В характеристике W1w1c = 6, в остальном изменений нет. Ис­пользуется команда hinfopt. Ход поиска оптимального значения γ приведен ниже:
< H-Infinity Optimal Control Synthesis >
No Gamma D11 P-Exist P=0 S-Exist S=0 lam(PS) C.L.
------------------------------------------------------------------------------
1 1.0000e+000 OK OK OK OK OK OK STAB 2 2.0000e+000 FAIL OK OK OK OK OK STAB 3 1.5000e+000 OK OK FAIL OK OK OK UNST 4 1.2500e+000 OK OK FAIL OK OK OK UNST 5 1.1250e+000 OK OK FAIL OK OK OK UNST 6 1.0625e+000 OK OK FAIL OK OK OK UNST 7 1.0313e+000 OK OK OK OK OK OK STAB 8 1.0469e+000 OK OK OK OK OK OK STAB 9 1.0547e+000 OK OK FAIL OK OK OK UNST
Iteration no. 8 is your best answer under the tolerance: 0.0100 ,
ò. å. γ
= 1.047. Регулятор имеет пятый порядок. Его уравнения
îïò
приведены в Приложении 3.
132 Глава 2. Методы анализа и синтеза линейных динамических систем
Ðèñ. 2.61. Характеристики системы с регулятором
полного порядка при минимизациинормы Н
(регулятор скорости)
Результирующие кривые приведены на рис. 2.61. Видно, что тре­бования к системе удовлетворяются. Интересно отметить, что попыт­ка уменьшить порядок регулятора на 1 командой schmr(sscp,1,4) приводит к неудовлетворительному результату.
2. Двухмассовая система с упругой связью с переменным коэффи-
циентом жесткости. Вернемся к двухмассовой системе с упругой
связью, рассмотренной в предыдущих разделах, с параметрами
= 21.5 êãì2, J2= 7 êãì2, C = 243 Нм и предположим, что система
J
1
регулирования должна обеспечить примерно одинаковые характе­ристики при уменьшении Ñ в 2.5 раза; при этом должен быть ин­тегральный регулятор внешнего контура скорости, а реализация системы регулирования должна быть дискретной с временем вы­борки 0.1 сек. Выберем следующие весовые частотные характери­стики:
= 1/s, W2= 0, W3= 0.3(0.7s + 1)2.
W
1
Их графики приведены на рис. 2.62. Начальная часть програм­мы имеет уже знакомый вид:
C = 243; J1 = 21.5; J2 = 7;Ki = 1;
Глава 2. Методы анализа и синтеза линейных динамических систем 133
[ag, bg, cg, dg] = tf2ss([J2 0 C], [J1*J2 0 C*(J1 + J2) 0]); ag =ag - 0.01*eye(size(ag)); [aga, bga, cga, dga] = tf2ss([J2 0 C/2.5],[J1*J2 0 C/2.5*(J1 + J2) 0]); ssg = ss(ag, bg, cg, dg); ssga = ss(aga, bga, cga, dga); w2=[]; numw3 = conv([0.7 1], [0.7 1]); denw3 = [0 0 3.5]; w3 = [numw3; denw3]; atf3 = tf(numw3, denw3) numw1 = [0 1];denw1 = [1 0]; w1 = [numw1; denw1]; atf1 = tf(numw1, denw1); sigma(atf1, 'k') hold on
Ðèñ. 2.62. Весовые частотные
функции для двухмассовой системы с упругой
связью с переменным коэффициентом жесткости
sigma(atf3, 'b') grid (Ï. 2.13)
В следующей части программы выполняется оптимальный синтез непрерывного регулятора и строится график функции стоимости (рис. 2.63, a):
[TSS] = augtf(ssg, w1, w2, w3);
134 Глава 2. Методы анализа и синтеза линейных динамических систем
[gamopt, sscp, sscl] = hinfopt(TSS); [acp, bcp, ccp, dcp] = branch(sscp); [acl, bcl, ccl, dcl] = branch(sscl); w = logspace(-3, 3); svtt = sigma(acl, bcl, ccl, dcl, 1, w); svtt = 20*log10(svtt); figure(2) subplot(2, 2, 1) semilogx(w, svtt(1,:))
Ðèñ. 2.63. Характеристики двухмассовой системы
с упругой связью с переменным коэффициентом жесткости
grid on title('Ty1u1 ') (Ï. 2.13.1)
Оптимальное значение γ оказалось равным 1.344, регулятор имеет 4-ый порядок.
В следующей части программы находится передаточная функ­ция замкнутой непрерывной системы Ò(jω) и строится график ее амплитуды (рис. 2.63, б):
ss_serc = series(sscp, ssg);
Глава 2. Методы анализа и синтеза линейных динамических систем 135
ss_fc = feedback(ss_serc, 1); svs = sigma(ss_fc, w); svs = 20*log10(svs); svw3i = bode(w3(2,:), w3(1,:), w); svw3i = 20*log10(svw3i); subplot(2, 2 ,2) semilogx(w, svw3i, w, svs); grid on title('1/W3 & T'); (Ï. 2.13.2)
Теперь выполняется дискретизация управляемого объекта (ус­тановка фиксаторов нулевого порядка на его входах) и регулятора с помощью функции (1.25). Затем строится передаточная функция замкнутой дискретной системы. Видно влияние дискретности на хвостовую часть характеристики (рис. 2.63, в):
sscpd = c2d(sscp, 0.1, 'Tustin'); ssgd = c2d(ssg, 0.1); ssgda = c2d(ssga, 0.1); ss_ser = series(sscpd, ssgd); ss_sera = series(sscpd, ssgda); ss_f = feedback(ss_ser, 1); ss_fa = feedback(ss_sera, 1); svt =sigma(ss_f, w); svt = 20*log10(svt); subplot(2, 2, 3) semilogx(w, svw3i, w, svt); grid on title('1/W3 & T,discr.'); (Ï. 2.13.3)
В заключительной части программы создается дискретная пе­редаточная функция интегрального регулятора с тем же периодом дискретности 0.1 сек. Так как контур системы с передаточной функцией Ò(s) является внутренним по отношению к интегратору внешнего контура и его частота среза примерно равна 1, то при выборе K
= 1 переходный процесс в системе, замкнутой через ин-
i
тегратор, будет иметь перерегулирование порядка 16% и время первого согласования 1.65—1.9 сек. Из приведенных на рис. 2.63, г графиков переходных процессов для номинальной и возмущенной систем видно, что эти показатели обеспечиваются, причем про­цессы практически идентичны.
Ki=1; Reg = tf([Ki*0.1], [1 -1], 0.1); ssi =series(Reg, ss_f); ssf i= feedback(ssi, 1); ssia = series(Reg, ss_fa);
136 Глава 2. Методы анализа и синтеза линейных динамических систем
ssfia = feedback(ssia, 1); t = 0:0.1:6; sty1 = step(ssfi, t); sty2 = step(ssfia, t); subplot(2, 2, 4) plot(t, sty1, t, sty2) grid on (Ï. 2.13.4)
3. Динамика самолета по продольной оси. Динамика самолета
по продольной оси при полете на высоте 8000 м со скоростью
0.9 скорости звука описывается уравнением 6-го порядка с двумя входами: углы отклонения элевона и закрылок и двумя выходами: углы атаки и тангажа. Уравнения динамики самолета приведены в программе (П. 2.14):
ag = [-2.257e-02 -36.6 -18.9 -32.1 3.251 -0.7626;
9.257e-05 -1.9 0.983 -7.26e-04 -0.171 -5e-03;
1.234e-02 11.72 -2.63 8.758e-04 -31.6 22.46; 0 0 1.0 0 0 0; 0 0 0 0 -30.0 0;
0 0 0 0 0 -30.0]; bg=[0 0;0 0;0 0;0 0;30 0;0 30]; cg=[010000;00 0100];dg=[00;00]; ssg = ss(ag, bg, cg, dg); poleag = eig(ssg) zeroag = tzero(ag, bg, cg, dg) w = logspace(-3, 5, 50); svg = sigma(ssg, w); svg = 20*log10(svg); subplot(1, 2, 1) semilogx(w, svg) title('SV, 1/W1, 1/W3') xlabel('Frequency - Rad/Sec') ylabel('SV - db') grid on hold on k = 1000; tau = 5.0e-04; nuw3i = [0 0 k]; dnw3i = [1 0 0]; svw3i = bode(nuw3i, dnw3i,w); svw3i = 20*log10(svw3i); nuw1i = [1.0 0.01]; dnw1i =[0 1]; svw1i = bode(nuw1i, dnw1i, w); svw1i = 20*log10(svw1i); semilogx(w, svw1i, w, svw3i) grid on w1 = [dnw1i; nuw1i; dnw1i; nuw1i]; w2=[]; w3=[0100;000k;tau100;000k]; (Ï. 2.14)
Глава 2. Методы анализа и синтеза линейных динамических систем 137
Уравнения динамики, а также выражения для весовых частот­ных функций заимствованы из [Л. 2]. Последние принимаются в виде:
s
1001 0
+
(.)
τ = 5*10
W
1
=
01001
2
s
W
3
-4
. Входящие в уравнения коэффициенты являются функ-
1000 0
=
0 1 1000
s
(.)
ss
()τ
, W2 = 0,
+
, (2.102)
2
+
⎥ ⎦
циями аэродинамических параметров и подвержены существен­ным изменениям. Поэтому система должна быть достаточно роба­стной: допускается мультипликативная неопределенность не менее 50%. Полоса пропускания порядка 10 рад/с. Желательно умень­шить взаимную связь обоих каналов, при этом каждый вход замы­кается по своему выходу. Система должна быть достаточно хорошо демпфирована. На рис. 2.64, a приведены сингулярные величины SV для обоих каналов, а также весовые функции (обратные вели-
Ðèñ. 2.64. К решению задачи
«Динамика самолета по продольной оси»
чины), построенные по программе (П. 2.14). Объект имеет полюсы (в том числе неустойчивые): p
p
, p6= 0.69 ± j 0.249 è îäèí íóëü z = 0.021.
5
=−5.67, p2= 0.258, p3= p4=−30,
1
Следующая часть программы (П. 2.14.1) нам уже знакома по предыдущему примеру. Вначале создается расширенный объект TSS, затем выполняется команда поиска оптимального решения
138 Глава 2. Методы анализа и синтеза линейных динамических систем
hinfopt, которая находит γ
= 6.06, а также передаточную функ-
opt
цию замкнутой расширенной системы sscl и соответствующий ре­гулятор sscp 8-го порядка (см. Приложение 4); система ss_ft ха­рактеризует передаточную функцию замкнутой системы, состоя­щей из последовательного соединения регулятора sscp и объекта ssg, замкнутых единичной обратной связью по каждому из двух каналов; ss_fs — передаточная функция чувствительности. На рис. 2.64, б приведен график сингулярных величин T
, ýòà õà-
y1u1
рактеристика действительно близка к всечастотной. На рис. 2.65 полоса пропускания из графика для Ò 10—12 рад/с, из этого же графика ||Ò||
= àntilog(2.5/20) = 1.33, так что допустима мультип-
ликативная неопределенность порядка 1/1.33 = 75%. На рис. 2.66 приведен график функций чувствительности, а на рис. 2.67 — гра­фики переходных процессов при ступенчатом изменении задания на каждом входе. Видно, что процессы хорошо демпфированы, а взаимное влияние каналов невелико. Таким образом, требования к проектированию выполнены.
[TSS] =augtf(ssg,w1,w2,w3); [gamaopt,sscp,sscl] = hinfopt(TSS); svtt = sigma(sscl,w); svtt = 20*log10(svtt); %sscp = minreal(sscp); [ssl] = series(sscp,ssg); ss_ft = feedback(ssl,eye(2)); ss_fs = eye(2)-ss_ft; svft = sigma(ss_ft,w); svft = 20*log10(svft); svfs = sigma(ss_fs,w); svfs = 20*log10(svfs); subplot(1,2,2) semilogx(w,svtt) grid on svw3i = bode(w3(2,:),w3(1,:),w); svw3i = 20*log10(svw3i); figure(2) semilogx(w,svft,w,svw3i) grid on figure(3) svw1i = bode(w1(2,:),w1(1,:),w); svw1i = 20*log10(svw1i); semilogx(w,svfs,w,svw1i) grid on figure(4) step(ss_ft,5) grid. (Ï. 2.14.1)
4. Динамика самолета в вертикальной плоскости. Динамическая модель самолета в вертикальной плоскости описывается уравнени­ем 5-го порядка с фазовыми координатами: õ
— относительная
1
Глава 2. Методы анализа и синтеза линейных динамических систем 139
Ðèñ. 2.65. Частотная характеристика замкнутой системы
и ограничивающая частотная характеристика к задаче
«Динамика самолета по продольной оси»
Ðèñ. 2.66. Функция чувствительности системы
и ограничивающая частотная характеристика
к задаче «Динамика самолета по продольной оси»
140 Глава 2. Методы анализа и синтеза линейных динамических систем
Ðèñ. 2.67. Переходные процессы самолета по продольной оси
высота, м, õ2— поступательная скорость, м/с, õ3— угол тангажа, град., õ
— угловая скорость по тангажу, град./с, õ5— вертикальная
4
скорость, м/сек. Измеряются первые три координаты. Управляю­щими переменными являются: u поступательное ускорение, м/с
— угол спойлера, град.×0.1, u2—
1
2
, u3 — угол руля высоты, град. Уравнения приведены в программе (П. 2.15). Цель проектирования формулируется так же, как и для предыдущей задачи.
ag = [0 0 1.1320 0 -1;
0 -0.0538 -0.1712 0 0.0705; 00 0 1 0; 0 0.0485 0 -0.8656 -1.0130;
0 -0.2909 0 1.053 0.6859]; bg = [0 0 0; -0.12 1 0; 0 0 0; 4.42 0 -1.665; 1.575 0 - 0.0732]; cg=[10000;
01000;
00100];dg=0; ag =ag - 0.01*eye(size(ag)); ssg = ss(ag, bg, cg, dg); poleag = eig(ssg) zeroag = tzero(ag, bg, cg, dg) w = logspace(-2,5,50); svg = sigma(ssg, w); svg = 20*log10(svg);
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]