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

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

Баумана

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

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

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

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

за 6 семестр

по курсу

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

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

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


подпись дата

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


подпись дата

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

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


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

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

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


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

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

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


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

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


𝑑𝑥
= 𝑉х
𝑑𝑡

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

𝑑𝑧
= 𝑉𝑧
𝑑𝑡

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

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

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

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

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


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

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

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

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

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

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

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


Rightsides1(t,x).

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


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

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


метод Рунге-Кутта.
Результаты расчета

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


0 5091 0 4271 0,0 7744,4 0,0
250 4876 1908 4091 -1703,9 7418,1 -1429,7
500 4251 3656 3567 -3264,2 6466,7 -2739,0
750 3267 5096 2741 -4549,5 4970,3 -3817,5
1000 2008 6106 1685 -5451,4 3055,1 -4574,2
1250 580 6602 486 -5893,9 882,5 -4945,5
1500 -897 6542 -752 -5839,7 -1364,5 -4900,1
1750 -2298 5930 -1928 -5293,4 -3496,5 -4441,7
2000 -3506 4818 -2942 -4301,1 -5333,9 -3609,0
2250 -4418 3300 -3707 -2946,3 -6721,8 -2472,2
2500 -4958 1504 -4161 -1343,2 -7543,3 -1127,1
2750 -5081 -417 -4263 373,0 -7729,1 313,0
3000 -4775 -2305 -4006 2057,8 -7263,5 1726,7
3250 -4066 -3998 -3412 3569,2 -6185,9 2994,9
3500 -3015 -5354 -2530 4779,9 -4587,0 4010,8
3750 -1710 -6259 -1435 5587,7 -2601,6 4688,7
4000 -260 -6637 -218 5924,7 -396,9 4971,4
4250 1210 -6455 1015 5762,4 1841,1 4835,2
4500 2579 -5729 2164 5114,6 3924,1 4291,6
4750 3731 -4521 3131 4035,7 5676,4 3386,3
5000 4569 -2931 3833 2616,7 6950,3 2195,7
5250 5021 -1094 4213 977,2 7638,6 820,0
5500 5050 834 4238 -744,5 7683,1 -624,7
5750 4654 2692 3905 -2403,6 7080,3 -2016,8
Рисунок 1 – Траектория в пространстве

Приложение 1
clearall% удалить все переменные

closeall% закрыть все графики

clc

%% ЗаданиеНУ

global Re

Re = 6371e+03;

global h0

h0 = 275e+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 : 100.0 : tk],...

X0, opts);

%% Визуализация

plot(time_moments, trajectory_parameters(:, 1));

gridon;

holdon; % использовать тот же график для новых кривых

plot(time_moments, trajectory_parameters(:, 2));

hold off;

plot3(trajectory_parameters(:,1),...

trajectory_parameters(:,2),...

trajectory_parameters(:,3))

gridon;

holdon% не открывать новый график, а продолжать выводить в уже открытый

[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); % отобразить сетку сферы на графике

axisequal% задать одинаковый масштаб по всем осям

Приложение 2

function [DXDT] = RightSides1(t, X1)

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

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

DX = X1(4:6); % [VxVyVz]

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

DXDT = [DX ; DV]; % DXDT = [dxdtdydt ... dVzdt]

end

Приложение 3
function [value,isterminal,direction] = eventsFcn(t,y)

% y - тот же вектор состояния [x y z VxVyVz], который фигурирует в

% 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

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