MontBlanc2012
Active member
- Joined
- Aug 13, 2017
- Messages
- 138
- Reaction score
- 26
- Points
- 28
Lambert’s problem is concerned with the determination of an orbit from two position vectors - an initial point, [MATH]\mathbf{R}_1[/MATH]; and a final point, [MATH]\mathbf{R}_2[/MATH] with radius [MATH]r_1[/MATH] and [MATH]r_2[/MATH], respectively; a known time-of-flight, [MATH]\Delta T[/MATH]; and a central Keplerian gravitational field of known gravitational parameter, [MATH]\mu[/MATH]. This is a classic dynamical problem and much time and effort has been spent developing sophisticated solutions to the problem.
'Off-the-shelf' Lambert Problem solvers are available (albeit with a bit of snuffling around on the internet) but, to be frank, they are largely presented as 'black box' solutions and written in programming languages that rarely play nice with my own fumbling in astrodynamics. In light of these, I've had a go a developing my own Lambert Problem solver. A short write-up of those efforts is attached to this post as a .pdf file.
Although other publicly available solvers are available, it may be of interest (or of use) to others to have a robust (and moderately fast) algorithm that can be implemented in a variety of programming languages and contexts. In the .pdf, I've set aside details of theory (steeped, as it is, in the Byzantine workings of the Kustaanheimo-Stiefel (KS) regularising transformation) and simply presented the algorithmic steps; a Python implementation (for multi-revolution elliptical case) of that algorithm; and some worked examples based on this Python implementation. The algorithm can be implemented in other languages and the Python code may serve as a template for doing this.
Should anyone really be perverse enough to want to come to grips with mathematical proofs, they should contact me and I'll do my best to oblige.
Enjoy.
'Off-the-shelf' Lambert Problem solvers are available (albeit with a bit of snuffling around on the internet) but, to be frank, they are largely presented as 'black box' solutions and written in programming languages that rarely play nice with my own fumbling in astrodynamics. In light of these, I've had a go a developing my own Lambert Problem solver. A short write-up of those efforts is attached to this post as a .pdf file.
Although other publicly available solvers are available, it may be of interest (or of use) to others to have a robust (and moderately fast) algorithm that can be implemented in a variety of programming languages and contexts. In the .pdf, I've set aside details of theory (steeped, as it is, in the Byzantine workings of the Kustaanheimo-Stiefel (KS) regularising transformation) and simply presented the algorithmic steps; a Python implementation (for multi-revolution elliptical case) of that algorithm; and some worked examples based on this Python implementation. The algorithm can be implemented in other languages and the Python code may serve as a template for doing this.
Should anyone really be perverse enough to want to come to grips with mathematical proofs, they should contact me and I'll do my best to oblige.
Enjoy.
Attachments
Last edited: