And finally, we are here. The last build report for Overhaul 2! Just in time for Episode 3 of the season, where you’ll hopefully get to see it take on Cobalt, billed as the Tombstone of the U.K.! I guess that makes me the Complete Control of New England, or perhaps, at least the Stewbot of the Atlantic Seaboard.
So now we’re in the last week of march, and the April 5th shipment deadline is looming. Everything is in process, but nothing is particularly done. Most of the work remaining at this point was final mechanical integration, and then electrical work can begin. Electronics is usually the make-or-break of a large electromechanical project, but I think this time there was enough pre-experimentation such that I knew what had to be done. Not to say I didn’t have trust issues with the DLUX 160A controllers, though.
It’s an unfortunate effect of having a long to-do list, but the photo documentation does start getting a bit more sparse here. I usually try to stop and take photos as much as possible – usually way more than people I know – but even I occasionally get pulled into something attention-demanding and forget to get the camera until it’s done. So I’ll try to chronicle the remainder of the build as completely as I can, with the explicit caveat that there might be some things magically appearing.
As of the last episode, the rear most #35H drive chains were being hooked up. It was time to also connect the front chains.
Often times in my robot designing, I model a crude chain path that doesn’t take into account the actual number of links needed to make the chain loop. I figure that half-links do exist, even if they’re evil, and otherwise a tensioner will take up the difference. The tensioner here was “designed” after the frame was sent for machining, but it was just a matter of drilling two holes. It’s a MarkForged nylon print, but with the wall thickness turned up to “all of it” so there was a thick layer of nylon to support the chain. The mounting holes were slotted so it was adjustable over time. Not really a traditional sprocket-on-a-bearing like you might think of chain tensioner, but it’s more of a “chain guide” similar to those found in modern car engines
which don’t fail to scare the crap out of me are just blocks of tribological plastic that the chain glides over. They do work, mind you, but that doesn’t stop them from scaring me. I tend to prefer rolling tensioners whenever possible, but it was far easier to just hit “print” here, and it gets the job done.
This tensioner serves two purposes – besides making sure the chain isn’t floppy, it makes sure the bottom-most strand is not hanging out under “robot frame level”. It would suck, for instance, to have a solid aluminum and titanium frame bot slide over the arena saws and the only thing that gets taken out is the two exposed chains! These things therefore also keep the chains above frame level for a good portion of their travel.
Here is what the finished chain path of one side looks like! After this, it was repeat for the other side, and then close everything up with the outer rails.
Also visible here is a test fit of the upper clamp arm.
One of the other “machining kibbles” was finishing out the P90X gearboxes. Here is what I was talking about when I said “chamfering” the shifter ring and the new planetary carrier. This was a lathe operation, and I actually took a spare P80 shaft, bored a 1/4″-20 threaded hole into it, and used it as a mandrel to hold the planetary carrier. The chamfer (angled edge) on the carrier mashes into the mating feature on the ring gear when the gearbox shifts -acting like a crude synchromesh of sorts.
With the bot ostensibly ready to drive, it means I could no longer delay the inevitable: Electronics. Oh boy, here we go. Can’t I just hand this one off to someone else?! Why do I have to develop my own custom motor controllers again???
A few weeks before this, Paige and Cynthia had already cut out two sets of electronics box plates from 1/4″ polycarb. All that was left to do now was to dress it out – the last update had a little bit of the preparation, but now is when we start filling it up for real.
The box now has ESC mounts fitted. The mounts are attached to the box using #4-40 hexagonal NFPC “Pemserts”, which add strength to the joint by gripping more plastic than what threading the plastic can manage.
Paige also finish-machined the bus bars, which are cut from alloy 6101 aluminum. This aluminum alloy has almost the conductivity of pure aluminum, while maintaining something resembling rigidity and machinability. Here they are shown attached with some flathead screws. There is a small split in the upper one on the right side – that’s because the bar to the left is for the 4 drive controllers, and the one on the right is for the 2 lift controllers. After last year, BattleBots mandated separately switched circuits for weapon and drive.
I decided during the design phase to avoid copper here for weight savings, even though that would have made the bars smaller – they still had to accommodate the ESC’s own wire size and screws to lock the wire in place anyway.
One of the gifts we received from HobbyKing is a
small artisanal IED box o’ lithium batteries. This took the longest to get here, for obvious reasons.
Overhaul will use 4 of these 6.2Ah, 6 cell batteries. They’ll be run in 12S2P configuration for a total of 44V and 12.4Ah.
While arraging the packs for their intial charge, I noticed something funny. They felt different. Like one pack just didn’t quite feel the same size as the other. Was I going insane or something? Is it too early in the morning for robot building?
no. they actually were diffrent sizes. In fact, 3 differet sizes! What thell!? Here they are lined up across the top of the Mark Two for your amusement.
I, uhh, just picked the four shortest ones to integrate them into the first battery being made. To be clear, all of them took in the same amount of Watt-hours +/- 3%, if I recall, being first charged. I don’t claim to get what is happening.
Here is a test population of both battery box and electronics deck before I start commiting expensive wires.
I realized I’d run out of 8 gauge flexible wire at this point, so I found a local car audio place. Besides hobby shops, audio places are one of the only other suppliers of silicone-insulated high strand cound flexible wire (Welding shops would offer heavy gauges, like 4 or 2 gauge and up). This led to one of the best conversations I’ve ever had. The lead-in was me asking about “power wire” which is NOT QUITE THE SAME as “speaker wire”, which I didn’t realize – the sales guy was telling me about their selection of large gauges like 2 gauge and 1/0 and up, and I was looking for more tame 8 and 10 gauge. It turns out the smaller gauges are generally used on the speaker side of things – go figure. It didn’t help that I also showed up near the end of the workday, so this guy was probably done with people not being sure with what they were looking for. It went something like this:
“What are you using this for anyway?”
“Have you ever heard of BattleBots?”
“No, I don’t watch cartoons.”
Damn. What a burn. To his credit, he brightened up after I showed the BattleBots website and the big clamp & fork hub, with 16 3/8″ studs sticking out of it, that I happened to have in the back of the van. A small discount was obtained for 20 feet of 8 gauge red and black wire, plus a baggie of ring terminals.
To join the battery packs, I made a “octopus cable” which ended in a larger 75A Anderson Powerpole connector, and otherwise had four XT-90 connectors for the batter packs. After one was verified, Cynthia cloned it for battery #2.
Here’s one battery, after stuffing everything in!
Next came primary wiring of the bot. This is the octopus cable for the robot side. The cables divide back up into two 8 gauge wires, one circuit for the lift and clamp, and the other circuit for the drive.
Getting my other ducks in a row, the 160A HV controllers, trimming the leads and inserting them into the busbars. The holes for wires were purposefully made oversize, since I knew some of these were getting more than one wire stuffed into them. After all, the power input has to feed from somewhere.
In the interest of preserving these more delicate DLUX 160A controllers, I decided to make a soft-start circuit. Also called a precharge circuit, it is a parallel switched circuit to the main switch, which has substantial resistance in it to “slowly” fill up the motor controller inptu capacitors. Without this, I was 1. making a spot welder, and 2. potentially causing catastrophic ringing surges every time I turned the bot on, which I have personally detonated controllers with before. When testing Sadbot, I discovered that the 13,000uF of capacitance I put on the 3 DLUX 250A controllers was actually welding shut a Hella switch when turning the bot on!
Without much time to make this circuit more integrated, I accepted that Overhaul might just have a small bundle of wires sticking out in an awkward spot next to the master switches. In the near future, I want to revise the 3D printed switches to incorporate a precharge feature.
The order of ops for turning on the bot was therefore: Connect the two precharge pigtails, then crank the two master switches shut. An extra layer, but worthwhile for not causing premature stress to controllers of unknown reliability.
Here’s the electronics put in as a test fit. Everything goes together great so far!
I decided to perform an intial power-on and test of the system to determine motor directions. This was done with some skinny little alligator clips between the battery and ESCs, just in case one of the DLUX 160A controllers decided to go haywire. With this test, we were able to label all of the motor leads with where they should go to.
This test was conducted using one my cheap Hobbyking 6-channel radios, because at the time, I could not make heads or tails of the 9XR Pro. Full disclosure: Up until this point, I had never owned a “nice” radio – by which I mean, computerized and programmable. I scrapped by on a 2nd-hand Futaba T4VF from 2001 until 2006, then I upgraded to a Spektrum DX6-not-i, the original one. After that, I basically went straight to the cheap HK 6-channel T6A as my staple radio. (We ordered dozens of these for the 2.007 class sessions from about 2010 onwards, so I got reeeeal comfortable with them).
The idea that EVERY CHANNEL IS CONFIGURABLE TO DO ANYTHING I WANT was therefore super fresh to me. Adding to that was the 9XR Pro’s nonconventional channel order as it comes. Note the highlighted “AETR” – this means Channels 1 through 4 on the receiver are Aileron, Elevator, Throttle, and Rudder respectively.
I was super confused initially when playing with the receiver because I think the stock order is “RETA” or something similar – Channel 1 is Rudder, and so on. What? Anyways, luckily, this can be changed to any of the permutations of the 4 channels, so I restored it to what I knew the best.
I set up a bunch of servos to make sure what I did was sane.
After setting up the stick modes and receiver channel order, I started messing with mixing and travel limits. This is a typical “Elevon” mix to allow single-stick driving on the right side stick. Channel 5 is assigned to the 3-position switch to talk to the shifter servo for the P90X, with the center and travel limits being 1st gear, neutral, and 2nd gear.
One thing that happened after this but I didn’t take photos of was swapping a stick from the spare 9XR Pro transmitter I requested and planting it in the left side of the working radio. Operation of OH2 like my previous clampy-grappy weapons requires two fully spring sticks, whereas you buy a normal hobby radio with one stick that has a “friction” channel which stays in place – this is the throttle channel for your plane or helicopter.
The 9XR Pro did not seem to use identical sticks between spring- and non-spring-return sides. They were mirrored parts! Often, manufacters just spin the stick 180 degrees and call it the other side, which seems to hold true for the stick body, but not the spring mounting pieces.
Lacking the time to figure out a non-hackish solution, I decided to simply swap a right stick to the position of the left stick, which is a 180 degree rotation, but all the wires came out the wrong side. That was fine – I just extended one potentiometer cable to seat in the conenctor properly.
After this radio was fully set up and readied, I went on a drive base test, which is recorded in this video.
And suddenly, ROBOT!!!
Is it done yet?! No, this was largely a test-fit of everything in place – pontoons, arms bolted in, and top clamp in place. Boy, it sure LOOKS DONE.
There was one element missing, and that was probably the most important thing on Overhaul if you asked members of the public – the ears. They aid in self-righting by forcing the bot onto a stable position on its back, from which I can power back over.
They were cut from the same 4mm AR400 plate, but as a flat part which needed bending. To do this bending, I used an oxy-acetylene torch and a giant box-and-pan brake. Heat intensely along seam until its dull red, then smash it in the brake and go for it. The faster the heat is achieved, the less the metal is tempered and loses strength. Obviously the bend was going to be weaker, but the rest of the geometry should save it.
The ears were bent separately, and I attended to other matters while Skunk welded them fully in place on the clamp arm.
I began assembling the linear actuator that pushes the clamp up and down. The assembly was very straightfoward – press in the angular-contact bearings on either half, mount the motor, slide the sprockets on to the keyed shafts (the end of the ball screw shaft being keyed according to my drawings by the seller), and there we go.
Originally, I was planning on using an offset link in the chain here, and designed the sprocket spacing to accommodate this. However, offset links are evil, so I cut the chain at the next whole-link up. This necessitated another chain guide part, which I modeled and made from plain nylon.
Assembled actuator, also showing the assembled P90X. This thing worked quite well, but the P90X needed a few minutes of gentle running to wear everything in. I’ll likely do a more detailed build on this thing, since I like it. Up until this point, however, I had not yet designed in where the shifter servo would go. It was therefore left in high gear, which its “failsafe location” if the linkage fails, as biased by the small springs visible to the upper left of the photo.
Alright, so we’re staring April 5th in the face now, and it’s time for a weigh-in. We piled everything that could possibly still be mounted onto the bot, with some extra frame bolts that had not yet been installed, and so on. Final weight here? 247.50 pounds.
This is as close as I wanted to cut it. It was a little under my final expectation of 248 pounds, in large part because of Skunk’s excellent welding that did not in fact require depositing a full 25lb spool of MIG wire into every welded assembly, like I had anticipated in my weight calculations!
After a few more hours of assembly, I’m proud to present….
The somewhat bare looking but complete Overhaul 2.0!
We decided to hold off on painting anything, because if you painted it now, I wasn’t going to touch it it again until the event, and sure as hell wasn’t going to run it into anything to save my paint job! Instead, a couple of minutes of (unfilmed) test driving was had.
My first thoughts upon the test drive:
- oh shit this thing is fast. Exactly as I intended. It’s fast, yet stable. Still a little front heavy, but having 95 pounds of steel right up front will do that, and the 4 wheels up front (middle + fronts) made the handling much more stable than OH1 was, at least on concrete.
- It otherwise drove like I intended, and I thought I had it down fairly well after a few sessions. To avoid premature shitting of the unknown-reliability controllers, I decided to save the rest of the driving for the test box at the event.
Speaking of the ESCs, I made sure to update all 5 of the remaining DLUX 250A controllers I had from Sadbot to the latest settings, and packed them. My electronics contingency plan was to swap four of them in as soon as I got to the event, leaving Overhaul with 4x 250A and 2x 160A – driving the lifter only. If any of the 250s let go, I would back-fill them with 160A controllers. This maximizes my reliabilty for the first matches.
The last machining operation to do was to shave down the tooth. Waterjet-cut from a slab of 4142 prehard steel, it was still reasonably soft enough to be machined with carbide cutters fairly easily. I wasn’t out to actually pierce other bots anyway, so I decided to save time and money and not have a “legit” tooth made from heat treated S7 tool steel.
Pack it up! Pack it all up!
It was now the 4th, and the whole day was basically devoted entirely to packing. One of the initial conditions of a good robot event is decided when you re packing parts. We made an inventory – spare mechanical parts, spare electrical parts, all hardware that the robot used were packed in these sorty-bins* with priority. Other spare hardware that could conceivably be used in an emergency repair was brought along, too – like half of my hardware bank came along for the trip. These were packed in different bins.
I even relabeled my toolbox with REAL, HUMAN-READABLE LABELS instead of my bullshit. That way, any of Paige, Cynthia, or Matt could immediate grab a tool without me defining what “Hoodrat Shit” contains.
Furthermore, and most importantly, all of the service tools used on the robot were put in its own sorting system in the top drawer, which was labeled. One mini-bin had the impact driver bits needed to dismantle the frame for two people working in parallel – all of the hardware was all 3/8-16 cap screws unified for a reason. Another one had the tools needed to pull the front armored pontoons, and so on.
That way, even if we were systematically fucked, the robot can come apart in an orderly fashion.
Don’t let this make you think I am some kind of experienced pit crew chief – this is just the culmination of years of mistakes made in robot competitions, and the same years of learning, finally written down at the behest of the others and implemented.
Hell, if you left me at this myself, I would have just brought my entire damn red toolbox.
*several people will hurt me if I keep calling these “SORTY BINS”, so I’ll point out that they are called ALCs – Attached-Lid Containers.
Know what else is getting sorted? Parts and hardware!
We made separate bins for primary drive & frame mechanical hardware, auxiliary hardware (electronics, actuators, etc.), and P80 parts.
There was another one for electrical system parts, such as more wire and connectors. Each of these things had a label saying exactly what they were and what they did.
When you are guaranteed only 1.0 hours to recover from a Tombstoning, every second literally counts, so digging for hardware is out of the question.
A MAGIC CRATE APPEARS!!!
Actually not so magic – realizing that we were going to be working up until zero hour, I hired out construction of a shipping crate to a few Asylum wood nerds. This was a beautiful job – they measured all the “big things” going into the crate, and made internal shelving to accommodate! All of the spare metal parts, for instance, will be living on that little shelf, and the robot with containerized spare parts occupy the lower floor. It had a door that doubled as a loading ramp, hinged at the bottom, and was accessibly by forklift from all 4 sides.
Oh, did I say “I would have just brought my entire damn red toolbox”?
Well, I guess I did… it was part of the plan…
Oh, also Herpybike I guess. It was right there, man. I figure at the least, if my robot career doesn’t take off, I’ll go on a high speed chase in LA with it.
The robot crate was picked up on April 5th around 1PM. We breathed a momentary sigh of relief, and went home to sleep for a bit. But the story doesn’t end there.
The intervening week between shipment and us physically leaving was filled with spare parts work. This is a spare clamp arm and spare fork parts being cut out. I asked one of the MIT FSAE students to tack all of these parts together for me, such that if we HAD TO at the event, they could be fully welded up and put into service. I also converted four more DLUX 160A controllers – ones HobbyKing sent me as spares – and these were brought along with us when we departed.
So that’s it! Wow, what a journey. I honestly still am not sure how it was all pulled off – any one of several things could have gone catastrophically wrong, and I would not have had a functional robot in time. Truth be told, I didn’t get to test OH2 nearly as much as I wanted. This left me very uneasy going into the tournament, and I made one or two “bailout” solutions for problems I anticipated might occur. What they were, and what went down at the tournament, can only be revealed after the episodes air.
Overhaul 2 was by far the most intensive and involved engineering project of any type I’d ever been involved in, for work or otherwise. You could say it’s a “magnum opus” of sorts. I ultimately take whole responsibility for how the tournament goes: I was the chief designer, engineer, purchasing office, project manager, fabricator, QA (#ZEROSIGMAS), AS WELL AS operator/driver and field ops chief*. Basically my decisions alone will potentially dictate the direction of the next few months, if not years, of my life. This is an enourmous weight to think about for those who might be less experienced or just starting out, and is very difficult to explain or describe. Honestly, you just kind of fall into it when the time is ready and your experiences means that a lot of things are second-nature. I’m simultaneously stoked about doing well at the tournament as well as accepting of failure as a chance to do better next time. I know I made mistakes during the design, build, and testing process.
So what’s going to happen? Tune in Thursday, 6/30, 8pm/7pm Central, on your local ABC station to find out! My goal is to have the Cobalt post-fight analysis posted a day or two after the match, so people have a chance to watch on streaming services also.