Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/nagan319/chargerlib

Library for FRC Team 6560 containing hardware API wrappers, swerve, limelight, odometry, and generic subsystem/command templates
https://github.com/nagan319/chargerlib

first-robotics-competition frc frc-java robotics

Last synced: about 1 month ago
JSON representation

Library for FRC Team 6560 containing hardware API wrappers, swerve, limelight, odometry, and generic subsystem/command templates

Awesome Lists containing this project

README

        

Logo

# ChargerLib

ChargerLib is a Java-based FRC library. Its goal is to provide a well-structured codebase for every aspect of robot functionality that does not directly depend on the game rules in a given season.

The library contains the following functionality:

- Wrapper classes for hardware such as motors, sensors etc. that allow for generalized hardware usage without requiring junior members to understand vendor-specific hardware APIs

- A generic roller subsystem that can be subclassed for any intake, transfer, or flywheel-like mechanism, including those involving multiple motors and/or a digital sensor, along with a command for controlling it

- A generic swerve drivetrain based on the SDS library that can be configured with varying chassis parameters, along with a generic drive command for controlling it and utility classes that allow for intuitive drivetrain configuration and offset calibration

- A generic controller configuration which provides driving controls and gyro/odometry reset buttons and can be subclassed for additional user inputs

- (TODO) Commands for quickly testing and modifying PID profiles without having to reupload code after every modification

- (TODO) Generic classes for limelights and robot odometry

## Todo

questions:

- is maxVoltage global or just drivetrain?
- TalonFX.setPosition(pos) vs TalonFX.getPIDController().setReference(pos, ControlType.kPosition);

todo:
- motion magic + physics-based PID for talonfx
- setPosition based on PID - check
- add reverseJoystick parameter for controls config
- add interpolatable AimTrajectory table
- add limelight class