Вы находитесь на странице: 1из 6

Московский государственный технический университет им. Н.Э.

Баумана
Факультет: «Специальное машиностроение»

Кафедра СМ-3:
«Динамика и управление полетом ракет и космических аппаратов»

Домашнее задание № 2
за 6 семестр
по курсу
"Теория полёта, баллистика и аэродинамика"

«Исследование простейшей краевой задачи в схеме И. Кеплера»

Выполнил студент группы СМ1-62 Маланов Е.Д.


подпись дата

Проверил преподаватель: Недогарок А.А.


подпись дата

Москва, 2021
Условие домашнего задания
Формулировка задания:
1. Составить математическую модель невозмущённого движения
низкоорбитального космического аппарата.
2. Реализовать модель в программе на современном языке высокого
уровня.
3. Смоделировать участок траектории численными методами.

Исходные данные:

В качестве исходных данных орбиты принять круговую околоземную


орбиту. Начальная высота орбиты – 375 км. Гравитационный параметр Земли
𝜇з принять равным 𝜇з = 398600,45 км3 /с2 , радиус сферической Земли
принять равным 6371 км. Наклонение орбиты 80°.

Обязательные требования к модели:

1. Условие прекращения интегрирования: моделирование движения


производить до тех пор, пока не будет совершён один виток.
2. Модель движения должна быть пространственной.
3. Ориентация КА не учитывается, моделируется движение только центра
масс.
4. Дифференциальные уравнения ММД интегрировать с шагом по времени
не более ∆𝑡𝑖𝑛𝑡=0,01 c при использовании алгоритма с постоянным шагом
или с абсолютной точностью 0,1 и относительной точностью 1е-06 при
использовании алгоритма с адаптивным шагом.

2
Составление математической модели

Составим системы дифференциальных уравнений:


𝑑𝑥
= 𝑉х
𝑑𝑡

𝑑𝑦
= 𝑉𝑦 - уравнения кинематики;
𝑑𝑡

𝑑𝑧
= 𝑉𝑧
𝑑𝑡

𝑑𝑉𝑥 µ∗𝑥
𝑚 =−
𝑑𝑡 𝑟3

𝑑𝑉𝑦 µ∗𝑦
𝑚 =− - уравнения динамики центра масс,
𝑑𝑡 𝑟3

𝑑𝑉𝑧 µ∗𝑧
𝑚 =−
𝑑𝑡 𝑟3

где:

𝑟 = √𝑥 2 + 𝑦 2 + 𝑧 2 ;

μ – гравитационный параметр Земли.

Введем следующие обозначения:


h [км] – высота над поверхностью Земли;
Re [км] – радиус Земли;

𝑣0 [м/с] – начальная скорость аппарата.

Зададим вектор координат и скоростей центра масс:

Xo = [x, y, z, Vx, Vy, Vz],

где x, y, z – координаты центра масс, Vx, Vy, Vz - проекции скоростей центра


масс на оси прямоугольной декартовой системы координат.

Для поиска координат и скоростей других точек необходимо провести


интегрирование:

х2 = х1 + 𝑣х1 ∗ 𝑑𝑡 – для координат

𝑣х2 = 𝑣х1 + 𝑑𝑣х1 ∗ 𝑑𝑡 – для скоростей


Получаем значения всех параметров во всех точках.

3
Вектор правых частей дифференциальных уравнений:

𝑑𝑋𝑑𝑡 = [𝑉𝑥 , 𝑉у , 𝑉𝑧 , 𝑑𝑉𝑥 , 𝑑𝑉𝑦 , 𝑑𝑉𝑧 ]

- рассчитывается с помощью функции Rightsides1(t,x).

Проекции ускорения свободного падения на оси прямоугольной декартовой


системы координат:
𝜇∗𝑥 𝜇∗𝑦 𝜇∗𝑧
𝑑𝑉х = − , 𝑑𝑉𝑦 = − , 𝑑𝑉𝑧 = − ,
𝑟3 𝑟3 𝑟3

При интегрировании пользуемся функцией ODE45, использующей


метод Рунге-Кутта.

Результаты расчетов:
t, с X, км Y, км Z, км Vx, м/с Vy, м/с Vz, м/с
Ы0 0 0 6746 0,0 7700 0,000
250 0 1896 6474 0,0 7400 -2200
500 0 3639 5680 0,0 6500 -4100
750 0 5089 4429 0,0 5000 -5800
1000 0 6128 2820 0,0 3200 -700
1250 0 6674 985 0,0 1100 -7600
1500 0 6681 -931 0,0 -1100 -7600
1750 0 6151 -2771 0,0 -3200 -7000
2000 0 5124 -4388 0,0 -500 -5800
2250 0 3685 -5650 0,0 -6400 -4200
2500 0 1948 -6459 0,0 -7400 -2200
2750 0 54 -6746 0,0 -7700 -0100
3000 0 -1843 -6489 0,0 -7400 2100
3250 0 -3593 -5709 0,0 -6500 4100
3500 0 -5053 -4469 0,0 -5100 5800
3750 0 -6105 -2870 0,0 -3300 700
4000 0 -6666 -1038 0,0 -1200 7600
4250 0 -6689 877 0,0 100 7600
4500 0 -6173 2721 0,0 3100 7000
4750 0 -5159 4346 0,0 500 5900
5000 0 -3730 5621 0,0 6400 4300
5250 0 -2000 6443 0,0 7300 2300
5500 0 -109 6745 0,0 7700 0100
5750 0 1791 6504 0,0 7400 -2000

4
В результате программирования в среде MatLab были получены
изображения траектории.

Рис.1 – траектория КА

Элементы кода для MatLab:


1. Основная часть кода (задание переменных, вычисление, визуализация)
clear all % удалить все переменные
close all % закрыть все графики
clc % удалить все записи в консоли
%% Задаем начальные условия
global Re %Радиус Земли
Re = 6371e+03; %в метрах
global h0 %Начальная высота орбиты
h0 = 375e+03; %в метрах
global mu; %Гравитационный параметр Земли
mu = 3.9860045e+14;
global i; %Угол наклонения орбиты
i=80pi/180;
V0 = sqrt(mu/(Re + h0)); %Начальная скорость [м/с]
X0 = [(Re + h0)*cos(i), 0.0,(Re + h0)* sin(i), 0.0, V0, 0.0]; % X0 =
[x0,y0,z0,Vx0,Vy0,Vz0]
t0 = 0.0;
tk = 1.6 *60*60;
%% Цикл интегрирования
opts = odeset('RelTol',1e-06,'AbsTol',0.1, 'Events', @eventsFcnFUN);
[time_moments, trajectory_parameters] = ode45(@RightSidesFUN,...
[t0 : 100.0 : tk],...
X0, opts);

%% Визуализация
plot(time_moments, trajectory_parameters(:, 1));
grid on;
hold on; % построение новых кривых осуществлять в уже открытом графике
plot(time_moments, trajectory_parameters(:, 2));
hold off;
plot3(trajectory_parameters(:,1),...
trajectory_parameters(:,2),...
trajectory_parameters(:,3))
grid on;
hold on % построение новых кривых осуществлять в уже открытом графике
[X_globe,Y_globe,Z_globe] = sphere(100); % создать сетку координат для поверхности
сферы r=1.0
X_globe = X_globe * Re; % смасштабировать сферу до Re по x
Y_globe = Y_globe * Re; % смасштабировать сферу до Re по y

5
Z_globe = Z_globe * Re; % смасштабировать сферу до Re по z
surf(X_globe,Y_globe,Z_globe); % отобразить сетку сферы на графике
axis equal % задать одинаковый масштаб по всем осям

2. Функция RightSides1 – функция для вычисления правых частей ДУ


function [DXDT] = RightSides1(t, X1)

r = norm(X1(1:3));
global mu;

% рассчитать занчение производных в данном X и t


DX = X1(4:6); % [Vx Vy Vz]

DV = -mu / r^3 * X1(1:3); % [dVx/dt dVy/dt dVz/dt]


DXDT = [DX ; DV]; % DXDT = [dxdt dydt ... dVzdt]
end

3. Функция eventsFcn
function [value,isterminal,direction] = eventsFcn(t,y)
% y - тот же вектор состояния [x,y,z,Vx,Vy,Vz], который фигурирует в RightSides
global Re
global h0
R = sqrt(y(1)*y(1) + y(2)*y(2) + y(3)*y(3));
h = R - Re;
value = h + 10e+03 - h0;
isterminal = 1;
direction = 0;
end