6.0 Programming

In FRC there are 4 main programming languages that are used. These are Java, C++, LabVIEW, and Python. Each language has its own advantages and disadvantages. The language that you choose to use will depend on your team’s preferences and the programming language that your mentors are most comfortable with. The programming language that you choose to use will also depend on the programming language that your team’s robot controller is programmed in. The robot controller is the computer that controls the robot. The robot controller is a NI RoboRio. The Roborio can be configured for any of the languages listed above.

Robot code is also not the only type of programming done in FRC. Teams write GUI software for their drive stations, they make games in Unity and Unreal Engine, and they write code for their websites. Students also learn how to write low level firmware for devices like arduinos and raspberry pis. Programming is a very important part of FRC and students can come into FRC with little to no programming experience and leave with a very strong understanding of programming. The guides here are intended to help in that process and also expose students to the different types of programming that are done in FRC.

Below is an outline of the topics that will be covered in this chapter.

Contents for this Chapter

Order Page Title Time Estimate
6.1 Programming Languages 30 minutes
6.2 Robot Code 30 minutes
6.3 Timed Robot 30 minutes
6.4 Command Based Programming 30 minutes
6.5 RobotBuilder 30 minutes
6.6 Path Planning 30 minutes
6.7 Robot Simulation 30 minutes
6.8 Vision Processing 30 minutes
6.9 ROS 30 minutes
6.10 Unity and Unreal Engine 30 minutes
6.11 Web Development 30 minutes
6.12 Arduinos, Raspberry Pis and other SBCs 30 minutes
6.13 GUI Programming 30 minutes