# Lambert's problem

In celestial mechanics Lambert's problem is concerned with the determination of an orbit from two position vectors and the time of flight, solved by Johann Heinrich Lambert. It has important applications in the areas of rendezvous, targeting, guidance, and preliminary orbit determination.[1] Suppose a body under the influence of a central gravitational force is observed to travel from point P1 on its conic trajectory, to a point P2 in a time T. The time of flight is related to other variables by Lambert’s theorem, which states:

The transfer time of a body moving between two points on a conic trajectory is a function only of the sum of the distances of the two points from the origin of the force, the linear distance between the points, and the semimajor axis of the conic.[2]

Stated another way, Lambert's problem is the boundary value problem for the differential equation

${\displaystyle {\ddot {\bar {r}}}=-\mu \cdot {\frac {\hat {r}}{r^{2}}}\ \ }$

of the two-body problem for which the Kepler orbit is the general solution.

The precise formulation of Lambert's problem is as follows:

Two different times ${\displaystyle \ t_{1}\ ,\ t_{2}\ }$ and two position vectors ${\displaystyle {\bar {r}}_{1}=r_{1}{\hat {r}}_{1},\ {\bar {r}}_{2}=r_{2}{\hat {r}}_{2}\ }$ are given.

Find the solution ${\displaystyle {\bar {r}}(t)}$ satisfying the differential equation above for which

${\displaystyle {\bar {r}}(t_{1})={\bar {r}}_{1}}$
${\displaystyle {\bar {r}}(t_{2})={\bar {r}}_{2}.}$

## Initial geometrical analysis

Figure 1: ${\displaystyle F_{1}\ }$ : The centre of attraction ${\displaystyle P_{1}\ }$ : The point corresponding to vector ${\displaystyle {\bar {r}}_{1}\ }$ ${\displaystyle P_{2}\ }$ : The point corresponding to vector ${\displaystyle {\bar {r}}_{2}\ }$
Figure 2: Hyperbola with the points ${\displaystyle P_{1}\ }$ and ${\displaystyle P_{2}\ }$ as foci passing through ${\displaystyle F_{1}\ }$
Figure 3: Ellipse with the points ${\displaystyle F_{1}\ }$ and ${\displaystyle F_{2}\ }$ as foci passing through ${\displaystyle P_{1}\ }$ and ${\displaystyle P_{2}\ }$

The three points

${\displaystyle F_{1}\ }$
The centre of attraction
${\displaystyle P_{1}\ }$
The point corresponding to vector ${\displaystyle {\bar {r}}_{1}\ }$
${\displaystyle P_{2}\ }$
The point corresponding to vector ${\displaystyle {\bar {r}}_{2}\ }$

form a triangle in the plane defined by the vectors ${\displaystyle {\bar {r}}_{1}\ }$ and ${\displaystyle {\bar {r}}_{2}\ }$ as illustrated in figure 1. The distance between the points ${\displaystyle P_{1}\ }$ and ${\displaystyle P_{2}\ }$ is ${\displaystyle 2d\ }$, the distance between the points ${\displaystyle P_{1}\ }$ and ${\displaystyle F_{1}\ }$ is ${\displaystyle r_{1}=r_{m}-A\ }$ and the distance between the points ${\displaystyle P_{2}\ }$ and ${\displaystyle F_{1}\ }$ is ${\displaystyle r_{2}=r_{m}+A\ }$. The value ${\displaystyle A\ }$ is positive or negative depending on which of the points ${\displaystyle P_{1}\ }$ and ${\displaystyle P_{2}\ }$ that is furthest away from the point ${\displaystyle F_{1}\ }$. The geometrical problem to solve is to find all ellipses that go through the points ${\displaystyle P_{1}\ }$ and ${\displaystyle P_{2}\ }$ and have a focus at the point ${\displaystyle F_{1}\ }$

The points ${\displaystyle F_{1}\ }$, ${\displaystyle P_{1}\ }$ and ${\displaystyle P_{2}\ }$ define a hyperbola going through the point ${\displaystyle F_{1}\ }$ with foci at the points ${\displaystyle P_{1}\ }$ and ${\displaystyle P_{2}\ }$. The point ${\displaystyle F_{1}\ }$ is either on the left or on the right branch of the hyperbola depending on the sign of ${\displaystyle A\ }$. The semi-major axis of this hyperbola is ${\displaystyle |A|\ }$ and the eccentricity ${\displaystyle E\ }$ is ${\displaystyle {\frac {d}{|A|}}\ }$. This hyperbola is illustrated in figure 2.

Relative the usual canonical coordinate system defined by the major and minor axis of the hyperbola its equation is

${\displaystyle {\frac {x^{2}}{A^{2}}}-{\frac {y^{2}}{B^{2}}}=1\quad (1)}$

with

${\displaystyle B=|A|{\sqrt {E^{2}-1}}={\sqrt {d^{2}-A^{2}}}\quad (2)}$

For any point on the same branch of the hyperbola as ${\displaystyle F_{1}\ }$ the difference between the distances ${\displaystyle r_{2}\ }$ to point ${\displaystyle P_{2}\ }$ and ${\displaystyle r_{1}\ }$ to point ${\displaystyle P_{1}\ }$ is

${\displaystyle r_{2}-r_{1}=2A\quad (3)}$

For any point ${\displaystyle F_{2}\ }$ on the other branch of the hyperbola corresponding relation is

${\displaystyle s_{1}-s_{2}=2A\quad (4)}$

i.e.

${\displaystyle r_{1}+s_{1}=r_{2}+s_{2}\quad (5)}$

But this means that the points ${\displaystyle P_{1}\ }$ and ${\displaystyle P_{2}\ }$ both are on the ellipse having the focal points ${\displaystyle F_{1}\ }$ and ${\displaystyle F_{2}\ }$ and the semi-major axis

${\displaystyle a={\frac {r_{1}+s_{1}}{2}}={\frac {r_{2}+s_{2}}{2}}\quad (6)}$

The ellipse corresponding to an arbitrary selected point ${\displaystyle F_{2}\ }$ is displayed in figure 3.

## Solution of Lambert's problem assuming an elliptic transfer orbit

First one separates the cases of having the orbital pole in the direction ${\displaystyle {\bar {r}}_{1}\times {\bar {r}}_{2}\ }$ or in the direction ${\displaystyle -{\bar {r}}_{1}\times {\bar {r}}_{2}\ }$. In the first case the transfer angle ${\displaystyle \alpha }$ for the first passage through ${\displaystyle {\bar {r}}_{2}}$ will be in the interval ${\displaystyle \ 0<\alpha <180^{\circ }}$ and in the second case it will be in the interval ${\displaystyle 180^{\circ }<\alpha <360^{\circ }}$. Then ${\displaystyle {\bar {r}}(t)}$ will continue to pass through ${\displaystyle {\bar {r}}_{2}}$ every orbital revolution.

In case ${\displaystyle {\bar {r}}_{1}\times {\bar {r}}_{2}\ }$ is zero, i.e. ${\displaystyle {\bar {r}}_{1}}$ and ${\displaystyle {\bar {r}}_{2}\ }$ have opposite directions, all orbital planes containing corresponding line are equally adequate and the transfer angle ${\displaystyle \alpha }$ for the first passage through ${\displaystyle {\bar {r}}_{2}}$ will be ${\displaystyle 180^{\circ }}$.

For any ${\displaystyle \alpha }$ with ${\displaystyle \ 0<\alpha <\infty }$ the triangle formed by ${\displaystyle P_{1}\ }$, ${\displaystyle P_{2}\ }$ and ${\displaystyle F_{1}\ }$ are as in figure 1 with

${\displaystyle d={\frac {\sqrt {{r_{1}}^{2}+{r_{2}}^{2}-2r_{1}r_{2}\cos \alpha }}{2}}\quad (7)}$

and the semi-major axis (with sign!) of the hyperbola discussed above is

${\displaystyle A={\frac {r_{2}-r_{1}}{2}}\quad (8)}$

The eccentricity (with sign!) for the hyperbola is

${\displaystyle E={\frac {d}{A}}\quad (9)}$

and the semi-minor axis is

${\displaystyle B=|A|{\sqrt {E^{2}-1}}={\sqrt {d^{2}-A^{2}}}\quad (10)}$

The coordinates of the point ${\displaystyle F_{1}\ }$ relative the canonical coordinate system for the hyperbola are (note that ${\displaystyle E}$ has the sign of ${\displaystyle r_{2}-r_{1}}$)

${\displaystyle x_{0}=-{\frac {r_{m}}{E}}\quad (11)}$
${\displaystyle y_{0}=B{\sqrt {{\left({\frac {x_{0}}{A}}\right)}^{2}-1}}\quad (12)}$

where

${\displaystyle r_{m}={\frac {r_{2}+r_{1}}{2}}\quad (13)}$

Using the y-coordinate of the point ${\displaystyle F_{2}\ }$ on the other branch of the hyperbola as free parameter the x-coordinate of ${\displaystyle F_{2}\ }$ is (note that ${\displaystyle A}$ has the sign of ${\displaystyle r_{2}-r_{1}}$)

${\displaystyle x=A{\sqrt {1+{\left({\frac {y}{B}}\right)}^{2}}}\quad (14)}$

The semi-major axis of the ellipse passing through the points ${\displaystyle P_{1}\ }$ and ${\displaystyle P_{2}\ }$ having the foci ${\displaystyle F_{1}\ }$ and ${\displaystyle F_{2}\ }$ is

${\displaystyle a={\frac {r_{1}+s_{1}}{2}}={\frac {r_{2}+s_{2}}{2}}\ ={\frac {r_{m}+Ex}{2}}\quad (15)}$

The distance between the foci is

${\displaystyle {\sqrt {{(x_{0}-x)}^{2}+{(y_{0}-y)}^{2}}}\quad (16)}$

and the eccentricity is consequently

${\displaystyle e={\frac {\sqrt {{(x_{0}-x)}^{2}+{(y_{0}-y)}^{2}}}{2a}}\quad (17)}$

The true anomaly ${\displaystyle \theta _{1}}$ at point ${\displaystyle P_{1}\ }$ depends on the direction of motion, i.e. if ${\displaystyle \sin \alpha }$ is positive or negative. In both cases one has that

${\displaystyle \cos \theta _{1}=-{\frac {(x_{0}+d)f_{x}+y_{0}f_{y}}{r_{1}}}\quad (18)}$

where

${\displaystyle f_{x}={\frac {x_{0}-x}{\sqrt {{(x_{0}-x)}^{2}+{(y_{0}-y)}^{2}}}}\quad (19)}$
${\displaystyle f_{y}={\frac {y_{0}-y}{\sqrt {{(x_{0}-x)}^{2}+{(y_{0}-y)}^{2}}}}\quad (20)}$

is the unit vector in the direction from ${\displaystyle F_{2}}$ to ${\displaystyle F_{1}}$ expressed in the canonical coordinates.

If ${\displaystyle \sin \alpha }$ is positive then

${\displaystyle \sin \theta _{1}={\frac {(x_{0}+d)f_{y}-y_{0}f_{x}}{r_{1}}}\quad (21)}$

If ${\displaystyle \sin \alpha }$ is negative then

${\displaystyle \sin \theta _{1}=-{\frac {(x_{0}+d)f_{y}-y_{0}f_{x}}{r_{1}}}\quad (22)}$

With

• semi-major axis
• eccentricity
• initial true anomaly

being known functions of the parameter y the time for the true anomaly to increase with the amount ${\displaystyle \alpha }$ is also a known function of y. If ${\displaystyle t_{2}-t_{1}}$ is in the range that can be obtained with an elliptic Kepler orbit corresponding y value can then be found using an iterative algorithm.

In the special case that ${\displaystyle r_{1}=r_{2}}$ (or very close) ${\displaystyle A=0}$ and the hyperbola with two branches deteriorates into one single line orthogonal to the line between ${\displaystyle P_{1}}$ and ${\displaystyle P_{2}}$ with the equation

${\displaystyle x=0\quad (1')}$

Equations (11) and (12) are then replaced with

${\displaystyle x_{0}=0\quad (11')}$
${\displaystyle y_{0}={\sqrt {{r_{m}}^{2}-d^{2}}}\quad (12')}$

(14) is replaced by

${\displaystyle x=0\quad (14')}$

and (15) is replaced by

${\displaystyle a={\frac {r_{m}+{\sqrt {d^{2}+y^{2}}}}{2}}\quad (15')}$

## Numerical example

Figure 4: The transfer time with  : r1 = 10000 km : r2 = 16000 km : α = 120° as a function of y when y varies from −20000 km to 50000 km. The transfer time decreases from 20741 seconds with y = −20000 km to 2856 seconds with y = 50000 km. For any value between 2856 seconds and 20741 seconds the Lambert's problem can be solved using an y-value between −20000 km and 50000 km

Assume the following values for an Earth centred Kepler orbit

• r1 = 10000 km
• r2 = 16000 km
• α = 100°

These are the numerical values that correspond to figures 1, 2, and 3.

Selecting the parameter y as 30000 km one gets a transfer time of 3072 seconds assuming the gravitational constant to be ${\displaystyle \mu }$ = 398603 km3/s2. Corresponding orbital elements are

• semi-major axis = 23001 km
• eccentricity = 0.566613
• true anomaly at time t1 = −7.577°
• true anomaly at time t2 = 92.423°

This y-value corresponds to Figure 3.

With

• r1 = 10000 km
• r2 = 16000 km
• α = 260°

one gets the same ellipse with the opposite direction of motion, i.e.

• true anomaly at time t1 = 7.577°
• true anomaly at time t2 = 267.577° = 360° − 92.423°

and a transfer time of 31645 seconds.

The radial and tangential velocity components can then be computed with the formulas (see the Kepler orbit article)

${\displaystyle V_{r}={\sqrt {\frac {\mu }{p}}}\cdot e\cdot \sin \theta \ }$
${\displaystyle V_{t}={\sqrt {\frac {\mu }{p}}}\cdot (1+e\cdot \cos \theta ).}$

The transfer times from P1 to P2 for other values of y are displayed in Figure 4.

## Practical applications

The most typical use of this algorithm to solve Lambert's problem is certainly for the design of interplanetary missions. A spacecraft traveling from the Earth to for example Mars can in first approximation be considered to follow a heliocentric elliptic Kepler orbit from the position of the Earth at the time of launch to the position of Mars at the time of arrival. By comparing the initial and the final velocity vector of this heliocentric Kepler orbit with corresponding velocity vectors for the Earth and Mars a quite good estimate of the required launch energy and of the maneuvres needed for the capture at Mars can be obtained. This approach is often used in conjunction with the patched conic approximation. This is also a method for orbit determination. If two positions of a spacecraft at different times are known with good precision from for example a GPS fix the complete orbit can be derived with this algorithm, i.e. an interpolation and an extrapolation of these two position fixes is obtained.

## Open source code to solve Lambert's problem

From MATLAB central

PyKEP a Python library for space flight mechanics and astrodynamics (contains a Lambert's solver, implemented in C++ and exposed to python via boost python)

## References

1. ^ E. R. Lancaster & R. C. Blanchard, A Unified Form of Lambert’s Theorem, Goddard Space Flight Center, 1968
2. ^ James F. Jordon, The Application of Lambert’s Theorem to the Solution of Interplanetary Transfer Problems, Jet Propulsion Laboratory, 1964