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.
Manual WPILib programming -
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:
- FXML - a XML-based markup language for describing your own controls using a declarative language without needing programming
- 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.
Manual SmartDashboard -
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.
Manual WPILib programming