A bunch of piecesFront housing with stator, internal gear, and planet output installedPlanet input, gears, and shafts installedAll put together… a bit on the heavy side for now
Some time ago I put in orders for all the long lead time items on a second version of the moteus servo. This is primarily aimed at improving the manufacturability and reliability, along with some minor performance improvements. I’ve now got at least samples of all the long lead time parts in house!
Loads of bearingsA lot of custom gearsA sample batch of custom rotors and stators
Coming up soon I’ll post a more detailed design update on the servo.
The chassis cracked in the corner, completely separating. Doing anything more with this chassis was likely to result in many more things breaking very quickly.
Build process
So, here are the photos as I put everything together.
Raspberry pi attachedAll the wiring extractedHalf the legs off the old chassisLegs re-attached to new chassis!Battery stud and wiring re-installedThe power board installedBottom plates installedUpright with untidy wiresAll set for testing!
Next up is continuing to try and get pronking working!
To switch to the full rotation gear design, I needed to get all my gearbox motors, some bearings, and a lot of other bits and pieces disassembled and ready for re-use.
The remaining 3 non-broken legs from Maker Faire
Taking everything apart took a surprising amount of time, nearly a full day. Each leg resulted in quite a collection of fasteners. Seeing them all in one place made me realize how complex this has become!
One leg’s worth of parts
I’ve also got the full set of parts printed for the full rotation legs:
Now I just need to get to assembling and reworking to get them all installed!
First, after doing some analysis, it appeared that the 3mm pitch 6mm wide belt was unlikely to be able to carry the full torque from the motors. So I’ve switched to a 5mm pitch 15mm wide belt, which while still unable to carry the full torque indefinitely is only a factor of 2 or 3 off instead of a factor of 20 off. Secondly, I added a bearing opposite the upper pulley so that it is supported from both sides. The recommended belt tension for this belt works out to something like 120lb, which is a fair amount of cantilevering, even over the 16mm wide pulley. The updated CAD looks like:
And the newly added bearing can be seen in this section view:
I did a first test print of all these parts and put them together. While there were a few tweaks necessary for the second revision, it looks like this leg is probably usable.
The shoulder and upper leg adapter installed, all the leg pieces splayed outLower leg all assembled with belt and upper pulley installedAll assembled!
Alert! I’m at Maker Faire Bay Area all weekend in the Mech Warfare area in Zone 2 (May 17-19, 2019 for you time travelers from the future). Drop by and say hi!
If you were left in suspense last time, yes, the robot can walk! Getting it to do so in a minimal way was relatively painless. What I found, which hadn’t happened in earlier iterations, is that many types of dynamic motions would cause the lower leg belts to jump a tooth. Needless to say, this was nearly universally fatal, as there is no direct position sensing of the lower leg. This robot is heavy enough that my simulacrum 3d-printed timing belt pulleys just don’t cut it.
Well, there wasn’t enough time to actually get better pulleys now, so I just tuned the walking to be slow and gentle enough that nothing went awry. Here’s the first bit of a 13 minute video I took of it walking around and shooting targets.
Now, that that was over with, I had a few minor things to finish up before heading out to Maker Faire. I made some covers for the motors to keep BBs out.
And I made a bracket so that I could attach the front and rear target panels to shoulder joints:
And here’s a glamour shot of the whole thing in fighting form!
Now that it was all ready, time to take it all back apart and pack it for shipping.
As mentioned last time, I needed to build a lot of gearboxes and new leg assemblies in a very short amount of time. So, I got to work.
Machining operations
I made a new fixture for holding stators to be extracted:
Stock in the viseCountersinks milledStator mounted and fractionally machined
I turned down 8 more internal gears. To begin with, my mandrel had warped enough from the first gears that I had to add some heat set inserts to hold a cap to keep the gears on. Then on the last 2 gears, I got greedy, went too fast, and my lathe mandrel melted entirely.
This won’t hold a gear very well 😦
So, I had to spend 12 hours printing another one to finish up the last two internal gears, although their roundness was debatable after their encounter with the mangled mandrel.
I also at this point machined out a bunch more rotors, but didn’t manage to capture any photos.
Gearbox assembly
Now for some assembly:
A friendly bunch of front housingsOutput bearing installed, internal gears all readyInternal gears all in placePlanet outputs and output bearingsThe first seven with outer housings installed
At this point I was 3d printer limited, and when I got to starting assembly, I only had 7 sets printed. Thanks to some very generous help from Beat and Roxi (thank you triply in advance!) I had a second Prusa MK3 that was also working 24/7 on the problem.
A bunch of sun gear holders and rotorsPlanets installedPlanet inputs installedStators installed
Notice how now I’m up to 8!
Rotors installed
When I went to put on the backplates, I discovered that due to tolerance stackup, some of the units were having trouble fitting. To move on quickly, I post-machined all the backplates to move the rotor bearing back a bit with a dremel, and then made a little bit of clearance for the sun gear holder screws.
And then, TADA!
The legs
Now, in parallel to all that, I also designed a new leg which would mount to the gearbox output. I wouldn’t have time to get a shoulder bracket made out of metal like I had before either, so I needed to design that for 3d printing too.
F360 rendering of leg
I made a few improvements this iteration. The biggest was that I added a tensioning mechanism inside the upper leg, so that tension could be increased after installing the lower leg. The old leg was nearly impossible to assemble without breaking it, and was just as difficult to disassemble. Also, I managed to have an actual order of assembly that was feasible and that an appropriate tool could fit in at all places at each stage of the process.
What I didn’t try to do was to try a more mini-Cheetah like geometry, or really optimize for mass or looks or anything. I was trying to get something which would likely work for the length of a Mech Warfare match in as few drafts as possible.
Of course, the first iteration wasn’t necessarily functional. It came off the press at something like 3am Friday morning. I spent the next 4 hours machining, debugging and squeezing until I found about a dozen problems or things that needed to be fixed. Then, straight back to the printer for a second try, and voila, two was all I needed this go around!
Here is the final part-set with all metal bits installed:
I drew and printed up the shoulder in a separate effort, but managed to capture no pictures of it whatsoever until I went to put it all together.
Leg assembly
Now, here is a shoulder attached, with the upper leg motor and upper leg installed.
And from the other side:
And, the entire first leg:
Done?
After carefully managing my 3d printing queue 24/7 to get all the legs, shoulders, and gearboxes printed, here’s a picture of all the legs on at the same time!
Now that I had a set of 4 at least minimally working lateral servos, I needed to wire up the chassis so that everything had power and data. Here are some pictures of that process:
Two legs installedFour legs installedJoint cable routingTimes fourSuspended from the test fixtureFour sets of busbars, the junction board, and a shore power battery simulator
After completing one gearbox, I needed to build at least 4 more of them to replace the lateral servos on Super Mega Microbot (2). So, I got to work. First, I disassembled 5 more BE8108 motors.
Then, I drilled out the rotors, this time using the mill at AA.
Next I removed the stators from their backing. This was painful enough last time, that I tried a new technique using the mill to do most of the work. Unfortunately, one of the stators was critically damaged during my initial experimentation. So, now down to 4 survivors.
4 good stators, one casualty, and some detritus
I went and printed 5 copies of all the printed parts:
And turned down some more internal gears:
Then, I started assembling!
All the parts laid out for one servoInserts in back plateOutput bearing and internal gear installedOuter housing fastenedOutput shaft bearing installed in planet outputPlanet output in front housingSun gear in holder, mounted on rotorPlanets assembled with spacer and bearingInput bearing pressed into planet inputPlanets and shafts in planet outputPlanet input and stator installedRotor installedBack housing test fitRepeat until I have 4!