|
Re: Never Do This, and Other Good Ideas Gone Bad
Here's one: don't attempt to design, construct, and implement an independently-articulated, independently-driven swerve drive during build season without ever having investigated the surrounding concepts beforehand.
We did this in 2010. Very, very bad things happened. During our initial planning sessions, we decided that swerve drive would give us an awesome advantage in speed, maneuverability, accuracy of movement, and pushing power. And hey, AndyMark's selling swerve kits! Let's use those and save ourselves all the time and effort of designing an advanced drive train while still ending up with a fully functional robot!
Things went, shall we say, less than well. We hadn't considered the problem of turning the modules, and spent the first 4 weeks making a frame and steering system that would accommodate the modules. The Wild Swerve modules are excellent products, but they assume a certain level of competency in their implementation, which we simply lacked. Given our lack of experience and fabrication skills, it was a wonder that the system worked as well as it did.
Once our decidedly not precision-machined system was mostly functional, we moved on to figuring out how exactly to get each module to turn to a particular angle using PID (proportional integral derivative) control, which uses a feedback loop to approximate a value. We used indexing encoders, which would theoretically give accurate angle readings while letting each module figure out which way was forward. Unfortunately, our design had a habit of destroying or melting the encoder discs when the modules were not properly supported, hampering testing considerably.
We "finished" construction a few days before ship date, recognizing the need to drive and test the thing before competing with it, even if it was slightly less than functional. It worked exactly as a swerve drive should for about half the time. We had the pushing power of a 4WD system in any lateral direction, and could spin frighteningly quickly in place by angling the wheels inward. However, after a short period of operation, the PID program became confused and the encoders failed to index, leaving the wheels slightly out of alignment at best, but more often pointing in completely different directions, leaving us immobile.
Furthermore, the other game-critical systems suffered while we struggled with the drive train. Our ball handler, perhaps the most important device in all of Breakaway, was a prototype that had considerable trouble holding onto a ball while stationary. Our kicker was actually pretty good, serving us well after a robot redesign in the off-season, but it was useless if it couldn't contact the ball.
The swerve drive system remains in our shop, awaiting a revisit after this build season. With our more developed base of experience and better-equipped shop, we'll probably get the thing working finally. Until then, we're sticking to mecanum for our multi-directional driving needs.
On a side note, despite not working half the time, our robot looked quite cool that year. I suppose that partially makes up for our troubles!
|