Project Überclocker

Since 2002, Dragon*Con in Atlanta has been my principal bot-party every year. The Robot Battles competition has been held there every year since 1991. That makes it one of the oldest combat events around. My first competition year was 2003, and I also went in ’04, ’05, and ’06.

In 2007, other matters forced me to miss the event. Fortunately, in 2008, I am no longer a miserable froshling, and may come and go as I please. This is good. It allows me to return to my fan club, which no doubt has gotten a bit stale from waiting around for two years.

Hehe, fan club. Funny.

Anyways, regardless of the circumstances, I need to make an epic comeback in 2008. I need to kick ass in an epic fashion. So, I need an epic robot. Announcing what will hopefully be my first 30lber build for the Robot Battles competition as well as the NERC/RFL Sportsman’s Class:

Cheesy shoop’d logo included in price of admission. The design incorporates the Doomsday Clock as part of the text, with the minute hand cleverly reflected one minute past midnight. Symbolizing doom… or something. Anyways, onto the bot.

The most prominent feature is, of course, the giant fr0k. I have neither seen nor heard of a clampbot-type design, which a two-part lifting mechanism can entrap the opponent and lift it completely off the arena surface, used at Robot Battles. This is quite strange – the arena surface in question here is an open stage, and if you go over the edge, you lose the round. It seems control-type robots would dominate. But D*C has seen its vast majority of entries fall under the hammer, wedge, plain lifter, flipper, and ramming box-with-pointy-things categories.

Perhaps I’ll set off a bad trend, but at least it’s more interesting than the current spinner-vs-armored-box debacle in the RFL.

So, Überclocker will be a clampbot, with a few kicks thrown in. The main difference I observe compared to other clampbots in various weight classes is the set of idler rollers up front. They are spring-loaded to the floor in normal operation. When the bot has an opponent in the fork and raises it off the ground, its center of gravity will shift to forward, causing the bot to balance on the idler roller arm and the front wheels (the rear wheels being raised off the ground). If I lift the opponent higher, the center of gravity will fall back over all 4 wheels, and normal operation can proceed.

This two-wheeled intermediate, semi-stable condition is what I hope to extract a little fun from. I hope to be able to whirl the bot doublet around at a high rotational speed, then release the clamping force suddenly. This should pitch the opponent a decent distance horizontally. Hopefully right off the stage.

That is not the main strategy, of course, but it’s something to include. I hope it works.

Slightly obsolete drawing, but the basics have not changed. The drive motors will be 18 volt drill units similar to the ones I used to use on Test Bot (before I started choppin’ and screwin’ them). They will indirectly drive all four wheels, since the geometry of the frame makes direct drive impossible. Heavy stuff, of course, is in the back. I might actually stay with giant nickel-chemistry cells since they are great for ballasting….and lithium batteries of this size is going to cost as much as the rest of the bot.

The lifter motor will be a fun work of engineering. I couldn’t find any single motor and gearbox on the commercial channel (within reason) that had the torque necessary to lift and hold a 30lb opponent AND fit in the bot design. The Banebots CIM gearboxen were a good choice, but were too long and wide for the design, and with the motor, would weigh in at 8 pounds. That is not acceptable in a 30 pound robot.

So then plan is, as I termed it, to “ghettofrankenb0x” two more 18 volt drill motors. This involves adding another 6:1 drill gearbox stage on top of the 36:1 stock gearbox, all in a custom housing. Each motor is then reduced 216:1. Two of these are coupled together at the output shaft and then mated to an additional 3:1 chain drive to the lifter axle.

The output speed should result in the lifter swinging (no load) at 120 degrees of rotation per second. 120 degrees is roughly the maximum swing it has, and 1 second is *PLENTY* fast for a lifter like this. This dual motor 400+:1 reduction will have enough torque to dead lift 150 pounds, but I designed it to lift and hold a 60 pound robot at the end of the arm with the motors under power to fight backdrive. So a 30lber should actually be quite trivial.

But the drill gearboxen now suffer from “Banebots Syndrome”, which is the stacking of too many reduction stages with no increase in gear size or width. Chances are, they will not stand a dead stall. However, the point is to not dead-stall them against something solid.

Here’s the gist of it.

An all-aluminum structure supports both the lifting forks and the clamping arm. The dual ghettofrankenb0x is seen here. A small gearmotor, mounted to a leadscrew assembly, will drive the clamping arm. I currently have a B62 motor that was designed in for this job, but may switch to something of a similar form factor if it proves not up to the task.

The pivot point for the clamping arm is actually mounted in a floating assembly with the leadscrew nut. A series of disc springs hold the two apart. This is a measure to save the motor against hitting a suddenly dead stop in the form of either travel limit or another robot’s top. It also adds in a bit of “preload” to the clamping arm when it bites down on an opponent. This is not designed to save the system if the opponent tries to force its way out – a real indirect drive will make no difference in that case.

Here’s the spring-loading device for the front support legs. I could have avoided this bit of complexity with a large torsion spring or two, but had trouble locating suitable springs. Torsion springs are supposed to act over a wide range of motion. I only need about 10 degrees of springiness or so, which means a torsion spring will make very little difference unless it’s been massively preloaded. Torsion springs of the size needed to balance the robot were also quite huge to begin with.

So a “shock absorber” type setup was implemented instead. This is just a die spring from McMaster riding on a shoulder screw, which is in a movable mount attached to a drive pod standoff. It should allow the legs to move over small obstacles like the “floor bar” hazards. This is also the travel limiter for the front legs (such that the robot can only tilt forward about 10 degrees) since the spring won’t compress further than its solid length.

External overhead view. The robot is 20 inches wide and 16 inches long at the end of the chassis. The support legs take it to 22 inches long, and the tip of the fork makes the whole robot 27 inches long. This is huge. The chassis size is very reasonable for a 30lber, though. The height of the frame is 2 inches, and the height at the fork is 5.5 inches.

Top estimated speed of the thing should range between 10 and 12 feet per second. This is very zippy, and I might scale back a bit. However, fast is good for chasing down and grabbing opponents by the collar, and then whirling them around.

How many robots can I throw into the crowd?*

Building this bot will be a test of my machining skills for sure. Since the frame has many 2D flat plates, most of it can actually be pre-fabbed on the waterjet machine. For instance, this is a test layout of all the 1/2″ aluminum parts on a slab of 1/2″ x 12″ x 28″ 2024 aluminum I bought a while back for TB.

Most of the manual machining will be on the UHMW frame parts (since UHMW waterjets like total shit) and the drivetrain. In other words, pretty standard stuff. All I need is, of course, the time and machinery, both of which are in plentiful supply over the summer.

I also intend to make a closed-loop control for the main lifter arm. I am not going to jiggle both transmitter sticks in perfect synchrony as to clamp, lift, and drive at once. I have yet to find a way to shoehorn in a servo feedback device onto the leadscrew assembly for the clamping arm – perhaps a linear potentiometer or something.

So this is the official unveil of the concept. Staring the week after finals (this week), I should have three months and a week to get this thing done and tested. Can I do it?

Only time money will tell.

*The answer to this is ZERO. The crowd is at least 25 feet away from the stage. Robot Battles also has a spotless safety record because it holds common sense to be the baseline rule. Let’s keep it this way, folks.

Pop Quiz 2 Update 2

The calm before the storm has begun.

After two weeks of hosing, I now have a week of reprieve before the wall of finals hits… hopefully not too hard.

So naturally I’ll take the opportunity to catch up on two weeks of building. First off is Pop Quiz, which I actually have a fair percentage of the parts for.

From United Hobbies are the replacement internal parts. After some idea juggling, I settled on some 460mAh packs rated for 15C discharge. This of course gets me an incredible 6 amps of maximum current, but given my intention to run everything in the bot mildly, should not get in the way.

These packs are 3S each, and I will remove one cell from each pack, then series the remaining to yield 4S x 460mAh.

The new 10A controller is unbelievably small – MUCH smaller than Pop Quiz’s current 10A controller by far. It has one SO-8 FET per leg of the motor driver bridge.

Still missing is the micro-receiver and drive ESCs. These parts are contingent on whether or not I can shove the old ones into the new design.

PQ2 drive motors! This is a side-by-side comparison of the stock Mabuchi slot car motor, and the neodymium-tuned one next to it (On the right). The “freewheeling noise” of the “enhanced” motor is substantially lower. According to my R/C meter, it draws an obnoxious .4 amps no-load, but oddly enough, runs smoother and with significantly less brush arc than the stocker. I wish I had some real equipment such that I can collect real data instead of jamming my finger into the rotor to see how easily it stops (Alot harder to stop the new motor, by the way!)

SDP-SI is out of stock on the exact size gear I need to fit the new drivetrain. Go figure – I’ll keep bugging them until they are restocked.

With those little details on hold, it was time to work on the new motor.

…but alas, disaster strikes even before starting.

After popping the stators out of the motors I intended for the bot, I discovered they are in fact 3mm thick, not 4mm like I had visually inspected (Note that these aren’t the “flat motors” from the last update, but rather some HDD motors I had bought in 2006)

This was quite bad, as I had sized the design for a 4mm tall stator. This isn’t to say 3mm won’t work, since small fits in place of large, but would cost me some power as well as style points.

What ensued was a night of terror levied upon a box of old hard drives sitting around MITERS. I went through one of every unique make to see if they had usable spindle motors. There were only 4 brands and models in total – the rest were duplicates.

(MITERS obtained this after some server cluster on campus dumped their old hardware)

I hate new stuff. I really do. Because they ALL LOOK AND FUNCTION ALIKE on the inside. Not a single 4mm, 12 pole motor was found out of four drives. The only 4mm stator was 9-poled and 20mm in outer diameter, totally unworkable. Of course, going through more was only going to be redundant, so I called it a night and just worked on the motor frame itself.

I have some older (1990s) hard drives hiding under my bed that might prove more useful. Old things tend to have bigger motors. Or I could just harvest some plates from one stator and transfer them over.

Result of the Night of Terror. The other MITERers were, of course, glad to act as parts vultures, stripping the discs, magnets, RW heads, and various random bearings and spacers. I wonder how many cents I can get if I recycle the casings.

Time to get down to business. Behold, the sketchiest sawing setup that has ever existed.

I needed a chunk off this 8 foot long, 1.6″ diameter steel pipe. There wasn’t really an easy way to handle it besides propping it up on the work table and using the abrasive saw.

Problem was, there wasn’t really a sawhorse or structure that could easily fit in the space provided. The solution was to prop it up with a wooden board and just hope nothing moves.

Nothing moved, but the effort proved fruitless as the inside of the steel pipe, when cleaned of rust, was around 1.3″ diameter. I need a 1.295″ ID on the magnet ring, and would rather trim outwards from a smaller pipe.

D’oh.

So the next thing to do was to start on the aluminum bits. Here’s the completed motor base. Or, rather, here’s a completed dummy motor base. It was a good practice run to get the quirks of manufacturing out, but ultimately there were some inaccuracies.

The MITERS lathe is well-known for being inconsistently inconsistent (consistently inconsistent would mean I’d be able to predict and offset appropriately to account for its behavior), and I had all sorts of weird things happen again, like the tailstock that points to any one of 5 constellations depending on where it is on the bed, how hard I crank the camlock, what bit I use, how I mount it in the chuck, how far out the tailstock ram is, and the phase of sunspots. And again, the toolpost proved troublesome – it’s awfully flexible for being a block of metal, and some times flexes slightly on cuts, which throws off the dimensions.

I might need to hit up one of the student shops for this application, which requires a bit of precision.

Assembled (with a stock ganked HDD stator). The stator is supposed be flush with the top of the stepped nub, but of course it’s 1.2mm too short to do so. This is actually not as bad as I make it out to be. The base, as it is, will make a good backup part, since there’s only a small amount of error on the OD and the depth of the center hole.

Overall, the test assembly confirms some of the hopes I had about fitting the motor can and maintaining space for the windings. There’s a fair amount of space to wind with.

More work to come!