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.