Team 5818 is happy to present our latest offseason project: a fully functional differential swerve drive! The general ideas behind this drivetrain have been milling around our team for quite some time now, but this summer we finally put in the work and pulled it off.
Incomplete module photo:
Open loop test video:
Closed loop test video:
Full drivetrain test video:
Some details about the module:
- Steering: 2 miniCIMs at a 5:1 reduction
- Throttle: 2 miniCIMs at a 5:1 reduction
- Sensors: one CIMcoder on each motor. No absolute position sensor; module position is tracked by averaging individual encoders
- Control: 2 Talon SRXs utilizing Remote Sensor and Auxiliary PID features
A few items on this list made me skeptical when the module design was first proposed. In particular, the lack of a direct azimuth sensor seemed troubling. However, we’ve found that we can robustly track module position by averaging the encoder counts of each motor. Likewise, the difference between the encoder counts can be used to track the module’s wheel position. Furthermore, the Talon SRX can now close its on-board feedback loops using a sum of multiple sensors, which worked perfectly for this application. The steering ratio also seemed rather fast, but so far we’ve been able to steer the module on the ground without any problems. Further tests will reveal whether the module’s torque will be adequate under the weight of a realistic robot.
Feel free to ask any questions!