FTC Control System - Dutton-Christian-Robotics/Learning-to-Code GitHub Wiki

Overview of the Control System

FTC uses the term "control system" to refer to the hardware and software that makes it possible for the hardware of a robot to be controlled by code written in Scratch or Java.

The control system is comprised of a driver-side control system and a robot-side control system. Each side is composed of "thinking" and "doing" components.

Thinking Doing
Driver Phone or Driver Hub Game Controllers
Robot Phone or Control Hub Extension Hub

Thinking vs Doing

The "thinking" aspects of the control system receive, process, and send information.

  • On the driver side, the "thinking" components: receive input from the gamepad controllers; allow the drivers to select and run op modes; and send information over WiFi to the robot.
  • On the robot, the "thinking" components: receive information over WiFi from the driver-side; run the actual op mode that controls the robot; sends signals to provide power and control, motors and servos on the robot; and receives information from the various sensors on the robot. In addition, the robot's thinking components create the WiFi network that is used for communication (read: the robot does not talk over a public WiFi network—it's private to the specific robot).

The "doing" aspects of the control system essentially send and receive electrical signals without any "thinking" involved.

  • On the driver side, the attached game controllers send electrical signals to the "thinking" component based on the buttons being pressed.
  • On the robot side, the "doing" part of the control system sends electrical power to mechanical components such as motors and servos, and receives electrical signals from sensors and other types of input (e.g. video over USB from a webcam).

Possible Control System "Thinking" Components

  • Driver Station
    • Certain models of smartphones running the Android mobile OS and the FTC Driver Station app
    • REV Robotics Driver Hub running the FTC Driver Station app
  • Robot
    • Certain models of smartphones running the Android mobile OS and the FTC Robot Controller app
    • REV Robotics Control Hub, which incorporates a non-cellular Android mobile OS device, running the FTC Robot Controller app

The History of Control Systems

For the first two seasons of Dutton Robotics, the FTC team used the following:

  • Driver Station: Motorola G Play phone running the Driver Station app
  • Robot: Motorola G Play phone running the Robot Controller app, connected to two REV Robotics Expansion Hubs

The 2020-2021 season was the first in which all FTC teams could use the new REV Robotics Control Hub. This device takes a REV Expansion Hub (a "doing" component) and combines it with an Android-based mobile device—eliminating the need for a phone on the robot.

While we did not compete in the 2020-2021 season due to COVID-19, our competition robot consisted of a Control Hub and Expansion Hub on the robot, with the same phone-based driver station as in the previous seasons. For the season, the driver station phone was a Motorola E5 Play.

For the 2021-2022 season, FTC debuted a new device. Similar to the Control Hub on the robot, the new Driver Hub was designed to replace the use of a cell phone.

The general plan for future seasons is to have the competition/production robot use the two hub devices, while the development robot(s) will use the older phone-based control system if no hubs are available.

Why does this matter?

While all variations of the FTC control system perform the same functions, there are differences in terms of how they're setup. This includes which type of USB cables are required to connect components and whether USB hubs or dongles are required to manage those connections.