July 25, 2015
The making of 3 pound beetle weight combat robot Electric Whirligig
Meet the Electric Whirligig, my first beetle weight bot and my first attempt at high speed horizontal spinning weapons. The name? Well, it's a whirligig, a beetle and it's electric. If nature can make a Whirligig Beetle I thought should too. But mine is a little more dangerous than natures version.
- Weight 3 pounds
- Run inverted
- Counter rotating horizontal spinner weapons to cancel gyroscopic forces
- Be fast, numble and easy to control
- Be destructive
- Be indestructable (I can dream, can't I? )
To achieve the "run Inverted" goal I made the bot symmetrical top to bottom and end to end. I also had to put a weapon the the rear. When flipped over the back becomes the front and vice versa. The driver (me) doesn't have to do anything except continue to drive.
The bot is made mostly of polycarbonate (Lexan) which is the most shock and dent resistant material I know of for the weight and cost. It performs better than everything else I've tested. As long as you let it bend and move with the impact it rarely breaks. The top and bottom plates are 1/8 inch gray tinted polycarbonate as are the wheel pods. I cut them with a CNC milling machine. Thinner pieces are used for shelves and baffles inside.
One of the reasons I have not pursued high KE spinning weapons was their tendency to cause the bot to do the gyro dance after major hits. I didn't like the total loss of control. Occasionally I wondered if two counter rotating spinners would cancel the gyroscopic forces but never really got serious enough to investigate until I saw Counter Revolution on the web. Those guys proved counter rotating weapons will cancel the gyroscopic torque so I decided to do somthing like that in a beetle weight format. Unfortunately Counter Revolutions vertical spinner configuration is not compatible with the goal of running inverted so I decided to do a horizontal version.
The advantages of dual spinners include rear protection, invertability and less gyro torque effects.
But it's not all rainbows and lollypops. There are some downsides. Added weight and less power are the two main ones. The kinetic energy is divided equally between the two spinners but not combined. As weapons they act independently. The front striking spinner uses up its own KE but very little is transferred through the belts from the rear spinner. However, time to get back up to speed after a hit is reduced because the rear spinner helps keep the motor at speed. There is a lot of belt slippage after a hit until the spinners equalize. Gyro effects aren't cancelled during this time either. Battle testing will be the final judge of advantages vs disadvantages.
The weapon blades are CNC cut from S7 tool steel hardened then tempered at 400 degrees. They are asymmetrical with one end longer to create a single tooth spinner. They spin at 6200 RPM driven by 1/8 inch round polyurethane belts. I was hoping for 10,000 rpm but there were issues with the higher KV motor sucking too much current.
A single brushless outrunner motor ( 860 Kv) mounted in the center of the bot drives both weapons. The motor pulls about 4.5 amps at 11 volts. I slipped a thin aluminum cylinder over the rotating motor body to act as a pulley. One belt has a 180 degree twist to spin one weapon in reverse. I connected the belt ends together with a rig shown in this video. The tension comes from them being cut short by about 5%.
They will break stuff. Here's what happens to 1/8" aluminum.
The first version of the bot used Pololu brushed 29:1 gear motors. These were geared down 3:1 in the wheel pods. With 2.6 inch wheels it ran about 3 fps. This was a little slow but acceptable. I had some trouble with the Sabertooth 2x5 motor controller resetting itself spontaneously so tried a Pololu Trex Jr. controller. It didn't work well for other reasons. So, while continuing to search for a better controller I ran across a Facebook post from Gene Burbeck about using Afro brushless ESCs with SimonK 3D firmware to run brushless motors for drive. The open source firmware is designed for acrobatic quadcopters that can rapidly reverse the props. Turns out it also works great for bot drive.
I ordered some small brushless 1600KV motors, Afro ESCs and a programmer from Hobby King and downloaded the firmware from Github. Since the brushless motors did not have a gearbox I had to redesign my 3:1 drive pod for 27:1 in the same space. Turned out not to be very difficult. Eventually I figured out how to compile the firmware source and loaded in into the ESCs.
Here's a wheel drive unit. To make the cluster gears I pressed the turned down ends of the smaller gears into the larger. (interference fit) They run on oiled 1/8 inch fixed steel shafts. The 1/4 inch axles for the wheels use the Lexan as a bearing. Yeah, not very legit but seems to work ok.
The wheels are pool noodle segments with vinyl tubing inserts. As with the paint roller wheels on Death by Twinkies they can suffer lots of damage and still work as wheels. I coated them with brush-on latex for traction. They are mounted to the axle with expanding mandrels.
The brushless motors more than doubled its speed to over 7 fps! Unfortunately the bot was very difficult to control due to steering sensitivity. I was using standard R/C components and there was not much I could do to improve the situation. It was time to convert to my tried an true hacked game controller plus XBee plus AVR micro-controller system like I used for all other bots. I'd have total control over everything and could add a gyro. I wired up an ATMEGA328 chip to a gyro/accelerometer module on perfboard while Ed the cat helped slow the rate of progress.
After building the hardware I proceeded to customize and adapt existing C++ code for this bot.
The gyro senses rate of turn or yaw. I subtract the gyro yaw signal from the steering signal which reduces steering sensitivity a lot and keeps the bot headed in a straight line. It's now both fast and easy to control. The addition of the gyro required an inversion sensor because the gyro feedback is reversed when the bot is inverted. I used the accelerometer for that. I had to lowpass filter and add hysteresis to the accelerometer to prevent false signals from collisions and vibration. In fact the whole electronics tray had to be shock mounted to keep the accelerometer happy.
I made shock mounts from 1/4 inch PVC rod and 1/4 inch ID vinyl tubing. The short PVC rods are drilled and threaded for 4-40 screws. I glued them in the vinyl tube with PVC plumbing cement.
At this point the bot was working well except for mysterious firmware crashes resulting in the bot continuing to do whatever it was doing while ignoring the radio completely. This only happened while the the weapon was running. A few stool legs are now missing chunks of wood. Catching dual 6200 rpm spinners running across the shop at 7 fps and turning it off isn't easy. Did I mention this thing is dangerous? Yeah, that's why test boxes are recommended. Anyway I still have all my fingers and toes.
I added watchdog timer code to reset it in case of a firmware crash. That stopped the runaway situations but the underlying cause was still unknown.
I got my trusty NE2 neon bulb from the 1960s era, darkened the room and fired up the spinner. I held one neon lead in my fingers and touched the other to the screw that holds the spinner axle. It lit up. Well well. I accidentally made another Vann de Graaff generator. That explains a lot, including why the original Sabertooth 2x5 ESC was randomly resetting. I connected wires to both spinner axles and the weapon motor and connected them to battery minus. All glitches and crashes are gone now.
The bot was over weight as is usually the case so I replaced the aluminum weapon axle supports with glass reinforced polycarbonate and drilled holes in the pulleys. The new axle supports are insulators so I had no way to connect the antistatic ground wires. I bought some conductive paint called Total Ground and sprayed the supports. Problem solved. Now it's 0.6 oz under the limit.
Update January 2016
This bot has competed at Dragon Con Robot Battles 2015 and a smaller event at the Joystick Gamebar in Atlanta. It did not come close to winning. The main problem is the weapons are not powerful enough to knock out opponents. I can't make the blades heavier because I'd exceed 3 pounds. I can't make them spin faster because of power consumption. But, the speed, control and agility are very good. Most fights end in draws because it can't kill or move opponents to the pushouts. I will probably retire this one and reuse the parts for something new. Click this for a video shot at Joystick Game Bar.
During the 3lb rumble something unexpected happend. A spinner hit the latex coated wheels and ripped off the latex. The latex rubber jammed his weapon for the rest of the match. You can see it in this video at the 44 second mark.
Hit Counter = 3661