FRC Training Curriculum
Welcome to FRC Programming
Welcome to the FRC programming curriculum. This guide takes you from a complete beginner to an advanced programmer, covering the WPILib framework, Command-Based programming, control theory, and professional development practices.
Important Disclaimer
Official Documentation
- This curriculum is a learning guide, not a rulebook.
- Always refer to official FRC and WPILib documentation for the most up-to-date rules and APIs.
- Safety first: Always follow safety procedures when working with physical robots.
Curriculum Structure
The curriculum is divided into tiered modules to guide your learning journey:
1. Environment Setup: Installing tools (VS Code, WPILib, Driver Station) and understanding the project structure.
2. Basics: Motor control, reading sensors, and handling joystick inputs.
3. Command-Based Programming: The industry-standard architecture for FRC robots, separating hardware from logic — subsystems, commands, code organization, and hardware abstraction with IO layers.
4. Control Theory: PID control, feedforward, motion profiling, and how to tune and characterize a mechanism instead of guessing at it.
5. Pose Estimation: Tracking your robot’s position on the field using odometry and vision.
6. Advanced Topics: Simulation, log replay, unit testing, and path planning.
The code samples throughout are drawn from a real competition robot rather than invented for the lesson, so the conventions are consistent from one page to the next and the patterns are ones that survive a season.