-
Notifications
You must be signed in to change notification settings - Fork 1
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.