-
Notifications
You must be signed in to change notification settings - Fork 0
Features
Ethan Hampton edited this page Feb 26, 2019
·
1 revision
What are some of the features of this library?
- Divides robot into subsystems that are all initialized, updated and 'cared for' over the course of the life cycle of a match
- Takes care of automatically selecting drive subsystem and providing a standard API for any drive system
- Allows easy manipulation of different configurations of a robot (only drive, drive + arm, all mechanisms)
- Divides each segment of autonomous into a 'Module' that can be run multiple times in the same autonomous with different configurations (different distances or speeds to drive for example)
- Each module has a complete and separate life cycle over its life
- Easy to understand way to create different paths for the robot to follow (for the Rover Ruckus season: where the gold cube is for example)
- If it works once, it will work every single time
- As a result of other enhancements, dramatically decreases size and complexity of each teleop
- Non-opinionated but also opinionated in certain sections to allow for teams to have as much freedom as possible while still making cross-compatibility easy
- Generalized specifically for FTC robots to make several assumptions to simplify programming (always will have a drive system, the FTC match life cycle, etc)
- Used in production for 3+ years on multiple teams (and as a result, multiple examples of code that Ethan approves of to be used anywhere)
- Can be adopted incrementally. You could port your entire hardware mappings over to FTC_Library, wait a bit, convert some teleop, wait a bit, add some autonomous, wait, add more modules, etc and at every point your code base would continue to work
- Generally, modules and subsystems can be shared between teams with very little modification required