Recent Updates

  • This article outlines a number of Control System related items a team can do to prepare for running their robot connected to the field at an event. These tips and tricks should help ensure a smooth experience when bringing your robot to the field and connecting the Field Management System.

  • Updated on: Feb 03, 2014

    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: Feb 01, 2014

    Creating a custom control using FXML

    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 FXML-based controls. For creating Java controls, see the Java tutorial.

  • Updated on: Jan 31, 2014

    Gyros to control robot driving direction

    Gyros typically in the FIRST kit of parts are provided by Analog Devices, and are actually angular rate sensors. The output voltage is proportional to the rate of rotation of the axis perpendicular to the top package surface of the gyro chip. The value is expressed in mV/°/second (degrees/second or rotation expressed as a voltage). By integrating (summing) the rate output over time, the system can derive the relative heading of the robot.

    Another important specification for the gyro is its full-scale range. Gyros with high full-scale ranges can measure fast rotation without “pinning” the output. The scale is much larger so faster rotation rates can be read, but there is less resolution due to a much larger range of values spread over the same number of bits of digital to analog input. In selecting a gyro, you would ideally pick the one that had a full-scale range that matched the fastest rate of rotation your robot would experience. This would yield the highest accuracy possible, provided the robot never exceeded that range.

  • Updated on: Jan 31, 2014

    Using limit switches to control behavior

    Limit switches are often used to control mechanisms on robots. While limit switches are simple to use, they only can sense a single position of a moving part. This makes them ideal for ensuring that movement doesn't exceed some limit but not so good at controlling the speed of the movement as it approaches the limit. For example, a rotational shoulder joint on a robot arm would best be controlled using a potentiometer or an absolute encoder, the limit switch could make sure that if the potentiometer ever failed, the limit switch would stop the robot from going to far and causing damage.

  • Updated on: Jan 30, 2014

    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 30, 2014

    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 30, 2014

    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.

  • Updated on: Jan 29, 2014

    Target Info and Retroreflection

    This document describes the Vision Targets from the 2014 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

  • The WPI Robotics library has extensive support for motor control. There are a number of classes that represent different types of speed controllers and servos. The WPI Robotics Library currently supports two classes of speed controllers, PWM based motor controllers (Jaguars, Victors and Talons) and CAN based motor controllers (Jaguar). WPILIb also contains a composite class called RobotDrive which allows you to control multiple motors with a single object. This article will cover the details of PWM motor controllers, CAN controllers and RobotDrive will be covered in separate articles.