Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовая ДБП вариант 3-4,Исаев С.Е. 07-507.docx
Скачиваний:
36
Добавлен:
14.09.2019
Размер:
2.41 Mб
Скачать

Глава 3-4. ПрС/с «Выход на курс атаки»

База знаний (БЗ) БОСЭС

Первый иерархический уровень БЗ

ПрС/С №1 «Ожидание спутниковой группировки»

ПрС/С №2 «Выход на курс атаки»

ПрС/С №3 «Непосредственное применение оружия»

ПрС/С №4 «Повторный заход»

X1

X2

X3

X4

X5

X6

X7

X8

X9

-

есть

-

нет

-

-

да

-

много

1.1

-

нет

-

есть

-

-

нет

-

много

1.2

много

нет

-

да

да

много

-

выше ср

много

2.1

много

есть

-

да

да

много

-

средняя

много

2.2

мало

нет

да

да

да

средне

-

высокая

мало

2.3

мало

-

-

да

да

мало

да

высокая

мало

3.1

много

-

-

да

да

много

да

средняя

средне

3.2

много

-

-

да

да

много

да

ниже ср

много

3.3

много

есть

да

-

да

много

нет

средняя

много

4.1

мало

нет

-

-

да

мало

да

низкая

много

4.2

мало

нет

-

-

нет

много

да

средняя

много

4.3

Априорная информация по условиям протекания ПрС/С «Выход на курс атаки»

  1. Координаты цели;

  2. Курс выхода на цель;

  3. Дальность выхода на курс атаки;

  4. Координаты цели;

  5. Курс захода на цель;

  6. Ограничения по времени выхода;

  7. Ограничение по перегрузке;

  8. Ограничение по углу крена.

Рассмотрим ситуацию выхода самолета на курс атаки, когда его траектория не пересекает зону угроз.

Цель находится в точке (Х0,Z0), самолет – в точке (Х3,Z3).

Траектория движения самолета состоит из:

- прямолинейного участка от (Х3,Z3) до (Х2,Z2);

- разворота по дуге окружности радиуса R (минимальный радиус разворота) от (Х2,Z2) до (Х1,Z1);

- захода на цель.

Найдем координаты точек траектории:

  1. Найдем угол ψ:

  1. Найдем координаты точки (Х2,Z2):

  1. Найдем координаты точки (Х1,Z1):

  1. Заход на цель (Х0,Z0).

Рассмотренный вариант захода на цель применим для ситуации, когда текущий курс самолета совпадает с необходимым углом ψ. Однако в реальной боевой ситуации курс самолета может быть другим. Поэтому рассчитаем траекторию движения самолета при выходе на необходимый угол ψ.

Задача сводится к добавлению элемента в виде дуги окружности. Это позволяет выделить участок траектории, на котором самолет совершит разворот на необходимый курс.

Для удобства введем систему координат (X’,Z’), начало которой находится в точке (Х3,Z3). Нам известны координаты самолета (Х5,Z5), его курс θ’.

Траектория движения самолета состоит из:

- прямолинейного участка от (Х’5,Z’5) до (Х’4,Z’4);

- разворота по дуге окружности радиуса R (минимальный радиус разворота) от (Х’4,Z’4) до (Х’3,Z’3);

Найдем координаты точек траектории:

  1. Найдем D0

  1. Найдем координаты точки (Х’4,Z’4):

  1. Найдем координаты точки (Х’3,Z’3):

Решение данной задачи позволяет полностью охватить все возможные курсы полета самолета и его начальные положения путем изменения исходных данных.

БЦВМ-алгоритм конструирования траектории выхода на предпочтительный курс атаки (веер курсов)

Расчеты были произведены в программе, написанной на языке С/С++ в среде разработки VisualStudio 2010;

Представим код программы для каждого блока алгоритма:

1:

Vs = 250;

Xs = 20000;

Zs = 15000;

n = 2.5;

gamma = 30*Pi/180;

Dv = 5000;

2: //Вводим координаты цели и угол захода на нее

doubleXc = 15000;

doubleZc = 15000;

doublealph = 30;

//Строим систему координат, начало которой совпадает с положением цели, а угол захода с осью X

void DrawSK2 (double x0, double z0, double angle)

{

while (angle >= 2*Pi) angle -= 2*Pi;

doubleNew_Top_Z, New_Down_Z;

doubleNew_Left_X, New_Right_X;

x0 = MashtabX(x0);

z0 = MashtabZ(z0);

New_Top_Z = z0+tan(angle)*(Left_X-x0);

New_Down_Z = z0+tan(angle)*(Right_X-x0);

New_Left_X = x0+tan(angle)*(z0-Down_Z);

New_Right_X = x0+tan(angle)*(z0-Top_Z);

SelectObject(hdc, Brush_bl);

Ellipse (hdc, x0-4, z0-4, x0+4, z0+4);

if (angle == 90*Pi/180)

{

MoveToEx(hdc, x0 ,Top_Z, NULL );

LineTo(hdc, x0, Down_Z);

MoveToEx(hdc, Left_X ,z0, NULL );

LineTo(hdc, Right_X, z0);

}

elseif (angle == 270*Pi/180)

{

MoveToEx(hdc, x0 ,Down_Z, NULL );

LineTo(hdc, x0, Top_Z);

MoveToEx(hdc, Right_X ,z0, NULL );

LineTo(hdc, Left_X, z0);

}

else

{

MoveToEx(hdc, Left_X , New_Top_Z, NULL );

LineTo(hdc, Right_X, New_Down_Z );

MoveToEx(hdc, New_Left_X ,Down_Z, NULL );

LineTo(hdc, New_Right_X , Top_Z);

}

3:

//минимальный радиус разворота

R = Vs*Vs / (g*n);

// расчет положения начальной окружность разворота

R1= R;

Xr1= Xs - R1*sin(gamma);

Zr1= Zs - R1*cos(gamma);

// расчет положения финальной окружность разворота

R2= R;

Xr2= Dv;

Zr2= R2;

4:

// функция находит точки касания к двум окружностям

void Tangent (double Xr1, double Zr1, double R1, double Xr2, double Zr2,double R2, double *Xk1, double *Zk1, double *Xk2, double*Zk2, double *angle)

{

double alpha1 = asin ( (R1-R2)/ sqrt ( (Zr2-Zr1)*(Zr2-Zr1)+(Xr2-Xr1)*(Xr2-Xr1) ) );

double alpha2 = atan ( (Zr2-Zr1)/(Xr2-Xr1) );

double alpha = alpha1 + alpha2;

*Xk1 = Xr1 + R1 * sin (alpha);

*Zk1 = Zr1 - R1 * cos (alpha);

*Xk2 = Xr2 + R2 * sin (alpha);

*Zk2 = Zr2 - R2 * cos (alpha);

*angle = atan( (*Zk2-*Zk1) / (*Xk2-*Xk1) );

}

// поиск точек (Х2,Z2) и (Х3,Z3);

Tangent (Xr1, Zr1, R1, Xr2, Zr2, R2, &Xk1, &Zk1, &Xk2, &Zk2,&angle);

5,6,7:

//поиск точек (Х2,Z2) и (Х3,Z3);

Tangent (Xr2, Zr2, R2, Xzu, Zzu, Rzu, &Xk1, &Zk1, &Xk2, &Zk2,&angle);

// Точка пересечения касательной и линии траектории движения самолета

CrossPoint (Xk1, Zk1, Xk2, Zk2, Xs,Zs,Xs+3000*cos(gamma),Zs-3000*sin(gamma),&Xcr,&Zcr);

//поиск точек (Х4,Z4) и (Х5,Z5);

psi = angle;

Xr1= Xcr - R1 * sin( Pi/2 + gamma/2 - psi/2 ) / sin( psi/2 + gamma/2 );

Zr1= Zcr - R1 * cos( Pi/2 + gamma/2 - psi/2 ) / sin( psi/2 + gamma/2 );

X4 = Xcr - R * sin (Pi/2 - psi) / tan ( psi/2 + gamma/2 );

Z4 = Zcr - R * cos (Pi/2 - psi) / tan ( psi/2 + gamma/2 );

X5 = Xcr - R * cos (gamma) / tan ( psi/2 + gamma/2 );

Z5 = Zcr + R * sin (gamma) / tan ( psi/2 + gamma/2 );

Результат работы программы для случаев, когда координаты цели и угол захода на нее не совпадают с «нулевыми» (вводи связанную систему координат):

Результат работы программы для случаев, когда координаты цели и угол захода на нее совпадают с «нулевыми» (связанная система координат не вводится):