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.



TestPOD 3U

A TestPOD makes it possible to test a CubeSat under vibration and shock in order to qualify it for launch. Using a TestPOD it can be made sure that the CubeSat meets the dimensional constraints of the standard deployer. In addition the TestPOD is used for SimEnOm tank thermal tests.

Our TestPOD 3U is suitable for the qualification of 1U, 2U and 3U CubeSats. It was designed and offered by our partner NCKU in Taiwan. One original feature is that it has a Quasi-Dynamic internal Rail System (QDRS) that compensates for play of some deployers (Nanoracks). With a custom-made interface plate it can be attached to the vibrating table of the Integration and Testing Platform (ITP) at the Saint-Quentin-en-Yvelines Observatory. Other interface plates may be made if necessary. A test campaign at the ITP in March 2017 allowed to characterize in detail its vibrational behaviour.

We also used the TestPOD for vacuum testing and thermal cycling of the flight model of the PICSAT nanosat, supported by ESEP and due for launch in December 2017. For this purpose a new interface board dedicated to the LESIA SimEnom tank was made, the TestPOD was cleaned, opened up, and any grease was removed. The tests were done continuously for six days in August 2017. PICSAT passed the test in good health and the TestPOD was very appreciated!

The TestPOD is now operational for CubeSats both for ITP vibration testing and for thermal vacuum testing at the SimEnOm tank.



The PROMESS Room

PROMESS is both a pedagogical an engineering environment. The acronym in French translates as "Mission Profils and Education in Space Science". In its educational setup, PROMESS was delivered to the UFE at the start of the 2016 academic year. Since 2017 it has also been used for CENSUS concurrent engineering campaigns.

In the engineering configuration, a project team is typically invited for a five-day campaign, alternating plenary Concurrent Engineering sessions with modeling sessions (Model-Based System Engineering, MBSE). The goal is typically to explore the Trade Space of the mission concept in the aim of increasing its "Concept Maturity Level" (CML).

The PROMESS room during the BIRDY-1 campaign in 2017 (g.à dr.: N.Bochard M1 student, G.Quinsac PSL PhD student, B.Segret PROMESS tutor, M.Agnan project lead)

Supported by the CENSUS team, the project manager schedules the sessions according to the priorities and the maturity of the project. A team is built for the campaign, possibly with experts in space engineering. The science case and the mission profile are examined through the use of sizing models, available or developed and fine tuned between sessions. The software suite DOCKS is intensively used to interface all the models, including those made by participants with their own tools, and make them displayed by VTS, the CNES free software. Models are shared and organised in a Cloud within the team.

The sessions cover all the key components of a space mission project: manifest, science case, high-level specifications, concepts of observations and operations, subsystem build-up, system budgets, risk analysis. The process is inspired by the "SPIRAL model" made popular by ESA’s CDF as a guideline.



Back to top