Files
Polisher-Control/ROADMAP.md
2026-06-02 15:40:16 +00:00

2.1 KiB

Polisher-Control Roadmap

Phase 0 — Repository foundation

  • Create repository structure.
  • Add ecosystem boundary docs.
  • Add v1 scope and acceptance checklist.
  • Add host/firmware scaffolds.
  • Mirror current shared schemas.

Phase 1 — Contracts first

  • Lock protocol frame format: message IDs, payload layout, CRC, ACK/NACK.
  • Lock telemetry channel list, units, rates, validity encoding.
  • Lock event/alarm code table.
  • Validate controller-job.v1 and run-log.v1 fixtures.
  • Implement host-side state machine tests before hardware logic grows.

Phase 2 — Teensy bench bring-up

  • Teensy boot/status heartbeat.
  • Host↔Teensy serial link with ACK/NACK and CRC.
  • KWR75B-CAN receive path with measured sample rate and stale-frame watchdog.
  • Encoder acquisition for table and arm.
  • ODrive command/telemetry interface selected and documented, including sign mapping for cw/ccw physical tool rotation.
  • Force actuator command path selected and documented.

Phase 3 — Manual mode MVP

  • Host UI/manual-mode workflow with geometric gate.
  • Manual setpoints: force, table RPM, spindle RPM, spindle direction (cw/ccw), optional modulation.
  • Teensy inner loop: setpoint ramping, force PID, telemetry, fast interlocks.
  • Manual-session log and telemetry CSV written to /data/manual/{session_id}/.
  • Status file updated at /data/status.json.

Phase 4 — Safety and commissioning

  • E-stop behavior verified independently of software state.
  • Force over-limit, encoder loss, drive fault, F/T invalid/stale faults verified.
  • Host watchdog and firmware heartbeat verified.
  • FAULTED exits only by explicit operator reset.
  • Tool-weight compensation offset commissioned and logged.

Phase 5 — Controller-job dry run

  • controller-job.v1 4-gate intake implemented.
  • Segment lifecycle exercised on bench/simulator.
  • run-log.v1 emitted with commanded-vs-actual structure.
  • Program execution remains disabled for production until Antoine explicitly accepts readiness.