An interactive landing lab. A 1200 kg rocket descends from
120 m over 30 seconds while you hit it with wind gusts from four sides, and
four grid fins and eight RCS thrusters fight to recover the vertical. Next to
the 3D scene the fin rotation matrices, the torque allocation and the state of
every thruster update frame by frame — free, in the browser, nothing to
install.
What the model computes
Six degrees of freedom integrated at 1/120 s, with a quaternion carrying
the orientation. The nominal descent is h(t) = 120 (1 − t/30)². The
engine is rigid and its axis passes through the centre of mass, so thrust
controls vertical motion only — tilting the vehicle produces no steering
moment by itself. Everything that rights the rocket has to come from the
fins and the thrusters.
How the vehicle is steered
Each grid fin produces a side force F = q S CLα δ, and the moment
about the centre of mass is r × F. A PD controller asks for a
torque; the pseudo-inverse of the allocation matrix turns that one
request into four fin deflections, limited to ±30° and 90°/s. Eight
thrusters in four pairs add a fixed 220 N per active nozzle, modulated in
50 ms pulses. This is the part worth watching: one desired torque, several
actuators, and a matrix deciding who does what.
What counts as a landing
A soft landing needs tilt under 8°, vertical speed under 2 m/s and
horizontal speed under 3 m/s at touchdown. Miss any of the three and the
run is scored as a hard landing. Because the wind is yours to choose, the
interesting question is not whether it lands but how much disturbance the
allocation can absorb before the fins saturate.
What it deliberately is not
An educational model. No CFD, no stall, no fuel slosh and no
changing mass; it does not hold horizontal position and does not promise
to return to the centre of the pad. The numbers are chosen to make the
control problem legible, not to reproduce any particular launch
vehicle.