Skip to the lesson
FixTheRobot Explore Robotics / Guidance, Navigation and Control / M11 Spacecraft and Rocket GNC / M11-T2

Guidance, Navigation and Control · Theory · M11

M11-T2 — Relative Motion and Rendezvous

Near a circular orbit, the motion of one spacecraft relative to another is a linear system with a surprise in it: pushing up makes you drift backward.

  • Lesson 2 of 6
  • Advanced
  • Module 11: Spacecraft and Rocket GNC
  • Theory
  • About 15 minutes to read

Rendezvous is a guidance problem in a frame where intuition fails. Two spacecraft in nearby circular orbits move relative to each other under gravity and the rotation of the frame in which their separation is measured, and the result is a linear system, the Clohessy-Wiltshire (Hill) equations, with closed-form solutions. This lesson derives them, shows that a radial offset produces an along-track drift of 12π times the offset per orbit, plans a two-impulse transfer from 1000 m behind a target to a hold point 20 m behind, checks it against the nonlinear two-body motion, and gives the cost of a straight-line approach.

Learning objectives

After this lesson, you should be able to:

  • State the Clohessy-Wiltshire equations and their closed-form state transition matrix.
  • Explain the drift of a chaser from a radial offset and the condition for bounded relative motion.
  • Plan a two-impulse transfer between two points of the relative frame and find its delta-v against the transfer time.
  • Say how far the linear equations remain accurate.

The intuition

UAV M5-T4: Quaternion-based orientation treats the attitude of a vehicle; M11-T1: Orbits for Guidance: Elements, Energy and Delta-v gave the orbit of one spacecraft. Rendezvous asks about two: where is the chaser relative to the target, and what burn takes it to a chosen point? Hopper's landing is a rendezvous with a pad in a uniform gravity field; the orbital version is stranger, because the frame rotates.

The frame and the equations

Fix a frame to the target on a circular orbit: x radially outward, y along the direction of motion, z out of the plane. The target's mean motion is nn (1.131×10⁻³ rad/s at 400 km, a period of 92.6 min). For a chaser close to the target (distance much smaller than the orbit radius), subtracting the two gravity fields and including the Coriolis and centrifugal terms of the rotating frame gives a linear system with constant coefficients:

x¨=3n2x+2ny˙+ax\ddot{x} = 3n^2x + 2n\dot{y} + a_x, y¨=−2nx˙+ay\ddot{y} = -2n\dot{x} + a_y, z¨=−n2z+az\ddot{z} = -n^2z + a_z. These are the Clohessy-Wiltshire equations. The out-of-plane motion is a separate oscillator at the orbital rate.

The counter-intuitive drift

A chaser 100 m above the target with no relative velocity does not stay there or fall toward the target. After one orbit it is back at the same height but 3770 m behind: Δy=−12πx0\Delta y = -12\pi x_0 per orbit. The reason is energy: at the higher radius the chaser has the target's speed but not the circular speed for that radius, so it falls into a different orbit with a different period. Bounded relative motion needs an along-track velocity of y˙0=−2nx0\dot{y}_0 = -2nx_0 (−0.226 m/s for 100 m): then the chaser moves on a 2:1 ellipse and returns to its start.

A transfer

Given the initial relative state and a time tt, the equations are solved for the impulse that takes the chaser to a chosen position. Starting 1000 m behind and arriving at a hold point 20 m behind in half an orbit (46 min) needs a first burn of 0.277 m/s radially (down) and a second burn of the same size to stop: 0.554 m/s in total. Longer transfers are cheaper: a quarter orbit costs 1.51 m/s, three quarters 0.22 and a full orbit 0.12 m/s. The path swings 245 m below the target's orbit.

A half-orbit two-impulse transfer in the frame of the targetThe path of the chaser in the target frame, along-track on the horizontal axis and radial on the vertical axis. It starts 1000 metres behind the target at zero radial offset, is given a small radial velocity of minus 0.28 metres per second, dips below the target orbit by about 245 metres, and arrives 20 metres behind the target on the same orbit after 46 minutes, where a second burn of the same size stops it.-1100-900-700-500-300-100100-300-200-1000100200300along-track position relative to the target (m); the target is at 0radial (up) (m) start: 1000 m behind hold point 20 m behind target
A half-orbit two-impulse transfer in the target frame. The chaser dips below the target orbit and rises back, arriving 20 m behind it.

How far the linear equations hold

Checked against the nonlinear two-body equations after half an orbit, the difference is 0.20 m for a 100 m separation, 1.5 m for 1 km and 145 m for 10 km: the error grows as the square of the separation. The approximation is excellent for approach manoeuvres inside a few kilometres.

Near a circular orbit the relative motion is linear. A radial offset drifts you backward by 12π times the offset each orbit, bounded motion needs ẏ = −2nx, and a transfer between two relative positions has a closed-form delta-v that falls as the time grows.

Definitions

Target frame (LVLH)
Local vertical, local horizontal: x radially outward, y along the target's velocity, z along the orbit normal (completing the set).
Mean motion nn
n=μ/R3n = \sqrt{\mu/R^3} of the target's circular orbit.
Clohessy-Wiltshire (Hill) equations
The linearized relative equations of motion in the target frame for a chaser near a circular orbit.
V-bar, R-bar
The lines along the target's velocity (yy axis) and along its radius (xx axis) used for approach.
Hold point
A point near the target at which the chaser stops relative to it before the final approach.
The Clohessy-Wiltshire equations
x¨=3n2x+2ny˙+ax,y¨=−2nx˙+ay,z¨=−n2z+az\ddot{x} = 3n^2x + 2n\dot{y} + a_x,\qquad \ddot{y} = -2n\dot{x} + a_y,\qquad \ddot{z} = -n^2z + a_z
The term 3n²x is the difference of gravity with height (tidal) plus the centrifugal term; the terms ±2n are Coriolis. The thrust accelerations a are per unit mass.
The solution without thrust
x(t)=(4−3cos⁡nt) x0+sin⁡ntn x˙0+2(1−cos⁡nt)n y˙0y(t)=6(sin⁡nt−nt) x0+y0+2(cos⁡nt−1)n x˙0+4sin⁡nt−3ntn y˙0\begin{aligned}x(t) &= (4 - 3\cos nt)\,x_0 + \tfrac{\sin nt}{n}\,\dot{x}_0 + \tfrac{2(1 - \cos nt)}{n}\,\dot{y}_0\\ y(t) &= 6(\sin nt - nt)\,x_0 + y_0 + \tfrac{2(\cos nt - 1)}{n}\,\dot{x}_0 + \tfrac{4\sin nt - 3nt}{n}\,\dot{y}_0\end{aligned}
The in-plane position at time t from the initial state. The velocity components follow by differentiation; together they form the state transition matrix used to plan transfers.

Derivation: the equations, the drift and the transfer

The relative acceleration in the rotating frame.

  1. r¨c−r¨t=−μ(rcrc3−rtrt3)\ddot{\mathbf{r}}_c - \ddot{\mathbf{r}}_t = -\mu\left(\dfrac{\mathbf{r}_c}{r_c^3} - \dfrac{\mathbf{r}_t}{r_t^3}\right)

    The difference of the gravitational accelerations of chaser and target in the inertial frame (no thrust).

  2. rcrc3≈rt+ρrt3(1−3 ρxrt)\dfrac{\mathbf{r}_c}{r_c^3} \approx \dfrac{\mathbf{r}_t + \boldsymbol\rho}{r_t^3}\left(1 - \dfrac{3\,\rho_x}{r_t}\right)

    Expand about the target for a separation ρ\boldsymbol\rho much smaller than the orbit radius, to first order.

  3. ρ¨+2ω×ρ˙+ω×(ω×ρ)=−μrt3(ρ−3ρxx^)\ddot{\boldsymbol\rho} + 2\boldsymbol\omega\times\dot{\boldsymbol\rho} + \boldsymbol\omega\times(\boldsymbol\omega\times\boldsymbol\rho) = -\dfrac{\mu}{r_t^3}\left(\boldsymbol\rho - 3\rho_x\hat{\mathbf{x}}\right)

    Transform to the frame rotating at ω=nz^\boldsymbol\omega = n\hat{\mathbf{z}}: Coriolis and centrifugal terms appear on the left.

  4. x¨=3n2x+2ny˙, y¨=−2nx˙, z¨=−n2z\ddot{x} = 3n^2x + 2n\dot{y},\ \ddot{y} = -2n\dot{x},\ \ddot{z} = -n^2z

    Use μ/rt3=n2\mu/r_t^3 = n^2 and write out the components: the CW equations.

The drift

  1. y(t)=6(sin⁡nt−nt) x0(x˙0=y˙0=0,y0=0)y(t) = 6(\sin nt - nt)\,x_0\quad(\dot{x}_0 = \dot{y}_0 = 0, y_0 = 0)

    The along-track solution for a pure radial offset.

  2. y(2π/n)=−12π x0y(2\pi/n) = -12\pi\,x_0

    After one orbit sin⁡nt=0\sin nt = 0 and nt=2πnt = 2\pi: the chaser has drifted 12πx012\pi x_0 backward for an offset above the target (for x0=100x_0 = 100 m: 3770 m).

  3. y˙0=−2n x0  ⇒  y(t)=bounded\dot{y}_0 = -2n\,x_0 \;\Rightarrow\; y(t) = \text{bounded}

    The secular term in y is (−6nx0−3ny˙0) t(-6nx_0 - 3n\dot{y}_0)\,t, which vanishes when y˙0=−2nx0\dot{y}_0 = -2nx_0: the 2:1 ellipse of bounded relative motion.

The two-impulse transfer

  1. r(t)=Φrrr0+Φrvv0+\mathbf{r}(t) = \boldsymbol\Phi_{rr}\mathbf{r}_0 + \boldsymbol\Phi_{rv}\mathbf{v}_0^+

    The position at time t from the position and the velocity just after the first burn: Φrr\boldsymbol\Phi_{rr} and Φrv\boldsymbol\Phi_{rv} are the 2 × 2 blocks of the solution above.

  2. v0+=Φrv−1(rf−Φrrr0)\mathbf{v}_0^+ = \boldsymbol\Phi_{rv}^{-1}\left(\mathbf{r}_f - \boldsymbol\Phi_{rr}\mathbf{r}_0\right)

    Solve for the velocity that arrives at the target position rf\mathbf{r}_f. The first impulse is this minus the initial velocity; the second is minus the arrival velocity (to stop).

  3. Δv1=∥v0+−v0∥,  Δv2=∥vf−−vf∥\Delta v_1 = \|\mathbf{v}_0^+ - \mathbf{v}_0\|,\ \ \Delta v_2 = \|\mathbf{v}_f^- - \mathbf{v}_f\|

    The two costs; they are equal here by the symmetry of the transfer.

The CW equations are the linearization of two-body gravity in a rotating frame. Their solution makes a transfer a 2 × 2 linear solve, and shows that along-track position is the quantity that drifts, at a rate set by the energy difference.

A worked example

A target on a circular 400 km orbit (n=1.1314×10−3n = 1.1314\times10^{-3} rad/s, period 92.56 min).

  1. Drift. A chaser 100 m above the target with no relative velocity is at +100.00 m radially and −3769.9 m along-track after one orbit (the formula −12πx0-12\pi x_0 gives −3769.9 m).
  2. Bounded motion. With the along-track speed −0.2263 m/s (= −2nx₀) the drift disappears: after one orbit the chaser is at (+100.00, +0.00) m.
  3. Transfer. From 1000 m behind (at rest relative to the target) to 20 m behind: transfer time 0.25, 0.5, 0.75, 1.0, 1.5 orbits give total delta-v 1.508, 0.554, 0.224, 0.118, 0.554 m/s (23, 46, 69, 93, 139 min). The half-orbit transfer: first burn (−0.277, 0.000) m/s in (radial, along-track), a radial swing of 245 m.
  4. Nonlinear check. After half an orbit with a 0.5 m/s radial kick, the CW prediction differs from the full two-body motion by 0.20 m (100 m separation), 1.53 m (1 km) and 145 m (10 km).
  5. Straight-line approach. Holding a constant closing speed along the velocity bar needs a radial acceleration ax=2nva_x = 2nv of 2.26×10⁻⁴ m/s² (23 µg) at 0.1 m/s, 1.13×10⁻³ (115 µg) at 0.5 m/s and 2.26×10⁻³ (231 µg) at 1.0 m/s. Closing 980 m takes 163, 33 and 16 min, and the braking delta-v is about the closing speed.
import math
import gnckit as g

MU, RE = 3.986004418e14, 6378137.0
R0 = RE + 400e3
n = math.sqrt(MU / R0 ** 3)
Torb = 2 * math.pi / n
print(f'target on a circular 400 km orbit: mean motion n = {n:.4e} rad/s, period {Torb / 60:.2f} min')

def cw_phi(t):
    """Clohessy-Wiltshire state transition for (x radial up, y along track, xdot, ydot); the out-of-plane motion is a separate oscillator."""
    s, c = math.sin(n * t), math.cos(n * t)
    Prr = [[4 - 3 * c, 0.0], [6 * (s - n * t), 1.0]]
    Prv = [[s / n, 2 * (1 - c) / n], [2 * (c - 1) / n, (4 * s - 3 * n * t) / n]]
    Pvr = [[3 * n * s, 0.0], [6 * n * (c - 1), 0.0]]
    Pvv = [[c, 2 * s], [-2 * s, 4 * c - 3]]
    return Prr, Prv, Pvr, Pvv

def propagate(r0, v0, t):
    Prr, Prv, Pvr, Pvv = cw_phi(t)
    r = [sum(Prr[i][j] * r0[j] for j in range(2)) + sum(Prv[i][j] * v0[j] for j in range(2)) for i in range(2)]
    v = [sum(Pvr[i][j] * r0[j] for j in range(2)) + sum(Pvv[i][j] * v0[j] for j in range(2)) for i in range(2)]
    return r, v

print('Drift from a radial offset: a chaser 100 m above the target with no relative velocity')
r, v = propagate([100.0, 0.0], [0.0, 0.0], Torb)
print(f'  after one orbit the radial offset is {r[0]:+.2f} m and the along-track position {r[1]:+.1f} m (formula -12 pi x0 = {-12 * math.pi * 100:.1f} m per orbit)')
v0 = [0.0, -2 * n * 100.0]
r, v = propagate([100.0, 0.0], v0, Torb)
print(f'  with the along-track speed {v0[1]:+.4f} m/s (= -2 n x0) the drift disappears: after one orbit ({r[0]:+.2f}, {r[1]:+.2f}) m, and the motion is a 2:1 ellipse')

print('Two-impulse transfer from 1000 m behind the target (y = -1000 m, x = 0, at rest relative to it) to a hold point 20 m behind:')
rinit, rfin = [0.0, -1000.0], [0.0, -20.0]
def two_impulse(t):
    Prr, Prv, Pvr, Pvv = cw_phi(t)
    rhs = [rfin[i] - sum(Prr[i][j] * rinit[j] for j in range(2)) for i in range(2)]
    v1 = g.mat_solve(Prv, rhs)                       # the velocity just after the first burn
    rr, vv = propagate(rinit, v1, t)
    dv1 = math.hypot(*v1)
    dv2 = math.hypot(-vv[0], -vv[1])                 # stop at the hold point
    return dv1, dv2, v1, vv
print('  transfer time (fraction of an orbit)   dv1 (m/s)   dv2 (m/s)   total (m/s)   time (min)')
for frac in (0.25, 0.5, 0.75, 1.0, 1.5):
    t = frac * Torb
    dv1, dv2, v1, vv = two_impulse(t)
    print(f'  {frac:5.2f}                                {dv1:9.3f}   {dv2:9.3f}   {dv1 + dv2:10.3f}   {t / 60:9.1f}')
dv1, dv2, v1, vv = two_impulse(0.5 * Torb)
print(f'  half-orbit transfer: first burn ({v1[0]:+.3f}, {v1[1]:+.3f}) m/s in (radial, along-track); the path swings {max(abs(propagate(rinit, v1, k * Torb / 100)[0][0]) for k in range(51)):.0f} m radially')

print('Check against the nonlinear two-body motion (target on a circular orbit, chaser started from the same relative state):')
def two_body(state, dt):
    def f(t, s):
        r_ = math.hypot(s[0], s[1])
        return [s[2], s[3], -MU * s[0] / r_ ** 3, -MU * s[1] / r_ ** 3]
    return g.rk4_step(f, 0.0, state, dt)
def to_lvlh(tgt, cha, ang):
    """Relative position in the frame x = radial of the target, y = along its track (forward)."""
    dx, dy = cha[0] - tgt[0], cha[1] - tgt[1]
    ux, uy = tgt[0] / math.hypot(tgt[0], tgt[1]), tgt[1] / math.hypot(tgt[0], tgt[1])
    return dx * ux + dy * uy, -dx * uy + dy * ux
for sep in (100.0, 1000.0, 10000.0):
    # target at angle 0, speed along +y; the chaser is sep m behind along the track (y negative in the local frame)
    tgt = [R0, 0.0, 0.0, math.sqrt(MU / R0)]
    ang = -sep / R0
    cha = [R0 * math.cos(ang), R0 * math.sin(ang), -math.sin(ang) * math.sqrt(MU / R0) , math.cos(ang) * math.sqrt(MU / R0)]
    # give the chaser a 0.5 m/s radial kick so that the motion is not trivial
    cha[2] += 0.5 * math.cos(ang); cha[3] += 0.5 * math.sin(ang)
    t = 0.0; dt = 2.0
    # CW initial relative state
    rel0 = to_lvlh(tgt, cha, 0.0)
    cw_r0 = [rel0[0], rel0[1]]
    cw_v0 = [0.5, 0.0]
    while t < 0.5 * Torb:
        tgt = two_body(tgt, dt); cha = two_body(cha, dt); t += dt
    nl = to_lvlh(tgt, cha, 0.0)
    cw, _ = propagate(cw_r0, cw_v0, t)
    print(f'  separation {sep:7.0f} m, half an orbit: nonlinear ({nl[0]:+9.2f}, {nl[1]:+10.2f}) m, CW ({cw[0]:+9.2f}, {cw[1]:+10.2f}) m, difference {math.hypot(nl[0] - cw[0], nl[1] - cw[1]):8.2f} m')

print('Straight-line approach along the velocity bar (V-bar) at constant closing speed:')
for vc in (0.1, 0.5, 1.0):
    ax = 2 * n * vc
    print(f'  closing speed {vc:3.1f} m/s: radial acceleration needed to hold the line a_x = 2 n v = {ax:.2e} m/s2 ({ax / 9.80665 * 1e6:.0f} micro-g); time to close 980 m: {980 / vc / 60:6.1f} min; braking delta-v about {vc:.1f} m/s')
target on a circular 400 km orbit: mean motion n = 1.1314e-03 rad/s, period 92.56 min
Drift from a radial offset: a chaser 100 m above the target with no relative velocity
  after one orbit the radial offset is +100.00 m and the along-track position -3769.9 m (formula -12 pi x0 = -3769.9 m per orbit)
  with the along-track speed -0.2263 m/s (= -2 n x0) the drift disappears: after one orbit (+100.00, +0.00) m, and the motion is a 2:1 ellipse
Two-impulse transfer from 1000 m behind the target (y = -1000 m, x = 0, at rest relative to it) to a hold point 20 m behind:
  transfer time (fraction of an orbit)   dv1 (m/s)   dv2 (m/s)   total (m/s)   time (min)
   0.25                                    0.754       0.754        1.508        23.1
   0.50                                    0.277       0.277        0.554        46.3
   0.75                                    0.112       0.112        0.224        69.4
   1.00                                    0.059       0.059        0.118        92.6
   1.50                                    0.277       0.277        0.554       138.8
  half-orbit transfer: first burn (-0.277, +0.000) m/s in (radial, along-track); the path swings 245 m radially
Check against the nonlinear two-body motion (target on a circular orbit, chaser started from the same relative state):
  separation     100 m, half an orbit: nonlinear (    -0.74,   -1867.91) m, CW (    -0.60,   -1867.76) m, difference     0.20 m
  separation    1000 m, half an orbit: nonlinear (    -1.04,   -2767.91) m, CW (    -1.11,   -2766.38) m, difference     1.53 m
  separation   10000 m, half an orbit: nonlinear (   -10.69,  -11767.90) m, CW (   -52.23,  -11628.60) m, difference   145.36 m
Straight-line approach along the velocity bar (V-bar) at constant closing speed:
  closing speed 0.1 m/s: radial acceleration needed to hold the line a_x = 2 n v = 2.26e-04 m/s2 (23 micro-g); time to close 980 m:  163.3 min; braking delta-v about 0.1 m/s
  closing speed 0.5 m/s: radial acceleration needed to hold the line a_x = 2 n v = 1.13e-03 m/s2 (115 micro-g); time to close 980 m:   32.7 min; braking delta-v about 0.5 m/s
  closing speed 1.0 m/s: radial acceleration needed to hold the line a_x = 2 n v = 2.26e-03 m/s2 (231 micro-g); time to close 980 m:   16.3 min; braking delta-v about 1.0 m/s
The state transition blocks are evaluated in closed form; the transfer solves a 2 × 2 system with mat_solve; the nonlinear check integrates both spacecraft with rk4_step and converts to the target frame.

In robotics

Every rendezvous and proximity operation uses these equations or a close relative.

  • Approach corridors. Stations and servicing missions approach along the velocity bar (V-bar) or radial bar (R-bar), with a hold at about 20 m and a final approach at tens of centimetres per second. The equations give the delta-v and the drift the corridor must absorb.
  • Passive safety. A trajectory on which a failed chaser drifts away without hitting the target is designed with the bounded-motion condition and the drift direction in mind: the chaser below the target drifts ahead, above drifts behind.
  • Formation flying. A constellation maintained as a 2:1 relative ellipse needs only occasional corrections to cancel the along-track drift from small energy differences.
  • Cost against time. The delta-v of a transfer falls as the time grows (0.55 m/s in 46 min, 0.12 m/s in 93 min), so mission planners trade fuel for time: the least-fuel choices are slow and use drift.
  • Validity. The linear model is accurate to 1.5 m at 1 km after half an orbit but 145 m at 10 km: far-range phasing uses the orbital elements of the previous lesson, and near range the linear equations, with the correction applied by an onboard filter.

The lab M11-L2: Approach Along the Velocity Bar brings a chaser from 1 km to a hold point inside an approach corridor. The absolute orbits used for far-range phasing are in M11-T1: Orbits for Guidance: Elements, Energy and Delta-v; the navigation of the relative state uses the range and angle sensors of M7-T5: The Aiding Sensors of Aircraft and Spacecraft.

Common misconceptions

“To catch a target ahead of you in the same orbit, speed up.”

Speeding up raises your orbit, and a higher orbit is slower: you fall behind. To close on a target ahead, lower the orbit first so that you gain on it, then raise it again.

“A radial offset stays a radial offset.”

It turns into an along-track drift of 12π times the offset every orbit (3770 m for 100 m), unless the along-track velocity is set to −2nx₀.

“The CW equations are exact.”

They are a first-order approximation for a separation small against the orbit radius and a circular target orbit. The error grows as the square of the separation: 0.2 m at 100 m, 145 m at 10 km after half an orbit.

“A straight line in the target frame is a straight line in space.”

A constant closing speed along the velocity bar needs a continuous radial acceleration of 2nv (115 µg at 0.5 m/s) to cancel the Coriolis force; without it the path curves.

“A faster transfer is always better.”

It costs more delta-v: 1.51 m/s for a quarter orbit and 0.12 m/s for a full orbit. Fuel and time are traded, and the cheapest option is slow.

Key takeaways

  1. Near a circular orbit, relative motion obeys x¨=3n2x+2ny˙\ddot{x} = 3n^2x + 2n\dot{y}, y¨=−2nx˙\ddot{y} = -2n\dot{x}, z¨=−n2z\ddot{z} = -n^2z, with a closed-form solution.
  2. A radial offset x₀ produces an along-track drift of −12πx₀ per orbit: 3770 m for 100 m.
  3. Bounded relative motion needs ẏ₀ = −2nx₀: −0.226 m/s for a 100 m offset.
  4. A two-impulse transfer is a 2 × 2 solve: 1000 m behind to 20 m behind costs 0.554 m/s in half an orbit and 0.118 m/s in a full orbit.
  5. The equations are accurate to 0.2 m at 100 m, 1.5 m at 1 km and 145 m at 10 km after half an orbit.
  6. A constant-speed approach along V-bar needs a radial acceleration 2nv.

References and further reading

Each source is marked free or paid. Free to read does not mean free to reuse: the course resources page lists every source with its licence.

  • W. H. Clohessy and R. S. Wiltshire, "Terminal guidance system for satellite rendezvous", Journal of the Aerospace Sciences 27(9), 1960, the original paper. Paid.
  • H. D. Curtis, Orbital Mechanics for Engineering Students, 4th edition, Butterworth-Heinemann, 2020, the chapter on relative motion and rendezvous. Paid.
  • W. Fehse, Automated Rendezvous and Docking of Spacecraft, Cambridge University Press, 2003, the practical reference on approach strategies. Paid.
  • MIT 16.851 Satellite Engineering (OpenCourseWare) , which covers orbits and relative motion as part of satellite design. Free; licence CC BY-NC-SA 4.0.

Knowledge check

Three questions. Write an answer, then reveal the explanation. Your answers stay in your browser.

Question 1

A chaser is 200 m above a target in a 400 km orbit with no relative velocity. How far does it drift along track in one orbit, and what along-track velocity would prevent it?

Explanation

The drift is −12π x₀ = −12π × 200 = −7540 m, the chaser ends up 7.5 km behind. To prevent it, set the along-track speed to −2 n x₀ = −2 × 1.1314×10⁻³ × 200 = −0.453 m/s, which puts the chaser on the 2:1 relative ellipse that returns to its starting point every orbit.

Question 2

Why does the delta-v of a 1000 m to 20 m transfer fall from 0.554 m/s at half an orbit to 0.118 m/s at a full orbit?

Explanation

The transfer has to cover 980 m of along-track distance. A short transfer needs a large relative velocity, since distance is speed times time; a long one can use a small velocity, and near one full orbit the natural drift of the relative motion carries the chaser along the track so that very little is needed. The cost is time (93 min against 46 min), and it rises again at 1.5 orbits because the dynamics are then not helping in the same way (0.554 m/s again).

Question 3

The linear equations differ from the nonlinear motion by 145 m after half an orbit at a 10 km separation but only 0.2 m at 100 m. What does that say about their use?

Explanation

The error scales roughly as the square of the separation (100 times larger separation gives about 700 times larger error), since the neglected terms are second order. They are reliable for approaches inside a few kilometres, where a metre of error matters little to planning, and unreliable for far-range phasing at ten kilometres, where an orbit-element or nonlinear propagation should be used and the linear equations only for the final corrections.

What’s next

Practice this lesson

Approach Along the Velocity Bar

Bring a chaser from 1 km behind a station to a hold point at 20 m, inside an approach corridor, with the least delta-v, using the Clohessy-Wiltshire equations.

Next lesson

M11-T3 — Attitude Dynamics Without Air

Write Euler's equations, predict torque-free motion about each principal axis, and compute the gravity-gradient torque.

Nothing below is required to finish this lesson.

Other courses on this site treat neighbouring topics from their own angle:

This course leaves the following to the pages that already teach them:

  • Quaternion algebra and the rotation group
  • Mission design, launch windows and interplanetary transfers (outside the scope of this site)
  • Structural, thermal and propulsion design (outside the scope of this site)