Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions src/config/sidebarConfig.ts
Original file line number Diff line number Diff line change
Expand Up @@ -162,6 +162,16 @@ export const sidebarSections: Record<string, SidebarSection[]> = {
},
],
},
{
label: 'Stage 1C: Control and Telemetry',
collapsed: true,
items: [
{
label: 'Stage 1C Introduction',
slug: 'learning-course/stage1/stage1c/stage-overview',
},
],
},
],
},
],
Expand Down
36 changes: 36 additions & 0 deletions src/content/docs/learning-course/stage1/stage1c/stage-overview.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
---
title: Stage 1C Overview
description: An overview of Stage 1A
prev: ../stage-overview
next: false
---

import YouTube from '../../../../../components/YouTube.astro';

If you've watched matches from any recent FRC game, you'll notice that robots typically have to line up quite precisely with a field element to score.
Take this example from Purdue University's Robot in 3 Days (Ri3D) team showcasing their autoalign program:

<YouTube url="https://www.youtube.com/watch?v=MV6SQ46Dijs" />

In 2026, robots had to line up with the hub to successfully shoot fuel.
In 2025, robots had to line up with hangers on the reef to place coral.
To execute these tasks, teams run automatic positioning programs rather than burdening the driver with such precise movements.
In Stage 1C, you will learn fundamental concepts pertaining to "control theory:" a field of research dedicated to guiding real-world systems (such as robots) to do the things we want.
Control theory guides the motion of each and every mechanism you will program in FRC.

## Key Concepts

In FRC, different mechanisms can be thought of as "systems."
Mechanisms have "states" such as position, angle, velocity, and acceleration.
A PID (Proportional, Integral, Derivative) controller takes a desired state of a system, called a "setpoint," and guides a system's actual state towards this setpoint.
The output of your mechanism's control algorithm is called "control effort," and, in FRC, control effort will almost always be measured in Volts.
You can track the states, setpoints, and control efforts of your robots through logging in NetworkTables, a system for sending data between the robot and the driver station.

## Stage 1C Goals

By the end of Stage 1C, you'll program a feature which enables your kitbot's drivetrain to automatically and smoothly turn in place to any given angle such that your kitbot can aim towards the hub on its own.
You will also be able to read data from your kitbot via logging in NetworkTables.

This stage will cover the following topics:

- WIP