The R&D Team would like to develop, for a 12.1 version at best, a Transfers package for Orekit including methods to compute basic and advanced transfers such as Hohmann, bi-elliptic, lambert, non-coplanar transfers etc…
The package will have quite the same structure as the Chapter 6 of Vallado with some part of the Chapter 12 :
- Coplanar Transfers with Hohmann, bi-elliptic and One-Tangent Burn
- Non-Coplanar Transfers with inclination changes, RAAN and combined maneuvers
- Phasing package to compute phasing rate between two orbits, intermediate orbits to use to phase in a given time for both coplanar and non-coplanar orbits
- Interplanetary transfers with Lambert, patched conics and the computation and use of manifolds
- General tools associated to this package
If you have ideas for this package with more advanced concepts that could be in Orekit, feel free to answer to this feed !
Would be very interesting for academic purposes, i approve
Very interesting. Is this package intended only for impulsive maneuvers or also for low-thrust cases?
I guess for it to be really complete it should propose in a second time low thrust transfer basic concepts, and then more advanced transfers
So in theory, I think this package is a really good idea, it’s my jam and I believe it will attract even more users. Now when I look at the number of open issues on Gitlab, I reconsider. There’s already a huge amount of work to be done on existing code, and the “collision” stuff is not even out yet (which has kind of open the Pandora box of Space Domain Awareness). After all the development team is not huge and mostly operate on a voluntary basis. For me there are some big drawbacks to be dealt with as soon as version 12 is out, for instance the fact that measurements models are not directly exposed and are not computationally performant for a mere evaluation (#1064 for the interested reader). Let’s also remember that any good addition in Orekit comes with its
Field equivalent if applicable, which means more work. By the way some missing features have already been identified for Hipparchus, so there’s that as well.
On the package itself, again all the above aside, I’m keen. I think “transfers” might sound a bit too restrictive though, I’d rather call it “(orbital) guidance”. Personally, I would love to add so-called adjoint dynamics used for indirect optimal control. The Lambert solver definitely needs an upgrade as it’s missing solutions. Finally, things like manifold are out of scope in my opinion, they would be a great addition to Orekit per se but they are just coasting arcs used as low-level building bricks for trajectory design.
Very good idea! But I also have some remarks:
I 100% agree with @Serrof’s remark. There are currently 120 opened issues in the Gitlab forge. Which is a lot. Also, I think that once the 12.0 released, the number of issues will probably increase. In my opinion, before thinking to a new package I think that fixing the current opened issues and consolidate the current Orekit features (with the new ones introduced in 12.0 like collision probabilities) is a priority for the 12.1.
Transfer is a large topic. I think that the best place for academic purposes related to transfer is the tutorials. In my opinion, Orekit shall implement transfer features related to common transfers performed in satellites operations like GTO or LEO tranfers. For instance, having features related to optimization under contraints is a must have to compute operational transfers. Also, considering low thrust and constraints related to electric propulsion is also a must have.
For the record, I am currently working on #1064, it should be done today.
I guess I forgot to say that if we had more than one Luc, there would be no backlog and all the aforementioned features would be already available