skyfielders / python-skyfield

Elegant astronomy for Python
MIT License
1.4k stars 211 forks source link

Satellites orbiting Lagrange Orbits #572

Open cruisen opened 3 years ago

cruisen commented 3 years ago

Mostly due to thermal constraints the majority of astronomy mission are now using orbits around lagrange points. For example: James Webb and GAIA.

Feature Request: Support of satellite missions orbiting Lagrange points / trojan objects.

Please note: I am quite happy with Skyfold already. Thank you. And I do not consider this feature request fundamentally important. Also I myself would need quite some time with our flight dynamics people to understand the math and maybe the code to be able to even consider a PR.

brandon-rhodes commented 3 years ago

Thanks for describing the computational challenges involved in that kind of orbit, I hadn't known that their Kepler parameters are so much less stable than for more typical solar orbits.

If the math is very involved, it might make more sense for us to imagine a separate Python package that would implement the orbit, and then maybe could produce both Skyfield positions or AstroPy positions from the results of the math. That way, the computation wouldn't have to be implemented twice.

But that suggests that Skyfield would need a bit more documentation around how 3rd party libraries can implement vector functions that take Skyfield times and produce Skyfield positions. Let's keep this issue open at least until such documentation can be produced!

cruisen commented 3 years ago

If the math is very involved, it might make more sense for us to imagine a separate Python package that would implement the orbit, and then maybe could produce both Skyfield positions or AstroPy positions from the results of the math. That way, the computation wouldn't have to be implemented twice.

Understood and agreed.

But that suggests that Skyfield would need a bit more documentation around how 3rd party libraries can implement vector functions that take Skyfield times and produce Skyfield positions. Let's keep this issue open at least until such documentation can be produced!

Understood and agreed. Let's stay in contact.

Please note:

JoshPaterson commented 3 years ago

JPL has SPK files available for Earth-Sun lagrange points: https://naif.jpl.nasa.gov/pub/naif/generic_kernels/spk/lagrange_point/, though I'm not sure if that type of SPK file is supported by Skyfield yet. That would give you the positions of the Lagrange points only, not objects orbiting them.

If I understand correctly the problem with trojans is that they don't follow simple 2-body motion closely enough? If that's the case you might try downloading an SPK file for the object you're interested in from the HORIZONS telnet interface or this web interface: https://ssd.jpl.nasa.gov/x/spk.html. I believe the positions in those SPK files are numerically integrated so they should capture more complex motion than 2-body propagation of orbital elements.