Лаб3 / 7408_ММОСУ_ЛР3_Бриг3
.docxМИНОБРНАУКИ РОССИИ
Санкт-Петербургский государственный
электротехнический университет
«ЛЭТИ» им. В.И. Ульянова (Ленина)
Кафедра САУ
отчет
по лабораторной работе №3
по дисциплине «Математическое моделирование объектов и
систем управления»
Тема: Анализ устойчивости динамических систем средствами MATLAB
Вариант 3
Студент гр. 7408 |
|
Лебедев Р. А. Трусова Е. С. |
Преподаватель |
|
Шпекторов А. Г. |
Санкт-Петербург
2021
Цель работы.
Изучить методы оценки устойчивости линейных динамических систем, освоить машинные средства оценки устойчивости, провести исследование динамических объектов на устойчивость.
Задание на работу.
Сформировать LTI-объект, соответствующий данной модели.
Замкнуть автоматом стабилизации с передаточной функцией
Построить LTI-объект, соответствующий замкнутой системе. Преобразовать его к ss-форме.
При k=10 проанализировать устойчивость методом В.И. Зубова.
Найти область устойчивости по параметру k.
Исходные данные.
Объект управления – транспортный реактивный самолет, выполняющий полет на высоте 12 км с постоянной скоростью 180 м/с.
Будем рассматривать процесс стабилизации самолета в горизонтальной плоскости по углу курса с φ помощью отклонения руля направления на угол δ.
Процесс стабилизации самолета в горизонтальной плоскости описывается LTI-моделью, представленной в tf-форме с помощью передаточной функции от входного сигнала – угла отклонения руля направления – к выходному сигналу – углу курса, которая имеет следующий вид:
|
(1) |
Передаточная функция автомата стабилизации:
|
(2) |
1) Сформируем LTI-объект, соответствующий данной модели:
k=1.38;
n1=[1 2.07];
n2=[1 0.05 0.066];
d1=[1 0];
d2=[1 0.38 1.813];
d3=[1 2.09];
d4=[1 -0.004];
num=k*conv(n1,n2);
den=conv(conv(d1,d2),conv(d3,d4));
F=tf(num,den);
F1=zpk(F);
Результат работы программы:
Модель системы в виде передаточной функции:
F =
1.38 s^3 + 2.926 s^2 + 0.2339 s + 0.1885
---------------------------------------------------
s^5 + 2.466 s^4 + 2.597 s^3 + 3.779 s^2 - 0.01516 s
F1 =
1.38 (s+2.07) (s^2 + 0.05s + 0.066)
------------------------------------------
s (s+2.09) (s-0.004) (s^2 + 0.38s + 1.813)
2) Замкнем объект автоматом стабилизации:
da=[1 1];
dena=da;
numa=10;
Fa=tf(numa,dena);
C=feedback(F,Fa);
C1=zpk(C);
Результат работы программы:
3) Преобразуем полученную модель в модель в пространстве состояний:
Css=ss(C)
Результат работы программы:
Css =
A =
x1 x2 x3 x4 x5 x6
x1 -3.466 -1.266 -2.522 -2.064 -0.2905 -0.4713
x2 4 0 0 0 0 0
x3 0 2 0 0 0 0
x4 0 0 2 0 0 0
x5 0 0 0 0.5 0 0
x6 0 0 0 0 0.5 0
B =
u1
x1 1
x2 0
x3 0
x4 0
x5 0
x6 0
C =
x1 x2 x3 x4 x5 x6
y1 0 0.345 0.5382 0.1975 0.05281 0.04713
D =
u1
y1 0
4) Анализ устойчивости системы методом В.И. Зубова:
B=eye(6)+2*inv(Css.a-eye(6));
my=[];
K=100;
for (k=1:1:K)
my(k)=norm(B^k);
end
my(k)-my(k-1)
Результат работы программы для K=100:
ans =
1.4499e+08
Результат работы программы для K=1000:
ans =
4.4344e+87
5) Найдем область устойчивости по параметру k:
Smax=[]; Ka=[];
i=1;
for (ka=100:-0.1:0)
numa=ka;
Fa=tf(numa,dena);
C=feedback(F,Fa);
Css=ss(C);
smax=max(real(eig(Css.a)));
Ka(i)=ka;
Smax(i)=smax;
i=i+1;
end
plot(Ka,Smax);
Результат работы программы:
Рисунок 1
Из диаграммы, представленной на рисунке 1 следует, что при увеличении значения коэффициента Ка автомата стабилизации увеличивается максимальное значение вещественной части собственных чисел матрицы А, причем на всем диапазоне оно положительное, что позволяет сделать вывод о неустойчивости системы.
Вывод.
В ходе выполнения лабораторной работы были изучены методы оценки устойчивости линейных динамических систем. В ходе работы был сформирован LTI – объект, соответствующий заданной модели, затем данный объект был задан объектом автомата стабилизации. После был проведен анализ устойчивости полученной модели методом В. И. Зубова. В результате было получено, что система является неустойчивой, поиск области устойчивости данной модели показал аналогичный результат.
ПРИЛОЖЕНИЕ
Код программы для практического занятия (реализация метода скорейшего спуска):
rng(7408);
A=(rand(4)*5+2.5);
A1=A'*A;
b=A'*[1;2;3;4];
y0=[0;0;0;0];
r0=A1*y0-b;
B=eye(4);
e;
while (e>=0.000001)
r0=A1*y0-b;
tay1=(r0'*r0)/((A1*r0)'*r0);
y1=y0+inv(B)*(-r0)*tay1;
y0=y1;
e=sqrt(r0'*r0)
end
y0
y1
z1=A*y1
e
Результат работы программы:
A =
5.6266 7.4471 3.0636 3.1629
3.8730 2.8521 5.8313 2.5608
5.4624 3.5461 6.6025 6.1531
2.9295 5.5716 3.1680 3.6951
y1 =
-1.4156
0.6534
0.6864
0.6311
z1 =
1.0000
2.0000
3.0000
4.0000
e =
9.8124e-07