Parker Solar Probe - poliastro/poliastro GitHub Wiki
Introduction
NASA is almost ready to launch Parker Solar Probe today, which is going to be historic for well known reasons. The Parker Solar Probe will travel through the Sun’s atmosphere, closer to the surface than any spacecraft before it, facing brutal heat and radiation conditions — and ultimately providing humanity with the closest-ever observations of a star.
As various Astronomers and Astrodynamics enthusiasts across the globe are giving it a close look, here is a detailed analysis of the orbit of the probe using poliastro.
poliastro is an open source pure python library for solving complex orbital mechanics problems. It features conversion between classical orbital elements and position vectors, Analytical and numerical orbit propagation, initial orbit determination using the solution of the Lambert's problem, coordinate frame transformations, computation of Near-Earth Objects (NEOs) and orbit plotting.
In this we're going to draw the trajectory of the mission Parker Solar Probe Mission as discussed above and study the orbit of the same. One can easily tweak some parts of the code and get position of the probe at various points of time.
Note: This is a very simplistic analysis which doesn't take into account many important factors of the mission, but can serve as an starting point for more serious computations.
Note: The data is already available in Horizons! https://ssd.jpl.nasa.gov/horizons.cgi
Available time span for currently selected target body: 2018-Aug-11 09:11 to 2025-Aug-31 01:26 TT.
Issues
- Read orbits from HORIZONS https://github.com/poliastro/poliastro/issues/313 (cheating! but useful to validate)
- Add patched conics computations https://github.com/poliastro/poliastro/issues/150
- Explicit reference frame for Orbit objects and sampling results (no issue yet)
Reports
The most important report is "Solar Probe Plus Mission Design Overview and Mission Profile" http://issfd.org/ISSFD_2014/ISSFD24_Paper_S6-2_Guo.pdf - mostly up to date and the one that is focused on the current mission concept. Other resources:
- "Trajectory Design of Solar Probe+ Using Multiple Venus Gravity Assists" https://doi.org/10.2514/6.2008-7365 (similar, same author, less information)
- "Solar Probe Plus: Mission design challenges and trades" https://doi.org/10.1016/j.actaastro.2010.06.007 (a study on several designs after a concept change)
- "Solar Probe Plus: Report of the Science and Technology Definition Team" https://solarprobe.gsfc.nasa.gov/SolarProbe+Web.pdf (general information about the mission)
- Mission timeline http://parkersolarprobe.jhuapl.edu/The-Mission/index.php#Timeline (up to date mission timeline)
The above reports contain mission timeline (including the seven Venus flybys and dates for the perihelion passes), Delta-V budget, excess velocity for the flybys and more. Unless otherwise noted, all the tables and plots come from the first one.
Mission profile
The baseline Solar Probe+ mission comprises 24 solar orbits with a 3.4° inclination from the ecliptic a 6.9-year period. ("Solar Probe Plus: Report of the Science and Technology Definition Team")
Notice that the timelines seen in reports are projected or estimated timelines, some of them with outdated launch dates. This is the mission timeline as appears now in the website.
- 2018-08-11 07:33-08:38 UTC: Launch
- 2018-09-28: Venus Flyby #1
- 2018-11-01: Perihelion #1
- 2019-03-31: Perihelion #2
- 2019-08-28: Perihelion #3
- 2019-12-22: Venus Flyby #2
- 2020-01-24: Perihelion #4
- 2020-06-02: Perihelion #5
- 2020-07-06: Venus Flyby #3
- 2020-09-22: Perihelion #6
- 2021-01-13: Perihelion #7
- 2021-02-16: Venus Flyby #4
- 2021-04-24: Perihelion #8
- 2021-08-05: Perihelion #9
- 2021-10-11: Venus Flyby #5
- 2021-11-16: Perihelion #10
- 2022-02-21: Perihelion #11
- 2022-05-28: Perihelion #12
- 2022-09-01: Perihelion #13
- 2022-12-06: Perihelion #14
- 2023-03-13: Perihelion #15
- 2023-06-17: Perihelion #16
- 2023-08-16: Venus Flyby #6
- 2023-09-23: Perihelion #17
- 2023-12-24: Perihelion #18
- 2024-03-25: Perihelion #19
- 2024-06-25: Perihelion #20
- 2024-09-25: Perihelion #21
- 2024-11-02: Venus Flyby #7
- 2024-12-19: Perihelion #22 First Close Approach
- 2025-03-18: Perihelion #23
- 2025-06-14: Perihelion #24
Orbits
In text:
Orbit # | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | ... |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Period (d) | 168 | 150 | 150 | 140 | 121 | 112 | 107 | 102 | 102 | 100 | 96 | 96 | 96 | 96 | ... |
Notice that:
- There are some full Keplerian orbits
- Sometimes the Venus flyby happens before aphelion, sometimes after aphelion
Data:
In text:
Solar pass # | Perihelion (AU) | Perihelion (Rs) |
---|---|---|
1 | 0.166 | 35.66 |
2 | 0.166 | 35.66 |
3 | 0.166 | 35.66 |
4 | 0.130 | 27.85 |
5 | 0.130 | 27.85 |
6 | 0.095 | 20.35 |
7 | 0.095 | 20.35 |
8 | 0.074 | 15.98 |
9 | 0.074 | 15.98 |
10 | 0.062 | 13.28 |
11 | 0.062 | 13.28 |
12 | 0.062 | 13.28 |
13 | 0.062 | 13.28 |
... | ... | ... |
Tips and tricks
- The ephemerides of Earth and Venus are given by
Orbit.from_body_ephem
in ICRS but the probe orbits the Sun, so to be precise we should convert toHeliocentricEclipticJ2000
(available inpoliastro.frames
). For more information, check https://space.stackexchange.com/a/14370/10716 - The multi-revolution Lambert problem can be exploited using generators and the Izzo algorithm, available in poliastro. However, an alternative is to
Orbit.propagate
until the previous perihelion or aphelion (this can be done by specifying the true anomaly) and then computing the first Lambert arc that comes after that. See below for more information on why this is not enough - Sampling orbital elements is hard (see https://github.com/poliastro/poliastro/issues/380) but, as sampling the position is easy, we can then compute the norm and see if our plots match what is shown in the reports
How to compute the arcs
For some arcs we can't apply the Lambert problem. In particular, orbits between Flyby #1 and #2 cannot be reliably computed using poliastro.iod.lambert
because the position of Venus is almost the same in both times, and therefore the problem is ill conditioned.
To do a proper calculation, we need to analyze what happens inside the sphere of influence of Venus:
With the altitude of periapsis at the flyby hyperbola we can compute the turn angle. However, the aim point at the B plane is not defined anywhere in the reports that we have found, so there's still one angular quantity that has to be determined by trial-and-error or some root solving procedure, taking into account that the period of the heliocentric orbit is known.
This is a draft of the whole process: