WestlakeLEARN
FTC · Java

FIRST Tech Challenge

FTC · Java

  • Driver Control
  • Field-Centric Driving
  • Driver Ergonomics and Safe TeleOp
  • Write a Full Command-Based TeleOp

Driver Ergonomics and Safe TeleOp

Controls designed for real match pressure.

Module 5: TeleOp and Driver ControlIntermediate

In this lesson, you will:

  1. 01Use edge detection where appropriate.
  2. 02Create slow modes and safe states.
  3. 03Design around driver language.

Concept narrative

TeleOp is a human interface. Code quality is measured by whether drivers can repeat actions, recover from mistakes, and understand robot state under defense.

This lesson should be read as a robotics lesson first and a programming lesson second. The code matters because it lets the team create repeatable behavior under match pressure. Students should slow down long enough to name the inputs, outputs, assumptions, and safety limits before they touch the robot.

Robot mental model

A control map is a contract with the drive team. Buttons should match intent: hold for temporary behavior, tap for one-shot behavior, and reserve an obvious control for safe recovery.

A good mental model gives the team a shared language. When a driver, builder, and programmer can point to the same behavior and use the same words, debugging gets calmer and code review becomes useful instead of personal.

Implementation walkthrough

Map controls with drivers present. Add edge detection for toggles, slow mode for precision, and a safe-state command that resets mechanisms to known positions.

Keep the implementation staged. First create the smallest version that compiles. Then add telemetry that proves it is running. Then connect one hardware device or one decision. Finally, repeat the test from a cold init so the team knows it was not a lucky hot reload.

TeleOpControls.javaJava

if (current.a && !previous.a) arm.goToDeposit();
if (current.touchpad_finger_1 && !previous.touchpad_finger_1) robot.safeState();
double scale = current.left_bumper ? 0.35 : 0.85;

Common mistakes and debugging

If drivers forget controls, the map is too clever. If holding a button restarts a command repeatedly, edge detection is missing. If safe state only works sometimes, it is not safe yet.

Use the five-value debugging habit: input, state, target, measurement, output. If one of those values is missing, add it before rewriting logic. The goal is to make the robot tell the truth about what it thinks is happening.

Practice

Run a mock match where one student calls out controls and another observes telemetry/state recovery.

Checkpoint

  • Driver can explain each control.
  • Safe state works from tested positions.
  • One-shot controls do not repeat while held.

Reflection check

Check your understanding before moving on.

What is the most important habit in Driver Ergonomics and Safe TeleOp?

0 of 1 answered

References

FIRST FTC DocsOfficial SDK, Robot Controller, and programming reference.Learn Java for FTCFTC-focused Java book and exercises by Alan G. Smith.Game Manual 0FTC community reference for programming, controls, and robot design.

Finished reading?

Mark this lesson complete — “Write a Full Command-Based TeleOp” is up next.

Field-Centric DrivingWrite a Full Command-Based TeleOp