Recent Updates

  • ScreenStepsLive is a new tool that FRC/WPI are using to create and present documentation. This document is a brief introduction to the ScreenStepsLive site and the documentation contained here.

  • Updated on: May 18, 2016

    Programming Radios for FMS Offseason

    When using the FMS Offseason software, the typical networking setup is to use a single access point with a single SSID and WPA key. This means that the radios should all be programmed to connect to this network, but with different IPs for each team. The Team version of the FRC Bridge Configuration Utility has an FMS-Lite mode that can be used to do this configuration.

    Before you begin using the software:

    1. Disable WiFi connections on your computer, as it may prevent the configuration utility from properly communicating with the bridge
    2. Make sure no devices are connected to your computer via ethernet, other than the wireless bridge.

    The steps below describe installing and using the FRC Bridge Configuration Utility to program radios for this network configuration. If you have a machine where you have already used this tool to program a radio for FRC 2016, skip to "Launch the Software".

  • Updated on: Apr 04, 2016

    Debugging a robot program

    A debugger is used to control program flow and monitor variables in order to assist in debugging a program. This section will describe how to set up a debug session for a Java FRC robot program.

  • Updated on: Feb 22, 2016

    Adding custom components

    RobotBuilder works very well for creating robot programs that just use WPILib for motors, controllers, and sensors. But for teams that use custom classes, RobotBuilder doesn't have any support for those classes, so a few steps need to be taken to use them in RobotBuilder.

    Manual RobotBuilder
  • Often it is desirable to get feedback from the robot back to the drivers. The communications protocol between the robot and the driver station includes provisions for sending program specific data. The program at the driver station that receives the data is called the dashboard.

  • Updated on: Feb 01, 2016

    Target Info and Retroreflection

    This document describes the Vision Targets from the 2016 FRC game  and the visual properties of the material making up the targets. Note that for official dimensions and drawings of all field components, please see the Official Field Drawings

  • Updated on: Jan 25, 2016

    Overview of RobotBuilder

    Creating a program with RobotBuilder is a very straight forward procedure by following a few steps that are the same for any robot. This lesson describes the steps that you can follow. You can find more details about each of these steps in subsequent sections of the document.

    In addition to the text documentation provided here, a series of videos about RobotBuilder and many other FRC Robotics Engineering topics is also available.

    Manual RobotBuilder
  • Updated on: Jan 24, 2016

    PID Tuning with SmartDashboard

    The PID (Proportional, Integral, Differential) is an algorithm for determining the motor speed based on sensor feedback to reach a setpoint as quickly as possible. For example, a robot with an elevator that moves to a predetermined position should move there as fast as possible then stop without excessive overshoot leading to oscillation. Getting the PID controller to behave this way is called "tuning". The idea is  to compute an error value that is the difference between the current value of the mechanism feedback element and the desired (setpoint) value. In the case of the arm, there might be a potentiometer connected to an analog channel that provides a voltage that is proportional to the position of the arm. The desired value is the voltage that is predetermined for the position the arm should move to, and the current value is the voltage for the actual position of the arm.

  • Updated on: Jan 09, 2016


    While many of the numbers for the Vision Processing code can be determined theoretically, there are a few parameters that are typically best to measure empirically then enter back into the code (a process typically known as calibration). This article will show how to perform calibration for the Color (masking), and View Angle (distance) using the NI Vision Assistant. If you are using C++ or Java and have not yet installed the NI Vision Assistant, see the article Installing NI Vision Assistant.

  • Updated on: Jan 09, 2016

    Identifying and Processing the Targets

    Once an image is captured, the next step is to identify Vision Target(s) in the image. This document will walk through one approach to identifying the 2016 targets. Note that the images used in this section were taken with the camera intentionally set to underexpose the images, producing very dark images with the exception of the lit targets, see the section on Camera Settings for details.