Lambert's problem
[vel1, vel2] = CL_man_vLambert(pos1, pos2, delta_t [[, meth, direction, nrev, branch, mu]])
This function solves Lambert's problem.
It Computes the velocity vectors vel1 and vel2, given the position vectors pos1 and pos2, and the time of flight delta_t.
Two methods are availalable and are specified using the argument meth:
- meth = 1 => less than one revolution only.
- meth = 2 => any number of revolutions. Method based on Dario Izzo's algorithm (see reference).
Set direction to 'pro' for a prograde orbit. That is a counter-clockwise rotation around the Z axis (this is the prograde direction for the solar system).
Set direction to 'retro' for a retrograde orbit. That is a clockwise rotation around the Z axis (this is the retrograde direction for the solar system).
If the selected method is 2, the number of revolutions nrev can be set to a value greater than 0, and in that case there are two solutions which can be selected using the argument branch.
Initial position vector [m] (3xN or 3x1)
Final position vector [m] (3xN or 3x1)
Time of flight from pos1 to pos2 [s] (1xN or 1x1)
(integer, optional) Selected method: 1 or 2. Default is 1. (1x1)
(optional) 'pro' for prograde, 'retro' for retrograde. Default is 'pro' (1x1)
(optional, only used if meth = 2) Number of full revolutions. Default is 0 (1x1)
(optional, only used if meth = 2) Selected branch: "left" or "right". Default is "right" (1x1)
(optional) Gravitational constant. Default is %CL_mu [m^3/s^2]
Initial velocity vector [m/s] (3xN)
Final velocity vector [m/s] (3xN)
CNES - DCT/SB
1) Orbital Mechanics for Engineering Students, H.D. Curtis, Section 5.3 and Appendix D.11 (algorithm 5.2)
2) Modern astrodynamics Fundamentals and perturbation methods, V Bond and M Allman, Chapter 6.2
3) Izzo, D. ESA Advanced Concepts team. Code used available in mga.m, on https://www.esa.int/gsp/ACT/projects/gtop. Last retrieved Oct, 2022.