You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Ethan Hampton edited this page Feb 26, 2019
·
1 revision
What are some of the features of this library?
Robot
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)
Autonomous
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
Teleop
As a result of other enhancements, dramatically decreases size and complexity of each teleop
General
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