Upcoming contribution on relative motion and RPO

Dear everyone,

Lately two of my colleagues at CS Group have been working on relative motion equations and RendezVous and Proximity Operations (RPO). They want to contribute this work to Orekit :heart_eyes:
Romain Cuvillon (@rcuvilllon) is currently an “Orekit & orbital dynamics intern”, and Jérôme Tabeaud (@JTabeaud) is an orbital dynamics engineer.

The development plan will be roughly as following:

  1. Add Clohessy-Wiltshire equations as AdditionalDataProvider and their “field” counterparts; in a sub-package relative of propagation package
  2. Add Yamanaka-Ankersen equations and their “field” counterparts
  3. Introduce a package transfer in the control package where classical 2-impulses transfers will be added, in particular those using the Lambert transfer (wrapped first off from the IodLambert class).
    @JTabeaud and @Rafa are working on new implementations of the Lambert problem (see this forum topic), so I think in time we will move the Lambert solver in the control package and IodLambert will use it.
  4. Add some classical impulse rendez-vous transfers and orbits (tear-drop orbit, football orbit, forced motion etc.) based on equations (1) and (2)

We’ll soon open corresponding issues on the forge and add a new relative-motion tag.
It’s possible that point 1 to 3 will be pushed together since Romain and Jérôme have been working on the three of them at the same time.

You can follow Romain and Jérôme’s work on Romain’s fork, on branch relative-motion.

Cheers,
Maxime

8 Likes

Hi Maxime,

thanks for this promising program and to the future contributors. I’ve always thought Orekit should offer somethig like this.

You seem to speak indifferently of the CW equations and their solution (during coasting). I think we should have APIs for both, as one might want to add a control vector and need all the derivatives. Also, AdditionalDataProvider is very specific (doing stuff when using a Propagator). We should have a way of calling this stuff outside this framework. It just requires a few input.
By the way, Yamanaka-Ankersen is one solution form (the best?) of the Tschauner–Hempel equations, which are the extension of CW when 0<e<1.

Adding things in the control package sounds good. Perhaps “heuristics” or “analytical” would be a better name than “transfer” though?

Finally, I agree that the Lambert solver should eventually be moved outside of IOD (but still callable from there as you suggest). Building upon it, I could also probably contribute a few things under my CCLA.

Cheers,
Romain.

2 Likes