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
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:
Add Clohessy-Wiltshire equations as AdditionalDataProvider and their âfieldâ counterparts; in a sub-package relative of propagation package
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.
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.
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.
Nice @Serrof. You were faster than us. I think @JTabeaud already did something locally in the same spirit but didnât push it in a MR.
I was not very enthusiastic with the name âheuristicsâ, I would have preferred âimpulseâ or âanalyticalâ but if you think itâs a good name just stick to it
Thank you Maxime. I have also thought about the two names you propose but IMHO:
âimpulseâ: the problem is that some things (direct shooting, or even the HCW equations) can be used either w/ impulsive or non-impulsive maneuvers
âanalyticalâ: the standard (Keplerian) Lambert solutions are analytical indeed, but the differential correction itself (which we are contributing here) is a numerical method