This repository is set up mainly as an organized set of resources for robot software training for FRC team 8033, Highlander Robotics. The goal of these resources is to build enough familiarity with our code structure and the sorts of work we encounter to allow new students to quickly start on projects for the team. This means that a new student should be able to look through a robot project, find commonly modified pieces of code, and have a basic understanding of why it is organized the way it is. This material is not made to comprehensively teach everything you need to know about FRC programming, or programming in general.
We believe that the best way to learn what is needed to be successful on the team is to work hands-on on real projects, not be taught by a rigid curriculum (if the classroom was the best way, we would be doing that instead of building robots, after all). To that end, these materials exist primarily to soften the learning curve and provide reference material.
If you feel that this material is going too slow, you may skip or skim through the material. However, understand that the material marked as required is done so for a reason, and try to make sure you understand it before skipping ahead, as you may be referred back to the material if you have questions that it covers later.
If you feel that this material is too fast or too much, talk to your lead or a mentor. We are happy to help break things down more, explain it differently, or prepare additional materials as needed. This repository is a living resource, and feedback is crucial to improving it (this is also why we try to get you doing hands-on work as fast as you are comfortable with it!)
Each link down below corresponds to one "course" in the team training system. Each page will have a brief description of the topic and may include links to other resources. At the end of each page, there will be one or two exercises to complete. Once you complete them, show a lead or mentor to get checked off as having completed that course and move on to the next one as suggested on the page. The order that these need to be completed roughly matches the order on this page. Everything through Architecture including simulation is required, but pages after it do provide useful information. Controls in particular contain techniques used in most mechanisms on the robot.
- FPI - WPILib / Intro to FRC Programming
- ARC - Team Architecture / Command Based
- AKT - AdvantageKit and Logging
- SIM - Simulation
This section is a work in progress, due to changes in how we do auto paths and vision in the 2023 offseason.