FRC Programming Overview

After taking a look at the mechanical and electrical components of FRC, let’s now dive into the role of the programmer.

Autonomous Period

Nearly every year, the FRC game consists of a short (about 15 seconds) “autonomous period” at the beginning of matches. During this time, the drivers of our robot are not allowed to touch their controls. This means that the robot must be programmed to autonomously perform certain tasks, like moving to certain positions and shooting balls into goals.

We’ll spend most of our time programming for the autonomous period, as it involves lots of fine tuning to work effectively. You’ll see later that seemingly simple tasks, like getting the robot to move to exact positions, can be very challenging.

To see all that can be accomplished in just 15 seconds, take a look at team 1678’s robot from the 2020 game:

Teleoperated Period

After the autonomous period, FRC games enter the “teleoperated period,” in which robot drivers have full access to their robot’s controls. Generally, teams have one driver in charge of moving their robot around and another driver in charge of controlling other robot components (such as pneumatics, shooters, etc.). Last year, one driver used the Logitech Extreme 3D Pro joystick for moving the robot, and another driver used the Logitech F310 Gamepad for everything else.

Logitech Extreme 3D Pro
Logitech F310 Gamepad

While the drivers have complete control over the robot during the teleoperated period, it’s best for us to automate as many tasks as we can. Doing so can help to reduce the risk of human error.

For example, rather than forcing the drivers to align perfectly with some goal, it’s best to allow one of them to simply press a button for autonomous aiming.