Maintained by Emory University Robotics Club
This is a guide to FIRST Robotics Programming Training. This guide will cover all the topics needed to help train you on how to program a robot from scratch! Each section will have a video tutorial linked which will cover information shared in the section.
Though not required, it is highly recommend that you follow along by completing the code labs in each section! They will help guide your learning and ensure you have retained the information along the way!
Install all the neccessary tools and components to start programming FRC Robots!
Introduction to Visual Studio Code and useful features that you'll need to know!
Introduction to Git and GitHub and how it can be used to collaborate with other developers simultaneously!
Introduction to the Java Programming Language. Learn about variables, if-statements, for-loops, while-loops, functions, classes, etc.
Learn about Object Oriented Programming, why it's useful and best practices!
Use everything you've learned in modules 00 - 04 to practice with a mini-project!
Learn about the WPILib and how you can use it to program robots and hardware devices!
Learn about how you can implement basic vision code to get an advantage on the field using USB cameras and devices which can do image processing for us.
Use everything you've learned in modules 06 - 07 to practice programming a robot!
Learn about controls engineering and how we can achieve smooth robotic control using PID and controls engineering in systems such as elevators or drive trains.
Learn about how we can use regression and interpolation to provide dynamic robotic control and functionality in systems such as ball shooters which can shoot from any range.
Learn about how we can use state machines to achieve defined robotic control to implement more complex control and functionality.
Learn how to create autonomous programs using modules 09-11.
Implement path following using the information learned in modules 09-12, WPILib, and Path Generating tools.
Learn how to chain commands for complex functionality in both autonomous and teleop. Will cover how to run commands sequentially or in parallel.
Learn how to use Network Tables and share information between the robot and driver to help driver control as well as integrate other devices/microcontrollers.
Learn how to implement Intermediate computer vision techniques and image processing to track targets on the field.
Learn about how we can code robots without needing the physical robot present. Learn about things like simulation, unit testing, and integration testing.