Strategy first, then decomposition, then code one step at a time. Don't skip the in-isolation test β every step should work alone before you chain them together.
flowchart TD
Start([New auton needed]) --> Strategy[Define strategy:
what should the bot accomplish
in 15 seconds?]
Strategy --> Decompose[Decompose into steps:
1. Drive to position A
2. Acquire object
3. Drive to position B
4. Release object]
Decompose --> ForEach{For each step}
ForEach --> Write[Write step code:
chassis.pid_drive_set or
mechanism gated-wait]
Write --> Test[Test step in isolation
on practice field]
Test --> Works{Works as
expected?}
Works -->|"No"| Diagnose[Diagnose:
wrong distance? wrong angle?
sensor not triggering?]
Diagnose --> Adjust[Adjust constants
or sensor thresholds]
Adjust --> Test
Works -->|"Yes"| More{More steps
to write?}
More -->|"Yes"| ForEach
More -->|"No"| Whole[Test full routine
end-to-end]
Whole --> Final{Works reliably
5 times in a row?}
Final -->|"No"| Diagnose
Final -->|"Yes"| Done([Auton ready
for match])
style Start fill:#1e293b,stroke:#22d3ee,stroke-width:2px,color:#e2e8f0
style Done fill:#1e293b,stroke:#22c55e,stroke-width:2px,color:#e2e8f0
style ForEach fill:#fbbf24,color:#0f172a,stroke:#fbbf24
style Works fill:#fbbf24,color:#0f172a,stroke:#fbbf24
style More fill:#fbbf24,color:#0f172a,stroke:#fbbf24
style Final fill:#fbbf24,color:#0f172a,stroke:#fbbf24
Plan your autonomous before writing a single line of code. Fill in each segment β what the robot does, how long it takes, and how many points it scores. The planner calculates your expected score and flags risky sequences.