Planning Autonomous and Driver-Controlled Play
Plan an Autonomous routine that is reliable and compatible with your alliance partner, then break Driver-Controlled play into cycles you can time and improve. Learn what defense means and why the rules limit it.
In this lesson you will
- Design an Autonomous routine that puts reliability before ambition.
- Plan Autonomous variants that stay compatible with an alliance partner's routine.
- Break a scoring cycle into phases and measure cycle time.
- Describe defensive play in general terms while respecting the rules.
Lesson
A match is really two different problems. In Autonomous, the robot acts alone using only its code and sensors. In Driver-Controlled, your drivers make decisions in real time. Each part needs its own plan, and both plans come from your game analysis sheet.
Autonomous: reliable beats ambitious
In Autonomous nobody can rescue a mistake, so every failure costs points with no recovery. Compare two imaginary routines. Routine A scores 30 points (example value) but works only 30% of the time: 30 x 0.3 = 9 expected points. Routine B scores 12 points (example value) but works 95% of the time: 12 x 0.95 = 11.4 expected points. The simpler routine wins, and a failing routine can also crash into your partner or earn a penalty.
- Layer 1: the simplest action the current game rewards, such as leaving the start area or parking. This must work almost every time.
- Layer 2: score the preloaded game element, then finish with Layer 1.
- Layer 3: extra game elements, added only after Layer 2 succeeds in, for example, 9 out of 10 practice runs.
Compatible autos with alliance partners
Your partner also has an Autonomous routine. If both robots drive to the same place, they collide and both routines fail. Prepare variants: one for each starting position, a park-only version, and a version that waits a few seconds before moving. Then, in the pre-match conversation, you pick the combination that keeps both robots out of each other's way.
1import com.qualcomm.robotcore.eventloop.opmode.Autonomous;
2import com.qualcomm.robotcore.eventloop.opmode.LinearOpMode;
3import com.qualcomm.robotcore.util.ElapsedTime;
4
5@Autonomous(name = "Auto Selector Example")
6public class AutoSelectorExample extends LinearOpMode {
7 @Override
8 public void runOpMode() {
9 boolean startLeft = true;
10 boolean parkOnly = false;
11
12 // Pick the plan agreed with the alliance partner during init
13 while (opModeInInit()) {
14 if (gamepad1.dpad_left) startLeft = true;
15 if (gamepad1.dpad_right) startLeft = false;
16 if (gamepad1.a) parkOnly = true;
17 if (gamepad1.b) parkOnly = false;
18
19 telemetry.addData("Start side", startLeft ? "LEFT" : "RIGHT");
20 telemetry.addData("Plan", parkOnly ? "PARK ONLY" : "SCORE + PARK");
21 telemetry.update();
22 }
23 if (isStopRequested()) return;
24
25 ElapsedTime timer = new ElapsedTime();
26 if (!parkOnly) {
27 // scorePreload(startLeft); // your scoring routine
28 }
29 // park(startLeft); // always finish with the reliable layer
30 telemetry.addData("Auto time (s)", timer.seconds());
31 telemetry.update();
32 }
33}
Driver-Controlled: think in cycles
Most Driver-Controlled scoring repeats the same loop: collect a game element, travel to the scoring area, score, and return. One full loop is a cycle, and the time it takes is the cycle time. More cycles mean more points, so shaving seconds off each cycle is one of the most powerful things a team can do.
| Phase | Example time before | Example time after | How the time was saved |
|---|---|---|---|
| Collect | 6 s | 4 s | Driver practice lining up with game elements |
| Travel | 4 s | 3 s | One agreed, consistent route |
| Score | 3 s | 3 s | No change yet |
| Return | 4 s | 3 s | Mechanism resets while driving back |
| Full cycle | 17 s | 13 s | In 90 s of cycling: 5 full cycles before, 6 after |
Small savings in each phase add up. Measure with a stopwatch over many cycles, not just one, and attack the slowest phase first. Remember to reserve time for the endgame: decide in advance how many seconds before the end your drivers stop cycling.
Defense, in general terms
Defense means slowing the opposing alliance down, for example by blocking their path, instead of scoring yourself. It can be a legitimate strategy, but the rules usually limit it closely, for example with rules about pinning robots, contact in protected areas, or blocking for too long. These details change every season, so read the robot-interaction rules in the current manual. For most beginner teams, scoring is worth more. Only play defense if your alliance agrees it is the best plan, and always with Gracious Professionalism: never aim to damage another robot.
Key terms
- Autonomous routine
- The pre-programmed sequence a robot runs during the Autonomous period without driver input.
- Autonomous variant
- An alternative version of a routine, such as a different start position, a delay, or park-only, chosen before a match.
- Cycle
- One complete scoring loop in Driver-Controlled: collect, travel, score, and return.
- Cycle time
- The time one full cycle takes, usually measured as an average over many cycles.
- Defense
- Legally slowing down the opposing alliance instead of scoring, within the limits set by the current rules.
Practical exercise
Map Your Auto and Time Your Cycles
- 1On a printed field diagram or a whiteboard, draw your Layer 1 and Layer 2 Autonomous paths from each possible starting position.
- 2Add a park-only variant and a delayed variant, and shade the areas a partner robot might use.
- 3Run each variant 10 times on your practice area and log every success and failure with a short reason.
- 4In Driver-Controlled, time 10 full cycles with a stopwatch, recording each phase separately.
- 5Pick the slowest phase, try one change to speed it up, and time 10 more cycles to check the result.
Knowledge check
Answer every question, then check your answers.