Autonomous Strategy
Overview
Writing an autonomous routine is only half the work. The other half is strategy — figuring out which objects to score, in what order, and by which route, to get the highest reliable score before time runs out.
Why does this matter?
A robot that consistently scores 8 points beats a robot that sometimes scores 15 points and sometimes scores 0. Reliability wins competitions. Good autonomous strategy combines high scoring potential with low risk.
Understanding the Scoring Opportunities
Before designing any route, study the game manual. Read through every possible way to score points in the autonomous period. For each opportunity, ask:
- How many points does it give me?
- How far does my robot need to travel to reach it?
- How hard is it to execute reliably?
- What happens if I miss it — does it put me in a bad position?
Write your findings in your engineering notebook in a table. This makes comparing options much easier.
Designing an Autonomous Route
Step 1 — Draw a top-down field map
Get a piece of graph paper (or use your engineering notebook). Draw the field from above. Mark:
- Your starting position
- All scoring objects
- Any obstacles or zones to avoid
Step 2 — Sketch candidate routes
Draw at least two different routes. For each route, trace the path your robot will take and mark every action (pick up, score, turn).
Step 3 — Calculate theoretical maximum score
For each route, add up all the points you could score if every action succeeds perfectly. This is your theoretical maximum. It helps you compare routes on paper before testing.
Example calculation:
| Action | Points | Success Rate (estimated) | Expected Points |
|---|---|---|---|
| Score object A | 3 pts | 90% | 2.7 pts |
| Score object B | 3 pts | 80% | 2.4 pts |
| Park in zone | 2 pts | 95% | 1.9 pts |
| Total | 8 pts | — | 7.0 pts expected |
Step 4 — Pick a primary and backup routine
- Primary routine: The highest-scoring route. More actions, more risk.
- Backup routine: A simpler, shorter route. Fewer points, but nearly always successful.
At competition, run the primary routine. Switch to the backup if the primary is failing repeatedly.
Coding the Routine
Keep your autonomous code modular — built from small, reusable functions. This is not just good style; it makes testing and fixing much faster.
# VEX IQ Python — modular autonomous routine
def autonomous():
drive_forward(75, 2.0) # drive to first object
activate_intake(1.5) # intake for 1.5 seconds
drive_forward(75, 1.0) # drive to scoring zone
score_object() # deposit the object
turn_to_heading(180) # turn around
drive_forward(75, 0.5) # parkWhen something goes wrong during testing, you can identify which function is failing and fix only that piece.
Repeatability Testing
A single successful run proves nothing. You need to know how often the routine works. This is called repeatability testing.
How to run a repeatability test
- Place the robot in your defined starting position (mark it with tape on the floor).
- Run the autonomous routine.
- Record the result: pass (scored the expected points) or fail (something went wrong).
- Reset the robot exactly to the starting position.
- Repeat at least 10 times.
What counts as a pass?
Define this before you start testing. Examples:
- “The robot scored at least 6 points”
- “The robot completed all actions without a mechanical failure”
- “The robot ended within 6 inches of the target final position”
Recording results
Use a table in your engineering notebook:
| Run | Result | Notes |
|---|---|---|
| 1 | Pass | Nominal |
| 2 | Pass | Slight drift on second turn |
| 3 | Fail | Missed intake — object slipped |
| 4 | Pass | |
| 5 | Pass | |
| … | … | … |
Target reliability
- Good: 7/10 runs succeed
- Competition-ready: 8–9/10 runs succeed
- Do not use at competition: fewer than 6/10
Failure mode analysis
Every time a run fails, record exactly where it failed and why. Look for patterns:
- “The robot always drifts left on the third drive segment” → tuning issue with the drive PD constants
- “The intake always misses if the object is not perfectly centered” → mechanical alignment problem
Fix the two most common failure modes, then re-test.
Improving Reliability
When your routine is not reliable enough, these are the most common fixes:
Drift during straight drives
- Re-tune your P or PD drive constants
- Check that all wheels are the same size and spinning freely
- Make sure the inertial sensor is calibrated before the run
Inaccurate turns
- Re-tune your turn PD constants
- Make sure the inertial sensor is at the center of the robot, not off to one side
- Reduce the drive speed before the turn so there is less momentum
Mechanism failures
- Make sure all fasteners are tight — vibration loosens screws over time
- Check the motor cartridge — a worn cartridge produces less torque
- Add a mechanical hard stop so the mechanism cannot over-extend
Inconsistent starting position
- Use a corner piece or field element to align the robot to the exact same spot every time
- Mark the floor with tape and double-check alignment before every run
Field Awareness
The autonomous period happens in real time on a real field. Things do not always go as planned:
- Other robots may move game objects before your robot reaches them (in multi-robot events).
- Starting position variation compounds into large errors at the end of a long route.
- Battery charge affects motor power and therefore travel distance.
Keep your routine as short as possible while still scoring well. The more actions you chain together, the more chances there are for something to go wrong.
Related Topics
- Navigation: PID Controllers
- Navigation: Odometry
- Software: Competition Template
- Resources: Competitions