feat(elevator): create and tune elevator subsystem
yet again a bit too lazy to write a description so copilot did it for me
This pull request introduces significant changes to the robot's codebase, particularly focusing on the addition of an elevator subsystem. The changes include the configuration of motor controllers, the integration of new subsystems, and the implementation of commands for elevator control.
Elevator Subsystem Integration:
- Added
Elevator
subsystem with methods for setting position, velocity, and handling SysId routines (src/main/java/frc/robot/subsystems/elevator/Elevator.java
). - Introduced
ElevatorIO
interface to define methods for elevator input/output operations (src/main/java/frc/robot/subsystems/elevator/ElevatorIO.java
). - Implemented
ElevatorIOTalonFX
class for TalonFX motor controller configuration and control (src/main/java/frc/robot/subsystems/elevator/ElevatorIOTalonFX.java
).
Constants and Configuration:
- Added
ElevatorConstants
object inConstants.kt
to define motor CAN IDs, motor configurations, and elevator states (src/main/java/frc/robot/Constants.kt
).
Robot Container Modifications:
- Updated
RobotContainer
to include the elevator subsystem, controllers, and button bindings for elevator control (src/main/java/frc/robot/RobotContainer.kt
). 1(diffhunk://#diff-fddb5bd1086a14409ce36e5b9745328b3ff1f49a6d8356850062317d7a329469R25-R27) 2(diffhunk://#diff-fddb5bd1086a14409ce36e5b9745328b3ff1f49a6d8356850062317d7a329469R46-R52) 3(diffhunk://#diff-fddb5bd1086a14409ce36e5b9745328b3ff1f49a6d8356850062317d7a329469R73) 4(diffhunk://#diff-fddb5bd1086a14409ce36e5b9745328b3ff1f49a6d8356850062317d7a329469R104) 5(diffhunk://#diff-fddb5bd1086a14409ce36e5b9745328b3ff1f49a6d8356850062317d7a329469R117-R118) 6(diffhunk://#diff-fddb5bd1086a14409ce36e5b9745328b3ff1f49a6d8356850062317d7a329469R146-R161) 7(diffhunk://#diff-fddb5bd1086a14409ce36e5b9745328b3ff1f49a6d8356850062317d7a329469R171-R189) 8(diffhunk://#diff-fddb5bd1086a14409ce36e5b9745328b3ff1f49a6d8356850062317d7a329469L173-R206)
Imports and Dependencies:
- Added necessary imports for TalonFX and NeutralModeValue in
Constants.kt
(src/main/java/frc/robot/Constants.kt
).
These changes collectively enhance the robot's functionality by adding a new elevator subsystem, configuring its motor controllers, and integrating it with the existing robot framework, including new commands and button bindings for user control.