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

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

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

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

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

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

Выполнил студент группы СМ1-62 Харламов Ю.А.


подпись дата

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


подпись дата

Москва, 2021
Формулировка задания

1. Составить математическую модель невозмущённого движения


низкоорбитального космического аппарата.
2. Реализовать модель в программе на современном языке высокого уровня.
3. Смоделировать участок траектории численными методами.

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

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


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

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

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


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

Математическая модель

Имеем дифференциальные уравнения вида:


𝑑𝑥
= 𝑉х
𝑑𝑡
𝑑𝑦
= 𝑉𝑦 - уравнение кинематики,
𝑑𝑡
𝑑𝑧
{ 𝑑𝑡 = 𝑉𝑧
𝑑𝑉𝑥 𝜇∗𝑥
𝑚 =−
𝑑𝑡 𝑟3
𝑑𝑉𝑦 𝜇∗𝑦
𝑚
𝑑𝑡
=−
𝑟3
- уравнение динамики центра масс,
𝑑𝑉𝑧 𝜇∗𝑧
{𝑚 𝑑𝑡
=−
𝑟3

где 𝑟 = √𝑥 2 + 𝑦 2 + 𝑧 2 , μ – гравитационный параметр Земли

2
Вводим обозначения: h – высота над поверхностью Земли, Re – радиус
Земли, 𝑣0 – начальная скорость аппарата.

Задаётся вектор координат и скоростей центра масс Xo = [x, y, z, Vx, Vy, Vz]

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

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

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

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

𝑑𝑋𝑑𝑡 = [𝑉𝑥 , 𝑉у , 𝑉𝑧 , 𝑑𝑉𝑥 , 𝑑𝑉𝑦 , 𝑑𝑉𝑧 ] высчитывается с помощью функции


Rightsides1(t,x).

Проекции ускорения свободного падения по декартовым осям осям:


𝜇∗𝑥
𝑑𝑉х = −
𝑟3
𝜇∗𝑦
𝑑𝑉𝑦 = − 3
𝑟
𝜇∗𝑧
{ 𝑑𝑉𝑧 = − 𝑟 3
При интегрировании используем функцию ODE45, использующую метод
Рунге-Кутта.

3
Результаты расчёта

t, c Xабс, км Yабс, км Zабс, км 𝑽𝒙 , м/с 𝑽𝒚 , м/с 𝑽𝒛 , м/с

0 5734 0 3311 0,0 7644,4 0,0

250 5490 1912 3169 -1915,8 7346,3 -893,4

500 4777 3661 2758 -3682,3 6475,3 -1717,1

750 3658 5098 2112 -5161,5 5099,3 -2406,9

1000 2227 6101 1286 -6238,3 3325,6 -2908,9

1250 606 6584 350 -6828,5 1292,5 -3184,2

1500 -1066 6506 -616 -6886,1 -841,3 -3211,0

1750 -2648 5873 -1529 -6406,7 -2909,6 -2987,5

2000 -4004 4740 -2312 -5427,7 -4750,9 -2531,0

2250 -5019 3202 -2897 -4025,4 -6221,8 -1877,1

2500 -5606 1392 -3236 -2309,1 -7207,4 -1076,8

2750 -5715 -536 -3300 -412,8 -7630,9 -192,5

3000 -5337 -2419 -3082 1515,8 -7459,2 706,8

3250 -4505 -4096 -2601 3326,1 -6705,9 1551,0

3500 -3289 -5424 -1899 4877,0 -5429,5 2274,2

3750 -1792 -6289 -1035 6047,6 -3729,7 2820,0

4000 -143 -6619 -82 6746,5 -1739,1 3146,0

4250 1519 -6384 877 6919,3 387,2 3226,5

4500 3051 -5606 1762 6552,5 2483,3 3055,5

4750 4323 -4350 2496 5674,6 4385,7 2646,1

5000 5227 -2723 3018 4354,2 5946,1 2030,4

5250 5685 -864 3282 2694,2 7042,8 1256,3

4
Траектория полёта

5
Приложение 1

clear all % удалить все переменные


close all % закрыть все графики
clc

%% Задание НУ
global Re
Re = 6371e+03;
global h0
h0 = 250e+03;
global mu;
mu = 3.9860045e+14;
i = 30*pi/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', @eventsFcn);
[time_moments, trajectory_parameters] = ode45(@RightSides1,...
[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
Y_globe = Y_globe * Re;
Z_globe = Z_globe * Re;
surf(X_globe,Y_globe,Z_globe); % отобразить сетку сферы на графике
axis equal % задать одинаковый масштаб по всем осям

6
Приложение 2
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
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

Вам также может понравиться