Glossary

This page collects the terms used throughout FIRST Tech Challenge documentation. Terms are listed alphabetically. Throughout the rest of this site, the first mention of any of these terms on a page links back here, so you can check a definition without losing your place. Hover a term link to read its definition in place.

Note

Game-specific vocabulary (scoring elements, field features, award names and the like) changes every season and is defined in the Competition Manual rather than here. Where a rule and this glossary disagree, the Competition Manual wins.

3D Printing

Building a part by depositing or curing material layer by layer from a CAD model. The most common form in FIRST Tech Challenge is Fused Deposition Modeling (FDM), which extrudes melted plastic filament. See 3D Printing.

ADB
Android Debug Bridge

A command-line tool, included with the Android platform tools, that lets a computer communicate with an Android device. Teams most often meet it indirectly: Android Studio uses it to install the Robot Controller App onto a Control Hub or phone, either over USB or over the wireless network.

Alliance

The pair of teams that play a Match together, either as the red Alliance or the blue Alliance. Alliance partners share a score.

Analog Input

A Hub port that measures a continuous voltage rather than a simple on/off state. Used by sensors such as a Potentiometer that report their reading as a voltage level.

Android Studio

Google’s integrated development environment (IDE) for Android apps. It is the most powerful of the three FIRST Tech Challenge programming tools: teams work from the FtcRobotController Android Studio Project on a laptop and build a customized Robot Controller App, which gives access to version control, External Libraries and a full debugger. See Android Studio Programming Tutorial.

Android Studio Project

The FtcRobotController project published with each SDK release. It contains the source of the Robot Controller App plus a TeamCode module that teams add their own OpMode classes to.

AprilTag

A fiducial marker — a square, high-contrast pattern, similar in spirit to a QR code but far simpler — developed at the University of Michigan. Because the physical size of a tag is known, detecting one in a camera image yields both its identity and its position and orientation relative to the camera. FIRST Tech Challenge places AprilTags on the Playing Field so robots can locate themselves. See AprilTag Introduction.

AUTO
Autonomous

The first phase of a Match, during which the robot runs a pre-written OpMode with no human input. Contrast with TELEOP.

Battery

The 12V rechargeable battery that powers the Control Hub, Expansion Hub, motors, servos and sensors. The FIRST Tech Challenge battery has a 20A Fuse built into its lead. See Power Distribution.

Blocks
Blocks Programming Tool

The visual, drag-and-drop programming tool built into the Robot Controller App. Teams connect colored blocks in a web browser to build an OpMode, with no typing of Java required. It is the recommended starting point for new teams. See Blocks Programming Tutorial.

CAD
Computer Aided Design

Software used to design parts and assemblies in three dimensions before they are built. CAD models feed 3D Printing, CNC machining and laser cutting, and let a team check that a mechanism fits before cutting metal. See CAD Resources.

CNC
Computer Numerical Control

Machining in which a computer drives the cutting tool from a digital model, rather than a human turning handwheels. Mills, routers and lathes are all available in CNC form. See Manufacturing.

Competition Manual

The official rule book for the season, published by FIRST. It defines the game, the Playing Field, robot construction rules, Inspection requirements and tournament procedure, and it supersedes anything written on this site. See Competition Manual.

Configuration File
Robot Configuration

A file stored on the Robot Controller that lists every motor, servo and sensor attached to the robot, which port each one is plugged into, and the name a program should use to refer to it. An OpMode looks up devices from this file through hardwareMap, so a name typed in code must match the configuration exactly. See Configuring Your Hardware.

Continuous Rotation Servo

A Servo modified to spin continuously in either direction instead of holding a commanded angle. Its power setting controls speed and direction, much like a small DC Motor, but it has no position feedback.

Control Hub

The REV Robotics Control Hub: an Android-based device that combines a Robot Controller and a Hub in one package. It runs the Robot Controller App, provides the motor, servo and sensor ports, and creates the wireless network the Driver Station connects to. See Robot Controller Overview.

Control System

The collective name for the electronics and software that make a robot run: the Driver Station, the Robot Controller, the Hub hardware, and the SDK software on both ends. See Control System Introduction.

DC Motor

A motor that turns continuously when voltage is applied to it, used for drivetrains, lifts and intakes. Competition motors are supplied as a motor plus a gearbox and usually an Encoder, and connect to a Hub motor port. See Motors.

Dead Wheel

An unpowered wheel, fitted with an Encoder, that rolls along the floor purely to measure how far the robot has traveled. Because it is not driven, it does not slip under load the way a drive wheel does, which makes it a more trustworthy source for Odometry.

Digital I/O

A Hub port that reads or writes a simple on/off signal. Used by devices such as a Touch Sensor or an indicator LED.

Driver Hub

The REV Robotics Driver Hub: a purpose-built Android device with a screen and USB ports that runs the Driver Station App. It is the most common Driver Station hardware. See Driver Station Overview.

Driver Station
DS

The Android device that sits with the drivers and acts as the robot’s remote control. It runs the Driver Station App, has one or two Gamepad controllers attached, and communicates with the Robot Controller over a wireless link. The Driver Hub is the officially supported Driver Station. An Android phone also works and is legal to use in competition, but is not officially supported.

Driver Station App

The FIRST Tech Challenge app that runs on the Driver Station. It selects and starts OpMode programs, displays Telemetry, forwards Gamepad input to the robot, and hosts Self-Inspect and the Configuration File editor.

EasyOpenCV

A community-maintained library that made it straightforward to run OpenCV vision pipelines on a camera stream in older versions of the SDK. Newer code should generally use VisionPortal instead, which provides equivalent camera handling in the SDK itself.

Encoder

A sensor built into or attached to a motor that counts shaft rotation, reporting position in “ticks” and allowing speed to be measured. Encoders are what make it possible to drive a known distance or hold an arm at a known angle. See Encoders (Rotation Counters).

End Game

The final portion of TELEOP in which additional scoring opportunities open up. What counts as End Game scoring is defined each season in the Competition Manual.

ESD
Electrostatic Discharge

The sudden flow of static electricity between two objects at different potentials — the spark you feel after walking across a carpet. On a robot it can reset or damage the Control Hub and is a common cause of unexplained disconnections. See Managing Electrostatic Discharge Effects.

Expansion Hub

The REV Robotics Expansion Hub: a Hub that adds a second set of motor, servo and sensor ports to a robot. It has no Android device inside, so it must be paired with a Control Hub or a phone acting as the Robot Controller.

External Libraries

Third-party code added to a team’s project to provide functionality the SDK does not. Libraries can be added as .aar/.jar files in OnBot Java, or as Gradle dependencies in Android Studio.

Field Coordinate System

The convention FIRST Tech Challenge uses to describe positions and headings on the Playing Field, so that a robot’s location can be expressed as X, Y and heading values that everyone interprets the same way. See FIRST Tech Challenge Field Coordinate System Definition.

Firmware

The low-level software running on a Hub’s own microcontroller, as distinct from the Android operating system or the Robot Controller App. Hub firmware occasionally needs updating to stay compatible with a new SDK. See Updating Hub Firmware.

FIRST

For Inspiration and Recognition of Science and Technology: the non-profit organization that runs FIRST Tech Challenge along with its other robotics programs. See About the FIRST Tech Challenge.

FTC Docs

This documentation site, at ftc-docs.firstinspires.org. It is written and maintained by the FIRST Tech Challenge community; see Contributing to FTC Docs if you would like to contribute.

Fuse

A deliberately weak link in a circuit that melts and breaks the connection if too much current flows, protecting everything downstream. The FIRST Tech Challenge Battery carries a 20A automotive-style fuse in its lead.

Gamepad

A game controller, connected to the Driver Station by USB, that a driver uses to command the robot during TELEOP. An OpMode reads its buttons and joysticks through the gamepad1 and gamepad2 objects.

Gear Ratio

The ratio between the rotation of an input shaft and an output shaft in a gearbox or belt drive. Gearing down trades speed for torque; gearing up does the reverse. A motor’s stated gear ratio must be accounted for when converting Encoder ticks into real-world distance.

Gracious Professionalism

A core FIRST value: competing hard, while treating opponents, volunteers and teammates with respect, and helping others succeed even at a cost to yourself. See Gracious Professionalism®.

hardwareMap

The object available inside every OpMode that looks up a physical device by the name given to it in the Configuration File, for example hardwareMap.get(DcMotor.class, "left_drive"). It is the bridge between a program and the robot’s wiring.

Heading

The direction the robot is facing, measured as an angle within the Field Coordinate System. Usually obtained from the IMU or from Odometry.

Hub

Shorthand for a Control Hub or an Expansion Hub — the electronic input/output module that lets the Robot Controller talk to motors, servos and sensors. See REV Hubs.

I2C

A two-wire communication bus used by many sensors, including the IMU and most color and distance sensors. Several devices can share one bus, but each needs a distinct address, so identical sensors normally go on separate Hub I2C buses.

IDE
Integrated Development Environment

An application that combines a code editor, a compiler and a debugger in one place. Android Studio is the IDE used for FIRST Tech Challenge Java development.

IMU
Inertial Measurement Unit

A sensor that measures rotation and acceleration, and so can report the robot’s Heading. An IMU is built into every Control Hub and Expansion Hub, and external IMUs are also available. See Universal IMU Interface.

Inspection

The pre-competition check that a robot and its software meet the rules in the Competition Manual. Self-Inspect in the Driver Station App covers the software half in advance. See Old Self-Inspect.

Iterative OpMode

An OpMode written by overriding the init, loop and stop methods of the OpMode class. The SDK calls loop repeatedly for you. Contrast with LinearOpMode.

Javadoc

Reference documentation generated from comments in the SDK source code, describing every class and method available to an OpMode. Published at javadoc.io.

Judging

The interview and evaluation process at a tournament through which teams are considered for awards, separate from Match play.

LinearOpMode

An OpMode written as a single runOpMode method that executes top to bottom, pausing at waitForStart(). This style suits AUTO programs, where steps happen in sequence. Contrast with Iterative OpMode.

Match

One playing of the game between two Alliance pairs, consisting of an AUTO phase followed by a TELEOP phase.

Mecanum
Mecanum Drive

A drivetrain using wheels with rollers set at 45° around the rim. By driving the four wheels at different speeds the robot can move sideways and rotate without turning first — often called holonomic or omnidirectional movement.

Odometry

Estimating how far the robot has moved, and where it now is, by accumulating Encoder readings over time. Accuracy depends on wheels not slipping, which is why Dead Wheel pods are popular.

OnBot Java
OnBot Java Programming Tool

A text-based Java editor built into the Robot Controller App and used from a web browser. Code is compiled on the robot itself, so no laptop toolchain is needed — a middle step between Blocks and Android Studio. See OnBot Java Programming Tutorial.

OpenCV

An open-source computer vision library, bundled with the SDK, that provides the image-processing building blocks — color conversion, thresholding, contour finding — used to detect objects in a camera frame. See Color Processing Introduction.

OpMode
Op Mode
Operational Mode

A program that defines part of a robot’s behavior, written by the team and run on the Robot Controller. OpModes are selected and started from the Driver Station, and are declared as either AUTO or TELEOP. Each one is written as a LinearOpMode or an Iterative OpMode. See Programming Resources.

OTG Adapter

A small “USB On-The-Go” adapter that lets an Android phone act as a USB host, so that a Gamepad, USB Hub or Expansion Hub can be plugged into it.

PIDF

A control algorithm — Proportional, Integral, Derivative, Feedforward — that adjusts motor power based on the difference between a target and the measured Encoder value. The SDK uses PIDF internally for motor velocity control, and its coefficients can be tuned.

Playing Field

The 12ft × 12ft tiled area, enclosed by field walls, on which a Match is played. Its layout, including AprilTag placement, changes each season. See Playing Field Resources.

Potentiometer

A sensor whose resistance varies with the position of a knob or shaft, read through an Analog Input. Useful for measuring the angle of an arm across a limited range.

PWM
Pulse Width Modulation

A technique for controlling how much power reaches a device by switching it on and off very rapidly and varying the fraction of time it spends on. Servo position commands are sent as PWM signals.

Referee

The volunteer who enforces the rules of the Competition Manual during a Match and determines the final score.

REV Hardware Client

A Windows application from REV Robotics that updates the Firmware, operating system and apps on a Control Hub, Expansion Hub or Driver Hub over USB. It is the recommended way to keep hardware current. See Installing and Updating the REV Hardware Client.

Robot Controller
RC

The Android device mounted on the robot that runs the team’s OpMode programs — the “brains” of the robot. The Control Hub is the officially supported Robot Controller. An Android phone paired with an Expansion Hub also works and is legal to use in competition, but is not officially supported.

Robot Controller App

The FIRST Tech Challenge app that runs on the Robot Controller. It executes OpMode programs, manages the Configuration File, and serves the Blocks and OnBot Java programming tools to a web browser.

Sample OpMode

One of the ready-made example OpMode programs shipped with the SDK, found in the samples folder in Android Studio or offered as a template in OnBot Java and Blocks. Samples are the fastest way to see a working example of a given sensor or technique.

Scrimmage

An informal practice competition, not part of the official tournament structure, where teams play Match games to test robots and gain experience.

SDK
Software Development Kit

The collection of FIRST Tech Challenge software tools: the Robot Controller App, the Driver Station App, the Android Studio Project, the Javadoc reference, and the season-specific assets. A new SDK is released each season. See FIRST Tech Challenge Software Development Kit.

Self-Inspect

A screen in the Driver Station App that checks the app versions, operating system versions and Firmware on both the Driver Station and the Robot Controller, and reports whether they satisfy the requirements for competition. See FIRST Tech Challenge Self-Inspect.

Sensor

Any device that reports information about the robot or its surroundings — touch, distance, color, rotation — to the Robot Controller. Sensors attach to Digital I/O, Analog Input or I2C ports on a Hub. See Sensors.

Servo

A motor that rotates to and holds a commanded position, typically over a limited range. Servos plug into dedicated Servo ports on a Hub and are commanded by position rather than power. See also Continuous Rotation Servo and Servos.

Telemetry

Data sent from an OpMode on the Robot Controller to the Driver Station screen, where it appears as lines of text. Telemetry is the primary way to see what a program is doing, and is therefore the primary debugging tool.

TELEOP
Driver-Controlled Period

The phase of a Match after AUTO, in which up to two human drivers control the robot using Gamepad controllers connected to the Driver Station.

TensorFlow
TFOD
TensorFlow Object Detection

A machine-learning framework used to recognize objects in a camera image from a trained model. The SDK ships a TFOD processor that can be run through VisionPortal, along with season-specific models.

Touch Sensor

A simple switch that reports whether it is pressed, read through a Digital I/O port. Commonly used as a limit switch to tell a mechanism it has reached the end of its travel.

Tournament

An official FIRST Tech Challenge event at which teams compete in Match play and take part in Judging.

USB Hub

A powered or unpowered splitter that provides extra USB ports. Needed when a Driver Station phone must host two Gamepad controllers at once, in which case it connects through an OTG Adapter.

VisionPortal

The SDK camera API. A VisionPortal opens a camera — a webcam or a phone’s built-in camera — and feeds each frame to one or more vision processors, such as the AprilTag or TFOD processors, or a team’s own OpenCV pipeline. See VisionPortal Overview.

Volunteer

Anyone who gives their time to run a FIRST Tech Challenge event — Referee, judge, inspector, queuer, scorekeeper and many more roles. Events cannot happen without them.

Vuforia

An image-target tracking library used in earlier seasons to locate the robot from printed picture targets on the field. It has been superseded by AprilTag detection through VisionPortal.

Webcam

A USB camera plugged into a Control Hub or Robot Controller phone and used for vision. Only cameras supporting the USB Video Class (UVC) standard work. See Webcams for Vision Portal.

Wi-Fi Direct

A peer-to-peer wireless standard that lets two devices connect without a router. It is how a Driver Station phone pairs with a Robot Controller phone. A Control Hub instead creates its own wireless network for the Driver Station to join.