✳ ASTROX/ 02
← MISSION ARCHIVE / GNC

BOREALIS · LANTERN 1689

TECHNICAL PROJECT / Dual-Quaternion GNC for Interplanetary Mission

Spacecraft GNC has traditionally treated rotation and translation as separate problems: attitude is parameterized by a unit quaternion evolving under q̇ = ½ q ⊗ ω, while translation is a Cartesian vector evolving under Newton's law. For decoupled tasks this is adequate, but for coupled six-degree-of-freedom (6-DOF) maneuvers — rendezvous, proximity operations, or a thrust-vector hold in which the body pointing and the orbital position must be commanded jointly — the separation forces hand-written cross-coupling terms and duplicated bookkeeping.

2026_07

Source code ↗

Challenge

A six-degree-of-freedom dual-quaternion GNC framework — comprising an error-state EKF, an LTV-LQR controller, ScLERP guidance and an SCvx trajectory planner — passed every numerical convergence test in isolation, yet the spacecraft tumbled uncontrollably when the loop was closed in real time against a Kerbal Space Program plant through the kRPC bridge. The framework was provably correct, so the failure had to lie in the sim-to-plant interface, where an idealized, latency-free design meets real coordinate conventions and discrete actuation.

Approach

Rather than tuning blindly, I instrumented the live loop step by step, logging the true angular velocity, the commanded control torque, the resulting actuator command and the true attitude error on a single line, and cross-checked each subsystem in isolated bench tests. This turned an opaque instability into a sequence of falsifiable hypotheses and localized the faults one at a time: a missing right-handed axis conversion that fed cross-axis rate damping, an inconsistent orbital reference, a lever-arm coupling that folded attitude error into the position channel, a one-step time skew in the estimator, and — decisively — an LQR gain two orders of magnitude too aggressive for the 0.1 s actuation cycle.

Outcome

Each fault was corrected at its root: consistent frame conversions, a decoupled Cartesian position error, suppression of the redundant estimator propagation, and a re-tuned Q/R ratio that brought the gain from ‖K‖≈6.4×10³ down to ≈2×10², restoring a stable margin while preserving damping. The vehicle achieved a stable 100 km Duna orbital hold, and the work yielded a reusable, documented methodology whose central lesson is that a convergence proof in a latency-free harness is necessary but not sufficient — a real-time controller must be re-tuned for the bandwidth of the physical actuator.

Tools

PythonNumPySciPyControl

MISSION CONSOLE / BROWSER RUN

BOREALIS · LANTERN 1689

Browser model · assumptions shown

Run a planar Clohessy–Wiltshire relative-motion approach with bounded control and a keep-out zone. The model runs locally in this browser; it does not execute unpublished source code.

INITIAL CONDITIONS / MODEL PARAMETERS

SCHEMATIC 3D / DRAG TO ROTATE

Illustrative geometry; not the original CAD model.

Adjust the conditions, then run the simulation.

Model assumptions and limits

RELATED / SHARED TECHNOLOGIES

LAST LIGHT

GNC Completed

LAST LIGHT ↗

TECHNICAL PROJECT / Robust 6-DOF Guidance, Navigation and Control for Autonomous Powered Descent Under Wind, Navigation Uncertainty and Partial Actuator Degradation

The objective is to recover a six-degree-of-freedom vehicle from an initially descending, laterally displaced and deliberately tilted state, reject atmospheric wind and sensor uncertainty, command thrust and two-axis t…

Run simulation ↗

Find your next destination.

TAB TO NAVIGATE · ENTER TO OPEN · ESC TO CLOSE