Curriculum map
Living roadmap. Lessons deepen one subsystem at a time; physical and digital stay paired.
| Day | Focus | Status |
|---|---|---|
| 01 | Cold-start framing: multi-rate CPS, six subsystems, build order | Done |
| 02 | Joint-level embedded: FOC, encoders, current as muscle | Done |
| 03 | Sensing beyond the joint: IMU, contact/force, estimation rates | Done |
| 04 | Bus topology & time sync: CAN-FD / EtherCAT, shared clocks | Done |
| 05 | Power domain & BMS: brownout, bus sag, safe torque limits | Done |
| 06 | Estimation deep-dive: contact-rich balance, multi-rate fusion | Done |
| 07 | Contact-rich balance policies & whole-body control | Done |
| 08 | Contact-rich stepping & locomotion on EstimatorState + WBC | Done |
| 09 | Push recovery & disturbance rejection on the same ceilings | Done |
| 10 | Upper-body / manipulation on shared balance ceilings | Done |
| 11 | Hand-as-support / loco-manipulation on the same ceilings | Done |
| 12 | Multi-contact transitions / object-as-support / loco-manip scheduling | Done |
| 13 | Perception-driven support affordances / contact discovery feeding schedules | Done |
| 14 | Learned residuals / richer scene graphs on the affordance→schedule stack | Done |
| 15 | Closed-loop learned policies under measured ceilings / sim-to-real residual validation | Done |
| 16 | Teleop / shared-autonomy arbitration under the same measured ceilings | Done |
| 17 | Runtime safety supervisor / monitors / kill-chain for shared autonomy | Done |
| 18 | Teleop+policy logging / replay / dataset hygiene under the same soft-vs-hard split and supervisor-armed kill-chain | Done |
| 19 | Offline evaluation / shadow mode / canary deploy of policies under supervisor + logging gates | Done |
| 20 | Hardware-in-loop (HIL) regression farm under supervisor + logging + canary gates | Done |
| 21 | Fleet multi-robot shared-autonomy logging / ticket-log sync / online continual learning under supervisor + logging + canary + HIL gates | Done |
| 22 | Fleet canary orchestration / multi-site sim-to-real ranking under supervisor + logging + canary + HIL + fleet gates | Done |
| 23 | Fleet incident response / coordinated rollback / multi-robot kill coordination under supervisor + logging + canary + HIL + fleet + fleet-canary gates | Done |
| 24 | Post-incident forensics / fleet postmortem bags / reopen canary under supervisor + logging + canary + HIL + fleet + fleet-canary + incident gates | Done |
| 25 | Fleet change management / staged policy promotion / cross-site config honesty under supervisor + logging + canary + HIL + fleet + fleet-canary + incident + forensics/reopen gates | Done |
| 26 | Actuator wear / calibration drift / predictive maintenance as measured per-unit events under supervisor + logging + canary + HIL + fleet + fleet-canary + incident + forensics/reopen + change-management gates | Done |
| 27 | Thermal budgets / duty-cycle scheduling as measured constraints under supervisor + logging + canary + HIL + fleet + fleet-canary + incident + forensics/reopen + change-management + maintenance gates | Done |
| 28 | Energy budgets / battery mission planning: SOC and SOH as measured-anchored estimates, return-to-dock reserves, fleet charge scheduling, cold-pack and fast-charge limits, battery swap as a measured per-unit event under supervisor + logging + canary + HIL + fleet + fleet-canary + incident + forensics/reopen + change-management + maintenance + thermal gates | Done |
| 29 | Human-proximity safety: ProximityStateEstimator / StoppingDistanceForecaster / ContactForceLimiter / HumanSafetyAdmissionGate — MEASURED separation vs ESTIMATED human motion (±σ), stopping-distance budgets from Day 27 thermal + Day 28 power, SSM envelopes, HARD ISO/TS 15066-style body-region PFL ceilings under supervisor + logging + canary + HIL + fleet + fleet-canary + incident + forensics/reopen + change-management + maintenance + thermal + energy gates | Done |
| 30 | Collaborative workspace zoning / safeguarded-space attestation: ZoneGeometryAttestor / SafeguardedSpaceMap / CrowdDensityEstimator vs MeasuredOccupancyCount / HandoffCorridorGate / CrossSiteZoneConfigGate / CollaborativeWorkspaceAdmissionGate — MEASURED attested zone geometry + occupancy, soft density forecast feeding Day 29 SSM, tool/object handoff under PFL, cross-site zone-config honesty (Day 25 pattern) under supervisor + logging + canary + HIL + fleet + fleet-canary + incident + forensics/reopen + change-management + maintenance + thermal + energy + proximity gates | Done |
| 31 | Shared-control / teleop arbitration under attested zones: ZoneAwareSharedControlArbiter / AuthorityTransferGate / OperatorIntentAdmissionGate / SharedControlAdmissionGate — Day 16 soft co-writing deepened under Day 30 CWAG + Day 29 SSM/PFL; zone- and proximity-aware TELEOP↔POLICY↔BLEND transfers; gesture/intent soft-only (cannot raise PFL or bypass CrossSiteZoneConfigGate); SharedControlAdmissionGate fails closed under supervisor + logging + canary + HIL + fleet + fleet-canary + incident + forensics/reopen + change-management + maintenance + thermal + energy + proximity + zone attestation | Done |
| 32 | Multi-operator / fleet shared-control coordination: MultiOperatorSessionRegistrar / OperatorSessionLease / FleetSharedControlPriorityArbiter / ConcurrentAuthorityConflictGate / IntentEpisodeBagSchema / FleetSharedControlAdmissionGate — concurrent unit- and site-bound operator leases (≤ 1 writer per unit) under Day 31 SharedControlAdmissionGate; asymmetric priority arbitration (demotion most-restrictive-wins, promotion earned, never blend two humans, handover via HOLD) across supervisor-soft / primary / secondary / policy; fail-closed refusal of take collisions, stale leases, cross-robot session steal, site_id mismatch, and map_version drift; append-only intent-episode bags (map_version · mode · transfer_reason · operator_id · session_id · loser_operator_id · policy_rank) for Day 22 fleet canaries and Day 24 forensics — rank never raises PFL, never bypasses CrossSiteZoneConfigGate, ESTOP never lease-gated, under supervisor + logging + canary + HIL + fleet + fleet-canary + incident + forensics/reopen + change-management + maintenance + thermal + energy + proximity + zone attestation + shared-control | Done |
| 33 | Remote / multi-site teleop under latency: LinkLatencyEstimator / LatencyAwareLeaseGovernor / SoftIntentPredictor / OperatorViewFreshnessGate / WanLossFailoverArbiter / RemoteTeleopAdmissionGate — MEASURED RTT/jitter/loss on host t_mono vs SOFT predicted operator intent; latency-dependent WRITER TTL and authority demotion; operator zone-view freshness vs attested map_version; WAN-loss failover to POLICY or HOLD (never last-stick freeze) under Day 32 FleetSharedControlAdmissionGate + Day 31 SCAG — latency never raises PFL, never bypasses CrossSiteZoneConfigGate, SoftIntent never writes Day 17 ESTOP or Day 05 torque_scale, under supervisor + logging + canary + HIL + fleet + fleet-canary + incident + forensics/reopen + change-management + maintenance + thermal + energy + proximity + zone attestation + shared-control + multi-operator | Done |
| 34 | Immersive telepresence / haptic force-reflection honesty under measured contact + latency budgets: ContactForceTruthSource / HapticRenderHonestyLabeler / ForceReflectionDelayBudget / PassivityObserverGate / HapticChannelDegrader / GripIntentForceFence / TelepresenceAdmissionGate — MEASURED/ESTIMATED contact wrench (wrist F/T, joint torque, tactile, motor-current ±σ) vs SOFT rendered haptics with provenance + age_ms on every cue; why bilateral force reflection goes unstable with delay (Lawrence transparency vs stability, wave variables, time-domain passivity observer/controller); sensor-to-hand delay budgets bound to Day 33 LinkLatencyEstimator; FULL_BILATERAL → PASSIVATED → SCALED_RATE_LIMITED → VISUAL_ONLY → NONE degradation (demote fast, promote with dwell); operator squeeze as a SOFT grip ref clamped on-unit below robot-side local limits; HMD view freshness bound to OperatorViewFreshnessGate; TelepresenceAdmissionGate fails closed under Day 33 RemoteTeleopAdmissionGate — haptics never raise Day 29 PFL, never write Day 05 torque_scale, never bypass CrossSiteZoneConfigGate, under supervisor + logging + canary + HIL + fleet + fleet-canary + incident + forensics/reopen + change-management + maintenance + thermal + energy + proximity + zone attestation + shared-control + multi-operator + remote-teleop | Done |
| 35 | Dexterous teleop-to-autonomy skill capture / learning from demonstration under honest labels: DemoHonestySegmenter / MeasuredForceLabelGate / SoftContextBagSchema / SkillCaptureHygieneGate / DemoToPolicyValidator / DexterousSkillCaptureAdmissionGate — why unlabeled telepresence demos poison force policies (mixed-provenance targets, rendered force as a function of the pipeline, move-and-wait channel compensation, covariate shift into the clamp); deterministic segment cuts at Day 34 GripIntentForceFence CLAMPED events, HapticChannelDegrader mode transitions, authority transfers, contact flips, CFTS label changes, lease/TTL and map_version changes, inheriting the weakest provenance; per-axis Newton targets only from MEASURED, fresh, tared, unsaturated contact at or above the haptic mode floor (ESTIMATED only behind a commissioning flag + σ budget, PREDICTED / STALE / VISUAL_ONLY / rendered / PASSIVATED-degraded never; CLAMPED windows censored); condition-only SoftContextBagSchema with deployment-parity ablation; SkillCaptureHygieneGate extending Day 18 DatasetHygiene (refuse missing provenance / clamp / mode markers, unlabeled rendered force, unattested map_version, non-MEASURED force rows; never back-fill); DemoToPolicyValidator through Day 15 SimToRealGate → Day 19 shadow → Day 20 HIL with a force-envelope proof under robot-side local limits + Day 29 CFL and a clamp-rate budget; DexterousSkillCaptureAdmissionGate fails closed under Day 34 TelepresenceAdmissionGate — no demo or learned skill raises Day 29 PFL, writes Day 05 torque_scale, or bypasses CrossSiteZoneConfigGate, under supervisor + logging + canary + HIL + fleet + fleet-canary + incident + forensics/reopen + change-management + maintenance + thermal + energy + proximity + zone attestation + shared-control + multi-operator + remote-teleop + telepresence | Done |
| 36 | Cross-embodiment skill transfer / sim-to-real under honest contact labels: EmbodimentSensorProvenanceRegistry / CrossEmbodimentForceRetargeter / MeasuredLabelTransferGate / SimToRealContactHonestyBridge / TransferChangeSetBinder / CrossEmbodimentSkillTransferAdmissionGate — why porting a force skill invents three new lies (sensor-identity, calibration, sim-as-measured); per-embodiment sensor provenance (identity · frame · cal_version · tare · σ · sensor_suite_hash) never shared as MEASURED across embodiments; CrossEmbodimentForceRetargeter re-expresses force/pose into target frames and units with target cal and emits ESTIMATED/SOFT with inflated σ; MeasuredLabelTransferGate refuses source MEASURED → target MEASURED (source MEASURED may be soft prior only); SimToRealContactHonestyBridge keeps twin contact SIM/PREDICTED until a Day 20 HIL bag re-measures on the plant; TransferChangeSetBinder packages Day 25 SOFT_POLICY ± PLANT_MODEL ChangeSets carrying embodiment_id · cal_version · sensor_suite_hash; CrossEmbodimentSkillTransferAdmissionGate fails closed under Day 35 DexterousSkillCaptureAdmissionGate + Day 15 SimToRealGate + Day 20 HIL + Day 25 change-management — no transfer raises Day 29 PFL, writes Day 05 torque_scale, or bypasses CrossSiteZoneConfigGate, under supervisor + logging + canary + HIL + fleet + fleet-canary + incident + forensics/reopen + change-management + maintenance + thermal + energy + proximity + zone attestation + shared-control + multi-operator + remote-teleop + telepresence + skill-capture | Done |
| 37 | Fleet skill library / multi-unit skill catalog under embodiment-honest admission: SkillCardStore / EmbodimentClassRegistry / SkillBindingResolver / PerClassCanaryCohortPlanner / CatalogChangeLedger / BindingDriftInvalidator / FleetSkillCatalogAdmissionGate — why a shared library invents three new lies (nearest-neighbor binding, pooled green / Simpson’s paradox, stale bindings); immutable content-addressed skill cards, one embodiment class each, with label manifests that keep the producing sensor_suite_hash on every MEASURED row and no HARD fields; embodiment class hash (hand rev · F/T model · firmware family · frames · mount, no serials) as the unit of admission above Day 36 per-unit suite hashes (class decides where a card may run, suite decides what a row may be called); SkillBindingResolver returns exactly one card or NONE with a named reason and route (Day 36 transfer, Day 26 recal), signed leased bindings, offline expiry means skill unavailable, rollback is a re-resolve; per-class canary rings with rule-of-three / Clopper–Pearson evidence and stratified sites, no pooled promotion (pooled demotion only on shared deps); CatalogChangeLedger append-only Day 25 PUBLISH / PROMOTE / DEMOTE / YANK / DEPRECATE / RESTORE with immediate demotion; BindingDriftInvalidator suspends or voids bindings on suite / class / cal / map_version / incident drift plus on-unit hash check; FleetSkillCatalogAdmissionGate fails closed under Day 36 CESTAG + Day 35 DSCAG — no catalog action raises Day 29 PFL, writes Day 05 torque_scale, or bypasses CrossSiteZoneConfigGate, under supervisor + logging + canary + HIL + fleet + fleet-canary + incident + forensics/reopen + change-management + maintenance + thermal + energy + proximity + zone attestation + shared-control + multi-operator + remote-teleop + telepresence + skill-capture + cross-embodiment transfer | Done |
| 38 | Task composition over catalog skills under per-skill admission: TaskPlanStore / CompositeBindingResolver / MeasuredConditionEvaluator / StepHandoffGuard / CompositeEvidencePlanner / TaskRecoveryRouter / TaskCompositionAdmissionGate — four composition lies (self-reported success, strongest-link admission, handoff gaps, retry harder); immutable content-addressed plans over skill ids + contracts, no card pins, no parameter overrides, no HARD fields, every condition on registered MEASURED signals and every failure kind routed; all steps and all recovery skills bind through Day 37 SBR before start or task NONE with step + reason, composite ring and lease = min; three-valued TRUE / FALSE / UNKNOWN conditions with σ guard bands and freshness, UNKNOWN never advances, skill self-reports logged and fed back as Day 37 evidence; inter-step invariants armed across boundaries and bumpless controller switches initialized from measured wrench and grip; composite evidence per (plan, card tuple, class) with union bound over per-step bounds, whole-task demotion on any step demotion, new card means new composite; contact-aware HOLD variants (free / in-grasp / backoff / compliant) or named bound recovery skills with budgets, never escalated retries, HOLD is not ESTOP; TaskCompositionAdmissionGate fails closed under Day 37 FSCAG — no task raises Day 29 PFL, writes Day 05 torque_scale, or bypasses CrossSiteZoneConfigGate, under supervisor + logging + canary + HIL + fleet + fleet-canary + incident + forensics/reopen + change-management + maintenance + thermal + energy + proximity + zone attestation + shared-control + multi-operator + remote-teleop + telepresence + skill-capture + cross-embodiment transfer + fleet skill catalog | Done |
| 39 | Multi-unit cooperative tasks under per-unit admission: CooperativeTaskPlanStore / PairBindingResolver / InterUnitClockSync / JointMeasuredPostconditionEvaluator / HandoffOwnershipContract / InternalForceGovernor / CoordinatedHoldArbiter / CooperativeTaskAdmissionGate — six cooperation lies (partner estimate, borrowed card, ownership gap, shared clock, squeeze, solo HOLD); grasp matrix and null-space internal forces, load share from statics not plans, closed-chain squeeze f_int = k_eff·δ cured by a stiff leader and compliant follower, load ramps and partner drops as Day 07/09 balance disturbances; immutable cooperative plans over roles (not serials), each role a full Day 38 plan, sync points, object model with σ, mandatory drop policy with single-unit survivability; each role bound on its own unit through its own Day 38 CBR and Day 37 SBR, all roles or none, pair ring = min of both task rings and the contract, directional class-pair evidence with union bound, any demotion demotes the pair; site PTP with hardware timestamps and published offset uncertainty, alignment and freshness within u_A + u_B, SYNC_DEGRADED makes joint verdicts UNKNOWN, impulse-test verification, heartbeat / LINK_LOST separate; joint postconditions as Kleene AND of each unit’s own verdict, weight-sum and internal-force-sign consistency checks that only demote, no cross-suite reuse; handoff contract G_OWNS → R_CONTACT → OVERLAP → G_RELEASING → R_OWNS with owner set never empty, receiver token on MEASURED share for T_dwell, giver release on token and own unload with a friction-margin grip ramp, nobody releases on link loss; coordinated pair HOLD variants (shared / lower / solo link-lost / yield-down / compliant), partner drop detected on own F/T, peer ESTOP input only; CooperativeTaskAdmissionGate fails closed under Day 38 TCAG — no cooperative task raises Day 29 PFL, writes Day 05 torque_scale, or bypasses CrossSiteZoneConfigGate, under supervisor + logging + canary + HIL + fleet + fleet-canary + incident + forensics/reopen + change-management + maintenance + thermal + energy + proximity + zone attestation + shared-control + multi-operator + remote-teleop + telepresence + skill-capture + cross-embodiment transfer + fleet skill catalog + task composition | Done |
| 40 | Human–robot object handover and co-carry under PFL: HumanRoleDescriptor / OwnWrenchInteractionEstimator / HumanHandObserver / HumanPullReleaseContract / CompliantFollowerGovernor / IntentCueGate / WalkAwayHoldArbiter / HumanHandoverAdmissionGate — six handover lies (timer, gaze-and-voice, hearsay partner, load drop, tug-of-war, chase-and-catch); the person as a role with no suite, clock, card, ring, or HOLD and a complete per-state action table; human wrench inferred only from the robot’s own F/T, tactile, and object model with σ, PULL / SUPPORT / NONE / UNKNOWN, pull along the attested Day 30 corridor axis separating a hand from a bench or a steadying palm, labeled INFERRED_FROM_OWN_WRENCH and never MEASURED_HUMAN; vision as ESTIMATED veto / narrow / tighten only; R2H, H2R, and co-carry contracts with load-proportional grip, release only on a dwelled in-cone pull or a follower yield, take-back always allowed, capped H2R closing force; robot always the admittance follower with a resisting-force cap below Day 29, reach and ZMP yield limits, damping-only-up passivity, no capture step toward a person; cues delay by a bounded amount and never trigger; walk-away invariant (never chase, catch, clamp, or win a tug-of-war); HumanHandoverAdmissionGate fails closed under Day 39 CTAG + Day 30 HandoffCorridorGate + CrossSiteZoneConfigGate + Day 29 with evidence keyed by object / corridor / robot class, never by person — no handover raises Day 29 PFL, writes Day 05 torque_scale, or bypasses CrossSiteZoneConfigGate | Done |
| 41 | Whole-body tactile skin and intentional touch vs collision: SkinPatchCalibrationRegistry / TaxelHealthMap / MomentumObserverCollisionDetector / ContactIsolationFuser / TouchIntentClassifier / GuidanceAdmittanceGovernor / TouchReactionArbiter / WholeBodyTouchAdmissionGate — six touch lies (skin-as-truth, coverage, dead taxel, classifier-owns-reaction, follow-the-push, retreat-drops-them); the generalized-momentum residual from Day 02 currents and Day 06 estimates detects contact on the whole body with σ-derived, state-dependent thresholds and owns the first reaction within one cycle; taxels MEASURED only with in-situ per-patch calibration (temperature, hysteresis, pose, σ) and self-test health, dead taxels and declared holes published per Day 29 region, no interpolation over holes; LOCALIZED / LINK_ONLY / LIGHT_TOUCH / UNKNOWN fusion; touch intent (GUIDE / BUMP / LEAN / FALL_AGAINST) SOFT and gentler-only; lead-by-hand only from an instrumented guide handle with a dual-channel enable, follower admittance capped by Day 29 SSM and Day 30 zone walls, stop on release; SUPPORT_HOLD that follows measured load for leans and falls; WholeBodyTouchAdmissionGate fails closed under Day 40 HHAG — no touch config raises Day 29 PFL, writes Day 05 torque_scale, or bypasses CrossSiteZoneConfigGate | Done |
| 42 | Deliberate whole-body contact, environment contact, and self-collision under the touch stack: PlannedContactRegistry / ContactSensorBinder / BandedResidualSubtractor / ContactSiteConfirmer / SelfCollisionMarginGuard / DeliberateContactGovernor / ContactExitArbiter / DeliberateContactAdmissionGate — seven deliberate-contact lies (blanket mask, planned-equals-measured, band creep, wrong site, hole contact, self-touch-is-safe, the-chair-is-a-chair); r_u = r − Σ J_pᵀ F̂_p with only MEASURED wrenches from this unit’s own forearm F/T, knee pads, or seat pads, only through the declared site’s Jacobian, only inside a phase- and angle-dependent band derived from target physics, with the σ cost re-validated against Day 29 test impacts; statics never a sensor, hole sites need a dedicated pad; CONFIRMED / LIKELY / MISMATCH / UNKNOWN site checks with a second skin cluster as mismatch; σ-based self-collision margins with hole-on-hole pinch clearance and closing caps, internal forces seen on loop joints; APPROACH → PROBE → ENGAGE → HOLD → RELEASE with no skipped probe and door edge-speed caps; HIGH / LOW / SLIP / MISMATCH / STALE / TIMEOUT exits hand the full residual to MOCD in the same cycle and map to HOLD_STILL / SUPPORT_RECOVER / RELEASE, never a harder push; DeliberateContactAdmissionGate fails closed under Day 41 WBTAG — no recipe mutes a joint, raises Day 29 PFL, writes Day 05 torque_scale, or bypasses CrossSiteZoneConfigGate | Done |
| 43 | Falls and fall-safe contact under the touch stack: CaptureExhaustionDetector / FallDirectionArbiter / SacrificialSiteRegistry / ImpactEnergyGovernor / FallSequenceController / PostFallSelfAssessor / GetUpRecipeComposer / FallSafeAdmissionGate — eight fall lies (late detection, early commit, any direction, grab anything, go limp, regen is free, pad on paper, get up now); capture-point divergence d(t) = d₀e^(ωt) gives a ~0.76 s window; RECOVERABLE / UNKNOWN / FALLING from Day 09 N-step regions and Day 06 σ with short fixed dwell, UNKNOWN pre-arms (lower CoM, tuck) and never commits; heading only inside the feasible fall cone with the swept footprint clear of predicted Day 29 person disks, Day 30 walls, and hazards, occluded treated as occupied, least-harm when nothing clears, no limb toward a person, grab only attested fall-arrest supports; per-mode landing sites with MEASURED pad sensors, drop-rig bands per floor class, crush life, and never-sites (hands, wrists, head, battery bay); joint absorption inside Day 27 derated torque and Day 05 regen, pack charge acceptance, and chopper headroom; COMMIT → STEER → TUCK → CROUCH → LAND → SETTLE with MOCD live and acceptable landing under STO from any phase; nothing moves before a MEASURED post-fall verdict, under-body contact unloads and stays down, every fall is a Day 23 incident; get-up as a Day 38 plan of Day 42 recipes with SSM clear and helper pushes as touches; FallSafeAdmissionGate fails closed under Day 42 DCAG — no fall raises Day 29 PFL or current limits, writes Day 05 torque_scale, gates ESTOP, or bypasses CrossSiteZoneConfigGate | Done |
| 44 | Stairs, ramps, and uneven terrain under the fall-safe stack: TerrainHeightFuser / StepEdgeEstimator / TouchdownConsistencyChecker / FootholdRegionShaper / TerrainZoneAttestor / HandrailContactRecipe / DescentSpeedGovernor / TerrainLocomotionAdmissionGate — seven terrain lies (map-is-terrain, flat σ, whole tread, touchdown-as-surprise, rail-is-a-rail, downhill-is-easy, slope-shrinks-SSM); robot-centric height cells with range-squared stereo σ, pose and edge inflation, aging, DYNAMIC tags, CONTACT cells from millimetre-grade touchdowns, UNKNOWN never flat and never seeded from the site map; riser / tread / nosing with σ and edge confidence, never snapped to the declaration; every touchdown checked (CONSISTENT / EARLY / LATE / PARTIAL / UNKNOWN) with stop at the last good foothold and bounded late search; usable tread strips L_use = T − m_riser − m_edge − kσ_e and stair capture regions as a union of strips; Day 30 terrain classes (FLAT / RAMP / STAIR / UNEVEN) with AGREES / DISAGREES / UNSEEN and stair mode only with whole-flight AGREES and Day 43 stair-sit admitted; rails as Day 42 sliding-hand recipes on attested rails with bounded vertical share and open-on-a-person’s-hand; descent speed = min(capture bound ω(x_far − kσ_ξ)e^(−ωt_d) ≈ 0.50 m/s, stair-sit cone ≈ 0.35 m/s, friction, thermal), flight clear with occluded as occupied, friction lowers speed and never SSM; TerrainLocomotionAdmissionGate fails closed under Day 43 FSAG — no terrain mode raises Day 29 PFL, writes Day 05 torque_scale, or bypasses CrossSiteZoneConfigGate | Done |
| 45 | Outdoor and deformable ground under the terrain stack: GroundComplianceEstimator / SinkageTracker / FootSlipObserver / TractionBoundEstimator / WeatherDepthDegrader / SurfaceConditionAttestor / DeformableFootholdShaper / OutdoorGroundAdmissionGate — seven outdoor lies (label, rigid ground, no-slip-means-grippy, same σ outdoors, forecast, ankle-still-works, soft landing); per-touchdown fit F_n = k·s + c·ṡ with FIRM as a lower bound k ≥ F_n/(3σ_kin) ≈ 68 kN/m and LAYERED canopy depth; static, progressive (YIELDING to Day 06), and extraction (ADHESIVE inside Day 27) sinkage with expected bands only from this walk’s measured history; STICK / CREEP / SLIP / UNKNOWN from stance-foot velocity, displacement, and CoP drift with UNKNOWN treated as SLIP; no-slip μ_u logged as a lower bound only, live slips lower admitted μ immediately, trials through Day 25 the only raise; weather multiplier from valid fraction, CONTACT-cell residual, speckle, and lens state with r_max = √(σ_th f b/(m σ_d)) and a horizon stop; DRY / WET / FROZEN_POSSIBLE / FROZEN / UNKNOWN from own rain sensor and surface IR with the feed lower-only and frost margin beating vision; CoP authority k_θθ_max/F_n ≈ ±7 mm on sand, swing clearance over canopy and sinkage; ice speed ≈ 0.47 m/s at an unchanged 0.30 m SSM budget; OutdoorGroundAdmissionGate fails closed under Day 44 TLAG and Day 43 FSAG — no outdoor mode raises Day 29 PFL, writes Day 05 torque_scale, or bypasses CrossSiteZoneConfigGate | Done |
| 46 | Carrying payloads while walking under the outdoor and terrain stacks: PayloadInertiaIdentifier / GraspHoldObserver / LoadedModelPublisher / ShiftingLoadDetector / LoadedBoundsRederiver / CarryPostureShaper / PayloadReleaseArbiter / PayloadCarryAdmissionGate — seven carrying lies (manifest, point-at-the-hand, rigid, same-bounds, heavier-is-grippier, just-drop-it, arms-are-free); tare then two still poses give m = ‖ΔF‖/g with σ_m ≈ σ_F/g ≈ 0.05 kg and the full CoM, inertia from w = Yφ excitation or a bounding box, manifest constraints-only; combined CoM offset m_p·d/(M+m_p) ≈ 49 mm for 10 kg at 0.35 m while z_c moves 0.920→0.938 m; parallel-axis term ≈ 6× the box’s own inertia; LMP sole writer of the payload body into Days 06/07, published only when IDENTIFIED and removed only when F/T confirms; RIGID / SLOSHING / SHIFTED / UNKNOWN / WORST_CASE from the wrench residual with first slosh mode ≈ 1.43 Hz right on the gait; friction ratio mass-independent but torque stop 2.0→1.72 m/s² so 1.00→0.93 m/s at an unchanged 0.30 m budget, knee torque +16% and heat ≈ +35%; release only for drop-tested rigid loads into a Day 29-cleared, Day 30 drop-allowed landing zone over t_f ≈ 0.45 s when Day 43 measures a better fall; PayloadCarryAdmissionGate fails closed under Day 45 OGAG, Day 44 TLAG, and Day 43 FSAG — no carry mode raises Day 29 PFL, writes Day 05 torque_scale, or bypasses CrossSiteZoneConfigGate | Done |
| 47 | Pushing, pulling, and moving heavy objects under the payload and outdoor stacks: InteractionWrenchEstimator / ObjectDynamicsIdentifier / ObjectMotionMonitor / ExternalWrenchPublisher / PushAuthorityBounder / PushStanceShaper / RunOutReleaseArbiter / PushPullAdmissionGate — eight pushing lies (label, handle-is-support, lean-into-it, push-is-free-to-stop, heavier-is-grippier again, slide-not-tip, robot-envelope, let-it-coast); hand wrench from wrist F/T cross-checked against the momentum balance F_hand = Mc̈ − ΣF_feet − Mg with disagreement as UNKNOWN, commanded torque never a force; failed lift gives a mass lower bound; breakaway ramp and 0.3 m/s² excitation identify m_o, F_r, and grade (split by Day 44 slope or pull-back, else GRADE_AMBIGUOUS), hinge fit for doors; sustained push moves the CoP back by Fh/(Mg) (165 mm per 100 N at 1.0 m), staggered stance with CoM centred gives ≈122 N push and ≈122 N brake reserve, full lean leaves ≈0 N brake, CoM always inside the polygon so loss of contact is statically balanced; friction cap F + Ma ≤ μ_adm·Mg ≈ 61 N on wet ice; STATIC / MOVING / STALLED / RUNAWAY / TIPPING / UNKNOWN with stalls backing off and never escalating; tip before slide when μ_s > b/(2h); 0.30 m stop budget measured from the cart’s leading edge gives ≈0.64 m/s dry, 0.48 m/s on a 2° downhill, 0.44 m/s on ice, none on icy 2° grades; moved objects are SSM-only with no PFL row; release at rest with a hold test, or moving only with run-out v²/(2g(C_rr − sin θ)) bounded and cleared by Day 29 and Day 30; PushPullAdmissionGate fails closed under Day 46 PCAG, Day 45 OGAG, Day 44 TLAG, and Day 43 FSAG — no push mode raises Day 29 PFL, writes Day 05 torque_scale, or bypasses CrossSiteZoneConfigGate | Done |
| 48 | Powered hand tools and sustained process forces under the push/pull and payload stacks: ToolReactionEstimator / ProcessForceObserver / KickbackBindDetector / ToolInertiaIdentifier / ToolWrenchPublisher / ToolHazardEnveloper / ToolSafeStateArbiter / PowerToolAdmissionGate — eight tool lies (spec sheet, trigger-is-off, arm-will-hold-it, push-harder-when-it-slows, breakthrough-is-free, clean F/T, robot envelope again, hand-it-over); one-hand admit only when bench-measured tool torque at this clutch and battery band is at most half the live wrist hold, since an unclutched 60 N·m bind against a 10 N·m wrist rolls the hand 30° in ≈ 29 ms; reaction torque from two witnesses, wrist F/T Mz and adapter current through a per-unit torque map, with disagreement cutting the tool; thrust as a Day 47 push, ≈ 101 N at 1.2 m from a centred stagger so breakthrough is a balance non-event, plunge ½at_d² + (at_d)²/(2a_b) ≈ 1.9 mm at 10 ms under a feed-velocity cap; process band split from vibration with σ inflated and dose to Day 26; CUTTING / BINDING / KICKBACK / BREAKTHROUGH / UNKNOWN with every bind cutting trigger and relay, zeroing feed, yielding the tool axis, never adding force or auto-retrying; tool mass as a Day 46 payload, spinning inertia from the spin-up reaction integral (grinder ≈ 0.23 N·m·s, ≈ 133 J); running edge SSM-only with no PFL row and separation v_h(t_d + t_rd) + C from the edge, ≈ 0.84 m drill, ≈ 2.6 m braked grinder, ≈ 10.8 m unbraked; OFF_SAFE only on measured zero speed, lock, guard, and battery out for Day 40 handover; adapter relay in the Day 17 kill chain; PowerToolAdmissionGate fails closed under Day 47 PPAG, Day 46 PCAG, Day 45 OGAG, Day 44 TLAG, and Day 43 FSAG — no tool mode raises Day 29 PFL, writes Day 05 torque_scale, or bypasses CrossSiteZoneConfigGate | Done |
| 49 | Bimanual tool work with a held workpiece under the power-tool and payload stacks: HoldingGripObserver / WorkpieceStateEstimator / ClosedChainWrenchResolver / FixtureHoldVerifier / HoldPointWindowShaper / KerfPinchPredictor / OffcutReleaseArbiter / BimanualToolAdmissionGate — eight holding lies (clamped, squeeze-harder, internal-force-is-free, closer-is-steadier, kerf-stays-open, offcut-just-falls, bench-is-ground, let-go-of-either); grip as a measured friction contact with μ_adm = μ̂ − 3σ from shear ramps and N_req = k_s·F_t/(2μ_adm) (≈ 73 N for 6 mm ply under a jigsaw); torsional pinch only ≈ 0.47 N·m so a screw’s reaction is held by a lever arm F = τ/d (≈ 15 N at 0.30 m, 92 N at 0.05 m spins the panel); three-witness closed chain f_env = ma − mg − f_T − f_H split into internal force (freehand thrust, no CoP shift, published with its pending release) and environment wrench (bench thrust as a Day 47 push), cross-checked against momentum balance with disagreement as UNKNOWN; freehand breakthrough at 60 N closes the hands ≈ 2 mm at 10 ms and ≈ 32 mm at 40 ms so both hands get feed caps; Day 48 TWP routed through CCWR as the sole Day 07 writer; clamps, vises, and benches pull-tested at 1.5× process force as Day 42 contacts, bench breakaway ≈ 118 N; holding-hand window r_min = kickback travel + kσ + margin ≈ 0.13 m and r_max = τ_hold/(2F_lat) ≈ 0.15 m for 6 mm ply, empty for 18 mm pine, copper pipe, reciprocating saws, and grinders so those are clamped, and a 20% derate closes it mid-cut; kerf closing predicted from support layout and deflection with feed paused at 1 s to pinch and the tool cut at 0.3 s, never overriding KBD; offcut landing zone from trial-drop p99 (0.25 m, ≈ 3.1 J) cleared by Day 29/30; on a tool cut the holding hand freezes grip and goes compliant; workpiece released only after OFF_SAFE; BimanualToolAdmissionGate fails closed under Day 48 PTAG, Day 47 PPAG, Day 46 PCAG, Day 42 DCAG, and Day 43 FSAG — no mode raises Day 29 PFL, writes Day 05 torque_scale, or bypasses CrossSiteZoneConfigGate | Done |
| 50 | Overhead and awkward-posture tool work under the bimanual and power-tool stacks: OverheadThrustEstimator / RaisedPostureBoundsRederiver / OverheadHoldDerater / DropZoneShaper / OverheadViewIntegrityMonitor / ElevatedStanceVerifier / RaisedFallConeRederiver / OverheadToolAdmissionGate — eight overhead lies (ceiling-is-a-wall, pull-down-is-free, same-wrist, arms-up-is-free, nothing-below, clear-view, platform-is-floor, throw-it-clear); overhead CoP shift Δx = (F_v·x_h + F_h·h)/(W + F_v) ≈ 53 mm for 104 N at 0.20 m with a 5° tilt on a 1.95 m lever, almost half from tilt, so the tilt cap (≈ 8.5° on measured tilt + 3σ) is a balance limit; the whole 53 mm steps back at breakthrough and is published as a pending release, with arm surge ≈ 1.2 mm at 10 ms and ≈ 19 mm at 40 ms setting chuck-to-ceiling clearance; arms overhead raise z_c 0.92 → 1.01 m; wrist hold re-measured overhead at 7.5 N·m (not 10) so the clutch cap drops to 3.75 N·m; shoulder at 38 vs 30 N·m continuous gives t = τ ln(r²/(r²−1)) ≈ 290 s from cold, budgeted live from Day 27; a 1.8 kg drill falls 2.3 m in 0.68 s with ≈ 41 J, so a 1.4 m drop zone from trial-drop p99 is cleared by Day 29 and attested by Day 30 before the feed and the tool is tethered to the platform rail, never the robot; upward views scored for lens dust and glare with σ inflation and pause; step platforms pull-tested and tip-tested at height with restoring ≥ 2×, steps only with the tool OFF_SAFE and holstered, kneeling on tested knee-pad bands; fall cone re-derived at 1.36 m CoM height (+35% energy) with the guardrail as the brace and a tethered hang instead of throw-clear; OverheadToolAdmissionGate fails closed under Day 49 BTAG, Day 48 PTAG, Day 47 PPAG, Day 44 TLAG, Day 43 FSAG, and Day 42 DCAG — no mode raises Day 29 PFL, writes Day 05 torque_scale, or bypasses CrossSiteZoneConfigGate | Done |
| 51 | Working on ladders and elevated work platforms under the overhead stack: LadderSetupVerifier / ThreePointContactMonitor / RungClimbSequencer / RungGripObserver / BraceLoadBudgeter / PlatformMotionWitness / ArrestedFallConeRederiver / ElevatedAccessAdmissionGate — eight elevated-access lies (rule-of-thumb, set-it-at-75, rungs-are-stairs, grip-is-a-grip, free-hand, lift-says-stopped, footing-buddy, land-it); leaning-ladder statics R = (W·x_r + w·x_l)/(L sin θ) and μ_req = R/(W + w) give 0.113 at 75.5° and 0.244 at 65° against a floor proven at 0.23 (3σ) with a 1.5× margin, so flatter slides and steeper tips; 78 N of thrust into the wall drops the top rest 84 → 7 N via R′ = R − F_t·h_t/(L sin θ), so thrust toward the wall needs a tie pull-tested at 2×; angle from stereo and hand touch with σ, re-measured under load, feet proof-loaded at the base; lateral top budget ≈ 12 N; three-point contact as a Day 42 contact set where a foot moves only on two hook grips (1040 N vs an 814 N drop-rig catch, ratio 1.28) and wet rungs (780 N) refuse the climb; one limb at a time, make before break, Day 44 rung edges and touchdowns, hands empty; brace load (W·d + F_t·h)/h_b ≈ 250 N against half a 520 N hold, so Day 50’s 104 N hole is refused from a ladder; scissor-lift stops move the free-standing CoP 75–188 mm, so the robot rides holding the rail, and 13 mm of deck sway at 0.62 Hz with ζ = 0.03 takes ≈ 22 s to settle, witnessed by the robot with lift status stop-only; ladder falls at 3.8× standing energy are arrested, not landed: 0.6 m lanyard, 4 kN absorber, 0.11 m deceleration at ≈ 5.4 g, 2.5 m clearance or restraint only, hardpoint proof-loaded to 8 kN, anchor within 0.3 m of plumb, damped hang; ElevatedAccessAdmissionGate fails closed under Day 50 OTAG and the stack below — no mode raises Day 29 PFL, writes Day 05 torque_scale, or bypasses CrossSiteZoneConfigGate | Done |
| 52 | Confined spaces and crawl spaces under the elevated-access stack: EnvelopeClearanceMapper / CrawlPostureSequencer / BearingSurfaceProber / EgressPathKeeper / ConfinedAtmosphereBudgeter / LinkLossStopArbiter / RetrievalPlanner / ConfinedSpaceAdmissionGate — eight confined-space lies (hatch, drawing, insulation-is-floor, hands-and-feet, turn-around-later, warm-attic, signal-comes-back, someone-crawls-in); clearance as a swept volume h_req = h_p + b + 3σ + m, so a 0.46 m forearm crawl needs 0.544 m clean and 0.58 m in dust, a 0.41 m duct forces prone, and the prone-to-forearm rise needs 0.524 m of its own; knees carry W·x_c/x_k ≈ 286 N against attic drywall that punched at 210 N, so a 40 N stiffness probe finds joists under 250 mm of cellulose (0.1 vs 1.8 mm), joists are proof-loaded at 430 N, and crawl boards are the default; breadcrumbs of proven cells price the way out at reverse speed for the posture current σ forces (≈ 296 s clean, ≈ 360 s dusty) and no step leaves Day 27 heat or Day 05 charge below 1.5× egress, so 52 °C (τ_cont 0.85) leaves a 24 min work window of 38; gas read at floor, mid, and ceiling with LEL refused at 5% because the robot is an ignition source; tethered comms, hold on stale commands, retreat only on breadcrumbs with healthy localization, joist-aliasing checked against the tether meter; retrieval with no human entry: 0.5·626·e^(0.3·π/2) ≈ 501 N at the hatch, 752 N design, 1.5 kN line, Day 17 tucked safe state drag-tested, attendant outside; ConfinedSpaceAdmissionGate fails closed under Day 51 EAAG and the stack below — no mode raises Day 29 PFL, writes Day 05 torque_scale, or bypasses CrossSiteZoneConfigGate | Done |
| 53 | Water, wet floors, and spills under the confined-space stack: WettedFrictionProber / StandingWaterGauge / IngressExposureBudgeter / WetElectricalZoner / WetGaitBounder / SlipRecoveryRederiver / DryOutVerifier / WetSurfaceAdmissionGate — eight wet-floor lies (dry-map, looks-dry, shallow-bottom, IP67, slow-down, catch-yourself, breaker, wipe-and-go); friction measured by a toe-slide probe (150 N, 5 N/s shear, 2 mm slip, five readings) per surface and contaminant, glazed tile 0.62 dry, 0.24 with water, 0.09 with detergent, oil and unknown refused, μ_adm = 3σ low ÷ 1.5 with a 0.10 floor and slips lower-only per Day 45; step μ_req ≈ s/(2z_c) caps the wet-tile step at 0.22 m, and one-step capture v = μ_adm·√(g·z_c) = 0.36 m/s sets walking at 0.25 m/s with 0.11 m/s (≈ 7 N·s) left for a push; wet areas from a polarization camera with no false dry, depth from a wading pole and shin strips because stereo sees the bottom at d/1.33 (60 mm looks 45); ankle lip seal tested moving to 0.10 m gives a 44 mm wading limit after splash, 3σ, and margin, with wet minutes per seal and housing humidity; water touching or within 1 m of an unproven circuit is a Day 30 no-entry zone cleared only by lockout attestation, the voltage detector raise-only; slips throw the robot backward, so Day 43’s wet cone flips behind with a 0.25 m slide; dry-out by sole toe-slide ≥ 0.9 of dry, footprint check, housing RH, and Day 05 isolation before dry duty; WetSurfaceAdmissionGate fails closed under Day 52 CSAG and the stack below — no mode raises Day 29 PFL, writes Day 05 torque_scale, or bypasses CrossSiteZoneConfigGate | Done |
| 54+ | Doors, gates, and thresholds under the wet-surface stack: door mass, closer force, and latch measured by the hand, the swing as a moving obstacle, sills and wet mats as Day 44 footholds, people behind opaque doors treated as present, fire doors that must close behind it — without raising Day 29 PFL, writing Day 05 torque_scale, or bypassing CrossSiteZoneConfigGate, under the same gates plus wet-surface admission | Next |
Principle: never put a neural net inside a microsecond loop until you have measured jitter.
Last updated on