T+ 00:00 Range 0 m Closing 0 m/s Δv used 0.00 m/s ready FPS 0
Drag to orbit, wheel or pinch to zoom. Green: planned path, orange: flown path, blue: where it drifts if nothing more is fired. Models are enlarged for visibility when far apart.
Spacecraft Proximity Operations: Clohessy-Wiltshire Hops, V-bar and R-bar Approaches
A chaser spacecraft manoeuvres near a station in the rotating Hill frame (x up, y along the orbit, z out of plane). Plan a two-burn transfer, add burn errors, fire manual burns and see why orbital mechanics is counter-intuitive: speeding up moves you backwards.
Pause Reset Quality: High Planned burns: on
Start state and aim point (applied on Reset)
Start at rest Start with no-drift velocity
Burn quality and time
Camera
Frame both Follow chaser Station Enlarge models: on
Manual burns (impulsive)
Radial up (+x) Radial down (-x) Prograde (+y) Retrograde (-y) Cross-track +z Cross-track -z
Correct course now (re-plan to the same arrival time)
Live readouts
Relative path in the Hill frame (horizontal: along-track y, vertical: radial x)
Range to the station against time
Experiment 1: how does total Δv depend on transfer time?
For the current start and aim point, every transfer time from 0.1 to 1.9 orbits is solved (singular times at whole orbits are skipped). The plot shows total Δv of both burns; a longer coast generally costs less fuel.
Run Δv sweep
Experiment 2: where does the linear theory fail?
A V-bar hop (start at rest behind the station, aim at 10 % of that distance, half an orbit) is planned with the Clohessy-Wiltshire equations, then flown in full nonlinear two-body gravity with a 1 s Runge-Kutta integrator. The miss distance is the error of the linear model.
Run linearisation test
Independent numerical checks
Controls Drag / one finger: orbit; wheel / pinch: zoom. Camera buttons choose what is framed. Pick a preset or set the start state. Reset applies it. With "Planned burns" on, burn 1 fires at T+0 and burn 2 at arrival; switch it off to watch free drift or fly with manual burns only. Burn errors: each planned burn gets a random magnitude and pointing error (seeded and repeatable). Use "Correct course" in the middle of the coast to re-plan from the actual state. Manual burns are instantaneous velocity changes of the chosen size; the blue line always shows the free drift that follows.
The science
Rotating frame. The target is on a circular orbit of radius a with mean motion n = √(μ/a³), μ = 3.986004×10¹⁴ m³/s². Relative position (x radial, y along-track, z cross-track) of a nearby chaser obeys the linearised Clohessy-Wiltshire (Hill) equations ẍ = 3n²x + 2n ẏ, ÿ = −2n ẋ, z̈ = −n² z.
Closed-form solution. With c = cos nt, s = sin nt: x = (4−3c)x₀ + (s/n)ẋ₀ + (2/n)(1−c)ẏ₀, y = 6(s−nt)x₀ + y₀ − (2/n)(1−c)ẋ₀ + ((4s−3nt)/n)ẏ₀, z = z₀c + (ż₀/n)s. The simulation advances the state with this exact solution between burns, so there is no integration error. A bounded, non-drifting relative orbit needs ẏ₀ = −2n x₀; a chaser that starts at rest at height x₀ drifts by Δy = −12π x₀ per orbit (a higher chaser orbits more slowly and falls behind). For the general case the drift per orbit is Δy = −6π(2x₀ + ẏ₀/n).
Two-impulse transfer. To go from r₀ to rf in time T: v₀⁺ = Φrv ⁻¹ (rf − Φrr r₀), burn 1 = v₀⁺ − v₀, burn 2 = vf − v(T). The in-plane determinant (8 − 8cos nT − 3nT sin nT)/n² vanishes at whole orbits, where the problem has no solution; the cross-track part is singular at half orbits. Example with a closed form: a half-orbit V-bar hop from rest over distance d needs Δv = n d / 4 radial at each end.
Why linear is only an approximation. The equations drop terms of order (ρ/a)². At 1 km range the error is metres; at 50 km it is kilometres (Experiment 2). Real proximity operations are done well inside 10 km or with an exact (Lambert/Kepler) planner.
Simplifications. Impulsive burns (real burns last seconds to minutes), circular target orbit, no J2, drag, solar pressure or attitude dynamics, no collision-avoidance or approach-corridor rules, burn errors are Gaussian with the sigma you choose, Earth and Sun are fixed in the scene: the sun direction in the Hill frame really rotates once per orbit, and the Earth texture only turns at the orbital rate (no rotation of the planet). Spacecraft are enlarged when far apart, positions are always exact. Typical station and chaser sizes are illustrative. Not for mission planning. Models built with Blender, scene by Three.js.