Skip to content
QUATOPSY

Local-first orientation forensics

See where rotations go wrong.

Find, explain, and visualise quaternion attitude failures. Preserve the original evidence. Evaluate repair, trajectory, and controller candidates without handing software authority over physical hardware.

v0.2.1 Apache-2.0 Rust 1.97+ No account No telemetry
quatopsy.report/1Findings · 03
Recorded attitude evidence flows through explicit semantics and the conformance kernel to canonical findings, while repairs, plans, and control outputs remain separate candidates.

What component plots hide

Equivalent numbers can describe very different engineering stories.

Quatopsy keeps representation, physical motion, declared convention, time, and dynamics separate. A report tells you which obligation failed, where it failed, and what evidence supports that conclusion.

QAT-NORM-001

Norm drift

Expose invalid rotations before they contaminate downstream calculations.

QAT-SIGN-001

Sign discontinuity

Separate antipodal representation jumps from physical attitude motion.

QAT-CONV-001

Convention mismatch

Check declared quaternion semantics against supplied rotation matrices.

QAT-OMEGA-001

Rate inconsistency

Compare body angular velocity with quotient-aware quaternion kinematics.

QAT-UNWIND-001

Long-way command

Contrast a commanded path with the quotient-shortest orientation baseline.

QAT-PI-001

Half-turn ambiguity

Surface fragile near-pi intervals without inventing a unique repair.

One local evidence chain

Observed data stays observed. Candidates stay candidates.

The conformance kernel owns diagnostic verdicts. Adapters declare provenance, the viewer presents canonical evidence, and optional repair, planning, and control paths remain separately named outputs.

Quatopsy local-first architecture: recorded inputs and declared semantics enter adapters and the conformance kernel; canonical findings feed the static viewer and evidence bundle; repair, plan, and controller outputs remain optional candidates and are analysed separately.
Nothing is uploaded. Original trajectory inputs are read-only. A passing report is advisory evidence, not flight approval.

From symptom to handover

A forensic workflow, not a quaternion playground.

Diagnose

Canonical findings linked to exact samples.

Analyse declared CSV semantics with a closed rule registry, stable result states, deterministic identity, bounded resources, and privacy-conscious reproducers.

0pass1findings2refused
Visualise

Physical SO(3), projected S3, and time in sync.

A dependency-free static console keeps geometry, findings, evidence, raw values, and proposed state aligned by source-sample identity.

Investigate

Digest-bound incident evidence.

Copy source material, diagnostics, reproducers, viewers, and optional candidates into one verifiable local handover.

Plan

Bounded trajectory candidates.

Generate torque-limited rest-to-rest paths with declared actuator, keep-out, objective, and uncertainty models. Optimality is not claimed.

Control

Software-only GN&C evaluation.

Exercise geometric control, MEKF or UKF navigation, guidance, wheel allocation, SIL, host-CPU PIL, and loopback HIL without physical actuator authority.

Start with one trajectory

Install. Declare. Inspect.

Rust 1.97 or newer is the only runtime requirement. Quatopsy runs locally and writes explicit, separately named evidence.

Open the complete quick start ↗
# Install the released CLI
cargo install quatopsy --locked

# Analyse declared quaternion evidence
quatopsy analyze \
  --input trajectory.csv \
  --manifest manifest.json \
  --report report.json

result: findings
rule QAT-SIGN-001: finding (3)

Advisory by design

Evidence for engineering judgement. Never permission to command.

Quatopsy is early-stage, production-quality research software for local advisory evaluation. It is not flight approval, certification evidence, independent validation, or a production support commitment.

  • Physical actuator command refused
  • Hard real-time execution refused
  • Orbit determination out of scope
  • Original trajectories remain read-only

Follow the evidence

A rotation failure should be explainable down to the sample.