Recent Updates

  • Updated on: Dec 04, 2017

    FRC Control System Hardware Overview

  • WPILib provides a RobotDrive object that handles most cases of driving the robot either in autonomous or teleop modes. It is created with either two or four speed controller objects. There are methods to drive with either Tank, Arcade, or Mecanum modes either programmatically or directly from Joysticks.

    Note: the examples illustrated in this section are generally correct but have not all been tested on actual robots.

  • Updated on: Sep 15, 2017

    Using Generated Code in a Robot Program

  • Updated on: Jul 17, 2017

    Creating your Benchtop Test Program

    The simplest way to create a robot program, is to start from one of the three supplied templates (Sample, Iterative or Command). Sample is best used for very small sample programs or advanced programs that require total control over program flow. Iterative Robot is a template which provides better structure for robot programs while maintaining a minimal learning curve. Command-Based robot is a template that provides a modular, extensible structure with a moderate learning curve.

    The templates will get you the basis of a robot program, organizing a larger project can often be a complex task. RobotBuilder is recommended for creating and organizing Command-Based robot programs. You can learn more about RobotBuilder here. To create a command-based robot program that takes advantage of all the newer tools look at Creating a Robot Project in the Command Based Programming Chapter.

  • Updated on: Jul 17, 2017

    Strategies for vision programming

  • Updated on: Jul 17, 2017

    Off Board Vision Processing in Java

  • Updated on: Jul 17, 2017


    The standard input device supported by the WPI Robotics Library is a USB joystick or gamepad. The Logitech Attack 3 joystick provided in the KOP from 2009-2012 comes equipped with eleven digital input buttons and three analog axes, and interfaces with the robot through the Joystick class. The Joystick class itself supports joysticks with more capabilities as well such as the Logitech Extreme 3D Pro included in the 2013 KOP which has 4 analog axes and 12 buttons. Note that the rest of this article exclusively uses the term joystick but can also be referring to a HID compliant USB gamepad.

  • Once commands are defined they can run in either the teleop or autonomous part of the program. In fact, the power of the command based programming approach is that you can reuse the same commands in either place. If the robot has a command that can shoot Frisbees during autonomous with camera aiming and accurate shooting, there is no reason not to use it to help the drivers during the teleop period of the game.

  • The 2015 Kickoff release of the FRC Driver Station has a bug that prevents the "C++" or "Java" dashboard settings from sticking across restarts of the DS software. To have the DS start the SmartDashboard when it starts up you have to manually modify the settings for the Default Dashboard.