Добавить в корзинуПозвонить
Найти в Дзене

Создание динамической модели полёта космического аппарата (КА) от Земли к Марсу

Создание динамической модели полёта космического аппарата (КА) от Земли к Марсу — это классическая задача небесной механики, требующая понимания законов Кеплера, гравитационного взаимодействия и численного интегрирования. В этой статье мы разберем, как построить такую модель в среде Matlab/Simulink, используя гелиоцентрическую систему координат. Теоретические основы: Задача N тел При моделировании межпланетного перелета основной силой, действующей на аппарат, является гравитация Солнца. Однако на этапах отлета и прибытия необходимо учитывать влияние Земли и Марса. Уравнение движения КА в инерциальной системе координат описывается вторым законом Ньютона: Архитектура модели в Simulink Модель в Simulink обычно строится по блочному принципу, где центральное место занимает интегратор состояний. 1. Блок задания констант и эфемерид Для начала работы необходимо определить положение планет. На начальном этапе можно использовать упрощенную круговую модель орбит, но для точности лучше импортир

Создание динамической модели полёта космического аппарата (КА) от Земли к Марсу — это классическая задача небесной механики, требующая понимания законов Кеплера, гравитационного взаимодействия и численного интегрирования.

В этой статье мы разберем, как построить такую модель в среде Matlab/Simulink, используя гелиоцентрическую систему координат.

Теоретические основы: Задача N тел

При моделировании межпланетного перелета основной силой, действующей на аппарат, является гравитация Солнца. Однако на этапах отлета и прибытия необходимо учитывать влияние Земли и Марса.

Уравнение движения КА в инерциальной системе координат описывается вторым законом Ньютона:

-2

Архитектура модели в Simulink

Модель в Simulink обычно строится по блочному принципу, где центральное место занимает интегратор состояний.

1. Блок задания констант и эфемерид

Для начала работы необходимо определить положение планет. На начальном этапе можно использовать упрощенную круговую модель орбит, но для точности лучше импортировать данные эфемерид (например, из базы NASA SPICE или встроенных функций Aerospace Toolbox).

2. Математическое ядро (Блок Acceleration)

Внутри блока MATLAB Function мы вычисляем суммарное ускорение. Код может выглядеть следующим образом:

Matlab

function a = calc_acceleration(pos_ka, pos_sun, pos_earth, pos_mars)

% Константы (гравитационные параметры mu = G*M)

mu_sun = 1.32712440018e20;

mu_earth = 3.986004418e14;

mu_mars = 4.2828375214e13;

% Относительные векторы

r_sun = pos_sun - pos_ka;

r_earth = pos_earth - pos_ka;

r_mars = pos_mars - pos_ka;

% Ускорение от каждого тела

a_sun = mu_sun * r_sun / (norm(r_sun)^3);

a_earth = mu_earth * r_earth / (norm(r_earth)^3);

a_mars = mu_mars * r_mars / (norm(r_mars)^3);

% Суммарное ускорение

a = a_sun + a_earth + a_mars;

end

3. Интегрирование

Полученное ускорение подается на блок Integrator (второго порядка или два последовательных первого порядка). На выходе мы получаем скорость и координаты аппарата.

Важно: Для космических задач рекомендуется использовать решатели с переменным шагом, такие как ode45 (метод Дормана-Принса) или ode113 для высокой точности на длинных дистанциях.

Определение начальных условий

Чтобы аппарат попал к Марсу, необходимо решить краевую задачу Ламберта. Она позволяет найти необходимую начальную скорость при заданном времени перелета.

Пример кода для расчета вектора состояния на старте (Земля):

Matlab

% Задаем дату старта и параметры орбиты Земли

% r0 - вектор положения Земли в момент старта (м)

% v0_earth - вектор скорости Земли (м/с)

% v_inf - избыточная скорость отлета (гиперболический избыток)

v_ka_start = v_earth_start + v_inf;

% v_ka_start будет начальным условием для интегратора в Simulink

Визуализация и анализ результатов

После запуска симуляции данные сохраняются в рабочую область (Workspace). Для анализа траектории удобно использовать 3D-графику:

Matlab

figure;

plot3(out.pos_ka.Data(:,1), out.pos_ka.Data(:,2), out.pos_ka.Data(:,3), 'b');

hold on;

plot3(0,0,0, 'yo', 'MarkerSize', 10, 'MarkerFaceColor', 'y'); % Солнце

grid on;

xlabel('X (м)'); ylabel('Y (м)'); zlabel('Z (м)');

title('Траектория перелета Земля - Марс');

При правильной настройке вы увидите дугу, соединяющую орбиты двух планет. Главная сложность — "поймать" Марс в нужной точке, так как он движется. Это требует точного расчета окна запуска (Launch Window).

Заключение

Создание модели в Simulink позволяет легко добавлять в систему дополнительные факторы: давление солнечного ветра, работу двигателей малой тяги или погрешности навигационных приборов. Это делает среду Matlab незаменимой для предварительного проектирования миссий.