FRC 5549 | Programming Division
Chapter 2: Overview of Software
In this chapter, I will be going over all the software you need to successfully program, test, and deploy to a FRC robot. Download links will be provided as well as installation instructions.
This is the list of the core software:
- Latest version of Python
- PyCharm IDE
- RobotPy
- PyFRC
- PyNetworkTables
- RobotPy-NavX
- RobotPy-CTRE
- FRC Update Suite
-
Latest version of Python
At the time of writing, the latest version of Python is 3.7.3 and can be downloaded from the official Python website. We will need Python so that our programs can be interpreted once we pair it with a compatible IDE. Follow the installation guide making sure to check the option that adds Python to PATH and the option to install PIP (Python’s package manager).
-
PyCharm IDE
An integrated development environment (IDE), PyCharm fulfills our needs, delivering a fairly easy to use environment while providing us with features that will make coding easier such as a handy debugger and intelligent code suggestions. It can be downloaded from JetBrains website. While PyCharm is recommended, feel free to use your preferred IDE.
-
RobotPy
RobotPy is the python implementation of the FRC platform. RobotPy allows our code to be understood and interpreted on the robot. If you are setting up your own computer, RobotPy is not required since the installation is done directly to the robot. This is only is outlined here for explanation purposes.
-
PyFRC
PyFRC is the Python integration WPI library for FRC. PyFRC allows us to use all of the classes and functions that FRC uses for robot programming, except in Python. The installation also allows for communication with a robot that has RobotPy installed on it. Follow the installation guide here.
-
PyNetworkTables
PyNetworkTables is a special package that allows for better communicatation between a computer and their robots. It allows Numbers and sensor data to be sent between the connected device and the robot.. Follow the installation guide here.
-
RobotPy-NavX
RobotPy-NavX is Library that allows for communication with the NavX, a gyroscope. Add it to your project by going to Files >> Settings >> Project Interpreter in PyCharm and adding RobotPy-NavX.
-
RobotPy-CTRE
Library to communicate with sensors and motors from Cross The Road Electronics. Add it to your project by going to Files >> Settings >> Project Interpreter in PyCharm and adding RobotPy-CTRE.
-
FRC Update Suite
An FRC Software Suite that contains Driver Station, RoboRIO Imaging Tool, and Radio Configuration Utility. While this software is not necessary for programming the robot, it should still be downloaded from the official National Instruments website. You will need to create a free account to be able to download the software.
-
Driver Station
The main software to run the code, manage tests, and control peripherals.
Figure 2.1a: overview of the Driver Station software and the operation tab.
Figure 2.1b: Driver Station diagnostics tab.
Figure 2.1c: Driver Station setup tab.
Figure 2.1d: Driver Station USB devices tab.
Figure 2.1e: Driver Station power and CAN tab.
-
RoboRIO Imaging Tool
Used to update or upgrade the RoboRIO by flashing the newest firmware. Instructions for properly formatting and imaging the RoboRIO can be found here.
Figure 2.2: overview of RoboRIO Imaging Tool.
-
Radio Configuration Utility
Used to modify the radio configuration and settings. Instructions for properly imaging the Radio can be found here.
Figure 2.3: overview of Radio Configuration Utility. Instructions on properly imaging the Radio can be found at the bottom of the Figure.
Chapter resources: Installation Documentation | FRC Software Component Overview