Update: December 2nd, 2024
From our lead programmer ( @Mads_0927 ):
As the Lead Programmer for our team, the code gremlins and I will be providing weekly updates on our programming progress. From brainstorming autonomous routines to wacky and tacky solutions, we’re excited to collaborate collective knowledge of this amazing program.
Our journey with swerve drive began in the spring offseason of 2024 when we purchased our modules and set out to explore this exciting drivetrain. Throughout the summer, I worked on the initial swerve code, laying a foundation for testing when we returned for the 2024/2025 season.
To test the drivetrain early, we built a smaller robot using a 14"x14" frame with a wooden “belly pan” in place of a full-size 25"x25" chassis. While it wasn’t the most polished setup (yes, the wiring was quite the chaotic masterpiece), it allowed us to focus on the fundamentals of swerve movement and refine our code in a practical setting.
This week, our team hit a major milestone—we officially got our swerve drive up and running with proper encoder alignment! After six months of troubleshooting, testing, and moments of sheer confusion, we can proudly say that the robot drives somewhat straight and steady (depending on who’s in control).
For the longest time, I was stuck in a frustrating cycle. Either the wheels would spin with no alignment, or the alignment would be flawless but the robot wouldn’t budge. This week, after some final tweaks and collaboration, everything came together. During this process, I also experimented with two separate code structures in an effort to simplify debugging and troubleshooting.
Special thanks to our lead mentor, who helped identify the most ironic issue of all: the code enabling the robot to drive had been accidentally commented out. Yikes! (Pro tip: double-check those comments!) While it took weeks of minimal progress to get here, the process of explaining the code to our mentor turned out to be the breakthrough we needed!
But that wasn’t the only exciting progress we made. Our newest programmer successfully casted the Limelight values to NetworkTables, allowing us to read and utilize the data directly from the robot. Now we can see precise values from the Limelight, setting us up for robust autonomous routines and April Tag target tracking in the future.
All in all, this week has been both humbling and rewarding. We’re celebrating the little wins (like not having the robot spin out of control) and are looking forward to using these breakthroughs as a foundation for next steps in our programming journey.
Next week, while I’m away on vacation, the mechanical team will be hard at work building the permanent frame for our swerve robot. With the smaller bot successfully driving, we’ve ordered parts to assemble a larger and more robust 25"x25" frame. This “big bot” will replace the temporary wooden base and bring us one step closer to competition readiness.
Once the mechanical team finishes assembly, we’ll transition the existing code to the new frame. Our goal is to fine-tune the swerve drive for full-scale operations and begin integrating autonomous routines in the coming weeks. This milestone will set the stage for additional testing and optimization as we approach build season.
FLL Update:
It went incredibly well! Our friends at Merge Robotics helped significantly throughout the day, providing volunteers and wisdom that we’d never have had otherwise. We ended up having 16 teams, with 4 qualifying for provincials in January. Congratulations go out to Wize Big Cheese, Emerging Bots, T-Bots and Merge Mini Bots for heading on to provincials! We cannot wait to host again next year, and hopefully grow this within our community!
Swerve Update
As Maddy mentioned, our swerve code works! This leads to us being able to finally put together our bigger version of our swerve to test it, and the wiring should be done tomorrow (would have been done today but unfortunately I have fallen ill and there is no meeting after school today). When I get a chance I will also share pictures and videos of everything that we have done with it thus far.
To finish off, our Github will be linked here, so you can see any and all code we end up adding, and we will add our socials to the OA directory for ease of access.
So with that said, until next time!
Edit: I had the wrong GitHub uploaded, should be corrected now.