Hi All,
I’m working on a 3lb combat robot that’s trying to be a hammer/axe bot.
With 3lb of weight, I’m allocating roughly 350-450g to the weapon system mechanics, with the current plan being a ~100-150g axe or hammer head, on a 140mm moment arm, mounted securely to the frame with an 8mm steel shaft that’s held in a pair of bearing blocks in the chassis.
The story so far
My previous 3lb combat bot Z Offset was a lifter/grabber that has a number of key design problems, so I’m building a new design from the ground up in a related design space to allow ideas to percolate for the first bot. Z Offset had a 140mm flipper arm, powered by a 3000kV 4S brushless inrunner (BLHeli32 driver) with a 52.8:1 geartrain. The geartrain has a slipper gear towards the output side, tuned to slip when the flipper arm exceeded ~4-6lb of force at the tip. The flipper was robust in a recent competition (placing 5th/16 bots), but really highlighted how important position control could be.
The motor and gearing from Z Offset 3.4:
The main problem with the flipper is that while I tried doing my own PID angle target control (AS5600 on the output shaft) in a prior version, it’s very annoying to try to tune a PID, that’s wrapping the BLHeli32’s internal PID (presumably), where its parameters are all set around low inertia propeller drive, and work “ok” for other use cases if you’re creative.
A previous version used a 65kg/cm metal geared servo to control the flipper, which was much nicer, although it was too large, and not robust enough for the application.
New Hammerbot
I’ve got two avenues for a hammer motor in mind:
- A salvaged DJI Inspire 2 3512 motor: 460kV, 136g, runs up to 6S. This would likely need a two stage ~7:1 gear reduction. I am considering putting the existing Z Offset slipper gear inline, like so: 7:1 two stage gears
- Or A 5010 360KV motor, with a lower reduction
In both cases I’m weighing (literally, gears are heavy) just using a round belt stage in place of the slipper gear, or just using timing belts and relying on the motor taking impacts in stride (possibly unwise).
My plan this time around is to use a B-G431B-ESC1 (I picked up a pair last week, although sadly they’ve sold out everywhere at this point :s ) for the weapon motor, running SimpleFOC, along with an AS5047 magnetic encoder wired to the B-G431B-ESC1 in SPI or quadrature mode (whichever seems best).
I’m also considering adding a second encoder to the main output shaft, and wrapping that in another control loop to allow for servo like position control (for self-righting the bot, and returning the hammer, regardless of potential geartrain slip). That’s not super relevant at this point though.
I’ve got thee questions
- Does anyone see any glaring holes in my plans? Thoughts/suggestions are welcome.
- What’s the best way to get the hammer going as fast as possible in it’s ~180 degrees of travel (3.5 revolutions of the motor if the 7:1 gearing is what I go with? I’ve read threads about fancy ideas for a controller, but this isn’t exactly that. Unlike the vast majority of applications discussed here, the motor system is supposed to crash into a solid object and break things! Keep in mind that as the system gets damaged, the gears/bearings/shafts will become damaged and misaligned to some degree so solutions that rely on a static calibration might only work for a bit.
- What can I expect to happen electrically when the hammer hits the plywood floor/a plastic bot/the opponents steel weapon that’s spinning at 10k RPM? Is there anything I can do on the software side to give the electronics the best chance at not exploding? (e.g. put the FETs in a specific state before impact?)