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. ↩