Subsystem Package

Purpose

In order to program a Robot, we look at smaller components working together for specific tasks and program them, these are called subsystems. Together, by programming all the Robot's subsystems, we are able to control the whole Robot. This Subsystem package is meant to contain classes which extend the abstract Subsystem class.

Override Methods

The only abstract method of the Subsystem class is public void initDefaultCommand() The code for this method is to call setDefaultCommand(/*new Command()*/) This allows for a command to be continuously called by the Subsystem. For example, the Drive command for a Drive Train which runs off joystick control should be the defualt command of the Drive Train subsystem because it needs to be called continuously. Not all subsystems need a defualt command, for example a gripper may not need to be doing anything continuously, so we can just leave the code for the initDefaultCommand method blank.

Subsystem Examples

There is a variety of possible subsystems which can be used on a robot, and there will always be more since each year's game is so different than previous games. Susbsystems we have used in the past are the Drive Train, ball gripper, elevator, arm, dropwheel, jumpjacks (pistons in back which drop the wheels) and many more. In order to determine what should be a subsystem, it is best to communicate with the mechanical team to determine which mechanisms should work together and which seperately.


© All Rights Reserved.