Skip to content

Design Decisions

docs/decisions/ in the repository holds design-rationale documents — implementation plans, roadmaps, and comparison research. They're intentionally not part of this built site (kept as a sibling of docs/source/, which is the docs_dir MkDocs actually reads) since they're working documents for contributors, not user-facing reference — but they're worth knowing about if you want the reasoning behind a feature, not just its usage docs.

As of 2026-08-31 this directory holds eight documents. Several previously separate files (a robot_calibration comparison, a MuJoCo sysid comparison, the quality/reporting roadmap that comparison produced, a TIAGo calibration analysis, and a TIAGo port review) were merged into two combined documents rather than kept as cross-linked siblings; a later TIAGo suspension/backlash port-review follow-up was split back into two focused documents (one done, one still proposed) rather than left as one growing combined file — the table below reflects the current state, not the historical filenames referenced by older commits.

Document What it covers
external-tool-comparisons.md Three parts in one file: Part A — comparison against robot_calibration (ROS 2 kinematic/sensor calibration) and the resulting calibration-composability adaptation roadmap. Part B — comparison against MuJoCo's sysid module. Part C — the full quality & reporting infrastructure roadmap Part B's comparison produced (the design rationale behind the Reporting & Verification suite, including why the compare page is a static two-run artifact rather than a run history/dashboard). Each part carries a verified implementation-status table.
tiago-calibration-and-port-review.md Two parts: Part A — deep structural/statistical analysis of the TIAGo/TIAGo Pro mocap calibration pipelines, including the base-parameter redistribution work now shipped in core. Part B — review of porting eye-hand calibration (still not started) and mobile-base/suspension identification (superseded by tiago-suspension-backlash-examples.md below, now done) from old branches.
tiago-suspension-backlash-examples.md Done. TIAGo generalized-base suspension identification and empirical backlash-surface examples, shipped as standalone research examples in figaroh-examples — what was ported, corrections made versus the historical prototype (gravity torque feature, polynomial degree, structurally-zero column handling), and known remaining gaps (no held-out train/validation split yet).
modular-linear-residual-terms-plan.md 🔬 Proposed, not started. Generic LinearRegressorTerm/ResidualTerm/WeightPolicy composition architecture for the identification layer (motivated by, but not required by, the suspension/backlash examples above), plus the still-unbuilt physical/stateful backlash model and its core-promotion gates.
figaroh-examples-improvement_plan.md Cross-example audit of UR10/TIAGo/TALOS/Staubli TX40 + shared infrastructure — 35 of 39 items closed, 4 open (TALOS/Staubli script parity)
urdf_exporter.md URDF exporter plan & parameter-name registry — implemented with a few documented deviations from the original spec (function-based API, metrology-frame params not auto-applied, inertia-tensor handler still a stub)
validation-quality-report.md FK validation + statistical quality matrix implementation plan — fully implemented, effectively superseded by the reporting suite external-tool-comparisons.md Part C tracks
sim2real-modelbased-deployment.md 🔬 Ongoing research, not yet committed. Positioning FIGAROH as a sim-to-real deployment/model-based-control toolbox for RL/IL policies and motion retargeting — a 6-phase plan, research citations, and open decisions (including how it should integrate with tools like mjlab and motion-retargeting libraries)

See also the top-level ARCHITECTURE.md and ROADMAP.md, which are user-facing and embedded directly in this site. ROADMAP.md §15 (References) links back to every document above from the specific roadmap track it informs.