Skip to content

Syllabus

Module 1: Introduction to FRC and Robotics Fundamentals

Session 1: What is FRC?! & Who is 6399?!
Explore the history of FRC and learn about our team.

Session 2: Fundamentals of Robotics
An introduction to robots and robotic systems.

Module 2: Mechanical Design and Fabrication

Session 1: Chassis Basics
Understand chassis structures, working principles, and an introduction to Tank (Differential) drive systems.

Session 2: Advanced Drivetrains
Learn about the principles and design considerations for Swerve, Omni, and Mecanum drive systems.

Session 3: Transmission Systems I
Introduction to gearboxes, focusing on single and dual reduction ratios for power transmission.

Session 4: Transmission Systems II
A detailed look at shifting mechanisms, including Ball and Dog shifters for gear changes.

Session 5: Specialized Mechanisms I
Designing climbers and elevators, focusing on their structure, limitations, and locking systems.

Session 6: Specialized Mechanisms II
Turret system design and integration with Swerve drives, along with shooter design considerations.

Session 7: Specialized Mechanisms III
Design and prototyping of intake and gripper mechanisms, covering key design factors.

Session 8: Prototyping and System Integration
Prototyping techniques and subsystem integration based on space and modular design principles.

Session 9: Electronics and CAD Management
Learn about electronics layout, wiring diagrams, and CAD practices like version control and collaboration.

Session 10: Material Selection
Compare the properties and applications of materials like Aluminum, Steel, Carbon Fiber, 3D printing materials, Wood, PC, and PMMA.

Session 11: CAD and Manufacturing Preparation
Transition from 3D CAD to 2D dimensioning for manufacturing, including designing wiring holes and hollow structures.

Session 12: Manufacturing Techniques
Introduction to key techniques: CNC machining, lathe operations, 3D printing, drilling, and tapping.

Module 3: Electrical and Control Systems (ECS)

Session 1: Basic Electrical Knowledge
Learn fundamental physics concepts in electrical and electronic systems.

Session 2: Control System Hardware Overview and FRC Robot Wiring
An overview of the hardware components in the FRC Control System and wiring practices.

Session 3: Basic Soldering Skills
Introduction to soldering tools and techniques, focusing on safety and creating reliable connections.

Session 4: Communication Protocols, CAN Bus, and Sensors
Explore PWM, CAN, I²C, SPI protocols, CAN Bus configuration, and common sensors used in FRC.

Session 5: Debugging and Software Integration
Learn systematic debugging methods, identify common electrical issues, and understand how the electrical system integrates with software.

Session 6: Soldering and ECS Practice
Hands-on exercises to reinforce soldering, wiring (with an emphasis on neatness), and full ECS setup, simulating competition scenarios.

Module 4: Programming with Java

Session 1: Java Introduction and Setup
Overview of Java, JDK installation, IDE configuration, and writing your first Java program.

Session 2: Java Syntax and Data Types
Learn about variables, constants, primitive data types, type conversion, and operators.

Session 3: Conditionals and Flow Control
Master if-else statements, switch-case statements, and the ternary operator.

Session 4: Loops and Arrays
Understand for, while, and do-while loops, as well as array definition and usage.

Session 5: Methods and Functions
Learn method definition, invocation, parameter passing, return values, and method overloading.

Session 6: Object-Oriented Programming: Classes and Objects
[video, code] Explore classes, objects, constructors, the this keyword, and encapsulation.

Session 7: Object-Oriented Programming: Inheritance and Polymorphism
Learn about the extends keyword, method overriding, the super keyword, and polymorphism.

Session 8: Object-Oriented Programming: Interfaces and Abstract Classes
Understand abstract classes, interface implementation, and multiple interface inheritance.

Session 9: Exception Handling
Learn about try-catch-finally blocks, exception types, and creating custom exceptions.

Module 5: Advanced FRC Programming

Session 1: FRC Environment Setup
Install WPILib, configure VS Code, and create your first FRC project.

Session 2: FRC Program Structure and Motors
Understand the Robot.java framework, create motor objects, and control basic motor movements.

Session 3: Sensor Applications
Learn about digital and analog sensors, encoder readings, and data processing.

Session 4: PID Control
Introduction to PID algorithms, velocity PID control, and position PID control.

Session 5: Command-Based Programming I
Learn the command pattern, create subsystems, and write basic commands.

Session 6: Command-Based Programming II
Explore command composition, parallel and sequential command groups, and triggered commands.

Session 7: Simulation and Debugging
Set up a simulation environment, use Shuffleboard, and analyze logs with AdvantageScope.

Final Project: Full Robot Design and Implementation

Session 1: AM14U6 Drivetrain Assembly I
Overview of the 6WD drivetrain, ToughBox Mini S gearbox assembly, and Churro frame construction.

Session 2: AM14U6 Drivetrain Assembly II
Motor mounting, belt drive routing, wheel hub alignment, and side plate installation.

Session 3: Robot Wiring and Device Configuration
Power distribution (PDP), motor controller wiring (SPARK MAX/Talon), sensor connections, and RoboRIO integration.

Session 4: Robot Programming
Set up a WPILib project, configure motor controllers, write basic drive code (tank/arcade), map joysticks, and calibrate the drivetrain.