As of the 2018 season (PowerUp), WPIlib did not have built-in support
for swerve drive drivetrains. This means that unlike other drivetrains, a robot built with swerve wheels has a much
longer software development and test cycle. This seemed a little unfair so we're making our code
public to help even the playing field on drivetrains.
We used the
AndyMark AM-3009 swerve drive
modules in both 2017 and 2018.
The 2018 re-write used the updated Talon SRX library and the
code was better compartmentalized. It should be extensible and tunable to other swerve drive
implementations that use different gear ratios, closed loop sensors, motor controllers, etc. The Java
code is tested. We used it on our robot. The C++ code is only partially tested and will
likely require further debug and tweaking to match the Java code in terms of performance.
The software is open source and made freely available to all FRC teams.