Introduction: Naked Singularity: Beetleweight Wedge Combat Robot

About: By day, mild-mannered CS prof. By night, husband, father, basement tinkerer, video game player.

This is a pretty basic sumo-style R/C combat robot, intended for competition in the Robot Battles (http://www.robotbattles.com) Beetleweight (3-pound) class.  My goals in designing and building it were:

-- ease of construction, especially when it comes to cutting and shaping the metal parts.  In particular, I wanted a design that could be fashioned using mostly woodworking tools.
-- toughness (good armor)
-- nimble / fast

The competition allows for powered weapons like spinners, but those complicate the build.  I wanted to focus on having a solid 'bot that might actually make it through an entire round.  :)

Step 1: Tools and Materials

Materials

(I based the body and armor materials list largely on my order history with McMaster-Carr; in most cases the quantities are more than you need but reflect the minimum amounts you can order.)

(6 feet) 1"x1/4" thick Aluminum bar, 6061 alloy (Al-6061)
(6 feet) 1/4" square-profile Al-6061 bar
(5 feet) 1/8"x1-1/2" wide ultra-high molecular weight polyethylene (UHMW) bar
(1x) 12"x12"x1/8" UHMW plate
(box of 50) 1/2" 6-32 Torx pan head machine screws
(box of 50) 3/8" 6-32 Torx flat head machine screws
(1x) 12"x12"x1/8" Al-6061 plate
(1 pkg) M2 flat head machine screws, 10 mm

(4x) Beetle B16 Gearmotors
(4x) Lite Flite wheels, 1-3/4" diameter
(4x) Dave's Hubs, 4mm shaft
(1x) Scorpion XL electronic speed controller
(1x) PowerEdge 850 mAh 11.1 LiPo battery
(1x) 2.4GHz FHSS Futaba 4YF 4-Channel Transmitter w/ R2004GF Receiver
(1x) slide-style toggle switch, double-pole / double-throw (DPDT)
(1x) JST connector pack (usually comes with both a male and a female connector; you'll need both)

bottle of tapping fluid

Tools

Drill press
Jig saw
Miter saw
Table saw
Woodworking band saw
Phillips and Torx screwdrivers
Tap wrench w/ 6-32 tap (I broke several over the course of the build!)
Tri square
Scratch awl
Metal file
Soldering station
1/16" hex key (I keep expecting this to break at a very inconvenient moment so I bought extras...so far I'm still using the first one!)

In addition to a regular drill index' worth of bits, you'll also need a 9/16" twist bit for building the motor mounts.

If this is your first experience with LiPo batteries you'll also need a charger.  I use a Venom Pro and have had no trouble with it.



Step 2: CAD Model

I spent the better part of a weekend designing this bot in Sketchup.  The CAD file (*.skp) is attached to this step.  

Assembly Overview

The pictures in this step are ordered such that you hopefully get an idea of how this is assembled:

Picture 1: overall dimensions
Picture 2: the internal frame.  This will be constructed out of 1"x1/4" Aluminum bar.
Picture 3: B16 gearmotors added.
Picture 4: wheels added
Picture 5: layout of internal electronics (in the final build this changed a little as I had to buy a different battery when my old one went bad)
Picture 6: top and bottom armor added.  Top armor is 1/8" Aluminum plate, bottom armor is 1/8" UHMW.
Picture 7: mounting brackets (the pink objects) added.  These will hold the side bumpers to the top and bottom armor plates.  They are made from 1/4" square-profile Aluminum bar.
Picture 8: Side bumpers added.  They are made from 1/8" thick UHMW bar.
Picture 9: Wedge added.  It is made from 1/8" thick UHMW plate.



Some things I learned along the way

1. Rough out the idea first; don't worry about exact dimensions.  Figure out what it should generally look like.
2. Once you have the general design, set about making it practical.  For me, this meant, for example, adjusting the height of the internal support rails to be exactly as wide as off-the-shelf Aluminum bar.  (This practical reason for this is that I only needed to cut the rails to length, not to width.)
3. Use version control to keep a record of changes in your design.  Software developers learned this lesson long ago, but it works pretty well with CAD, too.  Mercurial is my version control system of choice these days.
4. Use the grouping and "make component" features as much as possible.  One really nice thing about Sketchup's components feature is that if you have to modify one instance of a component, all other instances will update themselves with the changes, keeping you consistent across your entire model.
5. For off-the-shelf parts (gearmotors, batteries, etc), use the manufacturers published dimensions to create components for them to use in the model.
6. Revise, revise, revise!  Each little change you make will have a ripple effect on other dimensions in the model, so be patient and update accordingly.

Attachments

Step 3: Weight Estimate

Once I had a stable CAD model, I wrote a simple spreadsheet to estimate its weight, using manufacturers' specified weights for the motors, electronics, etc., and estimating the weight of the Aluminum and UHMW parts based on their volumes and densities.  The spreadsheet is attached to this page.  (Spoiler: my estimate was pretty close, within about 2 oz.)

Step 4: Internal Frame

The first picture below shows the results of this step.  Basically just building a box, with "mandibles", out of the 1"x1/4" Aluminum bar.

1. Using the dimensions in the CAD file, cut the four pieces of Al bar on a miter saw.
2. Drill & tap 6-32 thread screw holes as indicated in the first picture.  Fasten the front (behind the mandibles) joints with pan-head machine screws; use flat-head screws on the rear joints (otherwise the pan head screws will rub the wheels).  The second picture shows this up-close.
3. Cut the angle on the mandibles: on each rail, lay out the angle and score it with a scratch awl.  The incline should begin at the front just a little above the bottom of the rail and slope to the top just shy of the cross-rail.  The actual angle isn't as important as making sure both side rails' angles match as close as possible.  Cut the angle freehand with a jigsaw; go slow!  Afterwards, place the rails side-by-side in a vise and file until they are both reasonably smooth.  Again, it doesn't have to be perfect, just "close enough".

The last picture shows of the angles.  In my case, I actually cut them later in the build, hence the picture showing more assembly.

The motor mounts are complicated enough on their own; I'll explain them in the next step.

Step 5: Shaping the Motor Mounts

The Beetle B16 motors have a "double-D" bumpout pattern (see the first picture) on their face plate that keeps them from resting flat against the rails.  (Kitbots.com sells a mounting plate especially for these.  Their product page illustrates the weird mount pattern required here.)  I decided not to use their mount plate as it would have required me to use wider side rails, adding weight and requiring larger wheels. This meant shaping the side rails so they would accommodate the B16 motors directly.

First of all, it is very important that corresponding left-and-right motors be as aligned with each other as possible, so place the rails flat-to-flat and drill small pilot holes corresponding to the center lines of the motors.  The remainder of your measurements will follow from these center-holes.  Additionally, make sure the pilot holes are centered top-to-bottom as much as possible; the B16's are nearly an inch in diameter, so there isn't much wiggle room here.

I had an old Beetle B62 motor that died in a previous competition; the only difference between a B62 and a B16 is the internal gear ratio.  Everything else -- in particular the mounting pattern -- is the same.  So I salvaged the face plate from the dead B62 and used it as a drilling template for my motor mounts:

1. Tap the shaft hole in the face plate with an 8-32 tap.  It will be a little loose but not too much.
2. Drill and tap the center-hole of motor location to 8-32 thread.  Use an 8-32 machine screw to tighten the face plate to this hole. (second picture)
3. Drill the screw holes as indicated by the face plate.  Use the smallest bit you can that will accommodate M2 screws. (second picture)
4. Remove the face plate.  Use a 9/16" twist bit to make a depression (from the inside of the rail) just deep enough to accommodate the "double D" bumpout (third picture).  Don't drill too deep!  (Note: later, when you attach the motors, you may find they don't want to sit in straight.  This means you need to make the indention just a little deeper.)

Repeat steps 2-4 for the other three mounting holes.  When you're through, you should be able to mount the motors as shown in the last picture.  You may need to make the shaft-hole a little larger in the end.  Also, it shows pan head screws holding the motor here; I later used counter-sunk flat head screws.  This gave more clearance between the screw heads and the wheels.

Step 6: Preparing the Motors

If you're strictly following this Instructable, you're grumbling at me now because you need to take the motors back out.  Don't worry, you'll probably do it several more times before you're done.  :)

These motors are known for falling apart during combat (where do you think my dead B62 came from?) so here we take a couple of precautions to keep that from happening:

1. One at a time, remove the long screws holding the gearbox to the motor, add a drop of Loc-Tite, and replace the screw.  These screws are indicated in the second picture.
2. Wrap one or two layers of electrical tape around the gearmotor such that it covers the face plate, gearbox, and motor, as shown in the first picture.  Don't use too much tape or the motors won't fit in the bot.

Step 7: Top and Bottom Armor Plates

Cut the top and bottom armor plates per the dimensions in the CAD file.  The top plate is cut from 1/8" thick Aluminum plate; use a jigsaw to make the cuts.  The bottom is 1/8" thick UHMW (to save weight); it can be cut with a woodworking bandsaw.

The top plate is attached to the rails with 1/2" long 6-32 pan head machine screws.  The bottom plate is attached with 3/8" 6-32 flat head machine screws (used to give more ground clearance); the holes in the bottom plate are counter-sunk for the flat head screws.

Note that the top plate is a structural element for the bot as it reinforces the right-angle rail joints.  Plan your screw holes accordingly.  The bottom plate just keeps the guts from spilling out.  :)

Step 8: Side Bumpers

The side bumpers are cut from 1-1/2"x1/8" UHMW bar.  They are fastened to the top and bottom armor plates using home-made nutstrip.

1. Cut the bumpers to length per the dimensions in the CAD file.
2. Rip the bumpers to 1-1/4" wide on a table saw.
3. Cut four pieces of 1/4" square Al bar, sized to match the "wings" on the top and bottom armor plates (see the pink blocks in the CAD picture).  These will be our "nutstrip" for attaching the side bumpers.
4. For each piece of nutstrip, drill and tap two 6-32 holes on one side and two 6-32 on the adjacent side.  Make sure holes on adjacent sides do not intersect inside the bar.
5. Drill holes in the top and bottom armor plates, and in the side bumpers, to match the holes in the nustrip.
6. Attach the bumpers with 6-32 pan head machine screws.  Use #6 washers to add more holding strength.

Later, after making the separate bumpers, I thought to make a single bumper that wraps around the back (last picture), giving a little added protection in the back.

Step 9: The Wedge

The wedge is cut from the remainder of the 12"x12"x1/8" UHMW plate.  You probably shouldn't use the dimensions in the CAD file here since they are dependent on the angles you cut on the side rail mandibles.  It's probably going to take some trial and error to get the dimension correct -- use something stiff and cheap like card stock to prototype your wedge before cutting the actual part.  You want the wedge to be as wide as your bot and long enough front-to-back that it just barely sweeps the floor.

(The picture shows my first wedge, which wasn't as wide as the bot.  I fixed that in the final version.)

Cut the wedge on the table saw.  Bevel the long edge as much as the saw will tilt (probably 45 degrees).  The bevel will give the wedge a sharper edge where it meets the floor, increasing the chance you'll get under your opponent.

Drill and tap four 6-32 holes in the mandibles (two holes on each) and drill and countersink four corresponding holes on the wedge.  Attach with flat head 6-32 screws.

Step 10: Install the Power Switch and Fast-charging Connector

I've learned the hard way that installing a convenient power switch in a bot is difficult and best not left as an afterthought.  Which means it's always an afterthought for me.  :)

One of the problems with a switch is the tension between making it accessible to the operator (who wants to be able to easily turn it off and on) and simultaneously making it inaccessible to an opponent's bot.  (My first bot was disabled because my opponent, which had a powerful spinner weapon, scored a direct hit on my power switch leaving me dead in the water.)

For this bot I hit on a scheme for recessing the switch under the armor.  The first picture shows this from the top of the bot.  The second shows the wiring underneath the plate.  I'm using a regular double-pole, double-throw switch from Radio Shack.

To install, drill a hole just big enough that you can flip the switch with your finger.  I think I used my trusty 9/16" bit here.  Then mark and drill the mounting holes and fasten with an appropriate bolt-and-nut (I used 4-40 machine screws and nuts).

Very likely the "nub" of the switch will stick out past your armor when installed this way.  So do like I did and grind it down with a power sander.  You don't need the whole thing -- just enough to move the switch with your fingernail.

You will also need to drill small hole in the side rail for wiring to pass into the bot.  I'll show the wiring connections in a later step.

Step 11: Install a Fast-charge Connector

It takes several minutes for me to swap out the battery on this bot since the bottom plate has to come off.  During a competition you sometimes don't have much time between matches to swap a drained battery for a fresh one, so I installed a fast-charge connector that is accessible from outside the bot.  This lets me hook my battery charger to the battery while it is still in the bot and use the "fast charge" LiPo setting.

The same problem came up here as did with the power switch: where can I put the connector such that it is convenient for me but not my opponent?  My solution was to have it barely peek out the front but still be underneath (and protected by) the wedge.  You can see how it works in the picture.

Drill a hole in the front frame member just big enough for the wires (but not the connector) to go through.  Run both wires into the bot and then back out the side hole to the switch.  We'll make the electrical connections in a later step.

Step 12: Electronics

The first picture shows how the electronics are shoved inside.

1. Solder two wire leads to each motor.
2. Connect the leads from the left motors to the left electronic speed controller (ESC) channel.  You will have one lead from each motor in each side of the connector.  Repeat for the right motor.
3. Plug the Right and Left channel connectors of the ESC into channels 1 and 2 of the radio receiver.
4. Wire the switch, male JST connector, female JST connector, and ESC as shown in the second picture.
5. Plug the battery into the female JST connector.

The power wiring (steps 4 and 5 above) is such that when the bot is off, the battery is completely disconnected from the internal electronics and is only connected to the fast charge connector.  Similarly, the fast charge connector is completely disconnected from the battery when the bot is on. 

Testing the Electronics

Turn on your transmitter, then the bot.  Test forward, backward, left turn, right turn.  If both motors on a side are turning the wrong way, swap both of their leads on the ESC connection.  If only one is turning the wrong way, only swap its leads.  It may take some trial and error to get everything moving the proper direction.  You may need to swap the ESC channels on the radio receiver.

Step 13: Take It for a Test Drive!

Here I am brutally attacking a cat toy and cardboard box with my vicious bot!

Step 14: Add Some Bling!

After I had a working bot, I added a new design goal: "Be less boring."  In an effort to meet that goal, I added a Larson Scanner ("Cylon Eyes") for a Knight-Rider effect. 

Materials:
TinyCylon kit
Servo cable
scrap piece of perfboard
ribbon cable with at least 6 conductors

This is mostly just a hack on the TinyCylon kit itself.

1.  Instead of soldering the LEDs to the kit's PC board, solder then onto a scrap of perfboard.  Don't trim the leads just yet.
2. Solder five of the ribbon cable's conductors to the cathodes (short leads) of the LEDs; we'll call these the signal conductors.  
3. Solder all the anodes(long leads) to each other and to the sixth conductor in the cable; we'll call this the Vcc conductor.
4. On the PC board side, solder the signal conductors to the round pads, in the same order as the LEDs are on the perfboard.
5. Solder the Vcc conductor to any of the square pads on the PC board.
6. Solder the red wire on the servo cable to the + (plus) terminal on the PC board.  Solder the black wire to the - (minus) terminal. The white wire is left unconnected.
7. Plug the servo cable into an unused channel on the radio receiver.

Regarding step 7, above: the Scorpion XL ESC, like many other ESCs, provides a Battery Elimination Circuit (BEC) to power the radio receiver through the servo-style connecting cables.  This voltage is +5 volts, which is exactly what the TinyCylon requires.  Using a servo cable with the TinyCylon means it gets power from the ESC via the receiver in this arrangement.

The flat cable is thin enough I just have it peek out from underneath the bottom armor (no hole in the body required).  I attached it under the wedge with velcro and hot glue.  The wedge itself is translucent enough that the lights are visible through it.

Remote Control Challenge

Participated in the
Remote Control Challenge

Make It Real Challenge

Participated in the
Make It Real Challenge