So 2021-22 was Spectre’s rookie year. The team really wanted a swerve, but it was simply a bridge too far at the time. We also knew we wanted to “do it ourselves” - earning the knowledge and gaining the experience of designing, fabricating, and debugging was important to the team. So in April, the team reviewed a ton of existing designs (Team 1640’s was especially helpful) and set about designing and manufacturing our modules.
The design is informed by the manufacturing processes we had available: plasma cutter, Wazer, 3d printers, CNC mills and lathes. Any component prefixed with a SW## is a part we manufactured or modified. We also made some design choices based on components we could easily source. The design uses a NEO for drive, NEO550 for steering, and a Lamprey absolute angle encoder. It was a great opportunity for the team to hone its CAD skills, learn new manufacturing techniques, and debug debug debug! We’ll probably make some more refinements in the coming weeks, but it seems to be performing pretty well so far.
Previews and CAD files are available here.
Similarly, we wanted to develop the software ourselves as well. Our team adopted LabVIEW in its rookie season, so our swerve code is expressed in G. Maybe this will prove useful to other teams who are using LabVIEW. The software will also be refined as we move forward, but it’s working well for us so far. The code enables driver control in either robotic or field centric coordinates. It uses Lamprey angle feedback. Drive control is handled with the SparkMax speed loops. Field coordinate transformation is performed using CTRE Pigeon 2.0 feedback.
You can find the LabVIEW project zip here along with a couple screenshots of the block diagram.
Hopefully our efforts during the off-season prove out, and we hope our designs will help other teams as well.
Cheers!