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

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

Баумана

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

Кафедра СМ-3:

«Динамика и управление полетом ракет и космических аппаратов»

Домашнее задание № 1

за 6 семестр

по курсу

"Теория полёта, баллистика и аэродинамика"

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

Выполнила студентка группы СМ1-62:_______________Ковалева Д.Э.


подпись дата

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


подпись дата

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

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

3. Смоделировать участок траектории численными методами.

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

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


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]

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

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

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

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

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


Rightsides1(t,x).

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


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

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


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

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

t, с X, км Y, км Z, км Vx, м/с Vy, м/с Vz, м/с


0 4288 0 5110 0,0 7729,9 0,0
250 4109 1906 4897 -1419,3 7407,8 -1691,4
500 3588 3652 4276 -2720,3 6468,5 -3241,9
750 2768 5095 3299 -3794,7 4990,1 -4522,3
1000 1717 6113 2047 -4552,8 3095,8 -5425,8
1250 523 6621 624 -4931,5 943,6 -5877,2
1500 -714 6578 -851 -4899,3 -1287,2 -5838,8
1750 -1892 5986 -2255 -4458,8 -3410,8 -5313,8
2000 -2912 4896 -3471 -3646,8 -5250,1 -4346,1
2250 -3690 3398 -4398 -2530,9 -6652,0 -3016,2
2500 -4160 1617 -4958 -1204,0 -7499,5 -1434,9
2750 -4284 -300 -5105 223,1 -7722,1 265,9
3000 -4050 -2191 -4827 1631,7 -7301,2 1944,6
3250 -3479 -3899 -4146 2904,3 -6271,9 3461,2
3500 -2618 -5283 -3120 3934,9 -4719,9 4689,4
3750 -1539 -6226 -1834 4637,6 -2774,7 5526,8
4000 -332 -6651 -395 4953,8 -598,2 5903,7
4250 903 -6521 1076 4857,2 1628,2 5788,6
4500 2063 -5848 2459 4355,9 3718,8 5191,1
4750 3051 -4688 3636 3491,6 5499,6 4161,1
5000 3784 -3137 4510 2336,3 6822,1 2784,3
5250 4203 -1324 5009 986,4 7576,1 1175,5
5500 4271 599 5090 -445,8 7698,7 -531,3
5750 3983 2471 4747 -1840,8 7179,8 -2193,8

4
Программа
clear all % удалить все переменные
close all % закрыть все графики
clc

%% Задание НУ
global Re
Re = 6371e+03;
global h0
h0 = 300e+03;
global mu;
mu = 3.986004415e+14;
i = 50*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 % задать одинаковый масштаб по всем осям
_________________________
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
5
__________________________
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

6
Траектория в пространстве