Skip to content

Added Stage 1C overview and Stage 1C section on sidebar - #159

Open
Venture-Capitalist wants to merge 3 commits into
frcsoftware:mainfrom
Venture-Capitalist:stage1c
Open

Added Stage 1C overview and Stage 1C section on sidebar#159
Venture-Capitalist wants to merge 3 commits into
frcsoftware:mainfrom
Venture-Capitalist:stage1c

Conversation

@Venture-Capitalist

Copy link
Copy Markdown

Description

Added the introduction page for Stage 1C into the Learning Course. This was based off of the notes in #frcsoftware-github on the FRCSofware Discord server, which suggested that this section will be on basic telemetry and control theory. Also added Stage 1C to the sidebar so this page can be viewed. I left topics to be covered as "WIP" since I do not believe we have a complete roadmap of the topics yet.

@github-actions github-actions Bot added Curriculum material Curriculum materials, lessons for students, etc stage1 labels Jul 31, 2026

@DylanB5402 DylanB5402 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Left a couple thoughts here, mostly on how we're framing this stage. Don't feel like you have to address this now, we can always go back and make changes to this once we've built out more of the curriculum for 1c

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" />

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I like what you're getting at here, but I wonder if this is the right framing. We're more making a robot turn in place here, not aligning to a target - even if those are pretty similar operations in practice. Also in the sense that this is showing a swerve bot while they're actually programming a tank bot.

Drive + turn in place autos aren't really a think you see in the program these days, in the age of swerve, but that's kinda what we're building towards in this stage.

@Adrianamm @roboteer5291 thoughts?

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.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A little concerned we're going a bit too into the weeds here and throwing around a lot of controls jargon - states, setpoint, control effort, etc. I think opening up with all these words might be a bit too intimidating? All we really want out of this stage is to be able to write commands using a P controller to turn in place, and composing that with commands (might be out of scope for how we originally planned 1c, but I think it's good to have some command compositions as an exercise). We'll be going more into control in Stage 2 when we're doing elevator stuff, which may be a better place for some of this content.

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.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm honestly kinda opposed to talking about the term "control theory" explicitly at all - or maybe bring it up later. Seems a little more academic than what we want to focus on here. Not an awful strongly held opinion though

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Curriculum material Curriculum materials, lessons for students, etc stage1

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants