Just because all this van stuff was going on doesn’t mean I put down the robots last year. Never a dull moment around these parts! Interspersed between the Operation IDIocracy work over the summer and the Econocrane Saga was a heavyweight sportsman-style event held at the Comicpalooza event in Houston, Texas, by the local organization Houston Area Combat Robotics.
Robots in mid-July in Houston sounds like a great way to get heat stroke, but it was a chance to do some shakedowns and validation on Overhaul that we didn’t really get to do at the 2021 BattleBots season. When you’re at the event itself, you’re really just in survival mode; whatever works works, don’t question it. Getting to run the bot at a low-stress show-off event means I can kinda retrace my steps and figure out exactly what was going on.
Anybody who watched the 2021 season probably saw that Overhaul had some… fire issues. I joked it was probably the 2nd most reliable flamethrower at the competition: It would always catch on fire somewhere around 2:15 to 2:30, plus or minus. Midway through the qualifying fights, I threw in the towel and switched the drive controllers from my 12-FET Brushless Rages to …
Disgraceful. Why not just go stick my head in the jaws and hit the go-stick at this rate?
The controller I’d worked for not too long and not very hard on… was just not capable of sustaining heavyweight-tier power reliably. The reasons were many, but centered around the fact that the old SimonK firmware, while dumb-of-ass enough to whip start any motor you want it to, was consequently also dumb enough that it never had any facilities for current control or limiting built in. So while they could overpower smaller motors, using them on anything bigger than, say, a 60mm series outrunner was asking for trouble if the motor stalled or there was a lot of reversing. A current-generation VESC frontend would easily handle the 12 FETs properly and cap the motor at whatever current you set it to.
I dish on VESC a lot for being another wayward open-source project turned product that requires a worldwide community of people shotgunning into the dark to support, much like 3D printers were last decade. But the truth is I basically watched the VESC project grow up and its proprietor Benjamin Vedder become a self-taught motor control engineer. He worked a lot with my buddy Shane who featured abundantly on this very site in yesteryears. I have only the highest respect for his work in development of the VESC bloodline, which started as a personal hobby project much like I never meant to sell Ragebridges.
The thing that always bugged me, though, is the productizing of the hobby and community. A firmware version change might introduce new features but create new bugs and break old features. Dozens of different manufacturers stray from the project definition and controlled documents to implement their own features, some of which make it back upstream into one of said firmware updates but leave others in the lurch. Software UIs which change with every other version, and so on.
And there is, of course, no fixed documentation because it’s always out of date; the best way to get help is simply to wade through dozens or hundreds of forum posts and social media threads (just try setting up a new VESC using a Youtube video from 2017!). Because I always had my somewhat working controllers, I simply never looked in the VESC direction, and only observed the hand wringing coming from others in the community trying to blaze these new trails in the world of robot fighting.
But whatever the case, it was time to acknowledge that the combined autism of dozens of Europeans and hundreds of Chinese people was far more a force for progress than I could ever be alone. Just like how I’ll probably never build another custom hub motor unless it was purely for, uhh, self-enjoyment.
I did pick up two VESC 6 architecture based Trampa ESCs, confusingly called the “VESC 6 MK V”, right before the 2021 season because I had a SNEAKING FEELING they would be needed. And those were the ESCs which got stuffed into Overhaul. Because the C80/100 motors in Overhaul did not have Hall sensors, I had to fiddle the settings to use sensorless mode.
At the time, the sensorless FOC algorithm was pretty flaky and not great with transient loads,but worked fine for its intended purpose of skateboards, bikes, and hoverboard motor. So, I kept it on sensorless BLDC / block commutation mode, with input shaping like ramp-up times activated and the current control loop gains cranked way too high (a necessity at the time; many of these issues have been resolved in the Present Year)
This made the bot driveable but not superb, and I would have to constantly ‘drive the controller’ so to speak, instead of focusing on the bot itself. If Overhaul looked pretty slippery in the Black Dragon fight and the “Chair Fight” with Big Dill, that was why. I signed up for the event because I figured more stick time is a bare minimum even if I make no other meaningful progress on making the bot drive better.
But there was Sadbot too.
Two heavyweight platforms with allegedly identical powertrains I could use to make delta comparisons, and maybe even fight them against each other! Sadbot was in dire need of a renovation anyways, so I took this as an excuse to organize the piles of stuff that had accumulated on top of it and start appraising what needed a lube n’ tune.
I had bought two VESC 4.12 clones from Hobbyking a while back when I first felt like Brushless Rage needed to be phased out. I supplemented these with a few used units I picked up from someone who was upgrading. These 4.12s are roughly as capable as 6-fet Brushless Rage; they’re going to be underpowered driving a 80mm motor each, but the nice thing is they won’t blow up doing so.
The goal here wasn’t try to run Overhaul on these 4.1x units, but that I didn’t want to spend several hundred dollars on a set of 6.0 based ones for Sadbot yet. If these survive the C80/100 drive motors, so much the better.
Sadbot itself had gathered a whole lot of dust, cobwebs, and metal chips in random spots. Its last action was really Robot Ruckus in 2019, and it’s been pushed around the garage since then. I decided a comprehensive teardown and rebuild of the electrical deck and both Overhaul 1 wheel pods was warranted. So, I just dug in and started ripping everything out…
One increment I wanted to make from Overhaul was using the sensor-integrated C80/100 motors, since much of the development effort seems to have focused on perfecting the Field Oriented Control (FOC) algorithm assuming you have Hall sensors or an encoder.
Fair enough – sensorless starting has a lot more math involved in it, needing bigger and faster microcontrollers, and often requires close-in tuning of inductance, flux linkage, etc. quantities on individual motors. This makes it much harder to get right for a general purpose plug-in controller (In the Present Time, High Frequency Injection [HFI] based pole saliency detection has made its way into VESCs with the latest hardware rev)
The spare motors I picked up for Overhaul before the 2021 season did have Hall sensors, so I went ahead and knocked them apart to switch out the custom-made shafts of the older motors.
The drive pods got cleaned up on all fronts with new chains and lube and new threadlocker in the bolt holes. There were a lot of things which were getting loose and jiggly!
I also took apart the lifter pod to take a look at it all, but it did not need any work. Here’s the reassembled drive pods! They’ll go in last since they’ll make it harder to work on the electrical bay. I’ll finish that first by remaking the wiring to accommodate the VESCs.
Oh yeah! I picked up another Harbor Freight rock chisel thing to make a spare poker. The original Long Pink Member from 2019 was straightened out some, but I figured it wouldn’t live very long if it was bent back and forth more..
Most people using VESCs just throw them in with a bunch of foam wrapped in heat shrink or tape. This approach doesn’t sit right with me (Yes, yes, I know, their robots work and mine doesn’t) and I wanted to try and give them more heat sinking. They’ll be operating close to maximum power handling levels for longer periods of time, driving those C80/100 motors. The obvious problem is that the 4.1x VESCs don’t have a good way to mount to anything because they were kind of designed with being stuffed into a wiring harness in mind.
I came up with a clamping aluminum bar mount that will grab them by the FETussy. The back of the board, with the capacitors, will be secured by a zip tie mount.
The aluminum bar gets bolted into the existing big heat sink plate with a dollop of thermal compound in between.
Here’s how that looks! #4-40 long screws capture the VESCs in between them. The FETs get silicone sheet on the top and bottom for insulation. Heat transfer out of the plastic case on these D2PAK-7 packages isn’t great, which is why Brushless Rage and other controllers have always heat sunk through via-forests in a heavy-copper PCB. But it’s better than nothing.
With the mounting solution validated, I went ahead and worked on the heavy power wiring – extending motor wires, making new battery cables, and so on.
My automotive influence is showing here with all the wire loom. The sensor cables and motor phase leads were run separately to keep the motor current from beating the little Hall sensors …. uhh, senseless.
If needed, I was ready to put them in some conductive loom and ground the ends. Luckily, this turned out not to be needed – just keeping them from running next to each other was enough.
For someone whose entire line of work for over a decade and a half is “technology”, I sure hate technology. Specifically, I’m not personally so much a fan of “just configure it in the app”. Yes, you get much more flexibility and room for features if you have an app. But give me a row of DIP switches, blinkenlichten, and trimmer potentiometers any day.
The cool kids set up their VESCs with their phones because you can get them with Bluetooth now. I, meanwhile, could only find 1 short USB cable to do this with, necessitating this comical and totally safe setup. Sadbot, propped up on one half of a moving dolly, with my computer directly in the line of “Welp it hit the ground and kept going”.
The electrical deck is now all buttoned up with everything operational. The drivetrain controllers are set up in BLDC mode using Hall sensors, but the lifter was kept BLDC sensorless because the 6374 motor running it didn’t have them, and it’s geared down so far it didn’t matter.
I didn’t set the drivetrain controllers up in FOC because for one reason or another, I couldn’t get the FOC auto-detection to take. This may be one of those mismatched firmware, hardware, and software 3-way tangles I alluded to earlier. Dumb ol’ BLDC mode worked flawlessly, however.
Up front, I added something Sadbot has never had up to this point and just got away with: A weapon lock!
Yep, it was finally time. A simple 3/4″ hole drilled in 1/4″ thick steel strips will suffice for putting a bigass square lynch pin through.
Weapon lock all welded up in-place.
While Limewelder was warm, I went ahead and welded the poker solid where the striker interfaces with the tube, just like the old one.
With everything installed and tightened again, Sadbot came in at 220 pounds even! This is the weight of a “classic” heavyweight and what I had in mind when originally designing it in 2015 – the thought was maybe I’d head to Robogames which at the time was still running the 220 pound Heavyweight class. The ample weight allows me a lot of room to mod and add things if I wanted to run at 250 pounds.
Here’s the final hero shot of Sadbot, with weapon lock installed. And a low speed drive video!
I tried to not annihilate everything I owned, but did rip it a little harder in the driveway too. The sensored BLDC setup with the innate current-control loop drove great – I could feel the current limited acceleration, but for the most part it handled predictably. A sharp stop (like running into the curb) could trigger an overcurrent condition which needed me to back off the stick and try again. So I had to be mindful of this, but it only happened periodically. I wrote it off to “50A-ish rated controller trying to wag a motor which could easily drink 200 or more amps”.
The Road to Houston
Houston is about a 12 hour drive from Atlanta; while long, it’s certainly nothing I haven’t done many times before with my Boston to Atlanta (18 hour+) runs. For this trip, I chose the competent van because you should only live one meme at a time. This is also why I have never driven cross-country to BattleBots with a meme van: Don’t put your childhood dreams in series or you’ll cry over their shattered remains on the side of the interstate somewhere in New Texahoma. Live them in parallel with impedance matching.
Loading the robots in turned out to be very easy because I already had my equipment for hoisting heavy things around. Just chain them up and sling them in!
Overhaul was basically pulled out of the crate as-is, where-is, no warranty expressed or implied, no questions asked or answered. To be fair, it did leave the 2021 season ready to run because we were supposed to have another fight.
With all the equipment tossed in after it including handling carts, the Overhaul team tool chest, and spare parts, the reasons why I decided to maximize my automotive Asian Dad Energy for a daily consumable car are abundantly clear.
You can barely do this with a mid-size pickup truck (at least I’d need a bed cap) and the tailgate would be already up to my nostrils. One of my favorite activities is just slinging lumber and 4×8 construction panels into this thing at the Home Depot pro parking shack while dudebros hoist things into the 5’5 beds of their emotional support pickup trucks next to me.
The trip down I-10 was terminally uneventful. By the way, if you’re looking for some lizards, hit these people up! It’s been a very long time since I went to Houston – the last time I recall going was to see family friends when I was a wee caterpillar.
I chose I-10 instead of the more inland I-20 (then cutting south after the Texas border past Shreveport) because E A S Y. I got to see the swampworks of America including the Atchawichyaiwannalaya Basin Bridge among others, and traversing the lights and sights of the Houston energy corridor in southeast Texas was also entertaining.
I left Atlanta around 6AM and cruised into my hotel east of Houston around 10PM, managing to not bomb it the entire way but stop to check out some roadside knick-knack stores.
Next morning at load-in, setting Overhaul and friends up for the visiting crowd! A couple of bots were on display, such as Avalanche from Team Toad behind Overhaul there. It was also competing, so I suppose these were just demo models…
The event being one of only a tiny handful of Heavyweight-scale anything out there meant BattleBots Season 7 prospectives from all over the country also showed up. This is an early prototype version of Horizon, which was being bung together (photo captured mid-swing of the hammer) right up to the safety meeting.
Bunny of Malice set up the merch booth, which we all contributed to in order to satisfy the throngs of onlookers once the con opened.
Besides Overhaul and Sadbot, I also brought a con tchotchke in the form Your Waifu is Trash. This stupid thing has probably seen the most physical miles driven of any actual robot I’ve built, having been to almost every convention I have since 2019. I’ve worn through the brushes on at least one motor and changed wheels because they got too small and worn down from driving on concrete/asphalt.
It’s been a hit everywhere it’s gone, because giving people an avenue to depersonalize their insecurities and self-doubt has never been a flawed business model. I drove YWIT around in between fights, when we took breaks, and when the matches were done for the day.
Pit table shot! I kept Sadbot on the handtruck because it conveniently fit between the drive wheels and allowed access to it in all directions.
One other item I “invested” in before this event was a new charger for Overhaul. I wanted the ability to charge up to 12S lithium in a single bloc, as up to that point, Overhaul’s charger has been a set of 8S-limited Turnigy Reaktors. The battery enclosure had no internal wiring and just ran both battery leads out so I could plug both in. At home or if I didn’t give a shit, I just set my adjustable bench power supply to CC at 15 amps and CV at 49.2 volts (give it a bit of safety margin) and went about my day.
This iCharger X12 came to the rescue! It’s a current-generation charger that takes up to 48V in and can consequently poop up to and over 48 volts, handling over 1000 watts with an ability to regeneratively discharge into a master battery bank. The package is scary small for handling that much power, but I believe in modern semiconductors. In fact, it can overwhelm my puny 24 volt power supply instantaneously, so it’s time to upgrade!
Sadbot had an easy and fun time because of the non-spinner nature of the arena, which effectively dated back to the mid ’00s as one of the original Southeast Combat Robotics (SECR) boxes. One of my fights was with Slammo, who was also here to test out some new architectures and drive setups. This match was fun and tossy until Slammo quit working again, as for some reason it does.
Sadbot also had other fights against some more sumo/sportsman’y heavyweights from locals, and a Mild Salsa version of Mad Catter cheekily named Happy Catter.
At last, the meme happened as one of the final exhibition fights. I drove Overhaul while Bunny drove Sadbot. I literally bought a chair from Team Toad for $10 on the spot to use in this fight, where we set it up and I tried to drop Sadbot on it.
The handling difference between the two really motivated me to swap Overhaul to all new sensor-integrated C80s. Sadbot basically drove like it was brushed again, even if the VESCs still had infrequent (but still annoying) overcurrent faults just because of how outclassed they were by the motors. A swift return-stick-to-neutral was enough to overcome that. Overhaul, being still stuck in Sensorless BLDC mode with some tweaking, drove like an unloaded bus on ice in comparison. I had to anticipate when to turn and basically coast into it, or keep moving in one direction without direction changes.
Overhaul’s forks managed to tear up the drive on Sadbot pretty well, including bending both of the little chain-guiding nuggets and making Sadbot lose a drive side. In return, I accidentally drove the head actuator off the end of the screw trying to pick the chair back up, so Overhaul’s head came flopping downwards. Oops.
Unfortunately, the organizers had issues with the stream (found after the fact; they were thinnly manned and needed all the help they could get!) and as a result we don’t really have any good video from the event, especially the Heavyweight fights. They posted basically “raw” box feed videos at this link.
Sadbot appears in the following fights:
- Versus Happy Catter (totally not Mad Catter detuned) at 10:51
- Versus Piranha at 14:09 (These fights weren’t back to back, just they posted in this order)
- Overhaul exhibition fight at 20:35
- Versus Piranha (angle 2) at 25:30
- Versus Happy Catter (angle 2) at 34:24
- Versus Happy Catter (angle 3) at 49:25
- Versus Slammo at 59:49
There are videos of the beetleweights and other weight classes on the promoter’s Youtube channel, though. Those were run in a separate arena and as a separate stream.
So I came away from Comicpalooza with a lot of good lessons learned and two working robots. Well how about that!? The real champion, though, we all know… is Your Waifu is Trash.
The lessons from this event went straight into Overhaul when I transitioned from Operation IDIocracy to Battlebots Season 7 prep. We changed all the drive motors – in-use and spares – to the sensored C80/100s, and I ordered spares of those.
I also got more VESC6 units from Trampa and set them all up in FOC mode with sensors, using one calibration/detection and propogating all the settings (The motors are all close enough together characteristics-wise that the small differences were not first-order impacts on control loop behavior). Other than that, the bot didn’t see that many changes and optimizations for Season 7. And, despite “Losing” a bunch again, I think Overhaul really had its best reliability and predictability season to date.
By the way, if the trip to Comicpalooza was comically loaded, the return trip was even funnier. I promised to bring Slammo back for Craig, so on top of all my gear, there was now a Slammo, its parts, its tools, and its handling equipment. He journeyed down from North Carolina a week or so later to collect it all.
I was surely running close to GVWR, and I got concerned enough to inflate the rear tires to 50 PSI for the return trip. I headed northwards out of Houston, taking the I-20 route back east because it turns out I-10 is just like the I-95 of the Gulf Coast: Always crowded, always jammed, always under construction, and everyone is out to kill you all of the time.