Conference PaperPDF Available

OREKIT: AN OPEN SOURCE LIBRARY FOR OPERATIONAL FLIGHT DYNAMICS APPLICATIONS

Authors:
  • CS GROUP, Toulouse France

Abstract

The Orekit library is a space flight dynamics library developed since 2002 by CS. It was operationally used during the Jules Verne ATV mission. Since 2008, the library is freely available as an open-source product under the terms of the business-friendly Apache V2.0 license. Given the small size of the market and the still high need for advanced tailored solutions for space systems, the service based business model for added value is much more suited than the license based business model or its new version, the Software As a Service. There are several business models that can be used for economically sound open-source systems. Some are well suited for the space field and will be explained. Some are not adapted and the reasons for this will also been explained. Open-source is an approach that proved efficient in mainstream software industry. It does not always need a very large community as was once thought, but still needs some involvement. The return on investment increases for all contributors as the project expands and the risks decrease at the same time as more and more people use it. The model is attractive for both public entities, academics, industry and SMEs, bringing something to each one of them. It also increases the yield of public funding. OREKIT is an example of a successful open-source project initiated by private industry and operationally during ATV rendezvous. Since its inception, the OREKIT library was aimed both towards quick development for simple use cases and towards fine tuning for expert users. In order to fulfill the first goal, the programming interface provides high level features like attitude modes, automatic discrete events handling within propagation (ground station visibilities, eclipses, maneuver start/stop, altitude crossing, user defined event …), transparent handling of leap seconds, automatic transforms between all frames, transparent use of Earth Orientation Parameters and much more. In order to fulfill the second goal, several physical models are provided for many concepts (orbits, propagators, frames, events, attitudes, time scales, ephemerides …) and all of them can be extended naturally to add user specific models or change the behavior of the provided ones. Since many models offer similar user interfaces, it is possible to build applications that can be used both in a mission analysis configuration with fast models and in an operational configuration with accurate models with a single switch. The presentation will provide both a business view and a technical view of OREKIT. It will explain the benefits of open-source and business models. It will present an overview of the library features and available physical models. A focus on a few innovative concepts will be made, like for example discrete events, time scale handling, slave and master propagation modes, management of time-dependent frames, models switching or transparent handling of complex models that need lots of configuration data. Some examples of how the tool can be used in different operational contexts will be given. The roadmap for the future of the tool will be presented.
Orekit : an Open-source Library for Operational Flight Dynamics Applications



 !
"##$%&"'"#&$()
*$+,-#".$
/
1 OPEN-SOURCE FOR SPACE FLIGHT
DYNAMICS LIBRARY
1.1 Historical context
0++1##23 4 2 " 5
4#  66# %/1"  1
" 6##31 "    1
#21   3  73 1
21##6"4##6#31" 
84##"6"1 21
###3 # 6  1   1 2
#11 " 1 6#
1 464 2#"
9"#.61""#3
1  " 1   ### 6"1
6 ""  2 1 6"3 ###
66 7##1 28 "2  
"0 2#"#3 21 16" -1 #
64".64"6 

/1#.1""4#6
2"6#31 "  # 21 #
"1#""  #"3#8#31
"    " 2#" ##2   2
7:-9;99:<  %/ 18 1 2

718"43166
11#3 6"61 #
"#16'
7## 1288 6#2 ++ "++(21
6 ""2 63  #
6 2#2  "#"
1 -13 6" 6 ++, 21 #3
16-1#36"2#2#4##
211 43"   "4#6#3
6  " 61 # "# " 131# #"
#31$1 6" 2"7-=0
">43
01" 98?  ##2"  66
"#6"
1.2 Strategic choices and business model
0++)  1" 3" "8  985 
21# 1#"
23"1""""6# 
"#31646## 7-3&
 2 ## 83 #  66 "#
"  "4 63 #"
#23"2"4#6
/  1      """    ++(    13
#3 "" 98  6
6"
-1 "2 66" 861 6"#4
18   #3 @ A " ##2"  
66    44  #4      6
66 6"
1.2.1 License choice
#13  6 #  6 #31
"  6#  6 1  8
3#
4# " 6 #  6 .
211 14" 21 6
"
"3#66"7211
"4#61"""7?".#"
&"#46#66#5
7
7?
&
0 7   6#1"  "  1       BC3
6 #CD #5 7?7;E &  ""
"1#0"4#
6#"
0  7   6#1"  "  1        BCF8
6 #CD#5# 7?"""
1 # 7 &  """
"#
0 7    6#1"  "  1        BC&
"# CD #5 1 7?  & 14  
"""13##7
G.6#  3 6 # #  H "
0.6#286 ##H
G " 0 .6#  "#
#&E0-"761
12"1##23# 5
Bad example of the JAT I4 7" 
-#8 211  6'" ++
"" 2 "4#6" 1# .
#98?-1#12strong
copyleft license2111#"1"
"""4"#"#"113
1  #      ++(    4  1
"28
Orekit context:
  ""    1  8 21  3  "
"#  #  1 143 3
  ### 66
64J
"1#8131#
#"1#"1"J
  "#  1    "    4
"316"
7##    1  #"      1  1  761  +
BC"# CD # 7  1 
64#2"# 82 1## 
1 " 898""211221
.6 31124 1343
16 311"7"66#1
986#1"3 #
-1###2#"#5
;  663    #      1  
"
;
/###12K"5
/"163
/"" 1216328
""6
/""6
/"    64  1  63  "
#164
9811312"5BC
"61CD
/498*2#") 1
I# ++(
1.2.2 Business model
96      661  1  64"    
2" 0"#2 "
4 #3   2  131  ##
"    4#4  -1      4
##16'.6""
1 8" 1    "
66# -1 "#4  1 6#
 " " " G 33
13    1     1  0  #    1
#"6#"3
7  "    1  6    "#  
6# " 4 " 66  
#-1"##"5
3##663
#  9%GL0-   6 #31
" 
36# 21"6
6"4#6
2"#
13
2 FROM BASIC TO EXPERT USE OF OREKIT
F?##2126##"#31" 
66#98
/?66198# 
"#4#0#3."'#
"
0"3"1"8"4#6
6#  "  " 6 "
.6
2.1 High level features for easy, fast
development
9864"#2#4#'"
#310  #### "" 
6 #31 "  #8   #
6663" ##"
"#I 61" /1
.46664""
F?##      1  ##23  131  #4#  
64""613#53 5
""
1"#3
663"
#
G16
Attitude modes
4#  6""  "  "    4##  1
-16#11#5
1BC# CD#2#85
&" =##" 63
-3="=9/63
9/."6#>"
1  BC6#.CD  #2  211    6#>  
# #25 23= 26
3"63
7##1"6## 13# "
111 6#1
 21#21;4
 6# " #  #2"
#6#.21# 131
#2#>"## 131
63"
Frames
/3>"1#16
2#311#8 
17 2    # "3 1
  1  #8        6  J  1
    1      1    "
##23#  1
-1"1."4#
  #      1      
"6"  #2    1    "    
## 6""     
# "6" #2  1   6"" 
14"# #12
"1 7- 3 21   ,+
"
7  #    6""      #  64""  
6###1G1"#
Orbit Propagation
98    "  8"    6""  
663    1      #8  86#
6631#663
96  66"  ## 663
1# 1"#"4"1#
"3  1     1  663  -1  663
   2 " "5 BC#4CD "
BCCD"
0  1     BC#4CD  "  1  1"#3    1
#66 6"6# 10?
21 2"## "#3 25 #6
42166"#1
6
0BCCD "1 1"#3  1  #6 
"#3"  1 663 # " # 1
63"11#612
  13121  ##"BC61"#CD-1
# 1663##21 1"#3
1# #6 1BC1"# 6CD1" 16
1"#2####"##  1663
16-1"6#""
1  "6#3  2  1  #6#    1"#3
" "1 6#.6 21 
6" 16"163-1
6#  31#6 21" 4
""""13##6.6#"#
-16631"#1."6"6"
6;#>"61"###23"
 ."64  4#63
1
4 4 "   ##
6" 1663 ""321 ##"
BC4  "CD  9  3    #3  6#  
6""  4  "    4##   4
3#  4  4  4  "      "
1 2 494 """"1
6632##18161
  "  4  "  33      1  666
  G4         6""    
"4"  1 # "3 1 663 21
"""
G4"works in both slave and master mode
#4"1"31"
 21 1 433"1# 1 1 #
  1  8"  1"In master mode
intermediary state corresponding to event time is
computed at the exact time event happens, no matter
step size
F1    4    33"        "  
##3 1663 #8 .6#133
1 "#21 4  6 4
  4 6## 663 1 663
21    #"  11#"    "  "3  
 # .6# -1  # "
  6#  6#  4  #333 3 " 
4# #6
Earth orientation parameters
7##  G1    4    66"  
6  "    "#  0G%  ++*  2
4  "  0G%  MM,    4  
4##    1  .3  G1      21  
2112133
9        4    .  21
1      1  4   1  
66#16"3"##
#""2131#431
 1 6#  1"# 1 1# "
4"38
-11"#31136#""
4   3"     "
## 9.6 ##3
18 "#2?-131
6121#31" .6"
" 82 21 6  6#1" 
98?"8161
 2135 1 '68 6G1
"
Time scale
4##66":--70H--
"##""#4# -70#7"
"" 1#4##1"
 1  # -1 4  1"#"
## #8#
-:#6"#1"#"6# J
21"821"?"1
1
2.2 Fine tuning for expert use
& " ## 1 3"  1 # 
# 3 98  3 "   
"3# 66#21.6 3
 6
Force models
1  "#  # 6  6 #31
" #"7#36#1# "
"#  64""  98  1  ## 
""?"6# .""
4 6 "#  " 1
 # >"6# 6#.
7    .6#  "3  "  "  6    
161#16#."" 4#
#6#"# 21#3
416"#
…........
Events
G4"#6>#6
:31""461
66#    2  4  1"#      "
"34"
41 # 4 "#.#
31      1  3  664    
.#   @.A " & " .3
@##A 4 #"3 
98? 4 1"#3 1  " 
      "  6  "3  1
663 1#"  6#6#  "31
6"336
Frames
:   2 "6" 1 "
"311#8 @6A
 1 .3 -1 
 # "6"-1 .# 21 2
"7- 3 21  1 ,+ 
4#4""1# 141#"#

9  3       6"        
"6##    
1-1##2 .6#36#
16134  41#83
    1  6##.    1  ##  
211"" 2#31# 
…........
Time scale
G4   31 "" 98 #"
64"2"#6#2###
 " 6# 216 "01
6# 1"21"-70
Data
0 "  6# 3  98"
66#  #3   " #"3  
>"216#311 
.3#"
3 ACKNOWLEDGEMENTS
F 181 /"> 1
66 1 6' "##239811
6##"
F  18  ##  1      98  "4#6
++,2112"1"4#4
16' F # 18 ## 1 211#6
"3"64316"
4 REFERENCES
 -  "  /  #4    
6E #8*""++
  #4 14 Stratégies et potentiels de l'open
source dans les entreprises et les administrations
françaises  ++M+  9609    96
F#"/++M
* E E  1 " H"  IERS
Conventions (2003)  0#  G1  %
"% 4
K Free Software Foundation, GNU General Public
License
165==22233=#=36#*+
"#1# I++)
$ G7  ;%  0;%07  0 Free Software
License Agreement6++,
165==222##=#=
N0N1#
, The BSD License
165==22263=#="#616
) 761+I ++K
165==222613=#=0G;G+
( E4"7##"# 2" %1"O'8
"-L#73++, Revisiting Spacetrack
Report #3, 2006 AIAA/AAS Astrodynamics Specialist
Conference
M G O  4 # ;P H1"
FSolving Ordinary Differential Equations I.
Nonstiff Problems      6#
1#( 63#3 M()"
4""MM*
+     /">    
Building a community, an approach for
Space Flight Dynamics6++M
... Therefore, to facilitate resilient and realistic scenario planning, it is imperative to integrate these realistic constraints right in the algorithmic design and demonstration of space applications. Although specialized simulation tools are available for many facets of onboard operations-like communications [18], [19] or orbital dynamics [20]-there is no comprehensive simulation approach that encompasses the entire environment. This calls for a more unified and holistic simulation solution. ...
... Limited time for activities Other mission constraints The JPL lowprecision ephemerides 2 are used to model the position of the Earth and Sun. Even though we focus on simple Keplerian orbits in this work, one can employ more complex dynamics models ranging from propagators such as SGP4 [31] using two-line elements to high-fidelity modelling through orekit [20] as described in the documentation. All positions and velocities in PASEOS are modelled in the inertial frame of the central body. ...
... Users should use the SGP4 propagator for higher fidelity by providing two-line elements. Additionally, they can wrap models such as a polyhedral gravity model [58] or software like orekit [20] via the custom propagator option. ...
Article
Full-text available
The next generation of spacecraft technology is anticipated to enable novel applications, including onboard processing, machine learning, and decentralized operational scenarios. Although several of these applications have been previously investigated, the real-world operational limitations associated with actual mission scenarios have been only superficially addressed. Here, we present an open-source Python module called PASEOS, capable of modelling operational scenarios involving one or multiple spacecraft. It considers several physical phenomena, including thermal, power, bandwidth, and communications constraints, and the impact of radiation on spacecraft. PASEOS can be run as a high-performance-oriented numerical simulation and/or in a real-time mode on edge hardware. We demonstrate these capabilities in three scenarios: one in real-time simulation on a Unibap iX-10 100 satellite processor, another in a simulation modelling an entire constellation performing tasks over several hours, and one training a machine learning model in a decentralized setting. While we demonstrate tasks in Earth orbit, PASEOS also allows deep space scenarios. Our results show that PASEOS can model the described scenarios efficiently and thus provide insight into operational considerations. We show this by measuring runtime and overhead as well as by investigating the constellation's modelled temperature, battery status and communication windows. By running PASEOS on an actual satellite processor, we showcase how PASEOS can be directly included in hardware demonstrators for future missions. Overall, we provide the first solution to holistically model the physical constraints spacecraft encounter in space. The PASEOS module is available online with extensive documentation, enabling researchers to incorporate it into their studies quickly.
... For instance, in-plane and out-of-plane strategies for a very-low-thrust station keeping involving LEO orbiting satellites are presented in Ref. [10]. This study makes use of the Orekit space dynamics library, a free and open-source software used by several research groups and industries for the development of flight dynamics applications [11]. Results demonstrated the feasibility of control to maintain a S/C within a few hundred meters from the reference, with an estimated mission lifetime of 5 years. ...
... In this work, the Orekit space dynamics library [11] is used in a Python environment [19] for the orbit propagation. Following the Orekit convention, the Gauss equations of motion, in terms of osculating equinoctial elements, are used to express the 3D translational dynamics, to avoid singularities for zero eccentricity and inclination angles [20]. ...
Article
Large constellations are typically designed using sets of periodic orbits and satellite control boxes sized to ensure compatible phasing between coorbital constellation planes to prevent conjunction events. This work investigates how the control action for orbit maintenance influences feasible intrashell and intershell distances in a satellite constellation. Two-dimensional lattice flower constellations are simulated in an environment inclusive of orbital perturbations, with onboard sensors and an electric propulsion system constituting the satellite guidance, navigation, and control system. An analysis to define estimates for minimum separation distances is performed as a function of control, propulsion, orbit, environmental, and spacecraft characteristics. An estimate of the intrinsic (geometric) orbital capacity is proposed, based on current and advanced technologies, in order to quantify the number of admissible spacecraft and orbital shells in a selected altitude range. Simulation results are used to improve the fidelity of intrinsic orbital capacity estimates and to understand factors that influence the number of admissible satellite locations in low Earth orbit.
... The Orekit space dynamics library [13] is used in a Python [14] environment to generate the astrometric data with evenly spaced time steps. To make sure the orbit propagator matches as close as possible the one originally used for the VCM by the USSF 18th SDS, the following perturbing accelerations, that are implemented in the Orekit space dynamics library, are considered in the analysis [12,15,16]: the Earth's non-spherical gravity field, atmospheric drag, solar radiation pressure, lunisolar third body accelerations, and Earth solid tides. ...
Conference Paper
Full-text available
Space Situational Awareness (SSA) has gained prominence owing to its criticality in national defense and growing number of Resident Space Objects (RSOs) due to commercialization of space. The identification and classification of RSOs is a desirable objective for SSA. AI techniques, specifically Machine Learning (ML) and Deep Learning (DL) algorithms, now facilitate classification of space objects based on sensor observations. However, these AI algorithms are often constrained by the lack of a sufficiently large training dataset. This work aims to use supervised ML algorithms for early time series classification using Vector Covariance Message (VCM) data covering 22,303 RSOs over six months. ML techniques such as Random Forest, Logistic Regression, K-Nearest Neighbor, Support Vector Machine , Naive Bayes, along with a Multi-Layer Perceptron DL technique are initially tested. Subsequently, advanced time series classification algorithms like InceptionTime and TSiT, for regularly and irregularly sampled time series, respectively, are examined. Given the variability in RSO's VCM estimates and the problem of data imbalance between classes, time regularization and synthetic data are introduced. However, the use of synthetic data creates problems in the classification accuracy of the ML algorithms. The irregular time series classification technique can overcome this issue. Considering the novelty of using the VCMs as datasets for the ML algorithms, the study explores input combinations and variations of the datasets. Early classification of space objects is of key interest to space system operators, therefore the acceptable trade-off between accuracy and timeliness of the prediction is investigated.
... We use the Orekit open source flight dynamics software to model overpasses [44]. We analyse sun synchronous orbits (SSOs) that ensure that the satellite passes over a location at the same local solar time. ...
Preprint
Full-text available
Space quantum communications is a potential means for establishing global secure communications and quantum networking. Despite pioneering demonstrations of satellite quantum key distribution, considerable challenges remain for wide deployment such as the local effects of the atmosphere on the transmission of single-photon level quantum signals. As part of Ireland's efforts to establish quantum links with the rest of Europe and further afield, we present a preliminary study of the feasibility of satellite quantum key distribution taking into account geographic and weather effects on the space-Earth channel. Weather data over 5 years covering 4 locations across Ireland were used to assess performance and the prospects of optical ground station (OGS) geographic diversity to improve service availability. Despite significant cloud cover that may reduce the performance of a single OGS location, the use of a 4-OGS network can provide up to 45% improvement for a single satellite exploiting anti-correlation in cloud cover, though most gains are achieved with 2 or 3 OGSs.
... where r is the position vector; is the gravitational parameter of the central body; and F(r,ṙ , ) is a vector function representing the non-Keplerian perturbing terms as a function of position (r), velocity (ṙ ), and time ( ). Propagation, and later state estimation as discussed below, was performed through the Orekit spaceflight library [13]. A 10-by-10 truncation of the EIGEN-6S gravity field model [14] was used for geopotential modelling. ...
Conference Paper
Full-text available
The availability of accurate and timely state predictions for objects in near-Earth orbits is becoming increasingly important due to the growing congestion in key orbital regimes. The Two-line Element Set (TLE) catalogue remains, to this day, one of the few publicly-available, comprehensive sources of near-Earth object ephemerides. At the same time, TLEs are limited by their corresponding low-fidelity physical models, introducing errors and uncertainty into state predictions. Previous literature has shown that filtering TLEs with batch least squares methods can yield significant improvements in long-term state prediction accuracy. However, this process can be highly sensitive to TLE quality which can vary throughout the year. It will be shown that removing systematic biases in along-track position prior to state estimation can reduce post-fit position errors by an order of magnitude for selected satellites in the Medium Earth Orbit (MEO) regime.
... With the position of the SBSS spacecraft known, for example using global navigation satellite system (GNSS) receivers and star trackers, the orbit of target spacecraft can be determined using tools, such as GMAT [11], Orekit [13,14] or STRF [1]. Multiple algorithms can be used for signal detection, Doppler estimation and signal identification. ...
... This model is unique in that it captures the system-level impacts of a spectrometer design while also providing detailed performance information. Temporal resolution and related metrics are assessed using an evaluation tool based on the Orekit dynamics library [26]. Another novel aspect is evaluation of the temporal resolution of the constellation via a combination of the field of view of the sensor and an observation planning algorithm. ...
  • D Dennis
  • Gérard Mc Carthy
  • Petit
Dennis D. Mc Carthy and Gérard Petit, IERS Conventions (2003), International Earth Rotation and Reference Systems Service.
Software License Agreement
  • Cnrs Cea
  • Cecill Inria
  • Free
CEA, CNRS, INRIA, CeCILL Free Software License Agreement, September 2006, http://www.cecill.info/licences/ Licence_CeCILL_V2-en.html.
  • David A Vallado
  • Paul Crawford
  • Richard Hujsak
  • T S Kelso
David A. Vallado, Paul Crawford, Richard Hujsak, and T.S. Kelso, August 2006, Revisiting Spacetrack Report #3, 2006 AIAA/AAS Astrodynamics Specialist Conference.