Scoring
Full Rubric (100 points)
| # | Category | Points | Key criteria |
|---|---|---|---|
| 1 | Technical Measurement Performance | 30 | Both mandated sensors active; readings within ±10% of reference; top band requires independent navigation |
| 2 | Data Output & Visualisation | 10 | Legible, labelled units (NTU, %); graph or log; available immediately after run |
| 3 | Build Quality & Workmanship | 5 | Robust structure; tidy insulated wiring; manoeuvrability |
| 4 | Innovation & Engineering Design | 10 | Novel solutions; 3-min Day 1 pitch; iteration evidence |
| 5 | Robot Aesthetics | 5 | Finish, branding, professional look |
| 6 | Closing Night Case Competition | 40 | Data-driven argument; tradeoffs; Q&A; teamwork |
| Total | 100 |
Official rulebook section headers contradict this table (Cat 1: 40 vs 30; Cat 6: 25 vs 40; Cat 3: 10 vs 5). The table totals 100 and is treated as authoritative; confirmation has been requested from the organisers. Under any reading, Cat 6 is the largest single category.
Category 1 bands (from the rulebook)
| Points | Descriptor |
|---|---|
| 23–25 | Both sensors within ±10%; robot navigates independently, full run |
| 18–22 | Both sensors active; one within ±10%; minor navigation assistance |
| 12–17 | One valid sensor, or both outside ±10% |
| 5–11 | Unreliable readings; significant intervention |
| 0–4 | No valid measurement |
Implication: an RC robot with two accurate, calibrated sensors lands in the 18–22 band. Autonomy buys the last ~3–7 points of Cat 1 — calibration accuracy is worth more than autonomy.
Deductions
| Infraction | Penalty |
|---|---|
| Prohibited component installed | −10 pts or disqualification |
| Run exceeds 8-minute limit | −5 pts |
| Pre-loaded or hardcoded sensor data | Cat 1 and Cat 2 zeroed (and DQ risk) |
| Arena surface damage | −5 pts per incident |
Priority Order
Cat 6 (40) ≥ Cat 1 (30) > Cat 2 (10) = Cat 4 (10) > Cat 3 (5) = Cat 5 (5)
Time budget follows points: presentation practice and sensor calibration before anything else.
Per-Category Strategy
Cat 1 — Technical Measurement (30 pts)
- Both SEN0189 and Capacitive v2.0 are mandated — substituting either risks penalties up to DQ.
- Calibrate against references before Testing Day; verify morning-of. See Calibration.
- RC mode with operator sector-tagging gives clean, correctly-labelled data.
Cat 2 — Data Output (10 pts)
- Primary judged output:
live_plot.py— matplotlib live table + labelled NTU/moisture charts on the laptop (§4.6's own named example) +samples.csv(a second approved format). - Serial prints every sample with units — the always-on fallback.
results.jsonat192.168.4.1/datawithin seconds of run end (clock frozen at End Run — no idle-time inflation).- Webapp visualiser is the showcase layer only; written approval would be needed to present it as the official output.
Cat 3 — Build Quality (5 pts)
- Wiring cable-tied, terminals insulated, sensors on rigid mounts.
- Accessible power switch — officials can order instant power-down.
- Wheels sized for grass/sand; L298N ventilated.
Cat 4 — Innovation (10 pts)
Real, defensible innovations (judges probe — never claim hardware that isn't on the robot):
- Seesaw arm — one servo deploys two sensors; replaces two actuators.
- Debounced collision guard — the ultrasonic cut is hysteretic and debounced (
OBSTACLE_TRIP_HITSconsecutive in-range pings to trip,OBSTACLE_HYST_MMfurther to clear), so one HC-SR04 glitch can't stop the robot and a bare threshold can't chatter. The decision logic is a pure function incollision.h, unit-tested on the host byarduino/tools/test_collision.cpp. - Median-of-60 sampling window — every reading is the median of ~60 ADC reads over 3 seconds; the rulebook's own "multi-sample averaging" example, done one better (spike-proof).
- Failsafe engineering — WiFi dead-man stop (500ms without a repeated command halts the motors), edge-triggered collision cut with an active short-brake so the robot stops dead rather than coasting, and a sample interlock that stops the motors before the servo moves.
- Operator-tagged sector labels — the operator selects S1–S4 on the RC page before each sample, so every reading carries a label a judge can verify by eye; ⌖ REZERO recovers the dead-reckoned pose after an official re-centres the robot.
- Self-contained data pipeline — robot serves its own RC page from flash and a live
/samplesfeed; matplotlib live table + CSV on the laptop; JSON drag-drops into an offline visualiser with arena replay.
Cat 5 — Aesthetics (5 pts)
- Team name/branding on chassis; consistent cable colours; clean sensor mounts.
Cat 6 — Case Competition (40 pts)
See the Competition Guide — 1-hour prep plan, argument template, Q&A bank.
Day 1 — 3-Minute Innovation Pitch Outline
| Time | Content |
|---|---|
| 0–35s | Seesaw arm: one servo, two sensors, half the failure modes |
| 35–70s | Pond safety: operator stops short and samples with the arm; debounced ultrasonic guard prevents forward collisions |
| 70–105s | Self-hosted firmware: RC-only, phone RC over the robot's own AP; RC, diag and data pages all served from flash |
| 105–140s | Engineering depth: median-of-60 sampling (spike-proof); calibrated voltage divider; dead-man + active-brake failsafes |
| 140–180s | Data pipeline: live matplotlib table + CSV during the run; JSON → offline visualiser with replay; buffer for questions |