Report Archive

Every report the project has published — investigations, audits, derivations, literature surveys, and per-file subsystem decks — indexed here so the site search reaches all of it. Entries run one line each: date, headline, and a dek saying what the piece establishes. Where a report carries no date, the work is evergreen mathematics.

The Project

  • 2026-06-14 · The 7-DOF Redundant Extension — A single digest chapter deriving how a seventh joint gives the free-flying manipulator one null-space self-motion, and how the coordinated controller finds, measures, and damps it.
  • 2026-07-02 · analysis — An adversarially verified whole-tree review of the guidance, control, and analysis code finding the implementation faithful to the equations, plus seven confirmed bugs and the latent pitfalls closest to the upcoming risk-aware work.
  • 2026-06-25 · Investigation — blast radius of the boresight + omega-ripple figure work — An audit confirming that two diagnostic figures changed no control behavior — the only controller additions are opt-in logging, and all reference simulation baselines remain byte-identical.

Analysis

  • 2026-06-23 · ast_duplication.py) — Documents a stdlib-only static-analysis tool that detects copy-paste-then-rename code duplication by hashing abstract-syntax-tree subtrees and scoring function pairs with a multiset Jaccard similarity.
  • 2026-06-23 · The originality gate — Establishes the policy that no two functions in the control software may be structural near-duplicates, sets an evidence-based similarity threshold, and logs every deliberately allowed exception with justification.
  • 2026-06-12 · Phase 00 metric definitions — handoff note for the analysis pipeline — Defines two performance metrics for the space-manipulator simulations — the 99th-percentile camera pointing error and a command-smoothness measure based on end-effector velocity jumps — including units, computation windows, and caveats.
  • 2026-06-05 · Analysis Pipeline — Plan for YAML-Driven Float & Boolean Comparisons — Traces how the simulation analysis pipeline was extended to run configuration comparisons defined entirely in YAML — producing overlay plots and sectioned PDF reports — and records the design findings and completed implementation steps.

GNC Investigations

  • 2026-06-22 · Controller twin extraction — BreveCoreController — Documents how twelve duplicated controller methods were hoisted into a shared base class, with five closed-loop baselines proving the refactor left the simulated trajectories byte-identical.
  • 2026-06-18 · GNC Code ↔ current_sota.md Cross-Check — A line-by-line audit verifying that the guidance and control code faithfully implements every equation in the project’s state-of-the-art derivation sheet, cataloguing the eight remaining sheet-versus-code discrepancies.
  • 2026-06-23 · dt(desired.p_e), and what it means for the floor — Shows the analytic feedforward velocity intentionally describes an idealized trajectory the loop never tracks, and concludes the end-effector position error sits at its architectural steady-state floor rather than above it.
  • 2026-06-23 · sign artifact or real tracking deficiency? — Measures the reported end-effector velocity error and shows it is a 54-degree direction offset with well-matched speed, correcting an earlier over-claim that the error was nearly orthogonal.
  • 2026-06-23 · TASK A — EE velocity residual: feedback symptom, or something else? — An A/B comparison proving the end-effector velocity tracking is healthy to within 1.6 percent, and that the apparent 54-degree error comes from an inconsistency between the feedforward velocity and the commanded pose schedule.
  • 2026-06-23 · The nu_e Situation — what the EE-twist variables are, how they flow, and what is actually dead — A structural code trace establishing that the end-effector twist signal is load-bearing in the control law, isolating the two genuinely dead remnants and explaining why the associated tracking metric compares vectors in mismatched frames.
  • 2026-06-16 · SOTA Control — 6-DOF Singularity Handling: how the controller changes as sigma_min falls — Traces the four-stage degradation cascade the controller follows as the arm approaches a kinematic singularity, and flags an ordering inversion where velocity-direction damping engages before the speed derate.
  • 2026-06-06 · Breve Controller — Plan to Nail Down the Base Spacecraft — An architecture audit of the coordinated controller’s inheritance chain that proposes locking down the spacecraft-base control layer first, with every refactor gated by bit-for-bit A/B reproduction of existing runs.
  • 2026-06-08 · Deep Research — Base-Attitude vs End-Effector Coupling in Free-Flying Space Manipulators — A cross-verified literature survey explaining why stiffening the spacecraft’s attitude controller degraded end-effector tracking: the field’s two opposing schools answer different questions, and the sweet spot is soft, low-bandwidth attitude regulation.
  • 2026-06-07 · Finish line — round 2 (Jun 7, 2026) — The story of the round-2 push: cruise speed nearly tripled to 0.90 m/s with every tracking loop retuned to match, full-helix coverage held, and the lessons learned about which knobs actually move inspection coverage.
  • 2026-06-08 · Jun08 — Graphify Knowledge Graph: Data Flow from Guidance Mode to Control Torque — A knowledge-graph trace of one control step through the full stack — from the guidance state machine’s chosen goal, through the robot’s kinematics, to the commanded control torque — laid out as a three-stage Goal, Geometry, Forces pipeline.
  • 2026-06-08 · B) — The approved design for killing the end-effector’s velocity lag at its root: precompute a smooth surface path synced to the inspection orbit and feed the arm an analytic velocity reference instead of a lag-inducing finite difference.
  • 2026-06-08 · perfect (Jun 7-8, 2026) — An honest negative result: both round-3 algorithmic changes passed a short 200-second gate but regressed on the full inspection trajectory and were reverted, establishing that refinements must be validated on the full helix and that the residual tracking error is architectural, not tunable.
  • 2026-06-06 · Singularity Handling in the GNC Stack — Inventory & Streamlining (LEGACY) — A historical inventory (since acted on) showing the system’s singularity protection ran through seven mechanisms and roughly fifteen configuration knobs governing just two scalar signals, and recommending they collapse to a single conditioning ramp.
  • 2026-06-09 · Inverse Jacobians and Singularity Avoidance for Redundant Free-Floating Space Manipulators — A methods survey, salvaged from a 33-source deep-research run with 57 adversarially verified claims, of how the literature inverts the generalized Jacobian of a space manipulator and avoids its singularities — from damped least-squares to redundancy resolution.
  • 2026-06-10 · Mission 1 Success — full-coverage inspection within the tracking budget — The first configuration to pass both mission gates at once — 99.9% surface coverage with a 99th-percentile camera position error of 0.165 m — plus a frank list of the model flaws (joint limits, envelope provenance, a residual singular factor) a committee will want addressed.
  • 2026-06-10 · The New Normal — EE Guidance After Mission-1 Adoption — How the camera guidance works after Mission-1 adoption: the old event-driven four-mode state machine collapses to one deterministic schedule with two phase labels, because the aim point is now simply the surface point at the vehicle’s achieved orbit progress.
  • 2026-06-12 · H2 code-path audit (cheap kills before statistics) — A line-by-line code audit run before any statistics, showing the suspected finite-difference tangent noise can never reach a command (its only consumer discards it) — killing one hypothesis for free.
  • 2026-06-12 · CHAIN_10 verdict — why is singularity so schedule-sensitive? — The pre-registered verdict on why the arm’s near-singular episodes are so sensitive to small schedule changes, adjudicating four hypotheses against peak-versus-control effect sizes from eight bitwise-faithful replay runs.
  • 2026-06-12 · CHAIN_10 offline forensics tables — The raw evidence behind the CHAIN_10 verdict: for each of eight runs, the top ten conditioning peaks with effect sizes measuring which candidate driver (reach, elbow angle, throttling, pointing error) separates peaks from calm windows.
  • 2026-06-12 · CHAIN_13 D2 — attribution audit: which mitigation layer owns the in-window error? — An audit apportioning the tracking-error mass inside the worst conditioning windows across the controller’s protection layers, showing the deepest fallback (hold-last-inverse) owns the error and the lighter regularization layers are acquitted.
  • 2026-06-12 · NO-GO table — The mid-study checkpoint splitting the singularity diagnosis by arm: the 6-joint arm’s problem is geometry (the demanded schedule really drags it to its reach wall), while the 7-joint arm’s problem is its own posture routing — a wall-clear route provably exists for the same demand.
  • 2026-06-12 · CHAIN_13 D1 — H3 closure: shoulder-frame reach at the κ peaks — A pre-registered test of whether geometric over-extension (shoulder-to-hand reach) drives the arm’s conditioning peaks: the effect clears the bar on only two of eight runs, so the hypothesis stays open rather than being forced closed.
  • 2026-06-12 · CHAIN_13 — L1 design probes: v1 falsified, lag owner located, order flipped — Design probes for the velocity-lag feedforward: the first design made tracking 2.7 times worse by re-energizing the loop past its safety throttle, and a term-by-term decomposition located the real dominant term — flipping the plan to fix the arm’s geometry first.
  • 2026-06-12 · CHAIN_13 L4 v2 — event-centered switch-transient adjudication — A pre-registered test of whether the controller’s freeze-release (‘thaw’) transients spike the camera’s pointing error enough to justify a softening fix: only two of five runs clear the bar, so the lever is rejected.
  • 2026-06-12 · CHAIN_13 lever R — full-helix verdict (reach corridor on the 6-DOF) — The full-trajectory verdict on shrinking the camera’s standoff distance: at 0.40 m the arm passes every registered gate, finishes the inspection 29% faster, and stays robust under speed perturbations — a complete adoption case left as the user’s call.
  • 2026-06-12 · CHAIN_13 D3 — schedule-κ oracle: calibration, then certification — A kinematics-only ‘oracle’ that predicts where a demanded inspection schedule will drive the arm near-singular: it nails all logged peaks for the 6-joint arm but fails calibration for the 7-joint arm, so its predictions are honestly declared uncitable there.
  • 2026-06-12 · Config Flag Audit — CHAIN_11 A1 Input — A key-by-key liveness audit of the two main configuration files, classifying 112 parameters as live, dormant, validation-only, or dead — the evidence base for pruning eighteen dead knobs from the system.
  • 2026-06-12 · CHAIN_13 D5 — H_norm pilot (offline, 8 Phase 00 runs) — A pilot of a spectral-entropy diagnostic measuring how evenly the arm Jacobian’s singular values share the spectrum: it separates conditioning-peak windows from calm ones on six of eight runs, earning a place as an offline diagnostic.
  • 2026-06-12 · Phase 00 round-1 verdict — configuration shootout + ±2% sensitivity probe — The pre-registered shootout of four arm-and-guidance configurations (6-joint versus 7-joint, scheduled versus reactive camera) over the full inspection trajectory, each also probed at plus and minus two percent cruise speed, with every metric’s meaning and gate spelled out.
  • 2026-06-12 · s_min_G vs s_min_J — redundancy study (CHAIN_11 A7) — A pre-registered study showing the two conditioning signals the system tracks (the full velocity-map’s and the arm Jacobian’s smallest singular values) are statistically redundant — rank correlation above 0.996 and perfect throttle-decision agreement — so one signal retires.
  • 2026-06-12 · Surface-path continuity (CHAIN_11 A4 — pre-registered bars) — Validation that the precomputed inspection surface path is smooth and gap-free on all three target spacecraft meshes, with every continuity, curvature, and endpoint metric passing its pre-registered bar.
  • 2026-06-13 · CHAIN_13 Decision 4 — 6-DOF-only schedule-κ oracle gate (re-run) — A pre-registered re-run of the kinematic singularity oracle shows it predicts near-singular conditions over most of the orbit, so it cannot localize where extra standoff would help and is parked in favor of the already-validated static reach corridor.
  • 2026-06-13 · CHAIN_13 — live reach-corridor sweep (below rs 0.40) — A full sweep of the arm’s reach-corridor standoff parameter, plus a state-noise robustness probe, confirms 0.40 as the adopted operating point: a smaller candidate’s singularity-free advantage collapses under realistic state-estimation noise.
  • 2026-06-13 · B) — A staged tuning study of the camera pointing-axis filter finds an apparent large improvement in short probes that inverts on the full mission: loosening the aim-rate limit was secretly protecting the arm from singular postures, so the retune is rejected.
  • 2026-06-13 · Pick Up the Pieces — catching up on June 12, 2026 — A plain-language synthesis of a full day of experiments: the four-architecture controller shootout produced a robust winner, a code deep-clean was proven behavior-preserving, and a reach-corridor tuning change emerged as the one adoption decision on the critical path.
  • 2026-06-14 · Overnight (Jun 14) — singularity levers L3 + L1: results for your call — Overnight autonomous runs deliver a disciplined rejection of a pointing retune — its apparent gains were an artifact of the vehicle slowing down — and reframe the velocity-lag feedforward problem with fresh data from the newly adopted operating point.
  • 2026-06-18 · Impedance Derating — What the live code actually does, and where a true speed-derate belongs — A verified code audit of the near-singularity throttling layer reveals that one scaling factor is applied in three inconsistent ways — the arm softens its gains while the base slows its commanded motion — and pinpoints where a true, symmetric speed reduction belongs.
  • 2026-06-19 · Near-singular tracking-corruption levers — plan (Jun 19) — A pre-registered plan for the next round of experiments: the campaign showed the singularity throttle itself is not the problem, so two levers targeting tracking corruption near singular arm postures are set up as falsifiable A/B tests with explicit pass criteria.
  • 2026-06-19 · INSIGHTS summary + cross-check (Jun 19 2026) — A verified digest of everything the project has learned — architecture decisions, failed ideas, encoded lessons, and standing footguns — culminating in a cross-check that surfaces two long-documented fixes still awaiting adoption.
  • 2026-06-23 · The Cruise-Lag Floor, the 54° Twist, and Why They Are One Story — A full derivation showing that the camera’s stubborn 0.107 m cruise tracking error is an architectural limit, not a tuning failure: the apparent 2.5x gap to the theoretical floor was an artifact of feeding the floor formula a feedforward velocity the arm never actually flies.

Mathematics

Research

  • 2026-06-09 · Best Start — Papers cited in research_report_1.md and deep_research_Jun08.md — Cross-references every paper cited in the first two research reports against the PDFs actually held on disk, identifying singularities and reaction null space as the focus cluster to acquire next.
  • 2026-07-02 · Index — Controls — A chronological reference index of the control literature for spacecraft and space manipulators, from classical optimal control through modern convex-optimization, MPC, and sliding-mode methods.
  • 2026-06-09 · Deep Research (paper-location pass) — Arm singularity & base–EE null-space coupling — A verified survey locating the key papers on manipulator singularities and reaction null space, concluding that upgrading the damped-inverse controller is better supported by the literature than adding a seventh joint.
  • 2026-07-02 · Index — Manipulators — A chronological reference index of the space-manipulator literature, covering kinematics, dynamics, trajectory planning, and singularity handling from the late 1980s to the present.

Subsystem Decks

One deck per source file — the guidance, control, and dynamics stack explained module by module.

  • 2026-07-02 · analytic_feedforward.py — Analytic EE Feedforward Twist — Derives the desired camera (end-effector) velocity and acceleration in closed form from the reference trajectory, replacing noisy finite-difference feedforward and measurably reducing pointing error.
  • 2026-07-02 · base_controller.py — BaseController — Documents the base-attitude-only variant of the coordinated controller, a diagnostic mode where all arm and camera terms are zeroed to isolate spacecraft attitude control.
  • 2026-07-02 · base_guidance.py — Base Guidance — Explains how the desired spacecraft base orientation is built offline as a roll-continuous frame sequence along the orbit and interpolated at runtime with geodesic (SLERP) blending on the rotation group.
  • 2026-07-02 · breve_controller.py — The Coordinated Controller — Walks through the working control law of the live coordinated controller, which regulates spacecraft attitude and camera pose together while the center-of-mass loop is handled separately.
  • 2026-07-02 · breve_core_controller.py — BreveCoreController — Describes the shared controller template that assembles the error Jacobians and block gain matrices common to both the base-only and full coordinated controllers.
  • 2026-07-02 · com_controller.py — CC_Controller (CoM root loop) — Shows how a change of coordinates block-diagonalizes the robot dynamics so the system center of mass obeys an isolated Newton’s law, driven by a simple PD force law.
  • 2026-07-02 · com_guidance.py — CoM Guidance — Details how the desired center-of-mass position, velocity, and acceleration are generated by tracking monotonic progress along the discrete inspection helix, with a smooth startup speed ramp and lookahead.
  • 2026-07-02 · detour_planner.py — Build-Time Coverage Predictor — Presents the offline oracle that replays a candidate camera aim-point schedule against the target’s surface model to predict what fraction of the surface area an orbit will inspect.
  • 2026-07-02 · ee_guidance.py — EE camera guidance — Explains how a scheduled surface aim point is turned into the desired camera position, pointing direction, and velocity, with the entire desired pose governed by a single standoff direction.
  • 2026-07-02 · guidance_classes.py — mode taxonomy & guidance records — Lays out the vocabulary of the guidance stack: the four-state camera-pointing state machine and the typed pose records that flow between the guidance layers.
  • 2026-07-02 · guidance_rollout.py — guidance-only rollout — Describes a fast simulation mode that integrates the guidance stack without the controller or plant dynamics, serving as a coverage and candidate-selection oracle over orbit windows.
  • 2026-07-02 · mesh.py — target satellite surface geometry — Covers the stateless geometry engine for the target satellite: triangle areas for the coverage metric, raycasting, area-uniform surface sampling, and the orbit-to-surface aim path.
  • 2026-07-02 · quintic_pose.py — C² EE Pose Reference — Derives the twice-differentiable camera pose reference: fifth-order polynomial position profiles paired with smoothly timed rotation interpolation, planned relative to the system center of mass.
  • 2026-07-02 · robot.py — Coupled Dynamics Core — Documents the dynamics core that builds, once per step, the coupled mass and Coriolis matrices, the center-of-mass decoupling transform, and the damped end-effector Jacobian for the free-flying manipulator.
  • 2026-07-02 · target_finder.py — FOV coverage & ANCHOR scoring — Explains how per-triangle camera hit counts yield both the area-coverage metric and a novelty score for ranking candidate viewpoints on the target’s surface.

Already on the front page

Standing pages linked from the masthead, indexed here so search finds them too.