Recent Updates
-
Updated on: Aug 11, 2015
The RobotBuilder user interface
Manual RobotBuilder -
Updated on: Jun 03, 2015
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 (all wheels pointing in the same direction) 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 FRC C++ Programming -
Updated on: Jun 03, 2015
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.
Manual FRC C++ Programming -
Updated on: Jun 03, 2015
Synchronizing two commands
Commands can be nested inside of command groups to create more complex commands. The simpler commands can be added to the command groups to either run sequentially (each command finishing before the next starts) or in parallel (the command is scheduled, and the next command is immediately scheduled also). Occasionally there are times where you want to make sure that two parallel command complete before moving onto the next command. This article describes how to do that.
Manual FRC C++ Programming -
Updated on: Jun 03, 2015
Default Commands
In some cases you may have a subsystem which you want to always be running a command no matter what. So what do you do when the command you are currently running ends? That's where default commands come in.
Manual FRC C++ Programming -
Updated on: Jun 03, 2015
Converting a Simple Autonomous program to a Command based autonomous program
This document describes how to rewrite a simple autonomous into a command based autonomous. Hopefully, going through this process will help those more familiar with the older simple autonomous method understand the command based method better. By re-writing it as a command based program, there are several benefits in terms of testing and reuse. For this example, all of the logic is abstracted out into functions primarily so that the focus of this example can be on the structure.
Manual FRC C++ Programming -
Updated on: Jun 03, 2015
Running commands on Joystick input
You can cause commands to run when joystick buttons are pressed, released, or continuously while the button is held down. This is extremely easy to do only requiring a few lines of code.
Manual FRC C++ Programming -
Updated on: Jun 03, 2015
Creating Simple Commands
This article describes the basic format of a Command and walks through an example of creating a command to drive your robot with Joysticks.
Manual FRC C++ Programming -
Updated on: Jun 02, 2015
Ultrasonic Sensors - Measuring robot distance to a surface
Ultrasonic sensors are a common way to find the distance from a robot to the nearest surface
Manual FRC C++ Programming -
Updated on: Jun 02, 2015
On/Off control of motors and other mechanisms - Relays
For On/Off control of motors or other mechanisms such as solenoids, lights or other custom circuits, WPILib has built in support for relay outputs designed to interface to the Spike H-Bridge Relay from VEX Robotics. These devices utilize a 3-pin output (GND, forward, reverse) to independently control the state of two relays connected in an H-Bridge configuration. This allows the relay to provide power to the outputs in either polarity or turn both outputs on at the same time.
Manual FRC C++ Programming
