Coder Social home page Coder Social logo

victorballester7 / final-bachelor-thesis Goto Github PK

View Code? Open in Web Editor NEW
0.0 0.0 0.0 345.51 MB

My final Bachelor's thesis

Home Page: https://github.com/victorballester7/final-bachelor-thesis/releases/latest/download/main.pdf

Makefile 0.02% C++ 28.97% C 38.32% TeX 3.20% Jupyter Notebook 11.25% MATLAB 0.19% Shell 0.03% Gnuplot 0.03% Python 1.78% Perl 0.12% Euphoria 15.81% Eiffel 0.01% HTML 0.29%
uab

final-bachelor-thesis's Introduction

Numerical propagation of trajectories of Earth-orbiting spacecraft

Introduction

In this project we compute the compare the errors obtained from propagating the trajectories of different satellites with to models: our model and the SGP4 model. Our model consist in solving the following differential equation:

$$\begin{cases} \dot{\mathbf{r}} = \mathbf{v}\\\ \!\!\dot{\mathbf{v}} = \mathbf{a}_{\mathrm{GP}} + \delta_{\mathrm{sun}}\mathbf{a}_{\mathrm{sun}} + \delta_{\mathrm{moon}}\mathbf{a}_{\mathrm{moon}} + \delta_{\mathrm{drag}}\mathbf{a}_{\mathrm{drag}} +\delta_{\mathrm{rad}}\mathbf{a}_{\mathrm{rad}} \end{cases}$$

Here, $\mathbf{a}_{\mathrm{GP}}=(\ddot{x},\ddot{y},\ddot{z})$ is the acceleration caused by the geopotential (expanded in spherical harmonics) and $\ddot{x}$, $\ddot{y}$ and $\ddot{z}$ are given in Cunningham recursions; $\mathbf{a}_{\mathrm{drag}}$ is the acceleration caused by the atmospheric drag; $\mathbf{a}_{\mathrm{rad}}$ is the acceleration caused by the solar radiation pressure; $\mathbf{a}_{\mathrm{sun}}$ is the acceleration caused by the Sun; and $\mathbf{a}_{\mathrm{moon}}$ is the acceleration caused by the Moon. The coefficients $\delta_{i}\in\{0,1\}$ are used to enable and disable the different perturbations.

The initial conditions of the initial value problem will be the position and velocity obtained from the TLE. In order to solve this system of 6 differential equations, we have opted to use the Runge-Kutta-Fehlberg method of order 7(8).

Requirements

  • gcc and g++ compilers
  • make
  • python3
  • gnuplot

Compilation and execution of the code

Download the code:

[email protected]:victorballester7/final-bachelor-thesis.git
cd final-bachelor-thesis
chmod +x execute.sh

Sintax of the execution:

./execute.sh <satellite_name> <t/f pointEarth> <t/f sun> <t/f moon> <t/f otherPlanets> <t/f solarRad> <t/f atmoDrag> <tle/sgp4> <compress>

Here <t/f> are flags to enable or disable the different pertubations and the argument <tle/sgp4> is used to compare the errors with the TLE data set or with the SGP4 propagator. The argument `

The available satellites names are:

  • Low Earth Orbit:
    • HUBBLE
    • IRIDIUM_71
    • ISS
    • NUTSAT
    • STARLINK_1007
  • Medium Earth Orbit:
    • GALILEO_20
    • GLONASS
    • NAVSTAR_61
    • SIRIUS_3
  • Geostationary Orbit:
    • GALAXY_16
    • GALAXY_18
    • GALAXY_19
    • TDRS-3
    • TDRS-5
  • High Earth Orbit:
    • TESS

Example:

./execute.sh ISS f t t f f t sgp4 10

This command computes the errors of the ISS satellite with the SGP4 propagator and with the following perturbations enabled: Sun, Moon and atmospheric drag.

Results

We now expose the main results of this work:

Comparison of the errors for LEO satellites

Image 1

ISS position error when considering the Earth as a point mass or as a non-homogeneous spherical distribution of mass (with the geopotential model).

Image 2

Propagation of the ISS satellite when considering only the geopotential model for the Earth and the atmospheric drag.

Comparison of the errors for MEO satellites

Image 1

Propagation of the Sirius-3 satellite considering the perturbations from the Moon, the Sun and the solar radiation pressure.

Image 2

Propagation of the Galileo-20 satellite considering the perturbations from the Moon, the Sun and the solar radiation pressure.

Comparison of the errors for GEO satellites

Image 2

Propagation of the TDRS-3 satellite considering the perturbations from the Moon, the Sun and the solar radiation pressure.

final-bachelor-thesis's People

Contributors

victorballester7 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.