So you want to know how to make a Battlebot out of plastic! Here you go: Milling the chassis and weapon, 3d printing the internal structure, and the finished product.
I bought a 12x6x1.5 piece of UHMW so that I could make two chassis if necessary. For cutting UHMW a 4-10 tooth per inch wood bandsaw works great, whereas a fine toothed metal bandsaw causes the plastic to melt and gum up.
I underestimated how much time it would take me to go from a solid model to a program for the CNC mill to run. "Computer-Aided Manufacturing" (CAM) software seems like a misnomer to me. I was fighting Autodesk Invenotor + MasterCam2015 at every step. I had problems importing my solid model, I had to hack around in the back end of the program to fix some settings that were wrong in its definition of a the Tormach 1100 CNC Mill I was using, and then the program was terrible at generating good tool paths. After much fiddling we began:
I could not use liquid coolant because coolant + plastic generally makes sludge that is hard to clean out of the machine. The airgun worked well to clear the chips out but because they were so light and statically charged they went EVERYWHERE.
Machining the frame from a single piece of solid material went well, but hey! If we are already over-doing it we might as well go crazy! Apparently polycarbonate can be bent at room temperature. If you haven't bent sheet metal before there is a little bit of math to it. If you want to make a single right angle bend to form a bracket that is 2 inches on each side, you actually start with a piece of material, called your flat pattern, that is less than 4 inches long. A more detailed explanation of this can be found here. My armor plates were effectively very shallow boxes that fit the body of the robot very snugly. To get that tight fit the flat pattern had to be just right. After a few test bends I had everything dialed in.
Since there are bends on all four sides of the armor-boxes I had to use a break with removable fingers. Without that feature I would crush two sides of the box when trying to make the final bend. As you can see below I avoid that problem by using a set of fingers that are slightly more narrow than the box.
And the final result! The near side of the robot has a snug fit polycarbonate shell.
Additionally a number of holes had to be drilled to attach the polycarbonate armor, and internal components. It was largely uneventful UNTIL THE MACHINE CRASHED ON THE FINAL OPERATION. I noticed that something was wrong and hit the emergency stop, but the inertia of the machine carried the chuck of the drill into the side of the robot. I took a chunk out of one of the weapon supports and bent it but the UHMW saved me. I was able to bend everything back into place. Sorry I dont have a picture!
The weapon was one of the more challenging things to make. Not because the shape was very complicated, but because the tolerances had to be kept or the whole thing would be out of balance and vibrate itself apart. Oh yeah, and because cutting fiberglass emits dust that you need to control lest you enjoy breathing glass or destroying your mill by adding abrasive particles to the coolant. With help from Techshop's professional machinist I was able to calculate feeds and speeds that made big beefy chips that were easy to clean up. A shop vac was able to suck up any of the smaller dust that was created.
The weapon actually came out great, everything was within 2 thousands of the nominal dimensions. Unfortunately I made a pretty bad decision in the very first machining operation. The rod I received was not exactly 1.5 inches on each side. In order to make the weapon slightly bigger I put the teeth on the sides that had the greatest distance between them (1.56 inches if I recall). That negligible increase in size came at great expense. Rather than having the teeth impact the enemy with the surface of a fiberglass layer, they strike with the laminated side! That makes it very easy to shear layers off. Doh!
The internals consisted of 2x top motor mounts, 2x bottom motor mounts, a battery holder, a weapon cable guide and an electronics tray (to keep the wires from being able to enter the wheel wells). They were 3d printed out of PLA and heat-set threaded inserts were pressed into them. I printed them with 3 shell layers and 30% octagonal infill. Printing went smoothly except that the Makerbot printed screw holes smaller than they appeared in the model.
It was not until the night before the event that all of the parts were complete and ready for assembly. I knew this would be the case, so I had 3D printed mock-ups of the major components and test fit them earlier in the week. Unfortunately upon assembly I noticed a few things that were off. The wheels stuck out from the top much more than they did from the bottom and the battery was being compressed in one dimension. I quickly redesigned those parts and began them printing.
While those parts printed, I turned my attention to the weapon motor. I removed the rotor (a.k.a. the bell) from the outrunner stator. I have heard that the rotor magnets are sometimes not secured well. I carefully filled the gaps between them with JB Weld Epoxy. This turned out to be a mistake. I did not realize the JB Weld literally contains iron. The magnets pulled the iron filled epoxy into mounds as the part dried, creating interference between the stator and the rotor. Coincidentally, the stator of that motor was dead on arrival from Hobbyking because a stray winding stuck outside of the stator and its insulation had been rubbed off. That motor was a complete bust, thankfully I ordered two! Below you can see the one I ruined with JB Weld.
I disassembled the second motor and secured the magnets with standard clear epoxy. I then epoxied the rotor into the weapon. I would have preferred a press fit, but I had machined the hole a little big. The assembly process was clearly becoming an all nighter. At some time around 3AM the new motor mounts and battery holder finished 3D printing. I assembled everything and began to unceremoniously tape all the electronics in a 9mm gap between the internal components and the top cover.
Even after changing the height of the motor mounts so that the wheels were centered I was still having ground clearance issues. My polycarbonate armor, which I had not included in the CAD model, was the culprit. I openly wept as I removed some of the offending sections from my pristine armor with a dremel. Lastly I created a top cover to hold the electronics in and glued neodymium magnets to the robot. It is very difficult to glue things to polycarbonate or UHMW. Luckily I had done my research and purchased some special Loctite two part plastics glue. Unfortunately the glue created a very weak bond and most of the magnets fell off before the robot even began it's first fight.
In my next post I will give a play by play account of the fights once the footage is edited and posted.
EDIT: February and the fights are not up yet... startups are a busy place.
This is the first post in a three part series about my all plastic robot MJF, created for the WPFL.
What is the WPFL?
The WPFL is of course the Weaponized Fighting Plastic League, a combat robot tournament that appeals to 3D printing true believers and masochist designers in equal measure! The rules call for a tournament of 3 lb robots with the notable restriction that your chassis, armor and weapon must be made of plastic. Finally our calls of "Metal OP, nerf1 plz" have been answered!
The WPFL is the brainchild of employees at Fetch Robotics, where they held the first tournament of its kind in August. Since this modest event happened at a startup I guess that makes it very newsworthy. Footage from the event was reported on by IEEE Spectrum, Gizmodo and Popular Mechanics. In particular Popular Mechanics was cautious when approaching the delicate task of reporting this news. We would not want rumors about Michael Ferguson, Fetch's Chief Technology Officer, to be reported until they can be confirmed:
"A short video uploaded by Michael Ferguson, who seems like a Fetch employee, showcases three fights..."
I am sure the author will have more late-breaking updates as soon as they come back for their internship next semester.
In any case this is a design overview for my entry into the second tournament of the WPFL which was held this October. In honor of October 21st, 2015 being Back To The Future day my robot was named Micahel Jay Fox, or MJF for short.
I arrived at Fetch for an internship about two weeks before the tournament was to commence. The short notice meant I could only get one Hobbyking and Fingertech order in before the event so I had to pick a proven design that I felt confident I could make well in one shot. At the same time I wanted to make something that had not been seen in the WPFL before. With some inspiration from Robert Cowan's Sergeant Cuddles I decided to make a drum spinner. For this build I decided the focus on the mechanical and materials aspects of the design. With only minimal testing (cough foreshadowing cough) the motors, battery, and motor controllers were taken from the spare parts bin.
The dimensions of the robot were dictated by the limited materials I had available to me. I decided to go with Ultra High Molecular Weight Polyethylene (UHMW) for the chassis. It is not as resilient as polycarbonate, but UHMW will never deform rather than shatter (see its impact strength). In hindsight the current generation of plastic weapons don't store enough energy to threaten damage to either material.
It is easy to buy UHMW that is 1.5in x 6in x any length. Anything larger than that quickly becomes prohibitively expensive. That basically set the size of the frame. With the frame settled, I needed to decide on a material for the drum. UHMW is too ductile, and Polycarbonate is not sold in 2 inch square or round rods. I settled on Garolite. It is more stiff and dense than most plastics, but it's laminated construction might cause it to fail spectacularly. (To all you pedants who say Garolite is fiberglass, not plastic, go check McMaster-Carr!; experts agree it is in the plastic section which is good enough for the WPFL!).
Weapon Motor: NTM Propdrive 28-30 800kv, short shaft variant
Drive Motors: Pololu 20mm 73:1 Metal Gearmotor
Wheel: Fingertech 2.25inch snap wheels with hubs
Battery: Rhino 1250mAh 3s Lipo
Motor Controller: Custom 2 Channel 2 Amp Motor Controller
Receiver: Orange RX with case removed
Detailed Design Goals
I had a number of design goals, some were to make MJF more competitive, others were just for my own amusement. I will touch on each of them :
- Invertible Drive
- All billet-material external construction
- Internally Mounted Weapon Motor
- "Bite" Optimized Drum
- Solid Impact Load Path - forces from the weapon striking the enemy should be reacted through solid, stiff materials.
- Internal Compartments
Motor mount blocks were designed which fully constrain each motor. They were designed so that they could be 3D printed in two parts.
Although threading a bolt into a slightly undersized hole will fasten in a pinch, I wanted something stronger for these mounts. I used brass heat-set threaded inserts. In the past I had accomplished a similar effect using captured hex nuts, however I think that threaded inserts are superior.
While inserts may be more expensive than a captured hex nut, they have the advantage of allowing more design flexibility when 3D printing. Threaded inserts are specified to be pressed into slightly tapered holes; such holes print nicely even if they are on the bottom of the part. To secure everything bolts are run through the chassis, and lower motor mount before threading into the upper motor mount. This allows everything to be held in compression. Shims can be added to make sure that the wheels stand out equally from both the top and bottom of the robot, allowing for inverted driving.
All Billet External Construction
Certainly using solid plastic sheets rather than 3d printed ones increases the strength of the frame and weapon considerably. However, I wanted to go one step further. Rather than bolt multiple sheets of plastic together to form walls, I wanted to make a billet frame. People use the word "billet" as an adjective to refer to parts that have been machined from a single solid piece of material (which is the billet itself). Honestly for most combat robots this is an impractical design. What little the frame gains in strength, it sacrifices in maintainability. However I thought this would be a fun way to challenge myself to design for manufacturability and practice with CAM software for the CNC milling machine. And so the external components consist of one block of UHWM Polyethylene, one block of Garolite and one piece Polycarbonate to make a lid.
Internally Mounted Weapon Motor
Borrowing a page from Sgt. Cuddles I wanted to mount my weapon motor inside of the weapon itself.
There are a few major downsides: (1) This design causes there to be three bearings on the same shaft (one on the far side of the weapon, and two within the weapon motor). This is over-constrained which is just asking for binding issues. (2) The bearings inside the motor are not sized to the transmit the loads generated by an impact (3) The rotor magnets may be brittle or poorly secured to the bell. They might break during the shock of impact.
However belt systems have their own problems including: (1) burning out or snapping the belt due to improper tensioning. (2) (for <= 3 lb robots) The lack of easily obtainable small v-belts and pulleys. (3) The need for much more space; the entire robot would be 1.5 inches longer to accommodate the motor inside the compartment.
While the motor-in-drum design has some serious drawbacks I was sure it would work to some extent, whereas home-made belts often lead to total failure. In any case this design gets way more cool points!
Bite Optimized Drum
MJF's weapon stores a large amount of energy in the form of rotational energy. However, to get that energy into the opponent the weapon needs to make solid contact. That might sound easy, but it is possible for a drum to spin too fast. It is possible for the weapon to spin so fast that rather than having one big hit, the weapon moreso makes dozens of small, ineffectual, and glancing blows. To combat this one can either slow the weapon down or reduce the number of teeth on the weapon. Of course we don't want to slow the weapon down, which would reduce its stored energy. So we have to minimize the number of teeth while keeping the weapon balanced so that the robot does not vibrate itself to death .
To reduce the number of teeth you must reduce the number of points on the weapon that stick out further than nearby areas. To achieve this a square rod was machined to have a rectangular cross-section, bringing the number of teeth from four to two2. However we could do better! By cutting alternating sections on each side it stays balanced, but there is now only a single tooth at any point along the weapon.
Unfortunately, in order to house the motor securely, I could not remove any more material from that section, so it still has two teeth.
Solid Impact Load Path
The most damaging hits transfer the maximum amount of energy from the weapon into the enemy as fast as possible. In order to do that you want the parts of your robot between your weapon and the ground to be as rigid as possible. You want all the energy to go into their robot, not into flexing a weak frame or compressing foam wheels. To achieve this a hole was added so that an steel screw would conduct the majority of the load into the ground. It serves the dual purpose of being an adjustable, so that I can tune the weapon to be as low as possible without hitting the ground.
The use of such a standoff does have one downside. Because it supports some of the weight of the robot, the wheels have less normal force. This limits the maximum amount of torque the wheels can transmit before they slip. To counteract this I added Neodymium magnets to various points on the frame to get more downforce.
One of the easiest ways to have a failure mid combat is to allow things to shift around inside the robot. While this can be easily remedied with liberal application of duct tape I wanted to do something a bit more thorough. I designed a series of interlocking 3D printed parts to hold all the internals. On the top there is an electronics tray to keep all the wiring accessible, and out of the wheels.
The battery is held in place in two axes by a compartment underneath the battery tray. The third axis is not constrained to allow the battery pack to expand slightly under load as LiPo packs often do. The battery and charging leads feed up through a channel in the side of the electronics tray.
Finally, a 3d printed cable guide was added to keep the weapon motor leads from shifting into the path of the weapon. I favored this approach rather than milling a narrower channel in the chassis becuase that would have required me to buy another end mill.
Pretty good for one weeks of work while also working full time! See more in the next post about the fabrication.
Technically going from a square cross section to a rectangular one does not completely eliminate two of the four teeth. There are still four high points. The teeth that you intend to strike with are now closer to the teeth than you don't intend to strike with. This means it is unlikely that a hit will be timed such that the enemy avoids the striking tooth but manages to contact the non-striking tooth. ↩