What to build
Run a differential or Ackermann ground vehicle over a constrained mowing/site-logistics route with stop and recovery controls.
Acceptance criteria
- Model steering geometry, wheel odometry, traction, stopping distance and implement interlocks.
- Verify obstacles, people proximity, RC/manual override, loss of localization and emergency stop.
- Expose coverage planning, site logistics and materials-handling payload tasks through the common mission UI.
Blocked by
- #2 Native runtime: run a deterministic sensor-to-actuator bench loop
- #4 Estimation: publish owned attitude and local-position estimates
- #6 Authority: verify arming, manual override and independent failsafes
- #10 Mission engine: run and resume an owned waypoint mission
Implemented ground slice
- Differential wheel geometry/inertia, longitudinal and lateral traction/slip, encoder/GNSS complementary odometry, bounded stopping envelope and a modeled normally engaged spring brake.
- Guarded mower enable/coverage/disable and scoped tray delivery. Payload capture and delivery epochs are distinct; containers/events are consumed once within an isolated modeled session.
- Obstacle and people proximity, manual takeover, localization loss, emergency, implement guard, low traction, sensor loss and host-loss scenarios release to declared neutral outputs.
- Native
ground:simulateand one shared stx workspace show mowing coverage and materials logistics with correlated ACKs. Repeated runs on the same profile and concurrent session isolation are tested.
Read ground model and limits and shared vehicle contract.
Remaining physical and chassis gates
- Measured mass, wheel/steering geometry, surface friction/slip and stopping-distance campaigns on a real chassis.
- Physical spring brake, implement guards, independent kill/RC and localization-loss acceptance.
- Calibrated odometry, heading and range/person sensing with observed coverage and delay.
- Hardware mower/material payload delivery, uncertain-outcome reconciliation and HIL.
- Ackermann/other chassis adapters and broader site/coverage planning.
Shared runtime and evidence
Implemented in 8dde96a and its preceding commits. Every profile uses the owned raw IMU/GNSS sensor pipeline, estimator, versioned vehicle mission policy, shared authority lifecycle and independent typed output leases. Per-execution sessions isolate mutable controller, payload and sensor state. Physical endpoints remain inhibited.
The integrated suite passed 320 Bun tests, 22,849 assertions, 13 Python bridge tests, Buddy lint, application/runtime/view typechecks, roadmap/parity gates and native standalone CLI checks outside the checkout. Independent Standards and Spec reviews passed after sampler authority/scope, session isolation, estimator/clock epochs, scenario binding and landing-pause fixes. Browser QA verified nominal and recovery playback, correlated payload ACKs, host-loss versus stale host snapshots, numeric timeline controls and zero horizontal overflow at 320/375 px.
All evidence is owned physics simulation. It does not establish native controller execution, external firmware SITL, HIL or physical vehicle acceptance. CI for this pushed commit passed, including all Linux standalone CLI scenarios and both neutral-only Pico 2 cross-builds.