Helidos is 4467's robot for the 2023 FIRST Robotics Competition, Charged Up.
This was a quick project to get an older robot, Helidos, driving again to use as a practice bot. It was a three step process of updating the firmware, writing the code, and finally tuning it.
Updating the firmware was easy enough. I used the REV hardware client to update the firmware of the SPARKMAXes that controlled the swerve modules. The only problem I ran into was that some of them wouldn't show up on the software. To fix this, all the ones that didn't show up were manually force reset.
Much of the software architecture was adapted from the swerve drive code developed earlier that season for our competition robot, Tethys. Since both robots shared a similar command-based structure, I reused the existing subsystem framework but replaced the TalonFX hardware abstraction layer with a SPARK MAX implementation. This primarily involved creating a new IO layer that interfaced with REV motor controllers while preserving the higher-level drive logic, allowing the same kinematics, odometry, and control code to operate independently of the underlying motor hardware. Check out the repository here → Helidos Swerve Github
Tuning the swerve drive took the longest. I used a combination of CTRE Phoenix Tuner X and ELastic. Elastic was mainly just so I could see whether the wheels were all spinning in the right direction. Phoenix Tuner was to check the offsets given by the encoders and change values based off that.
