Recent Updates

  • Updated on: Jan 17, 2013

    Setting the default autonomous command

    Since a command is simply one or more actions (behaviors) that the robot performs, it makes sense to describe the autonomous operation of a robot as a command. While it could be a single command, it is more likely going to be a command group (a group of commands that happen together).

    Manual RobotBuilder
  • Commands handle the behaviors for your robot. The command starts a subsystem to some operating mode like raising and elevator and continues running until it reaches some setpoint or timeout. The command then handles waiting for the subsystem to finish. That way commands can run in sequence to develop more complex behaviors.

    RobotBuilder will also generate code to schedule a command to run whenever a button on your operator interface is pressed. You can also write code to run a command when a particular trigger condition has happened.

    Manual RobotBuilder
  • Updated on: Jan 17, 2013

    Creating a command

    Commands are classes you create that provide behaviors or actions for your subsystems. The subsystem class should set the operation of the subsystem, like ElevatorUp to start the elevator moving up, or ElevatorToSetPoint to set the elevator's PID setpoint. The commands initiate the subystem operation and keep track of when it is finished.

    Manual RobotBuilder
  • Updated on: Jan 17, 2013

    The RobotBuilder user interface

    Manual RobotBuilder
  • Updated on: Jan 17, 2013

    Overview of RobotBuilder

    Creating a program with RobotBuilder is a very straight forward procedure by following a few steps that are the same for any robot. This lesson describes the steps that you can follow. You can find more details about each of these steps in subsequent sections of the document.

    See How to write an easy to test robot program for more information about the basic steps in creating a program to control your robot.

    In addition to the text documentation provided here, a series of videos about Robot Builder are also available.

    Manual RobotBuilder
  • Updated on: Jan 16, 2013

    Enabling Test mode (LiveWindow)

    You may add code to your program to display values for your sensors and actuators while the robot is in Test mode. This can be selected from the Driver Station whenever the robot is not on the field. The code to display these values is automatically generated by RobotBuilder and is described in the next article. Test mode is designed to verify the correct operation of the sensors and actuators on a robot. In addition it can be used for obtaining setpoints from sensors such as potentiometers and for tuning PID loops in your code.

  • Often teams have more than one autonomous program, either for competitive reasons or for testing new software. Programs often vary by adding things like time delays, different strategies, etc. The methods to choose the strategy to run usually involves switches, joystick buttons, knobs or other hardware based inputs.

    With the SmartDashboard you can simply display a widget on the screen to choose the autonomous program that you would like to run. And with command based programs, that program is encapsulated in one of several commands. This article shows how to select an autonomous program with only a few lines of code and a nice looking user interface.

  • Updated on: Jan 09, 2013

    RobotBuilder generated code

    Manual RobotBuilder
  • Updated on: Jan 08, 2013

    What is WPILib

    The WPI Robotics library (WPILib) is a set of software classes that interfaces with the hardware and software in your FRC robot’s control system. There are classes to handle sensors, motor speed controllers, the driver station, and a number of other utility functions such as timing and field management. In addition, WPILib supports many commonly used sensors that are not in the kit, such as ultrasonic rangefinders.

  • The command based programming model is designed to simplify creating very easy to write and especially easy to test robot programs. All the pieces come together when it's time to see how your program works so that pieces developed by multiple programmers can be integrated and tested with the main robot program.