Recent Updates

  • 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.

  • Updated on: Jan 09, 2016

    Camera Settings

    It is very difficult to achieve good image processing results without good images. With a light mounted near the camera lens, you should be able to use the provided examples, the dashboard or SmartDashboard, NI Vision Assistant or a web browser to view camera images and experiment with camera settings.

  • Updated on: Jan 07, 2016

    Driver Station Input Overview

    The FRC Driver Station software serves as the interface between the human operators and the robot. The software takes input from a number of sources and forwards it to the robot where the robot code can act on it to control mechanisms.

  • This article describes how to read values published by NetworkTables using a program running on the robot. This is useful when using computer vision where the images are processed on your driver station laptop and the results stored into NetworkTables possibly using a separate vision processor like a raspberry pi, or a tool on the robot like GRIP, or a python program to do the image processing.

    Very often the values are for one or more areas of interest such as goals or game pieces and multiple instances are returned. In the example below, several x, y, width, height, and areas are returned by the image processor and the robot program can sort out which of the returned values are interesting through further processing.

  • Updated on: Jan 03, 2016

    FRC Driver Station LabVIEW Dashboard

    The Dashboard application installed and launched by the FRC Driver Station is a LabVIEW program designed to provide teams with basic feedback from their robot, with the ability to expand and customize the information to suit their needs. This Dashboard application uses Network Tables and contains a variety of tools that teams may find useful.

  • The articles following this one provide details on the operation and use of a variety of sensors with WPILib, but how do you know which sensor to use for a particular task? This article attempts to explain possible sensor choices for a variety of common FRC tasks

  • Updated on: Jan 03, 2016

    Viewing Console Output

    For viewing the console output of text based programs the roboRIO implements a NetConsole very similar to the cRIO. Note that on the roboRIO, the NetConsole is only for program output, if you want to interact with the system console you will need to use SSH or the Serial console.

    There are three main ways to view the NetConsole output from the roboRIO: The Console Viewer in the FRC Driver Station (new for 2016!), the standalone NetConsole program, and the Riolog plugin in Eclipse.

  • Updated on: Jan 03, 2016

    RoboRIO Webdashboard

    The roboRIO web dashboard is a webpage built into the roboRIO that can be used for checking status and updating settings of the roboRIO.

    Note: Google Chrome is removing support for the Silverlight plugin. You will need to use a different browser such as Internet Explorer to access the roboRIO webdashboard.

    Note: The mDNS address of the roboRIO has changed for 2016. Please pay close attention to the address when accessing the roboRIO webdashboard.