Subsystem Decomposition: COM · Base · End-Effector
The wiki’s
subsystemaxis. The free-flying coordinated controller acts on three distinct
subsystems; this page names them, defines the axis that tags them, and tabulates which failure
mechanism owns which subsystem — the attribution discipline that
error_floor.md §4 demands.
Statement
The circumcentroidal coordinate transform (notation.md) sends
the full coupled dynamics into transformed coordinates
with a block-diagonal
inertia
(circumcentroidal_decoupling). That block structure is the
taxonomy — the three subsystems the thesis tracks (errors ;
inputs ):
- COM (
com) — the decoupled loop , closed by
the SPD impedance .
Inertially free (); sees no Coriolis coupling. - Base attitude (
base) — , the upper block of the coupled
circumcentroidal subsystem . - End-effector (
ee) — , the lower block of that same
.
base and ee are not independent: they share the reduced inertia and the
CoM-coupling Coriolis , forming the coupled attitude+EE state
. Only com truly decouples.
Frames are in notation.md; the frame schematic is
Giordano Fig. 1 (library/coordinated_control/coordinated_control.md).
The subsystem axis
This decomposition is the wiki’s subsystem axis — a list-valued typed field (closed vocab
com | base | ee; omit ⇒ subsystem-agnostic). A page carries every subsystem its claim touches:
a CoM-loop result is [com]; a circumcentroidal-block mechanism is [base, ee]; a whole-controller
overview is [com, base, ee]. Ask “what touches the COM?” with Dataview
WHERE contains(subsystem, "com"). The axis is the join key across the three layers: the concept
wiki (here), the code wiki (sims_implementation_map), and
the logged evidence (evidence_map).
Failure modes are subsystem-specific (the attribution discipline)
Decompose before diagnosing: each subsystem has its own singular set and its own failure
mechanism, and conflating them mis-assigns cause. Distilled from
error_floor.md §4:
| Subsystem | Block | Trigger / singular set | Characteristic failure | Mechanism |
|---|---|---|---|---|
com | decoupled | none intrinsic () | near-singular spikes in | open — likely forward-Euler if develops a fast mode; not Tikhonov |
base, ee | ( rank loss) | velocity-reconstruction blow-up; period-2 ripple | forward-Euler on (discretization_stability_omega_b); Tikhonov / derate act on this block (singularity_threshold_cascade) | |
| control map | quaternion singular set (distinct from ) | error-floor premise loses invertibility | steady_state_error_floor |
The discipline. Name the subsystem and its block before attributing a fix. Tikhonov
regularization acts on the base+ee -solve — it does not act on the
decoupled CoM loop. Whether near-singular CoM spikes are the same forward-Euler artifact
or a genuinely separate CoM-loop effect is an open question, decided by the -independent
lag-1 autocorrelation of the logged ( at
flipping to at ⇒ forward-Euler). Evidence:
evidence_map. Do not write “Tikhonov causes the COM spikes” until
that test is run — this is exactly the mis-attribution
error_floor.md §4 flags.
Assumptions
- Nonsingular invertible: the decoupling
holds on the singularity-free region (singularity_threshold_cascade). - (nonredundant) for the clean / split. The redundant case adds a
self-motion / null-space channel (frozen below ) — a redundant DOF outside this
three-subsystem taxonomy. - Hat-vs-breve is load-bearing: full , reduced
(terminology.md, circumcentroidal_decoupling).
Proof sketch
The block-diagonal that
licenses the split is derived in
dynamics_modifications_7dof.md and
circumcentroidal_decoupling; the subsystem-specific failure-mode
separation (CoM forward-Euler vs base+EE blow-up) is established in
error_floor.md §1–4 and
omega_b_forward_euler_instability.md.
This page is the taxonomic synthesis, not a new theorem: it names the three subsystems the proven
decomposition produces and records which mechanism owns which block.
Source / provenance
- Literature: giordano2019coordinated — the
split (eq 21) producing the decoupled CoM + coupled attitude+EE blocks; Fig. 1 frames. - Ours: the
subsystemaxis and the failure-mode-by-subsystem attribution table — the diagnostic
discipline that the CoM-spike attribution question motivated.
Caveats
baseandeeare a coupled pair, not independent subsystems;[base, ee]reflects the shared
block. Tagging a circumcentroidal-block claim with only one of them understates the
coupling.- The CoM-spike attribution is unresolved; this page records the open question and the deciding
test, it does not assert the answer. - Distinct singular sets: (circumcentroidal,
base+ee) the quaternion singular set
of (the error-floor domain). Do not merge them.
Related
- Math: circumcentroidal_decoupling (the decoupling derivation) ·
steady_state_error_floor ·
discretization_stability_omega_b. - Loops: center_of_mass_regulation (
com) ·
momentum_dumping (base) ·
circumcentroidal_motion (ee) ·
coordinated_control. - Singularity: singularity_threshold_cascade ·
damped_least_squares. - Registries: notation.md (frames ; the
blocks) ·
terminology.md (circumcentroidal, hat/breve). - Bridge: sims_implementation_map (concept↔code) ·
evidence_map (logs).
Implementation (sims wiki)
External — into the code wiki via the
sims_wiki/symlink (resolves in Obsidian, not GitHub).
- com_controller — the decoupled CoM loop (
com). - base_controller / base_guidance — base-attitude channel (
base). - ee_guidance — end-effector channel (
ee). - breve_controller — the coupled circumcentroidal
[base, ee]law + singularity stack.