-
Notifications
You must be signed in to change notification settings - Fork 22
Added Stage 1C overview and Stage 1C section on sidebar #159
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| 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. | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe 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 |
||
|
|
||
| ## 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. | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe 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. |
||
|
|
||
| ## 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 | ||
There was a problem hiding this comment.
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?