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

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

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

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

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

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

Вариант 13

Выполнила студентка группы СМ1-61Б Русакова Т.Б.


подпись дата

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


подпись дата

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

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


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

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

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


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

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

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


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

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

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

А) Уравнения кинематики:

2
𝑑𝑥
= 𝑉𝑥
𝑑𝑡
𝑑𝑦
= 𝑉𝑦
𝑑𝑡
𝑑𝑧
{ 𝑑𝑡 = 𝑉𝑧

Б) Уравнения динамики центра масс:


𝑑𝑉𝑥 𝜇∙𝑥
𝑚 =− 3
𝑑𝑡 𝑟
𝑑𝑉𝑦 𝜇∙𝑦
𝑚 =− 3
𝑑𝑡 𝑟
𝑑𝑉𝑧 𝜇∙𝑧
{ 𝑚 𝑑𝑡 = − 𝑟 3

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

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


Земли, 𝑣0 – начальная скорость аппарата.

Задаётся вектор координат и скоростей центра масс 𝑋0 = [x, y, z, 𝑉𝑥 , 𝑉𝑦 , 𝑉𝑧 ]

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

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

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

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

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


Rightsides1(t,x).

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


𝜇∗𝑥 𝜇∗𝑦 𝜇∗𝑧
𝑑𝑉х = − , 𝑑𝑉𝑦 = − , 𝑑𝑉𝑧 = − ,
𝑟3 𝑟3 𝑟3

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


Рунге-Кутта.

3
Результаты расчета
t,c X, км Y, км Z, км Vx, м/c Vy, м/c Vz, м/c
0 5263 0 4417 0 7616,6 0
250 5063 1880 4248 -1596,3 7326,0 -1339,5
500 4476 3616 3755 -3070,8 6476,3 -2576,7
750 3547 5077 2976 -4311,0 5132,5 -3617,4
1000 2347 6150 1970 -5222,2 3397,0 -4381,9
1250 969 6754 813 -5734,9 1402,2 -4812,1
1500 -483 6842 -406 -5810,0 -699,5 -4875,1
1750 -1899 6408 -1593 -5441,7 -2747,8 -4566,1
2000 -3170 5486 -2660 -4658,2 -4586,5 -3908,7
2250 -4198 4144 -3523 -3519,2 -6075,2 -2952,9
2500 -4907 2487 -4117 -2111,6 -7100,3 -1771,9
2750 -5241 639 -4397 -542,9 -7583,5 -455,6
3000 -5175 -1257 -4342 1067,2 -7488,1 895,5
3250 -4714 -3057 -3955 2595,8 -6821,2 2178,2
3500 -3893 -4624 -3267 3926,4 -5633,9 3294,7
3750 -2776 -5838 -2329 4957,4 -4016,6 4159,7
4000 -1446 -6607 -1214 5610,1 -2092,8 4707,4
4250 -6 -6871 -5 5834,6 -9,3 4895,8
4500 1434 -6611 1203 5614,0 2074,9 4710,7
4750 2765 -5847 2320 4964,9 4000,8 4166,0
5000 3885 -4636 3260 3937,0 5621,3 3303,5
5250 4708 -3072 3951 2608,6 6812,9 2188,9
5500 5172 -1273 4340 1081,2 7484,7 907,2
5750 5242 623 4398 -528,7 7585,2 -443,7

4
Рис.1 – Траектория

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

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


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

%% Задание НУ
global Re
Re = 6371e+03;
global h0
h0 = 500e+03;
global mu;
mu = 3.9860045e+14;
i=40*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 : 250.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 % задать одинаковый масштаб по всем осям

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

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