The ausTIN CANs programming team has been working hard this offseason, and we are proud to present the team’s first swerve drive code. This code includes:
Swerve subsystem
Base subsystem was referenced off of this repository by 6814.
Capable of field-oriented drive and following autonomous trajectories.
The most current version of our swerve code is located in the features/swerve-hardware branch.
Operator Interface (OI) class
Functional layer that encapsulates all controls from the driver station.
Uses a variable control curve system to allow for more precise control of the robot.
Hardware factory classes
Classes that allow for the quick instantiation of hardware objects, constructed with factory methods using a configuration.
Support for rev robotics NEO motors in the MotorController.java class.
Support for analog encoders in the current version of AbsoluteEncoder.java; to be replaced with CTRE CANEncoder support in the features/swerve-hardware branch.
Battery subsystem
Subsystem that tracks battery usage and notifies operators when the battery should be replaced.
Written for our 2022 robot code, so the class is located here in that repository.
Auton subsystem
Subsystem that simplifies complex tasks into high level actions to be chained together in a sequence to be used of
Allows for easy creation of autonomous routines without the need for comprehensive knowledge of each subsystem
Supports the use of both preplanned trajectories and trajectories generated during runtime, using Pathplanner and its library.
All code for this offseason can be found in our github organization