🌎 Strategy · Autonomous · Skills

Route Planning

How you plan your autonomous route matters as much as how you code it. Match autonomous and Skills autonomous are fundamentally different games with different objectives, time limits, and risk profiles — and they require completely different planning approaches.

1
Match vs Skills
2
Match Design
3
Skills Design
4
Paper Planning
5
PATH.JERRYIO
6
Field Variables
// Section 01
Match Autonomous vs Skills — Different Games
Most teams plan their match autonomous and skills autonomous using the same approach. That is a mistake. They have fundamentally different objectives, constraints, and success criteria.
Match Autonomous (15 sec)
Objective: win the autonomous bonus AND earn the AWP. Both can go to both alliances in the same match.

Risk profile: reliability over maximum score. A 100% reliable 10-point auton beats a 70% reliable 18-point auton in a 12-match qualifier.

Partner dependency: your route must account for what your alliance partner is doing. Coordination prevents collisions and element conflicts.

Field state: only your half of the field is accessible without crossing the autonomous line. Opponent robot is a real variable.

Success metric: win points + autonomous win point + consistency across all 12 qualification matches.
Skills Autonomous (60 sec)
Objective: maximum raw score in one run. No AWP. No bonus for winning — pure point accumulation.

Risk profile: maximize expected score per run. A higher-risk route that occasionally scores 120 is better than a safe route that always scores 60, if you have 3 attempts per event.

Partner dependency: none. You own the entire field. Route the full 12′×12′ square.

Field state: fully known and static. All elements start in documented positions. No opponent robot. Completely predictable.

Success metric: highest single score across your best run at any event this season.
💡
The most important distinction: in match autonomous, you are competing against the other alliance and cooperating with your partner. In skills autonomous, you are competing against a fixed field and your own previous best score. These require completely different mental models when planning.

Current Season Context — Push Back (2025–26)

VRC Push Back is played on a 12′×12′ field. Matches consist of a 15-second autonomous period followed by a 1:45 driver-controlled period. The alliance that scores more points in the autonomous period is awarded 10 bonus points added to the final score. Each alliance also has the opportunity to earn an Autonomous Win Point by completing assigned tasks.

In a Skills match, teams can use any legal starting position for the red alliance and must remain in the red alliance station. There are more ways to score in Skills matches, and the way you earn control zone bonuses is different from head-to-head matches.

Each team gets up to three driving skills matches and three autonomous coding skills matches. This means each event gives you three attempts to set your best skills score — plan accordingly.

// Section 02
Designing a Match Autonomous Route
Match autonomous has a 15-second window and a 10-point swing on the line. Route design starts with what you must do (AWP), then adds what you can reliably do in the remaining time.

Step 1 — Know the AWP Conditions First

Every season publishes specific tasks that must be completed to earn the Autonomous Win Point. Read the current game manual carefully — the AWP tasks change every year. Before planning any scoring route, confirm:

Your baseline autonomous must always complete the AWP condition at 95%+ reliability. Everything else is bonus.

Step 2 — Map Your Half of the Field

In match autonomous, you are not allowed to touch foam tiles, scoring objects, or field elements that begin the match on the other side of the autonomous line. This means your route is constrained to your alliance’s half of the field. Map every scoring element on your side and calculate their point values.

⚙️ Route Planning Canvas — Sketch Your Autonomous
Starting position
Game elements
Goals / scoring zones
Autonomous line
Click and drag on the canvas to sketch a route. Double-click to clear.

Step 3 — Build Your Route Tier by Tier

Think of your match autonomous in three tiers, from safest to most aggressive:

  1. Tier 1 — Baseline (100% reliability target): AWP condition only. If the field is unusual, if your partner has a conflicting routine, or if anything feels off during setup — this is what you run. It must never fail.
  2. Tier 2 — Standard (90%+ reliability target): AWP + maximum scoring on your half. This is your typical qualification match routine. Tested exhaustively on your practice field.
  3. Tier 3 — Maximum (for elimination matches only): everything in Tier 2 plus a high-risk element — crossing to partner side, a difficult second AWP element, coordinated two-robot sequence. Only run when the match situation requires maximum autonomous points.

Step 4 — Account for Your Alliance Partner

Before every match, confirm with your partner:

⚠️
Two robots attempting to interact with the same game element during autonomous is one of the most common failure modes in VRC. If your 15-second window involves elements near the center line, map both robots’ routes on paper before the match and confirm there are no spatial conflicts.
// Section 03
Designing a Skills Autonomous Route
Skills autonomous gives you 60 seconds, the entire field, a completely predictable starting state, and three attempts per event. Route design here is an optimization problem — maximize points per second of robot movement.

The Skills Route Planning Process

  1. List every scorable element and its point value. Skills scoring can differ from match scoring — always check the game manual appendix for the current season’s skills-specific rules. Some elements are worth more in skills, some zones are scored differently.
  2. Calculate points per second for each element. A 5-point element that takes 4 seconds to score is worth 1.25 pts/sec. A 3-point element that takes 1 second to score is worth 3.0 pts/sec. Prioritize high pts/sec actions. Low-value elements far from your route are often not worth the travel time.
  3. Minimize travel distance between scoring actions. Map all targets on a field diagram and find the shortest path that visits the highest-value ones. This is a version of the Traveling Salesman Problem — you do not need to solve it mathematically, but thinking about it explicitly prevents routes that backtrack unnecessarily across the field.
  4. Group elements by zone. Score elements in clusters rather than bouncing between opposite sides of the field. Grouping cuts travel time and makes the route more robust to small positional errors.
  5. Plan the end-game last. Many games have a high-value end-game action (climbing, parking, stacking). Plan your route to arrive at the end-game position with 5–10 seconds remaining, not just 1–2.

Points-Per-Second Thinking

ActionPointsEst. TimePts/secPriority
Score near element (close to goal)31.5s2.0High
Score far element (travel required)34.0s0.75Low
End-game action (climb/park)Variable3–8sDependsHigh if worth >15 pts
Control zone bonusBonusFree if on routeAlways include
Element far off optimal routeAny+6s detourVery lowUsually skip
🏆
The field is completely known and static in skills. Unlike match autonomous where the opponent robot, preloads, and partner position introduce uncertainty, skills starts identically every run. This means you can invest in a longer, more complex route because there are no surprise variables — only your robot’s mechanical consistency is the limiting factor.

The Three-Attempt Strategy

With three runs per event, you can be strategic about which routes you attempt:

// Section 04
Paper Planning Before You Code
The best autonomous routines are planned on paper first. Coding a route you have not thought through wastes time debugging problems that should have been caught at the planning stage.
📝
Rule: no autonomous code gets written until the route has been walked through physically in the pit and mapped on paper. Teams that skip this step spend hours debugging movements that would have been obviously wrong on a field diagram.

The Five-Step Paper Planning Workflow

1. Print or Draw the Field

Use a top-down field diagram. VEX publishes the official field layout in the game manual appendix. Print it at a scale where you can draw on it, or recreate it on graph paper with your team. Mark all game elements, goals, and zone boundaries.

2. Mark Your Starting Position Precisely

The starting position is not “near the left tile” — it is a specific corner, a specific orientation. Mark it as a point with an arrow showing heading. The robot’s starting position should be repeatable to within 1 centimeter and 1 degree across every practice run — use physical reference marks on your practice field (tape on the tiles).

3. Draw the Route as a Sequence of Waypoints

Draw the robot’s center path from start to first element, to goal, to next element, etc. Label each waypoint with:

4. Walk the Route Physically

Before writing a single line of code, push the robot along the planned route by hand in the pit. Does the path physically work? Does the robot fit through that gap? Does the arm clear the goal structure? Does the approach angle to the element make sense mechanically? Physical walkthrough catches about half of all route problems before they become code problems.

5. Calculate the Time Budget

Add up estimated times for every movement and action. Compare to your available window (15 seconds for match, 60 seconds for skills). If you are over budget, identify which elements to cut — lower pts/sec actions first. If significantly under budget, add one more element.

Paper planning is engineering notebook content. A field diagram with your planned route, waypoint labels, and timing annotations is exactly the kind of quantitative documentation that earns Design Award points. Take photos of your planning sheets and include them with your testing data in the notebook.

The Route Card

After finalizing a route, create a “route card” — a single index card or laminated sheet that the drive team keeps at the field:

Example Route Card
Route: LEFT — AWP + 2 elements
Start: Left tile, back-left corner, facing field center (0°)
Selector: Position 2 on Brain screen
Steps: Drive 24" → Turn 90°R → Score → AWP touch → Backup 12"
End: Robot at AWP line, ~12.5s elapsed
Fallback: If partner blocks AWP → select Position 1 (AWP only)
// Section 05
PATH.JERRYIO — Visual Route Editor
PATH.JERRYIO is a free browser-based path editor specifically built for VRC. Draw routes on a to-scale field diagram, export them as code or waypoint files, and visualize your skills routes before writing a single line of EZ Template code.
ℹ️
PATH.JERRYIO is at path.jerryio.com — free, no account required, works in any browser including on your phone. It is a Progressive Web App that is installable and can be used without an internet connection.

What PATH.JERRYIO Does

How to Use It for EZ Template

PATH.JERRYIO works best for teams with odometry (position tracking) — it outputs X/Y coordinates that assume the robot knows its position on the field. For EZ Template teams without odometry, its primary value is as a planning visualization tool rather than a code generator:

  1. Open PATH.JERRYIO and select the current season’s field image
  2. Place your starting position and draw the route by clicking waypoints
  3. Read off the distances and turn angles from the waypoints — these translate directly to pid_drive_set() and pid_turn_set() values in your EZ Template code
  4. Use the field overlay to check that your route avoids field elements and fits within the autonomous line boundary
  5. Share the route image with your partner to coordinate the match autonomous
💡
Coordinate system: PATH.JERRYIO uses (0,0) as the center of the field. This makes it easy to tell where the robot is based on the sign of the x and y coordinates. When reading distances for EZ Template, calculate the distance between each waypoint pair, not the absolute coordinates.

For Teams With Odometry — LemLib + PATH.JERRYIO

Teams running LemLib (an advanced PROS library with odometry) can use PATH.JERRYIO’s full code generation. LemLib is an open-source C++ library that introduces common path-following algorithms like Pure Pursuit and Boomerang. PATH.JERRYIO can generate path files for the robot, which will be used by the robot to travel the designed paths in the autonomous period with path-following algorithms.

This is beyond the scope of most middle school teams using EZ Template, but it is the direction the most competitive high school teams move toward as they advance.

⚠️
PATH.JERRYIO generates planning data — not a complete autonomous routine. You still need to write the mechanism control (intake, arm, claw), handle the AWP condition, and implement chained movements and concurrent actions. The tool handles the navigation geometry; your code handles everything else.
// Section 06
Field Variables That Break Planned Routes
A route that runs perfectly in your gym often fails at a competition field. Understanding why — and designing routes that are robust to field variation — is the difference between a team that consistently wins autonomous and one that wins at home.

The Six Major Field Variables

1. Tile Surface Consistency

VRC foam tiles vary between fields. Older tiles are more compressed, producing less friction. Brand-new tiles have slightly different texture. Your robot’s drive PID was tuned on your gym’s tiles — at competition, those same values may produce a different distance. Mitigation: test on your competition field’s tiles during the practice window before the event. If driving long or short, adjust the target distance in code before the first match.

2. Tile Seams and Field Assembly Gaps

Where two tiles meet, there is a small seam that can deflect the drive slightly. Competition fields are assembled by volunteers and the seams are not always perfectly aligned. A route that crosses many tile seams accumulates small heading errors. Mitigation: use the IMU for heading correction (EZ Template does this automatically). Run your autonomous on the event field during practice time and verify the ending position.

3. Starting Position Precision

If your robot starts 0.5 inches further left than intended, a movement that was supposed to end at a goal may miss it by 0.5–1 inch at the end of a 36-inch drive. For tight scoring sequences, this matters. Mitigation: use a physical reference — robot back corner against the tile edge, robot side against the perimeter wall. Develop a consistent pre-match placement ritual and practice it.

4. Game Element Position Tolerance

Game elements are placed manually before each match. The game manual specifies their starting positions, but human placement has tolerance. An element that should be at a specific coordinate may be 0.25–0.5 inches off. Mitigation: design your intake approach with a wider collection window. Drive slightly past the element’s expected position if your intake can catch it on the way. Never build a route that requires hitting a precise element location with no margin.

5. Battery Voltage

Drive PID performance changes with battery voltage. A 12.0V battery produces different motor output than a 12.5V battery at the same power command. Early in the day with a fresh battery, your robot may drive slightly faster and overshoot. Late in the day or after many runs, a lower battery may cause undershoot. Mitigation: fully charge batteries before every skills run. Run autonomous only on batteries at 12.4V or above. Consider adding a battery voltage check at the start of autonomous and adjusting drive speed accordingly.

6. IMU Calibration Location and Orientation

The IMU must calibrate while the robot is completely stationary. If the robot is placed on the field and then bumped or moved after calibration, heading will be off. Competition venues also sometimes have vibration from other matches running nearby. Mitigation: calibrate the IMU as the last step before the match starts. In EZ Template, chassis.initialize() calls IMU calibration automatically in the initialize() function. Verify the IMU shows calibrated on the Brain screen before stepping back from the robot.

Route Robustness Principles

🏆
Always test your autonomous on the actual competition field during the practice window before your first match. Most competitions open fields 30–60 minutes before matches begin. Use every minute of that time. One successful run on the competition field is worth 10 successful runs in your gym.
⚙ STEM Highlight Mathematics: Optimization & Graph Theory
Skills route planning is a variant of the Travelling Salesman Problem (TSP) — find the shortest path that visits all high-value scoring locations. TSP is NP-hard in general, but the small number of VRC targets (typically 10–20) makes it tractable. For match autonomous, it is a constraint satisfaction problem: maximize score subject to the 15-second time budget and the autonomous line constraint. PATH.JERRYIO visualizes Bézier curves — parametric curves defined by control points — which provide smooth, drivable paths between waypoints.
🎤 Interview line: “Skills route optimization is a variant of the Travelling Salesman Problem — we want to visit the highest-value scoring locations in minimum time. We solve it heuristically by grouping targets by zone and minimizing backtracking. For match autonomous, it is a constrained optimization: maximize expected score in 15 seconds.”
🔬 Check for Understanding
You have 3 seconds remaining in autonomous and two scoring options: Action A (2 pts, 2.5s) and Action B (3 pts, 3.5s). Which should you attempt?
Action B — it scores more points
Neither — with only 3 seconds left, attempting either risks a timing failure mid-action
Action A — it fits within the remaining 3 seconds; B would not complete before time expires
Both simultaneously using concurrent actions
Related Guides
🏆 Autonomous Strategy →📍 Odometry →⚡ Exit Conditions →
← ALL GUIDES