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

sb000253

.pdf
Скачиваний:
6
Добавлен:
13.02.2021
Размер:
236.45 Кб
Скачать

ПРИЛОЖЕНИЯ

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 ω0ni 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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]