This off-season the Robowranglers built the latest in our “X000” series of prototype robots. This year’s project was an interesting one - why is it interesting, you ask? Well for one thing… because we spent almost four full months designing it.
“John…I already saw the post on Instagram. It’s just a drivetrain! You Robowranglers must be really bad at robots if it took you four months to design a drivetrain!”
Yes, we’re bad at this. BUT, that doesn’t mean we don’t do interesting things every now and then, and I believe X019 is one of those things.
Let’s cut to the chase.
The CAD is available for download in the “Resources” section of the Robowrangler website. If you have access to SOLIDWORKS and a computer that doesn’t choke on 148 STEP files, go check it out for yourself…
What is X019?
It’s a “Slide” Drive with 4WD omni-wheels as the primary drivetrain and “rocking” kicker wheels (see footnote 1) to make the robot move sideways. It uses four MiniCIM motors for the primary drive and one CIM motor for the kicker wheels.
It’s tiny. Not much bigger than a VEX robot. And… “there’s a lot of robot crammed in that robot.”
In CAD, I swear it seems like there is more room.
X019 is Corbin’s baby. I posted last season about Corbin and how I was hoping we’d get to work together more. Well now, after going through the X019 process, I’m pretty sure Corbin never wants to work with me again.
At the start of the project I asked Corbin “Which is more important to you: Building a really cool robot, or experimenting a bunch and helping the team learn something new?”
No lie: I was hoping he’d say “let’s just build a cool robot”. Unfortunately for me, Corbin is a responsible Robowrangler and decided we should spend our effort on something which would benefit the team long-term.
We decided to build a slide drive with a rocker wheel, since it’s been a while since we’ve built one (and since it’s cool) and also build the next iteration of our sheetmetal “cantilevered-wheel” drivetrain (which has been serving us well since the X009 prototype in the preseason of 2015).
Why’d it take so long?
Here’s the thing… during the build season when you’re designing and when you get something “done” if it is NOT perfect you might look at it and say “eh, this is good enough.” Then build it.
When you’re working on an experimental drivetrain, and you’re working on it during the off-season, and you have no actual deadlines to hit (other than The Boss asking periodically “so we ever going to build X019?”)… sometimes instead of thinking “good enough” you think: “This is good, but it’s NOT great. How can we make this better?”
OR, you think: “Well… crap. Based on the lessons we’ve learned since then, I really hate the decision we made 2 weeks ago.” At this point, if you’re crazy, you’ll throw out the 2 weeks of work, and start over with the lessons you’ve learned. Blah blah blah, design is iterative.
Even weirder… sometimes you’ll think “This design works fine in this particular situation, but wouldn’t work well in certain really obscure other situations. Can we come up with a way to do this so that it works in that weird edge-case?”
*Cue the <deep-sigh> from Corbin, and the umpteenth redesign of the bearing block.*
My version of the story: We spent 4-months iterating the silly little details that no one in their right minds would ever spend time iterating, which don’t really matter.
Another Take: We spent 4-months doing silly things that other teams are able to do much faster than us.
What’s so cool about it?
If you ever want to get me gushing about a 148 design, ask me: “What’s the cute thing on this robot?”
Cute being shorthand for “clever, elegant, subtle, creative” etc… I don’t get wow’d by fancy machining. I don’t swoon over Carbon Fiber… I giggle about “cute” things, ideally involving linkages. (No linkages this time).
The big one: X019 was designed to test new applications for 3D printing in our designs. We wanted to see how far we can go.
Axle Bearing Blocks
Full 3D Printed Gearboxes
Chassis Corner Brackets
We used 063 alum in places we’d typically use 090 or 125. We used reinforcement pieces (bearing blocks, etc) in places that mattered, but left the overall structure thin.
New #AllBlackEverything Radio Mount which does a good job holding and shock-mounting the radio.
But more importantly hides as much of the white housing as is legally possible based on the 2018 FRC rules.
New Main Breaker Mount which we think will fulfill even Colorado inspection rules (although we’re not sure). Including shock-mounting, mounting for the SB120 connector, and “cube protection” shielding.
New style battery mount including a “tab” hinging tray and some alignment clamps.
New simpler Rocker-Module in a chassis designed for a “not-flat” field (for the 2018 field, actually).
NO belly-pan style design. (To keep the metal shop happy, since they dislike laser cutting our typical belly pans).
New Chain “not in tube” sprocket guards.
Shock isolated electronics boards.
New style of 2-stage, single speed gearbox (using 3D printed mounts / housings).
New roboRIO shield / mount with shock isolators.
New “chassis corner” design for robots with wheels at the extreme front/back of the frame perimeter.
New sheetmetal layer “stackup” for the chassis joints.
This is the kind of detail work that no one outside 148 cares about, but we love
New style of chassis internal corner block (with integrated chain tensioning) using screws & embedded nuts instead of rivets.
How’d it work out?
Seems to be working out pretty well!
Lots of big wins, a few big losers. I think there are definitely some things which could be applied to a a variety of robot/drivetrain configs. I guess we’ll see what kind of game 2019 will bring us!
We took waaaaay longer with the design than we intended, so we needed to speed up durability testing a little bit. It turns out X019 loves “sweet jumps.”
The little robot takes a beating, no problem.I think we’ll have fun running this thing around as a prototyping / practice base.
1 - Side Note about Rocker Wheels: The “rocker drive” is something the Robowranglers first had on our 2014 robot which several other teams have also used with great success since then. In this style design, two wheels pivot about a central axis such that when they are “flat” neither one touches the ground. The way the wheel module is constructed, when the motor spins the wheels it naturally tilts the module such that one wheel or the other touches the ground. The wheel which touches the ground will “dig in” and actually transfer the weight of the robot onto that wheel. (If the motor spins the other way, it tilts the wheels the other direction and that wheel will “dig in”).
This sounds a heck of a lot more complicated than it really is… it works like magic in real life. I’ve never seen anything else like it and it may actually be one of the few truly “original” ideas I’ve ever been a part of. In fact, I think it may be the single coolest thing I’ve ever designed.
The sideways wheels will always have good contact when they’re being driven, without any active or passive suspension! You can design it such that the sideways drive transfers SIGNIFICANT amounts of the robot weight onto it, when it is driven. If you’ve ever built an H-drive where the middle wheel spins pathetically and the robot doesn’t go anywhere, you understand why this is cool… This same weight will NOT be “wasted” dead-weight on the sideways drive when it isn’t being used.
Another cool side-effect of this: when the sideways wheels are NOT being driven, they tend to “float” above the ground. Which means the primary drivetrain can be used for SWEET DRIFTS! Err… I mean, can be used for fast zero-scrub maneuvers around defenders.
Side Note about Sideways Drivetrains: Moving sideways in FRC is usually a waste of time. Most teams who do it are silly and should not be doing it. However - if you’re going to do it, a Slide Drive with a Rocking Module is a pretty darn cool solution. Do yourself a favor though and skip the sideways. (And definitely don’t do a swerve drive).