Recent Updates

  • Updated on: Jan 20, 2023

    Manual Radio Configuration

    This article describes how to manually configure a DAP1522 Rev B. for a competition

  • Updated on: Jan 20, 2023

    Troubleshooting

    This is a document put together by CSA Laura Rhodes that contains a lot of information about troubleshooting steps for a lot of common control system problems encountered at events.

  • Updated on: Jan 20, 2023

    Lights are your friends

    Indicator lights on the various control system components can go a long way to helping troubleshoot issues. This guide prepared by CSA Laura Rhodes should give some insight into the possible problems with your robots.

  • Updated on: Jan 20, 2023

    Startup Checklist

    This is a checklist of things to check before and as soon as turning on the robot. This list was provided by CSA Laura Rhodes, FRC Team 100

  • Updated on: Jan 20, 2023

    Ready to play

    Being ready to go early is a huge advantage, you get access to the practice field and practice matches. Here are some tips to help you breeze through the control system part of the inspection and make your robot easy to repair. This document was provided by CSA Laura Rhodes, FRC Team 100.

  • Updated on: Jan 20, 2023

    Sending data from the cRIO to an Arduino

    Sometimes it is useful to use a coprocessor to handle operations on some sensors, lights, etc. A popular processor is the Arduino. This article shows sample code to send some data between the cRIO and an Arduino. Although it only sends data in one direction (from the cRIO to the Arduino), it serves as an example of how to do it.

    This program sends one of two values (either 72 or 76) from the cRIO to either turn the LED (pin 13 on the Arduino) either on or off. The value is arbitrary and was just part of a larger sample program.

  • Updated on: Jan 20, 2023

    Creating a custom control using Java

    sfx comes with a palette of built-in controls that feature a wide range of use cases. But sometimes you would like to further customize your robot dashboard with controls that you create yourself. There are two strategies for creating custom controls, either:

    1. FXML - a XML-based markup language for describing your own controls using a declarative language without needing programming
    2. Java-based controls can have more complex requirements and behaviors

    In this lesson we'll look at creating Java-based controls. For FXML controls see the FXML tutorial.

  • Updated on: Jan 20, 2023

    Cannot access java.lang

    Sometimes the plugins get out of date or have an older version than the libraries that are installed on the system.

  • Updated on: Jan 20, 2023

    Driving a robot using Mecanum drive

    Mecanum drive is a method of driving using specially designed wheels that allow the robot to drive in any direction without changing the orientation of the robot. A robot with a conventional drivetrain (4 or six wheels) must turn in the direction it needs to drive. A mecanum robot can move in any direction without first turning and is called a holonomic drive.

    Manual RobotBuilder
  • Updated on: Jan 20, 2023

    Using NetworkTables with RoboRealm

    RoboRealm is a desktop vision application that you run on your driver station and can connect to a camera on your robot, do a set of vision processing steps that you define, then send the results back to the robot using NetworkTables. Using RoboRealm is easy since you don't need a robot to try it. In fact, you can write programs with just images that were taken such as those that come with any of the three language distributions. For Java and C++, installing the 2014 Sample Vision program will include a bunch of pictures taken with an Axis camera of the actual field that you can use to make sure your vision algorithm works.

    There is a card included with your kit of parts that contains instructions for getting RoboRealm.

    The idea is that you create a sequence of image processing steps with RoboRealm that create the results in variables. Then send those variables to the robot using NetworkTables. The robot gets the results and uses them to control the robot behavior such as aiming, driving to a target, setting shooter speed, etc.