Skip to content

Commit 1c4659b

Browse files
committed
Launch of ORBITM v1.0 (Stable)!
Now with full documentation on Read-The-Docs! https://orbitm.readthedocs.io/en/latest/
1 parent 9ac1e56 commit 1c4659b

93 files changed

Lines changed: 18064 additions & 117 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

README.md

Lines changed: 0 additions & 80 deletions
This file was deleted.

README.rst

Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
.. image:: https://raw.githubusercontent.com/sammmlow/ORBITM/master/gui/orbm_logo_large.png
2+
3+
.. |docs| image:: https://img.shields.io/badge/docs-latest-brightgreen.svg?style=flat-square
4+
:target: https://orbitm.readthedocs.io/en/latest/
5+
6+
.. |license| image:: https://img.shields.io/badge/license-MIT-blue.svg?style=flat-square
7+
:target: https://github.com/sammmlow/ORBITM/blob/master/LICENSE
8+
9+
.. |orcid| image:: https://img.shields.io/badge/ID-0000--0002--1911--701X-a6ce39.svg
10+
:target: https://orcid.org/0000-0002-1911-701X/
11+
12+
.. |linkedin| image:: https://img.shields.io/badge/LinkedIn-sammmlow-blue.svg
13+
:target: https://www.linkedin.com/in/sammmlow
14+
15+
:Project: ORBITM
16+
:Github: https://github.com/sammmlow/ORBITM
17+
:Documents: https://orbitm.readthedocs.io/en/latest/
18+
:Version: 1.0 (Stable)
19+
20+
|docs| |license|
21+
22+
:Author: Samuel Y. W. Low
23+
24+
|linkedin| |orcid|
25+
26+
27+
28+
Welcome to Orbit.M!
29+
-------------------
30+
31+
Orbit.M is an open-source and free orbit maintenance simulator and propulsion sizing tool, recommended for use with near-circular low Earth orbits up to 1,000 km altitude, on Python.
32+
33+
It stands for the **Orbit Maintenance and Propulsion Sizing Tool**, and it comes with its own built-in orbit decay model and maintenance simulator. Alternatively, ORBITM can also be used to interface with and automate orbit maintenance simulations using AGI's Systems Tool Kit (STK) as an alternative simulator, through the STK Integration Object Model libraries.
34+
35+
.. note:: A valid license for STK 10 and 11, with Astrogator and Integration modules, is needed for interfacing with STK.
36+
37+
The objective of ORBITM is to allow for a quick sizing of low Earth orbit (LEO) mission lifetimes, sized against propulsion units of the user's choosing. The user can enter the parameters of their intended mission, the orbital elements, the spacecraft characteristics, and ORBITM would compute the ΔV necessary to counteract drag forces throughout the mission, while sizing it against your choices of thrusters (depending on your inputs in the **"thruster_shortlist.txt"** file).
38+
39+
40+
41+
First Steps in Using Orbit.M
42+
----------------------------
43+
44+
First things first, check that you have these Python libraries: **TKinter, NumPy, Matplotlib**, and among other standard libraries such as **os, datetime, comtypes etc**. If you do not have Python, I recommend using the `Anaconda installer <https://www.anaconda.com/>`_ with Spyder as your IDE, as it comes with all the installed packages by default.
45+
46+
Now, the software can be started by running the Python file **orbitm.py** in the main directory (equivalent to the directory you see on the master branch on ORBITM's github page). You should see a GUI, like below, pop up:
47+
48+
.. image:: https://raw.githubusercontent.com/sammmlow/ORBITM/master/gui/orbm_screenshot.png
49+
50+
You can fill in your spacecraft and orbit parameters through the GUI, check that you have your desired thruster specified in the "thruster_shortlist.txt" file on the main ORBITM directory.
51+
52+
Now, you can hit **Run ORBITM**, and it will output a ΔV report as a text file, and plot the altitude profile and the locus of thruster requirements that satisfy your mission (in terms of the required fuel mass against Isp). Example plots are shown below, with plots in blue ran under the fast algorithm (Sam's), and plots in orange ran under the more precise orbit model in STK.
53+
54+
.. image:: https://raw.githubusercontent.com/sammmlow/ORBITM/master/gui/orbm_outp_550km.png
55+
56+
The above results were run for a 200kg satellite at 550km circular orbit. Note that the blue and orange plots in the thruster requirements profile almost overlap.
57+
58+
For full documentation, please refer to the `ORBITM Read-The-Docs. <https://orbitm.readthedocs.io/en/latest/>`_
59+
60+
61+
62+
Final Notes
63+
-----------
64+
65+
This project is free, and open-source. If you would like to contribute to this project, add in new features, or enhance existing atmospheric models etc, please free free to branch the master repository and collaborate with me. I am also hoping to interface ORBITM's use with other astrodynamics softwares like GMAT, and improve on existing features such as improving the accuracy of the atmospheric density models etc.
66+
67+
If you had felt that OrbitM was useful in your research, please do give the due credit and cite my paper or this project!
68+
69+
Low, S. Y. W., &; Chia, Y. X. (2018). “Assessment of Orbit Maintenance Strategies for Small Satellites”, 32nd Annual AIAA/USU Conference on Small Satellites, Logan, Utah, Utah State University, USA.
70+
71+
Contact
72+
-------
73+
74+
If you have any other queries feel free to reach out to me at:
75+
76+
77+
78+
|linkedin| |orcid|
79+
80+
*Last Modified on 03-04-2021*
81+

codes/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
## | _ | _ \| _ \|_ _||_ _| | | ##
88
## | |_| | <| _ < | | | | | \ / | _ ##
99
## |_____|_|\_|____/|___| |_| |_|\/|_| |_| ##
10-
## v 0.1 ##
10+
## v 1.0 ##
1111
## ##
1212
## This is just a blank initialisation file. ##
1313
## ##
39 Bytes
Binary file not shown.
-1.23 KB
Binary file not shown.
-437 Bytes
Binary file not shown.
-5.41 KB
Binary file not shown.
-8.75 KB
Binary file not shown.
-13.8 KB
Binary file not shown.

codes/orbitm_func_atmos.py

Lines changed: 23 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,26 @@
1-
###########################################################
2-
###########################################################
3-
### Created on Wed May 24 11:27:54 2017 ###
4-
### Updated on Thu Oct 22 15:55:15 2020 ###
5-
### By Samuel Low, DSO National Laboratories ###
6-
### Atmospheric Density Model ###
7-
### U.S. Standard Atmosphere Table 1976 ###
8-
### Valid only for altitudes 86km to 1000km ###
9-
###########################################################
10-
###########################################################
1+
# -*- coding: utf-8 -*-
2+
3+
###############################################################################
4+
###############################################################################
5+
## ##
6+
## _____ ___ ____ ___ _____ ______ ##
7+
## | _ | _ \| _ \|_ _||_ _| | | ##
8+
## | |_| | <| _ < | | | | | \ / | _ ##
9+
## |_____|_|\_|____/|___| |_| |_|\/|_| |_| ##
10+
## v 1.0 ##
11+
## ##
12+
## FILE DESCRIPTION: ##
13+
## ##
14+
## Atmospheric density model based on the U.S. Standard Atmosphere 1976. ##
15+
## Returns the atmospheric density (km/m^3) given an altitude input (km). ##
16+
## Valid only for altitudes between 86km to 1000km. ##
17+
## ##
18+
## Written by Samuel Y. W. Low. ##
19+
## First created 24-05-2017 11:27:54 (+8 GMT) ##
20+
## Last modified 22-10-2020 15:55:15 (+8 GMT) ##
21+
## ##
22+
###############################################################################
23+
###############################################################################
1124

1225
import math
1326

0 commit comments

Comments
 (0)