Simulate the perturbation motion of the satellite based on the Runge-Kutta sum force model with matlab code

?About the author: A Matlab simulation developer who loves scientific research. He cultivates his mind and improves his technology simultaneously. For cooperation on MATLAB projects, please send a private message.

Personal homepage: Matlab Research Studio

Personal credo: Investigate things to gain knowledge.

For more complete Matlab code and simulation customization content, click

Intelligent optimization algorithm Neural network prediction Radar communication Wireless sensor Power system

Signal processing Image processing Path planning Cellular automaton Drone

Content introduction

Abstract: Satellite perturbation motion simulation is an important research direction in the aerospace field. This paper presents an algorithmic procedure based on the Runge-Kutta sum force model for simulating satellite motion in a perturbed environment. Through this algorithm, the orbit and attitude of the satellite can be predicted more accurately and provide an important reference for satellite control and navigation.

Introduction: With the continuous development of aerospace technology, satellites are increasingly used in earth orbit. However, satellites are affected by various disturbances in orbit, such as gravity, atmospheric drag, solar radiation pressure, etc. These disturbances can cause changes in the satellite’s orbit and attitude. Therefore, accurately simulating the perturbed motion of a satellite is crucial for satellite control and navigation.

Runge-Kutta algorithm: The Runge-Kutta algorithm is a commonly used numerical integration method for solving ordinary differential equations. This algorithm discretizes time-continuous problems into time-discrete problems to approximate the real solution. In simulating the perturbation motion of a satellite, the Runge-Kutta algorithm can be used to solve for the position and velocity of the satellite.

Force model: Satellites are affected by various forces in orbit, such as gravity, atmospheric drag, solar radiation pressure, etc. In order to accurately simulate the perturbation motion of the satellite, a corresponding force model needs to be established. The force model can calculate the magnitude and direction of various forces based on the satellite’s motion state and environmental parameters.

Algorithm steps: The satellite perturbation motion algorithm based on the Runge-Kutta sum force model can be divided into the following steps:

  1. Initialization: Set the initial position, speed and attitude of the satellite, as well as other related parameters.

  2. Calculate force: Calculate the magnitude and direction of various forces based on the satellite’s motion status and environmental parameters. These forces include gravity, atmospheric drag, solar radiation pressure, etc.

  3. Update status: Use the Runge-Kutta algorithm to calculate the position and velocity for the next time step based on the current position, velocity, and force.

  4. Update attitude: Calculate the attitude of the next time step based on the motion state of the satellite and the effect of force.

  5. Repeat steps 3 and 4 until the simulation ends.

Result analysis: Through the satellite perturbation motion algorithm based on the Runge-Kutta sum force model, the motion of the satellite in the perturbation environment can be simulated more accurately. Through this algorithm, changes in the orbit and attitude of the satellite can be predicted, and it provides an important reference for satellite control and navigation. However, this algorithm also has some limitations, such as higher accuracy requirements for the force model and higher computational complexity.

Conclusion: Satellite perturbation motion simulation is an important research direction in the aerospace field. This paper presents an algorithmic procedure based on the Runge-Kutta sum force model for simulating satellite motion in a perturbed environment. Through this algorithm, the orbit and attitude of the satellite can be predicted more accurately and provide an important reference for satellite control and navigation. However, this algorithm also has some limitations that require further research and improvement.

Part of the code

%------------------------------------------------- ----------------------------</code><code>%</code><code>% Chebyshev approximation of 3-dimensional vectors</code><code>%</code><code>% Inputs:</code><code>% N Number of coefficients</code><code>% Ta Begin interval</code><code>% Tb End interval</code><code>% Cx Coefficients of Chebyshev polyomial (x-coordinate)</code><code>% Cy Coefficients of Chebyshev polyomial (y-coordinate)</code><code>% Cz Coefficients of Chebyshev polyomial (z-coordinate)</code><code>%</code><code>% Last modified: 2018/01/27 Meysam Mahooti</code><code>% </code><code>%- -------------------------------------------------- -----------------------</code><code>function ChebApp = Cheb3D(t, N, Ta, Tb, Cx, Cy, Cz)</code><code>?</code><code>% Check validity</code><code>if ( (t<Ta) || (Tb<t) )</code><code> error(' ERROR: Time out of range in Cheb3D::Value\\
');</code><code>end</code><code>?</code><code>% Clenshaw algorithm</code><code>tau = (2*t-Ta-Tb)/(Tb-Ta); </code><code>?</code><code>f1 = zeros(1,3);</code><code> f2 = zeros(1,3);</code><code>?</code><code>for i=N:-1:2</code><code> old_f1 = f1;</code><code> f1 = 2*tau*f1-f2 + [Cx(i),Cy(i),Cz(i)];</code><code> f2 = old_f1;</code><code>end</code><code>?</code><code>ChebApp = tau*f1-f2 + [Cx(1),Cy(1),Cz(1)];</code><code>?</code><code>?
% ---------------------------------------------- --------------------------------</code><code>%</code><code>% function finddays </code><code>%</code><code>% This function finds the fractional days through a year given the year,</code><code>% month, day, hour, minute and second.</code> ><code>%</code><code>?</code><code>% revisions</code><code>% -</code><code>%</code><code>% inputs description range / units</code><code>% year - year 1900 .. 2100</code><code>% mon - month 1 .. 12</code><code>% day - day 1 .. 28,29, 30,31</code><code>% hr - hour 0 .. 23</code><code>% min - minute 0 .. 59</code><code>% sec - second 0.0 .. 59.999</code> code><code>%</code><code>% outputs:</code><code>% days - day of year plus fraction of a</code><code>% day days</code><code> %</code><code>% locals:</code><code>% lmonth - length of months of year</code><code>% i - index</code><code>%</code><code>% coupling :</code><code>% none.</code><code>%</code><code>% references :</code><code>% vallado 2007, 207, ex 3-12 </code><code>%</code><code>% [days] = finddays (year,month,day,hr,min,sec);</code><code>% ------- -------------------------------------------------- --------------------</code><code>function [days] = finddays (year,month,day,hr,min,sec)</code> <code>?</code><code>for i= 1:12</code><code> lmonth(i) = 31;</code><code> if i == 2</code><code> lmonth(i)= 28;</code><code> end</code><code> if i == 4 | i == 6 | i == 9 | i == 11</code><code> lmonth (i)= 30;</code><code> end</code><code>end</code><code>?</code><code>if (rem(year,4) == 0)</code><code> lmonth(2)= 29;</code><code> if (rem(year,100) == 0) & amp; (rem(year,400) ~= 0)</code> <code> lmonth(2)= 28;</code><code> end</code><code>end</code><code>?</code><code>i = 1;</code><code>days= 0.0;</code><code>while (i < month) & amp; ( i < 12 )</code><code> days= days + lmonth(i);</code><code> i= i + 1;</code><code>end</code><code>?</code><code>days= days + day + hr/24.0 + min/1440.0 + sec/86400.0;</code><code>?</code><code>?

Operation results

References

Montenbruck O., Gill E.; Satellite Orbits: Models, Methods and Applications; Springer Verlag, Heidelberg; Corrected 3rd Printing (2005).

Montenbruck O., Pfleger T.; Astronomy on the Personal Computer; Springer Verlag, Heidelberg; 4th edition (2000).

Seeber G.; Satellite Geodesy; Walter de Gruyter, Berlin, New York; 2nd completely revised and extended edition (2003).

Vallado D. A; Fundamentals of Astrodynamics and Applications; McGraw-Hill, New York; 4th edition (2013).

Damn it. 2000. Department of Defense World Geodetic System 1984. NIMA-TR 8350.2, Edition 3, Amendment 1. Washington, DC: Headquarters, National Imagery and Mapping Agency. National Imagery and Mapping Agency.

Some theories are quoted from online literature. If there is any infringement, please contact the blogger to delete it
Follow me to receive massive matlab e-books and mathematical modeling materials

Private message complete code, paper reproduction, journal cooperation, paper tutoring and scientific research simulation customization

1 Improvements and applications of various intelligent optimization algorithms
Production scheduling, economic scheduling, assembly line scheduling, charging optimization, workshop scheduling, departure optimization, reservoir scheduling, three-dimensional packing, logistics location selection, cargo space optimization, bus scheduling optimization, charging pile layout optimization, workshop layout optimization, Container ship stowage optimization, water pump combination optimization, medical resource allocation optimization, facility layout optimization, visible area base station and drone site selection optimization
2 Machine learning and deep learning
Convolutional neural network (CNN), LSTM, support vector machine (SVM), least squares support vector machine (LSSVM), extreme learning machine (ELM), kernel extreme learning machine (KELM), BP, RBF, width Learning, DBN, RF, RBF, DELM, XGBOOST, TCN realize wind power prediction, photovoltaic prediction, battery life prediction, radiation source identification, traffic flow prediction, load prediction, stock price prediction, PM2.5 concentration prediction, battery health status prediction, water body Optical parameter inversion, NLOS signal identification, accurate subway parking prediction, transformer fault diagnosis
2. Image processing
Image recognition, image segmentation, image detection, image hiding, image registration, image splicing, image fusion, image enhancement, image compressed sensing
3 Path planning
Traveling salesman problem (TSP), vehicle routing problem (VRP, MVRP, CVRP, VRPTW, etc.), UAV three-dimensional path planning, UAV collaboration, UAV formation, robot path planning, raster map path planning , multimodal transportation problems, vehicle collaborative UAV path planning, antenna linear array distribution optimization, workshop layout optimization
4 UAV applications
UAV path planning, UAV control, UAV formation, UAV collaboration, UAV task allocation, and online optimization of UAV safe communication trajectories
5 Wireless sensor positioning and layout
Sensor deployment optimization, communication protocol optimization, routing optimization, target positioning optimization, Dv-Hop positioning optimization, Leach protocol optimization, WSN coverage optimization, multicast optimization, RSSI positioning optimization
6 Signal processing
Signal recognition, signal encryption, signal denoising, signal enhancement, radar signal processing, signal watermark embedding and extraction, EMG signal, EEG signal, signal timing optimization
7 Power system aspects
Microgrid optimization, reactive power optimization, distribution network reconstruction, energy storage configuration
8 Cellular Automata
Traffic flow, crowd evacuation, virus spread, crystal growth
9 Radar aspect
Kalman filter tracking, track correlation, track fusion