Skip to content

Subsystems

Blake Bourque edited this page Jan 7, 2019 · 1 revision

To begin thinking about what the subsystems are on your robot keep these in mind:

  • The robot is the system.
  • A subsystem cannot be nested in another subsystem.
  • A subsystem can only do one action at a time. This means that only one command can control a subsystem at a time.
  • To have 2 things happening at the same time, they must be in separate subsystems.
  • You may create as many subsystems as makes sense.
  • A subsystem should be a distinct part of the robot that performs a particular subset of actions.
  • A subsystem is a way of grouping the components(sensors, actuators, actions and state) to make coding easier.
  • A subsystem provides safe action methods which provide the safe interface to the underlying hardware to the rest of your robot code. Example: A lift subsystem would provide a move method that would only let the lift move if the top and bottom limit switches are not pressed.

Some examples of good subsystems:

Name (Capitalized) Action Methods Components
Drivetrain stop, move Victor leftFront, Victor leftRear, Victor rightFront, Victor rightRear
Arm up, down, rollerOn, rollerOff, rollerReverse Victor roller, Solenoid deploy
Kicker isReady, reset, stop, kick Victor indexer, DigitalInput limitSwitch

Note: Subsystem names should be capitalized.

Clone this wiki locally