FRC Glossary

accelerometer

A common sensor used to measure acceleration in one or more axis.

AM

AndyMark, Inc - strives to develop innovative products and outstanding service while inspiring our customers and making a positive impact in our community.

AprilTags

Visual tags that provide low overhead, high accuracy localization. AprilTags are useful for helping your robot know where it is at on the field, so it can align itself to some goal position.

auto

The first phase of each match is called Autonomous (auto) and consists of the robot’s running pre-programmed instructions.

back-EMF

In electric motors, the force generated by the interaction of spinning magnets in a coil of wire which opposes spinning motion.

boolean

A form of data with only two possible values (true or false), intended to represent the two truth values of logic and Boolean algebra.

call stack

A specially-organized region of memory which helps the program keep track of what function it is in. As each function calls another, the call point is recorded and added to the top of the structure, forming a “stack” of references. Additionally, local variables will also be stored in this stack. See call stack on Wikipedia for more info.

CAD

Computer-Aided Design - software used to design an accurate model of an object. For FRC this is often used to design the robot to get accurate measurements and aid construction.

CAM

Computer-Aided Manufacturing - the use of software to control machine tools in the manufacturing of work pieces.

CAN

Controller Area Network - message-based protocol designed to allow microcontrollers and devices to communicate with each other’s applications without a host computer.

CD

Chief Delphi - FRC team 47 inspired a popular community driven forum that today serves as an unofficial discussion hub for all things FRC.

central limit theorem

A core concept in probability which states that when many independent variables are added up, the result tends to look like a “normal” (or Gaussian) distribution, regardless of whether the independent variables themselves are normally distributed. See Central Limit Theorem on Wikipedia for more info.

CIM

CCL Industrial Motor, Limited - Chiaphua Components Limited is the company that made the commonly used, relatively powerful, brushed motor.

Classical Mechanics

The branch of physics which studies and describes the motion of relatively large, relatively slow objects. See Classical Mechanics on Wikipedia for more info.

COTS

Commercial off the shelf - a standard (i.e. not custom order) part commonly available from a vendor to all teams for purchase.

composition

A formal software term for building (or “composing”) software entities out of smaller component entities. See object composition on Wikipedia for more info.

CRTP

Continuously Recurring Template Pattern - A software idiom in which a class X` derives from a class template instantiation using X` itself as a template argument. See CRTP on Wikipedia for more info.

CSA

Control Systems Advisor - FRC volunteer position that assists teams with Robot Control System-related issues.

CTRE

Cross the Road Electronics LLC - is an engineering design, software development and electronics manufacturer based outside of Detroit in Macomb, MI. They primarily focus on high-performing, high-quality electronics communication, motor control, and control system products for FIRST teams and the EV industry. CTR Electronics was founded in 2006 by two FRC mentors who met through their robotics team: Mike Copioli and Omar Zrien and is staffed largely by FRC alumni, and active volunteers & mentors.

C++

One of the four officially supported programming languages.

declarative programming

A style of software which focuses on describing what a program should do, rather than how it gets done. See declarative programming on Wikipedia for more info.

dependency injection

A software design pattern where each class receives all objects it depends upon. Sometimes these are passed through the constructor, but not always. See dependency injection on Wikipedia for more info.

deprecated

Software that has been replaced and will no longer receive new features. Deprecated software will be maintained for at least 1 year, but may be removed after that. For example, if a method is deprecated prior to the 2022 season, it will be usable in the 2022 season, but may be removed prior to the 2023 season. Teams are encouraged to not use deprecated methods in new code. WPILib always deprecates features at least one year prior to removing them from the codebase.

design pattern

A particular, intentionally-chosen style of organizing code. A design pattern intentionally excludes using certain features of a programming language to constrain developers into solutions that are well-suited to a particular problem-space. See design pattern. on Wikipedia for more info.

DHCP

Dynamic Host Configuration Protocol - the protocol that allows a central device to assign unique IP addresses to all other devices.

encapsulation

A software design pattern which uses a class to hide the implementation details of other classes. See encapsulation on Wikipedia for more info.

entry

In NetworkTables, a combined publisher and subscriber. The subscriber is always active, but the publisher is not created until a publish operation is performed (e.g. a value is “set”, aka published, on the entry). This may be more convenient than maintaining a separate publisher and subscriber.

enumeration

A list of all elements of a set, typically used to refer to a set of pre-defined values.

EPA

Expected Points Added - builds upon the Elo rating system, but transforms ratings to point units and makes several modifications.

event-driven programming

A style of programming where certain parts of code generate “events” as a result of some input (sensors, user interaction, etc). Then, other parts of code listen for and respond to “handle” these events. See event-based on Wikipedia for more info.

FIRST

For Inspiration and Recognition of Science and Technology - a global nonprofit organization that prepares young people for the future through a suite of life-changing youth robotics programs that build skills, confidence, and resilience.

FLL

FIRST Lego League - Introduces science, technology, engineering, and math (STEM) to children ages 4-16 through fun, exciting hands-on learning.

floating point

A method for approximating real numbers in computer-based arithmetic, using a fixed precision integer scaled by an integer exponent. Typically computer systems support both “single” precision (32-bit storage) and “double” precision (64-bit storage) floating point values, as defined by IEEE 754.

FMS

Field Management System - the electronics core responsible for sensing and controlling the FIRST Robotics Competition field.

FPGA

Field-programmable gate array - a specialized integrated circuit consisting of many digital logic elements, which can be configured to act in different patterns. This allows its behavior to be changed after manufacturing. In the context of FRC, National Instruments provides a specific configuration for the RIO’s FPGA which allows it to process the electrical inputs and outputs at a very high rate. See FPGA on Wikipedia for more info.

FRC

FIRST Robotics Competition - Combining the excitement of sport with the rigors of science and technology. The ultimate Sport for the Mind inspiring High-school students.

FTA

FIRST Technical Advisor - FRC volunteer position that is responsible for ensuring FIRST Robotics Competition events run smoothly, safely, and in accordance with FIRST requirements, and ensuring a high-quality experience for all event participants and teams.

FTC

FIRST Tech Challenge - Grades 7-12 are challenged to design, build, program, and operate robots to compete in a head-to-head challenge in an alliance format.

GDC

Game Design Committee - designs the game for each year and develops the rules and field setup for each competition.

GP

Gracious Professionalism - part of the ethos of FIRST. It’s a way of doing things that encourages high-quality work, emphasizes the value of others, and respects individuals and the community.

GradleRIO

The mechanism that powers the deployment of robot code to the roboRIO.

gyroscope

A device that measures rate of rotation. It can add up the rotation measurements to determine heading of the robot. (“gyro”, for short)

heading

The direction the robot is pointed, usually expressed as an angle in degrees.

imperative programming

A style of programming that focuses on what the code should be doing, step by step, every loop. See imperative programming on Wikipedia for more info.

IMU

Inertial Measurement Unit - a sensor that combines both an accelerometer and a gyroscope into a single sensor.

I2C

Inter-Integrated Circuit - a synchronous, multi-master/multi-slave (controller/target), single-ended, serial communication bus.

Java

One of the four officially supported programming languages.

JSON

JavaScript Object Notation - A standardized way of organizing data into named values. The organized data can be easily serialized. While the original usage was in Javascript, it can be used and interested by most modern programming languages. See JSON on Wikipedia for more info.

KOP

Kit of Parts - the collection of items listed on the Kickoff Kit checklists, distributed to the team via FIRST Choice, or paid for completely (except shipping) with a Product Donation Voucher (PDV).

KOP chassis

The KOP contains a drive base (chassis) distributed to every team (that did not opt out) as part of the KOP. For the 2024 season, the KOP chassis is the AM14U5.

LabVIEW

One of the four officially supported programming languages.

LED

Light-Emitting Diode - a semiconductor device that emits light when current flows through it. Used on multiple robot parts to convey the status of the device.

mass

the amount of matter in a physical object. Objects with more mass will resist changes in motion more than objects with less mass. See mass on Wikipedia for more info.

moment of inertia

The property of an object that describes both how much mass it has, and how that mass is distributed relative to a certain axis of rotation. Objects with higher moments of inertia resist changes in rotational motion more than objects with lower moments of inertia. Increasing the moment of inertia is accomplished by adding more mass, or moving the mass further away from the axis of rotation. See moment of inertia on Wikipedia for more info.

mutable

An object that can be modified after it is created.

MXP

myRIO Expansion Port - Port in the center of the roboRIO designed to expand the traditional IO count by offering multiple different IO types through one connector.

NetworkTables

A publish-subscribe messaging system to communicate data between programs.

no-op

No-op is a computer instruction which means no operation. When the computer processor encounters a no-op instruction, it simply moves to the next sequential instruction. Read more about no-op on Wikipedia .

odometry

Using sensors on the robot to create an estimate of the pose of the robot on the field.

OPR

Offensive Power Rating - a system to attempt to deduce the average point contribution of a team to an alliance

PCM

Pneumatic Control Module - provides an easy all-in-one interface for pneumatic components.

PDH

REV Power Distribution Hub - latest evolution in power distribution for FRC. With 20 high-current (40A max) channels, 3 low-current (15A max), and 1 switchable low-current channel, the PDH gives teams more flexibility for overall power delivery.

PDP

CTRE Power Distribution Panel - power distribution module with 8 high-current (40A max), 8 lower current (20A / 30A), 1 20A protected channel (for PCM and VRM), and 1 10A protected channel (for the roboRIO).

permanent-magnet DC motor

The classification of all legal motors for the FIRST robotics competition. This type of motor takes direct current as input, and uses it to create a magnetic field. In turn, this magnetic field interacts with a physical magnet to create a force that turns the output shaft. Electrical (“brushless”) or mechanical (“brushed”) means are used to ensure the electrically-generated magnetic field always points in a direction that creates forces when it interacts with the physical magnet, even as the motor’s shaft rotates. See permanent-magnet motor on Wikipedia for more info.

persistent

In NetworkTables, a topic that is saved to a file by the server and restored at startup.

PH

Pneumatic Hub - is a standalone module that is capable of switching both 12V and 24V pneumatic solenoid valves. The Pneumatic Hub features 16 solenoid channels which allow for up to 16 single-acting solenoids, 8 double-acting solenoids, or a combination of the two types.

property

In NetworkTables, named information (metadata) about a topic stored and updated separately from the topic’s data. A topic may have any number of properties. A property’s value can be any data type that can be represented in JSON.

publisher

In NetworkTables, an object that defines a topic and creates and sends timestamped data values.

pose

The collection of position and rotation information that describes how a rigid body is oriented in space, relative to some fixed reference point.

pose estimation

The process of estimating the robot’s pose, commonly with odometry and/or AprilTags. Also known as on-field localization.

PWM

Pulse-width modulation - a method of controlling the average power or amplitude delivered by an electrical signal. Used in FRC to control the output of motors not using the CAN bus.

Python

One of the four officially supported programming languages.

RAII

Resource Acquisition Is Initialization - a language behavior (in C++, but not in Java) where holding a resource is tied to object lifetime.

retro-reflection

The property of reflecting incoming light back at the same angle it came in at, rather than an incident angle (like a mirror), absorbing it, or scattering it. Most FRC vision processing targets are retro-reflective. See retroreflector on Wikipedia for more information.

recursive composition

A type of composition in which the composite object may contain components of the same type as itself. For example, a command group may contain one or more command groups. See recursive composition on Wikipedia for more info. See also recursive composition.

retained

In NetworkTables, a topic that is kept alive by the server even after all publishers stop publishing.

REV

REV Robotics - inspires innovation and creativity within the educational robotics community by offering comprehensive product lines, extensive educational resources, world-class customer service, and specialized sponsorship programs. With a global presence spanning over 190 countries, we empower the next generation of STEM professionals by providing cutting-edge solutions and essential tools for success. Founded in 2014 by robotics enthusiasts Greg Needel and David Yanoshak, REV Robotics is driven by the mission to inspire and support students as they explore the exciting world of robotics and unlock their full robotic design potential. A majority of our employees are FIRST Alumni who remain actively involved, serving as volunteers and mentors for the local FIRST Community. This deep engagement reflects our commitment to supporting and inspiring the next generation of STEM enthusiasts.

RPM

Radio Power Module - is designed to keep one of the most critical system components, the OpenMesh OM5P-AC WiFi radio, powered in the toughest moments of the competition. Revolutions Per Minute - a unit of rotational speed often used when describing motors.

RSL

Robot Signal Light - safety light on every FRC robot used to indicate its operational status.

serialized

The property of a data organization scheme that allows the description of the data to be sent in order, byte by byte, over some communication channel. Reading or writing a file on disk is done in this serial fashion (IE, the data is read or written byte by byte, not all at once). Sending data over a SPI or I2C bus is also done byte by byte, again requiring the data can be serialized.

simulation

A way for teams to test their code without having an actual robot available.

software library

A collection of code that can be imported into and used by other software. See software library on Wikipedia for more info.

solenoid valve

A airflow-controlling valve which is actuated by a small electromagnet. Strictly speaking, the solenoid is the coil of wire which forms the electromagnet, and the valve is the mechanism which actually redirects airflow. However, the set of solenoid and valve together is often simply called “a solenoid”. See solenoid valve. on Wikipedia for more info.

SPI

Serial Peripheral Interface - protocol for synchronous serial communication, used primarily in embedded systems for short-distance wired communication between integrated circuits.

state machine

A programming construct that divides a problem into many discrete, well-defined, mutually-exclusive “states”, then defines how the problem is solved by moving between different states. See state machine on Wikipedia for more more info.

subscriber

In NetworkTables, an object that receives timestamped data value updates to one or more topics.

TBA

The Blue Alliance - Website for looking up FRC team statistics and event information.

telemetry

The process of recording and sending real-time data about the performance of your robot to a real-time readout or log file. For the linguists among us, the word’s roots are “tele” (remote) and “metry” (measurement). See telemetry on Wikipedia for more info.

teleop

The second phase of each match is called the Teleoperated Period (teleop) and consists of drivers controlling their robots.

topic

In NetworkTables, a named data channel.

torque

A force applied at a distance from some axis of rotation

trajectory

A trajectory is a smooth curve, with velocities and accelerations at each point along the curve, connecting two endpoints on the field.

transitory

In NetworkTables, a topic that will disappear after the last publisher stops publishing.

VRM

Voltage Regulator Module - provides access to different constant voltages for custom sensors, cameras, or other unique applications. 12V DC Input Directly fed power from the Power Distribution Panel Designed to work with the roboRIO FRC control system.

WCP

WestCoast Products & Design LLC - was founded in Fall of 2011 by Ranjit Chahal (R.C.) and Harvey Rico. WCP aims to provide FIRST Teams, Hobbyists, and educators top notch quality products and designs for their projects.

WFA

Woodie Flowers Award - This award recognizes an individual who has done an outstanding job of motivation through communication while also challenging the students to be clear and succinct in their communications.