Recent Updates

  • Updated on: Feb 06, 2015

    Analog inputs

    The roboRIO Analog to Digital module has a number of features not available on simpler controllers. It will automatically sample the analog channels in a round robin fashion, providing a combined sample rate of 500 ks/s (500,000 samples / second). These channels can be optionally oversampled and averaged to provide the value that is used by the program. There are raw integer and floating point voltage outputs available in addition to the averaged values. The diagram below outlines this process.

  • The default LabVIEW Dashboard utilizes Network Tables to pass values and is therefore compatible with C++ and Java robot programs. This article covers the keys and value ranges to use to work with the Dashboard.

  • Updated on: Jan 20, 2015

    FRC Java WPILib API Documentation

  • Updated on: Jan 20, 2015

    Using the Microsoft Lifecam HD-3000

    The Microsoft Lifecam HD-3000 is a USB webcam that was tested with the roboRIO as part of the Beta testing and software development effort. While other USB webcams may work with the roboRIO, this camera has been tested to be compatible with the provided software.

  • Counter objects are extremely flexible elements that can count input from either a digital input signal or an analog trigger.

  • RoboRealm is a vision processing application that runs on a Windows PC connected to the robot via a network connection. It can read the camera stream, process images and send results back to the robot. It is often desirable to see the results of the image processing on your driver station laptop, but screen real estate is at a premium. You can display images from RoboRealm on the SmartDashboard by using it's internal web server as shown in this article.

  • There are two ways of running programs onto the roboRIO. You can

    1. Attach to the roboRIO and run the program using the debugger from your development system OR
    2. Load it onto the roboRIO flash drive so it will run on reboot.

    For tournaments you should always download the program so that it will be there when the robot is restarted and the match is played. This article will cover loading the program onto the roboRIO to run on reboot. The next article will cover the debugger.

  • Updated on: Jan 19, 2015

    Power Distribution Panel

    The Power Distribution Panel (PDP) for 2015 adds the capability to measure the current to each device connected to any of the circuit breaker protected 12V outputs. Having this capability offers the opportunity to use a number of algorithm requiring sensing of the torque being developed by motors without requiring additional hardware. The PDP is connected to the RoboRIO through the CAN bus and the libraries take care of managing the communications.

    Create an instance of the PowerDistributionPanel object to use it:

    PowerDistributionPanel pdp = new PowerDistributionPanel();

    Note: it is not necessary to create a PowerDistributionPanel object unless you need to read values from it. The board will work and supply power on all the channels even if the object is never created.

  • Often you might write a command that has an "isFinished" condition that is based on a sensor reaching a particular value or a switch closing. For example, a command might rotate a robot 45 degrees by turning until the heading from a gyro reaches 45. Suppose the gyro fails or a wire pulls loose. Now the gyro will always report the same heading, probably zero degrees, and the robot will keep turning for ever. One way of making your commands more robust is to have them "time out" or quit after some time has elapsed. In the case of the turn to 45 degrees, you might know that this will always complete within 2 seconds. You could set a timeout for 3 or 4 seconds to the command will finish even if the robot never reaches the desired heading. This will allow the program to continue running rather than be stuck waiting for the roboRIO to read a heading that will never happen.

  • Updated on: Jan 05, 2015

    Generating Java Code for a project

    After you start getting a significant part of your robot designed in RobotBuilder you can generate a Java project for use with Eclipse. The code that is generated includes project files that will let you just open the project and start adding your robot specific code. In addition, if you later make changes in RobotBuilder, you can regenerate the project again and it will not overwrite your changes. This process is described in detail below.

    Manual RobotBuilder