sb000253
.pdfПРИЛОЖЕНИЯ
1. Варианты математических моделей судов
|
Обо- |
|
|
|
Вариант судна |
|
|
||||
Параметр |
значе- |
1 |
2 |
3 |
4 |
|
5 |
|
6 |
7 |
8 |
|
ние |
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
Скорость |
v0 , |
2.57 |
2.57 |
5.65 |
6.17 |
|
3.6 |
|
5.14 |
16.96 |
3.6 |
хода |
м/с |
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
||
Длина по |
L , м |
99.6 |
99.6 |
51 |
39 |
|
36 |
|
75.6 |
115 |
32 |
ватерлинии |
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
r21 |
–0.58 |
–0.58 |
–0.59 |
–0.69 |
|
–0.46 |
–0.59 |
–0.63 |
–0.46 |
|
Коэффици- |
r31 |
6.16 |
4.19 |
5.32 |
6.14 |
|
3.04 |
5.44 |
8.25 |
3.04 |
|
q21 |
0.80 |
0.43 |
0.94 |
1.22 |
|
0.77 |
0.73 |
1.08 |
0.77 |
||
енты |
|
||||||||||
математиче- |
q31 |
–7.23 |
–3.58 |
–2.41 |
–3.12 |
-0.80 |
–7.26 |
–6.35 |
–0.80 |
||
ской модели |
|
|
|
|
|
|
|
|
|
|
|
s21 |
–0.34 |
–0.34 |
–0.29 |
–0.44 |
-0.18 |
–0.53 |
–0.14 |
–0.18 |
|||
|
s31 |
–3.50 |
–3.5 |
–3.4 |
–3.10 |
–1.52 |
–5.72 |
–21.16 |
–1.52 |
2. Стандартные характеристические полиномы
Общая форма полиномов (нормирование по базовой частоте ω0 ):
An (s) n ai ω0n−i si.
= ∑
i=0
Одинамических свойствах систем, имеющих рассматриваемые характе-
ристические полиномы, можно судить по переходным характеристикам:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
h(t) = L−1 |
1 |
. |
|
|
|
|
|
||||
|
|
|
|
sA (s) |
|
|
|
|
|
||||||
|
|
|
|
|
|
|
n |
|
|
|
|
|
|
||
|
Биноминальные полиномы A (s) = (s + ω |
0 |
)n |
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
n |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Степень |
|
|
|
|
|
Коэффициент |
|
|
|
|
|
||||
полинома |
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
n |
|
a0 |
a1 |
|
a2 |
a3 |
a4 |
|
a5 |
a6 |
a7 |
a8 |
|||
1 |
|
1.0 |
1.0 |
|
– |
– |
– |
|
– |
– |
|
– |
|
– |
|
2 |
|
1.0 |
2.0 |
|
1.0 |
– |
– |
|
– |
– |
|
– |
|
– |
|
3 |
|
1.0 |
3.0 |
|
3.0 |
1.0 |
– |
|
– |
– |
|
– |
|
– |
|
4 |
|
1.0 |
4.0 |
|
6.0 |
4.0 |
1.0 |
|
– |
– |
|
– |
|
– |
|
5 |
|
1.0 |
5.0 |
|
10.0 |
10.0 |
5.0 |
|
1.0 |
– |
|
– |
|
– |
|
6 |
|
1.0 |
6.0 |
|
15.0 |
20.0 |
15.0 |
|
6.0 |
1.0 |
|
– |
|
– |
|
7 |
|
1.0 |
7.0 |
|
21.0 |
35.0 |
35.0 |
|
21.0 |
7.0 |
|
1.0 |
– |
||
8 |
|
1.0 |
8.0 |
|
28.0 |
56.0 |
70.0 |
|
56.0 |
28.0 |
|
8.0 |
1.0 |
11
Полиномы Баттерворта
Степень |
|
|
|
Коэффициент |
|
|
|
|
||
полинома |
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
n |
a0 |
a1 |
a2 |
a3 |
a4 |
a5 |
a6 |
a7 |
|
a8 |
1 |
1.00 |
1.00 |
– |
– |
– |
– |
– |
– |
– |
|
2 |
1.00 |
1.40 |
1.00 |
– |
– |
– |
– |
– |
|
– |
3 |
1.00 |
2.00 |
2.00 |
1.00 |
– |
– |
– |
– |
|
– |
4 |
1.00 |
2.60 |
3.40 |
2.60 |
1.0 |
– |
– |
– |
|
– |
5 |
1.00 |
3.24 |
5.24 |
5.24 |
3.24 |
1.00 |
– |
– |
|
– |
6 |
1.00 |
3.86 |
7.46 |
9.13 |
7.46 |
3.86 |
1.00 |
– |
|
– |
7 |
1.00 |
4.50 |
10.10 |
14.60 |
14.60 |
10.10 |
4.50 |
1.00 |
|
– |
8 |
1.00 |
5.12 |
13.14 |
21.84 |
25.69 |
21.84 |
13.14 |
5.12 |
|
1.0 |
Полиномы минимизирующие функционал I = ∞∫ [1 − h1(t)]2dt
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Степень |
|
|
|
|
|
|
|
Коэффициент |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
полинома |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
n |
a0 |
|
a1 |
|
a2 |
|
|
a3 |
|
|
a4 |
|
|
a5 |
|
a6 |
|
|
|
|
a7 |
|
|
|
|
a8 |
|
||
1 |
1 |
|
1 |
|
– |
|
|
– |
|
– |
|
– |
|
– |
|
|
|
– |
|
|
– |
|
|
|
|
|
|||
2 |
1 |
|
1 |
|
1 |
|
|
– |
|
|
– |
|
– |
|
– |
|
|
|
– |
|
|
– |
|
|
|
|
|
||
3 |
1 |
|
2 |
|
1 |
|
1 |
|
|
– |
|
|
– |
|
– |
|
|
|
– |
|
|
|
– |
|
|||||
4 |
1 |
|
2 |
|
3 |
|
1 |
|
1 |
|
|
– |
|
– |
|
|
|
– |
|
|
|
|
|
|
– |
|
|||
5 |
1 |
|
3 |
|
3 |
|
4 |
|
1 |
|
|
1 |
|
|
– |
|
|
|
|
– |
|
|
|
|
– |
|
|||
6 |
1 |
|
3 |
|
6 |
|
4 |
|
5 |
|
|
1 |
|
1 |
|
|
|
|
|
– |
|
|
|
|
– |
|
|||
7 |
1 |
|
4 |
|
6 |
|
10 |
|
5 |
|
|
6 |
|
1 |
|
|
|
|
1 |
|
|
|
|
– |
|
||||
8 |
1 |
|
4 |
|
10 |
|
10 |
|
15 |
|
|
6 |
|
7 |
|
|
|
|
1 |
|
1 |
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
∞ |
|
|
|
|
|
|
|
|
|||
Полиномы минимизирующие функционал I = ∫ t |
|
1 − h1(t) |
|
|
dt |
|
|||||||||||||||||||||||
|
|
|
|||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Степень |
|
|
|
|
|
|
|
Коэффициенты |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
полинома |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
n |
a0 |
a1 |
a2 |
|
a3 |
|
a4 |
|
a5 |
|
|
a6 |
|
a7 |
|
|
|
a8 |
|
||||||||||
1 |
1.00 |
1.00 |
– |
|
– |
|
– |
|
– |
|
– |
|
|
|
|
|
– |
– |
|
|
|||||||||
2 |
1.00 |
1.40 |
1.00 |
|
– |
|
– |
|
– |
|
|
– |
|
– |
|
|
|
– |
|
||||||||||
3 |
1.00 |
2.15 |
1.75 |
|
1.00 |
|
– |
|
– |
|
|
– |
|
– |
|
|
|
– |
|
||||||||||
4 |
1.00 |
2.70 |
3.40 |
|
2.10 |
|
1.00 |
|
– |
|
|
– |
|
– |
|
|
|
– |
|
||||||||||
5 |
1.00 |
3.40 |
5.50 |
|
5.00 |
|
2.80 |
|
1.00 |
|
|
– |
|
– |
|
|
|
– |
|
||||||||||
6 |
1.00 |
3.95 |
7.45 |
|
8.60 |
|
6.60 |
|
3.25 |
|
|
1.000 |
|
– |
|
|
|
– |
|
||||||||||
7 |
1.00 |
4.58 |
10.64 |
|
15.54 |
|
15.08 |
|
10.42 |
|
|
4.475 |
|
1.00 |
|
|
|
– |
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
8 |
1.00 |
5.15 |
13.3 |
|
22.20 |
|
25.75 |
|
21.60 |
|
12.800 |
|
5.20 |
|
|
|
1.00 |
|
12
3. Варианты курсового расчета
Задание курсового |
Параметры матема- |
Косвенный метод решения задачи оптимиза- |
|
расчета |
тической модели |
ции |
|
судна |
|||
|
|
||
1–8 |
1–8 |
Минимизация квадратичного функционала |
|
9–16 |
1–8 |
Использование стандартного полинома № 1 |
|
17–24 |
1–8 |
Использование стандартного полинома № 2 |
|
25–32 |
1–8 |
Использование стандартного полинома № 3 |
|
33–40 |
1–8 |
Использование стандартного полинома № 4 |
4. Пример решения задачи управления на основе теоремы об N интервалах
Требуется изменить состояние объекта управления в соответствии с заданными граничными условиями за минимальное время.
Объект управления описывается следующей системой уравнений:
dxdt1 = x2;
dxdt2 = −x2 + 2x3 + u; (П4.1) dxdt3 = −2x3 + u;
u ≤ 1.
Граничные условия:
x1(0) = 1, x2 (0) = 0, x3 (0) = 0, x1(T ) = 0, x2 (T ) = 0, x3 (T ) = 0.
Для проверки применимости теоремы об N интервалах определим корни характеристического уравнения объекта (П4.1) на основании характеристического уравнения:
|
s |
−1 |
0 |
|
|
|
|
|
|
|
|||
|
0 |
s + 1 |
+2 |
= 0. |
(П4.2) |
|
|
0 |
0 |
s + |
2 |
|
|
Характеристическое уравнение (П 4.2) имеет следующие решения:
s1 = 0; s2 = −1; s3 = −2.
Поскольку характеристическое уравнение рассматриваемого объекта имеет вещественные корни, то к нему применима теорема об N интервалах, из которой следует, что в рассматриваемом случае для перевода объекта
13
управления между заданными точками управляющее воздействие должно быть максимально по модулю и менять знак не более двух раз.
Таким образом, результатом рассматриваемой задачи является набор из трех параметров: первый момент переключения – t1, второй момент переключения – t2 и момент завершения управления (выключения управления) – T . Для определения этих параметров предполагается использовать MATLAB-функцию FMINSEARCH. Для успешной работы этой функции необходимо задать начальную точку поиска в пространстве [t1, t2, T ] .
С целью определения начального приближения решим вспомогательную задачу управления для упрощенного объекта управления. В данном случае возможно отдельное рассмотрение уравнений для x2 и x3 из (П4.1), поскольку эти уравнения не зависят от x1.
Вспомогательная задача заключается в том, чтобы перевести упрощенный объект из состояния x2 = 0 , x3 = 0 в состояние x2 = 0 , x3 = 0 , используя два момента переключения. При решении рассматриваемой задачи момент t1 выберем произвольно, а моменты t2 и T определим графическим методом на основе построения линии переключения в обратном времени.
Для решения вспомогательной задачи удобно использовать MATLAB-
скрипт MainP4.m. Файл MainP4.m
%Построение линии переключения(обратное время, %упрощенный объект)
tlp=1;
[t,x]=ode45('odefunP4',[0 tlp],[0 0]); plot(x(:,1),x(:,2),'r')
hold on
%Обеспечение подбора t2 и T(прямое время, полный объект) global t1 t2 T %Для передачи в odefunP4_2
t1=1.0; %Выбрано произвольно t2=1.812;
T=2.06;
ti=T; %При подборе t2 ti=t2; при подборе T ti=T [t,x]=ode45('odefunP4_2',[0 ti],[1 0 0]); plot(x(:,2),x(:,3),'b')
Файл odefunP4
function f=odefunP4(t,x)
u=-1;
f=[ -(-x(1)+2*x(2)+u);-(-2*x(2)+u)];
14
Файл odefunP4_2
function f=odefunP4_2(t,x)
global t1 t2 T %Прием данных от MainP4 %Изменение управления в соответствии с моментами
%переключения или выключения if t<t1
u=-1; elseif t<t2 u=1;
else
u=-1;
end
if t>T u=0;
end
%Расчет правых частей матмодели объекта f=[ x(2);-x(2)+2*x(3)+u;-2*x(3)+u];
Приведенный скрипт выполняет построение линии переключения в плоскости x2x3 и построение фазовой траектории объекта управления в соответствии с моментами переключения или выключения [t1, t2, T ] , заданными
в программе.
Работа с программой для определения второго момента переключения выполняется следующим образом:
∙параметр t1 задается произвольно;
∙параметр ti задается равным t2 для ограничения времени построения фазовой траектории:
∙параметр t2 подбирается так, чтобы соответствующая этому значению траектория прикоснулась к линии переключения;
∙значение t2, соответствующее соприкосновению фазовой траектории и линии переключения объявляется моментом второго переключения;
∙значения параметров t1 и t2 сохраняются для последующих экспери-
ментов.
Работа с программой для определения момента выключения выполняется следующим образом:
∙ параметры t1 и t2 сохраняют свои значения после предыдущих экспериментов;
15
∙параметр ti задается равным T для ограничения времени построения фазовой траектории;
∙параметр T подбирается так, чтобы к моменту времени t = T фазовая траектория пришла в требуемую конечную точку x2 = 0 , x3 = 0 .
После окончания подбора значения параметра T запоминается величина x1(T ) , которая объявляется точкой промежуточного финиша x1f .
Для рассматриваемого примера использование скрипта MainP4 позволило получить следующие результаты:
t1 = 1, t2 = 1.81, T = 2.06, x1f = 0.152.
После выполнения описанных экспериментов становится известной комбинация параметров t1t2T , которая позволяет перевести объект управле-
ния в заданную точку плоскости |
x2x3 . Однако эта комбинация параметров |
|
управления в пространстве x1x2x3 |
вместо заданной точки [0, 0, 0] приводит |
|
|
|
|
объект в точку промежуточного финиша x1f , 0, 0 . |
||
Для определения набора параметров, |
позволяющих перевести объект |
управления в заданную точку [0, 0, 0] целесообразно выполнить серию экспериментов в каждом из которых с помощью MATLAB-функции FMINSEARCH выполняется поиск таких параметров t1t2T , при которых минимизируется расстояние между фактическим положением изображающей
точки в момент t = T и точкой промежуточного финиша |
|
|
, т. е. ми- |
x1f , 0, 0 |
нимум функции
J = (x1(T ) − x1f )2 + (x2 (T ) − 0)2 + (x3 (T ) − 0)2 ,
причем в каждом последующем эксперименте в качестве начальной точки поиска в пространстве t1t2T используется результат предыдущего эксперимента, а положение точки промежуточного финиша систематически приближается к заданной конечной точке [0, 0, 0] .
Описанные эксперименты удобно выполнять с помощью MATLAB-
скрипта MainP5.m.
Файл MainP4_2.m
global x1f t x
x1f=0.152;
%Начальная точка поиска в плоскости параметров управления
16
P0=[1 1.81 2.06]; TT=fminsearch('fmsfunP4_2',[P0]); %Отображение в окне команд результатов поиска
TT
%Отображение заданной точки промежуточного финиша x1f
%Отображение достигнутой точки промежуточного финиша
x(length(t),1)
Файл fmsfunP4_2.m
function f=fmsfunP4_2(TT) global tt x1f t x
tt = TT;
%Построение переходных процессов, соответствующих
%текущей комбинации параметров управления
[t,x]=ode45('odefunP4_3',[0 TT(3)],[1 0 0]); %Вычисление расстояния между фактическим положением
%изображающей точки в момент окончания управления и
%заданной точкой промежуточного финиша
lt=length(t)
f=(x(lt,1)-x1f)^2+(x(lt,2)-0)^2+(x(lt,3)-0)^2;
plot(t,x(:,1),t,x(:,2),t,x(:,3))
pause(0.1)
Файл odefunP4_3.m
function f=odefunP4_3(t,x) global tt
%Генерация управления, соответствующего текущим параметрам if t<tt(1)
u=-1; elseif t<tt(2)
u=1;
else
u=-1;
end
if t>tt(3) u=0;
end
%Вычисление правых частей уравнений управляемого объекта f=[ x(2);-x(2)+2*x(3)+u;-2*x(3)+u];
При первом запуске скрипта MainP4_2 устанавливаются значения координат начальной точки поиска и точки промежуточного финиша в соответствии с результатами работы со скриптом MainP4, т. е.
17
P0=[1 1.81 2.06]
x1f=0.152
Результат первого запуска скрипта MainP4_2 можно рассматривать как уточнение координат начальной точки
P0=[0.9878 1.8084 2.0574].
При втором запуске скрипта MainP4_2 значение координат начальной точки устанавливается в соответствии с результатом работы первого запуска, а точка промежуточного финиша приближается к заданной конечной точке путем присвоения x1f=0.07.
Результат второго запуска скрипта MainP4_2 можно рассматривать как уточнение координат начальной точки
P0=[1.0384 1.83 2.0685].
При третьем запуске скрипта MainP4_2 значение координат начальной точки устанавливается в соответствии с результатом работы второго запуска, а точка промежуточного финиша приближается к заданной конечной точке путем присвоения x1f=0.0.
Результат третьего запуска скрипта MainP4_2 можно рассматривать как окончательное значение параметров управления
P0=[1.0936 1.9033 2.1243],
поскольку полученная на третьей итерации комбинация параметров управления обеспечивает приход объекта управления в конечное положение с ошиб-
кой 0.8 %
5. Пример решения задачи параметрической оптимизации системы управления
Задан объект управления, описываемый системой дифференциальных уравнений:
|
dx1 |
= x ; |
dx2 |
= −x + x ; |
dx3 |
= −x + u; |
|
||||||
|
|
|
|
|
|
|
|||||||
|
dt |
2 |
dt |
2 |
3 |
dt |
3 |
|
|||||
|
u |
|
≤ 1; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
x1(0) = 1; x2 (0) = 0; x3 (0) = 0; x1(T ) = 0. |
|
|||||||||||
Управление объектом осуществляется в соответствии с законом: |
|
||||||||||||
|
|
|
|
|
|
|
u = −K1x1 − K2x2. |
|
(П5.1) |
Требуется определить параметры Ki закона управления (П5.1) при которых достигается минимальное время затухания переходного процесса. Под временем затухания переходного процесса (T ) понимается соотношение
18
x1(t) < 0.05x1(0) , t > T.
Задачу предполагается решить методом поиска с помощью MATLABфункции FMINSEARCH. Поиск реализован в виде скрипта MainP5.m.
Файл MainP5.m
%Начальное приближение для искомых параметров закона %управления
K0=[1 1];
%Вызов функции, реализующей метод поиска
%Функция fmsfunP5 вычисляет длительность переходного %процесса, соответствующего текущим значениям параметров %закона управления
[K,T]=fminsearch('fmsfunP5',K0);
%Отображение в окне команд найденных значений параметров %закона управления и времени переходного процесса
K
T
%Проверка устойчивости замкнутой системы управления, %соответствующей найденным параметрам закона управления
A=[0 1 0;0 -1 1;0 0 -1]; B=[0;0;1];
K=[K 0]
AA=A-B*K; eig(AA)
Файл fmsfunP5.m
function f=fmsfunP5(k) global K
K=k;
x0=[1 0 0]; TT=50;
%Численное решение уравнений управляемого объекта
[t,x]=ode45('odefunP5',[0 TT],x0); %Вычисление длительности переходного процесса for i=length(t):-1:1
if abs(x(i,1))>0.05*x0(1) f=t(i);
break
end
end
%Построение графиков переходных процессов plot(t,x)
Файл odefunP5.m
function f=odefunP5(t,x) global K u=-K(1)*x(1)-K(2)*x(2); f=[x(2);-x(2)+x(3);-x(3)+u];
19
С помощью приведенного скрипта были получены параметры закона управления
K1 = 0.88; K2 = 0.95;
и время переходного процесса
T= 3.70.
6.Пример решения линейной квадратичной задачи оптимизации
системы управления
Задан объект управления, описываемый системой дифференциальных уравнений:
|
dx1 |
|
= x ; |
dx2 |
= −x + u; |
|
||
|
dt |
dt |
|
|||||
|
2 |
2 |
|
|||||
|
u |
|
≤ 1; |
|
|
(П6.1) |
||
|
|
|
|
|||||
|
x1(0) = 1; x2 (0) = 0; x1(T ) = 0. |
|
||||||
Управление объектом осуществляется в соответствии с законом: |
|
|||||||
|
|
|
|
|
u = −K1x1 − K2x2. |
(П6.3) |
||
Качество управления оценивается по функционалу: |
|
|||||||
|
|
|
|
|
|
∞ |
|
|
|
|
|
|
|
J = ∫ (λx12 + u2). |
(П6.2) |
||
|
|
|
|
|
|
0 |
|
|
Требуется определить такое значение весового множителя λ в функционале (П6.2), при котором коэффициенты закона управления (П6.3), рассчитанные на основе минимизации (П6.2) для объекта управления (П6.1), обеспечивают минимум времени переходного процесса в замкнутой системе, состоящей из объекта (П6.1), управляемого по закону (П6.3) с учетом ограничения на управляющее воздействие (П6.1).
Решение задачи реализовано в виде MATLAB-скрипта MainP6.m.
Файл MainP6.m
global K
%Начальное приближение величины весового множителя lb0=0.1;
%Вызов функции, выполняющий поиск весового множителя %fmsfunP6 – функция, вычисляющая время переходного процесса в %замкнутой системе, соответствующей текущему значению %весового множителя
[lb T]=fminsearch('fmsfunP6',lb0)
%Отображение в окне команд найденных значений весового % множителя, времени переходного процесса и параметров
20