Prototyping with DOCKS
DOCKS is an open-source software suite, licensed under GPL v2 (*), to help prototype a space mission "profile" in terms of trajectory and functinal mode strategy (pointing, power, data). All outputs fit with the free tool VTS (**) and the data can be reformatted for any other graphic engine. DOCKS is convenient in many contexts, including interplanetary, e.g. cruise or proximity operations at a celestial body with a complex gravitational field.
Main Features, as of 05/2024 Release:
- New Gitlab repository on our own servers: clic or scan the "Code Now" QR code.
- DOCKS Propagator in version 6.5
- DOCKS Intervisibility in version 4.3
- Remote service: drag & drop your setup on our server
- (invisible for you but strategic) CI/CD
With DOCKS Propagator, you setup initial conditions in a .yaml file with the following options: extended and customzied dynamical model, SRP modeling with penumbre/umbra conditions, gravitational fields natively accepted as dot masses or spherical harmonics (customized models are possible), rotation matrices from tabulated or Spice formats, integrator RKF4(5), RKF5(6), RKF7(8), IAS15 with fixed or variable time-step. We report a thorough validation wrt. GMAT, FreeFlyer and TUDat. CPU was already improved and is our next focus. Warning: continuous propulsion was disabled for now.
With DOCKS Intervisibility, you setup your satellite’s trajectory and designates the possible observed or hiding bodies and the ground stations. You get the events of eclipses, occultations and telecom passes as seen from your satellite. Throrough validation was performed wrt. data from actual space mission.
With the Remote service for DOCKS, no hassle of downloading or installation, just drop your configuration files right away. You are notified when your outputs are ready. How to get started remotely? Just send an email with [server] in the object line to docks.contact. You will be replied with a link to your private folder on our server and a README file in it.
What is CI/CD? You can’t see it but this is very well known in the IT domain and, now, we have adopted CI/CD for DOCKS. "CI" stands for Continous Integration: each time we modify DOCKS code, the new version goes through a series of tests to make sure that the results are still meaningful, without any regression since the last release. Each new feature adds new specific tests in the "CI" pipeline. Our tests cover user interface as well as the scientific value of the results. "CD" stands for Continuous Deployment: internally, when we feel ready to publish the new release, the new version is deployed into the Remote Service and to the public Gitlab.
You can also take part in the development of DOCKS with new features or by testing and sending us your opinions. Here are our ideas for future features:
- Continous propulsion, in the Propagator, needs reactivation with pointing strategies and thorough validation & benchmarking.
- Examples of complex gravitational models in the Propagator are welcome (e.g. mass distribution).
- Pointing strategies are welcome (next release will include a first set)
- Power estimate is disabled for now and needs debug and thorough validation.
- CONIC: Generate an ephemeris of positions for a Keplerian orbit produced in plano-centric ICRS or another known frame (SSB-centric or Heliocentric, ICRS or true Ecliptic).
- Intervisibility could be augmented with "modeled horizon" (varying elevation as a function of azimuth)
- Data-volume estimate would be welcom, associated with TT&C strategies.
- ADCS is a future, critical and complex feature, we’re working on it and may need help.
Contributors: we would like to thank the authors of the embedded libraries (*), of Celestia, of VTS and STELA at CNES, of pyKEP at ESA, of SPICE/NAIF at JPL; Co-authors of DOCKS at CENSUS over the years: Audrey Porquet, Hao-Chih Jim Lin, Thomas Gascard, Nima Traore, Zacharie Barrou-Dumont, Guillaume Thebault, Nicolas Bochard, Florian Jousseaume, Aurore Boineau, Laëtitia Lebec, Claire Castell, Edouard Leicht, Gary Quinsac, Sébastien Durand, Janis Dalbins, Tim Glasius, Grégoire Henry, Thibault Delrieu, Julien Bouet, Harshul Sharma, Rashika Jain, Elias Mazmouz, Feliu Lacreu, Pedro da Fonseca, Thuy Linh La, Tomas Trindade Nunes, Guillaume Bachelier, Boris Segret.
(*) the text of the GPL v2 license is provided within the code. Libraries from various origins may also be included: Numpy, AstroPy, Poliastro, PyQuaternion, Quaternion, AstroQuery, pyKEP, Scipy and SpiceyPy.
(**) all outputs comply with CCSDS format, to get displayed with VTS for instance. VTS is a free "Visualization Tool for Space data" by CNES (French space agency) that also includes the famous CELESTIA free 3D engine.