Tag Archives: build

Full rotation quadruped build continued

The next step in (re-)building the quadruped with a full rotation leg was getting all the motors ready.  I had to first install reinforcing rings on 6 of the motors:

dsc_0279
My epoxying station
dsc_0278
4x gearboxes with reinforcing rings installed

Then, I needed to lengthen the power leads on 3 of the motors to serve as the lower leg joint.

dsc_0329
Motors with longer power leads

Then I had to assemble all the new legs:

dsc_0557
Upper leg joints mounted
dsc_0558
Lower leg joints mounted
dsc_0563
All three remaining legs built

I mounted them all to the chassis:

dsc_0569
All the legs!

And then re-installed the battery stud and “resting” feet:

dsc_0570

Next up, will be actually powering them and getting it to walk!

Stripping the coaxial quadruped for parts

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.

dsc_0219
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!

dsc_0221
One leg’s worth of parts

I’ve also got the full set of parts printed for the full rotation legs:

dsc_0217

Now I just need to get to assembling and reworking to get them all installed!

First assembled full rotation leg

As I described earlier, the first draft brushless quadruped leg design was insufficiently robust for the gearbox driven motors and I am updating it to a geometry that allows full rotation.  I’ve made at least some progress on that front, so here is an intermediate report.

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:

20190531-full-rotation-cad.png

And the newly added bearing can be seen in this section view:

20190531-upper-leg-bearing.png

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.

dsc_0184
The shoulder and upper leg adapter installed, all the leg pieces splayed out
dsc_0186
Lower leg all assembled with belt and upper pulley installed
dsc_0187
All assembled!

Next up is building 3 more of them!

 

Walking and Maker Faire!

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.

dsc_0017

And I made a bracket so that I could attach the front and rear target panels to shoulder joints:

dsc_0019

And here’s a glamour shot of the whole thing in fighting form!

DSC00016.JPG

Now that it was all ready, time to take it all back apart and pack it for shipping.

dsc_0025

And off to the airport I went!

The gearbox sprint

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:

dsc_2364
Stock in the vise
dsc_2366
Countersinks milled
dsc_2369
Stator 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.

dsc_2379
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:

dsc_2383
A friendly bunch of front housings
dsc_2384
Output bearing installed, internal gears all ready
dsc_2385
Internal gears all in place
dsc_2386
Planet outputs and output bearings
dsc_2390
The 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.

dsc_2394
A bunch of sun gear holders and rotors
dsc_2395
Planets installed
dsc_2397
Planet inputs installed
dsc_2408
Stators installed

Notice how now I’m up to 8!

dsc_2411
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.

dsc_2414

And then, TADA!

dsc_0002

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.

2019-05-15-090249_389x709_scrot.png
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.

The design is checked into github, but is probably easier to see in the F360 web renderer: https://a360.co/2HtDzPk

dsc_2399
The first iteration hot off the press

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:

dsc_0009

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.

dsc_0004

And from the other side:

dsc_0005

And, the entire first leg:

dsc_0007

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!

dsc_0012

Next up… will it move?

Lateral servo gearbox build(s)

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.

dsc_2140

Then, I drilled out the rotors, this time using the mill at AA.

dsc_2145

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 their detritus
4 good stators, one casualty, and some detritus

I went and printed 5 copies of all the printed parts:

dsc_2146

And turned down some more internal gears:

dsc_2147

Then, I started assembling!

All the parts laid out
All the parts laid out for one servo
dsc_2173
Inserts in back plate
dsc_2174
Output bearing and internal gear installed
dsc_2177
Outer housing fastened
dsc_2182
Output shaft bearing installed in planet output
dsc_2185
Planet output in front housing
dsc_2189
Sun gear in holder, mounted on rotor
dsc_2191
Planets assembled with spacer and bearing
dsc_2193
Input bearing pressed into planet input
dsc_2197
Planets and shafts in planet output
dsc_2204
Planet input and stator installed
dsc_2206
Rotor installed
dsc_2209
Back housing test fit
Repeated 3 more times!
Repeat until I have 4!

 

Rebuild of gearbox assembly

After finally getting the darned thing apart, and printing a new outer housing, I went about re-assembling the whole mechanism.  This time, I tried to take care to make the future disassembly less painful.

To start with, I filed down the problematic outer bearing interfaces of the sun gear holder so that the bearings were a slip fit over them.  These two interfaces don’t need to be particularly snug, so that was easy enough, if monotonous, to accomplish.  I also machined out a some pockets around the magnet hole, to make it possible to just hot-glue the position magnet in place and more easily extract it.

Next, I re-installed the sun gear holder back in the rotor.

After that, I pressed the input bearing into the new planet input:

Input bearing in planet input

Then I went about installing the shaft output bearing into the planet output, the planet output into the output bearing, the planet shafts into the planet output, the planet bushings into the planets, and the planet bearings into the bushings.

Planet output and planet gears partially assembled

Those got dropped onto the shafts, and the planet input was stuck into place.

Planet input partially assembled

After that, the screws were installed in the planet input, and the stator was fit onto the front housing, using a shrink fit again:

dsc_2077

At this point, I aligned the rotor and pressed it and the primary shaft into place.

Rotor installed

Now I used my paper strip alignment technique to get the rotor properly (or at least functionally) spaced from the stator.

Aligning the rotor

At this point, the rotor still didn’t spin freely.  Because of all the rework I’ve done, and my sloppiness in executing it, bits of the exploded bearings and other detritus had lodged themselves against the rotor and stator.  The problematic pieces were small, sub 5 thousandths, but still plenty enough to cause the rotor to hang when spinning.  These I carefully extracted under a microscope with a pair of tweezers.

Extracting !@# from the rotor

At this point, I had a gearbox that spun freely and seemed mostly correct!

Rotor removal, and complete disassembly

So, last time I had a functioning gear-train, I just needed to disassemble everything in order to replace the outer housing.  As I was putting things together, I realized that several custom fixtures would likely be needed in order to disassemble various parts cleanly.  Here, I made a giant 3D printed cylinder that the front housing and planet output would bolt to, and then the central shaft could be pressed out.

Rotor removal fixture
Rotor removal fixture

I somewhat skimped on the printing… even at 25% infill it took something like 14 hours, however the shaft should be relatively easy to extract since it is only held via a mild press fit with the output shaft bearing.  Or at least, it would have been had my mild press fit not ended up being tighter than desired, and had retaining compound not seeped over there.

My first attempt at removal just resulted in my carefully constructed fixture delaminating and the entire planet output and output bearing pushing into the assembly.  The shaft didn’t budge at all on the shaft output bearing.  Then, rather than wait for an even longer print, I installed all the washers on each of the bolts to better distribute the load across the fixture.  At that point, removal was accomplished…. kinda.  The fixture didn’t fail this time, but the planet input in the gearbox shredded.  Fortunately, that was enough to remove the rotor.  I could just print a new planet input, and toss the shaft which now appeared very well welded to its bearing.

Output shaft and bearing
Output shaft and bearing… note the green retaining compound everywhere

 

Rest of the disassembly

At this point, the rotor was removed from the stator, but there was still a fractional planet input attached to it, with the planet input bearing very securely fastened to the sun gear holder, and the rotor bearing, even more securely fastened to the sun gear holder.

First, I shredded the planet input with a pair of pliers.

dsc_2066
Planet input, er… disassembled

Then, I was able to get the input bearing off by cooling down the sun gear holder with the compressed air again.

However, the rotor bearing was too well pressed on to achieve that.  So I ground it off with a cutoff wheel, after trying a few other things first.  At this point, I was finally able to remove the sun gear holder from the rotor, and call my disassembly, as it were, complete!

Rotor bearing removed
Rotor bearing removed

Rotor and stator alignment

Last time I covered getting to the point of having the rotor installed into the gearbox.  Here we’ll look at making it actually work in that configuration.

When I first got the rotor in place, it was clearly not centered properly.  Although much closer than in the plastic gearbox, it did interfere with the stator during a portion of a revolution.  The first obvious problem was that the primary shaft wasn’t making it all the way through the front shaft bearing.  That should have been an easy fix, but for two different very annoying reasons.

Reason 1

When I made the sun gear holder, one of the tweaks I made during my 3d printed iterations was to leave a hole where you could press on the primary shaft.  That was intended to be used to install it all the way into the output bearing.  Unfortunately, that hole is behind the position sensing magnet.  The one that I superglued in place last time overly eagerly.

That magnet has a recess in the sun gear holder which nearly exactly encloses it, with maybe only a few thousandths around it in all directions.  There was no way to grip the magnet at all.  I tried soaking the junction in acetone for some time, I tried using the heat gun, and in the process ruined the 3d printed outer housing, but none of those loosened it up enough to allow another magnet to retrieve it.

Eventually I pressed on the primary shaft from the front of the motor, and used that to pop out the position sensing magnet.

Reason 2

Now that I had the magnet off, I could press the shaft back into place.  Or at least I should have been able to.  I made it into the output bearing, but then the pressing became inordinately difficult.  I think even more so than in any of my test fits.  This may have had two causes… one is that I was using a dowel for the main shaft which is slightly oversized, and second the retaining compound had seeped around into the interior of the bearing, and fractionally cured.  Those combined made it both really hard to push the shaft in, and as I later discovered, impossible to press out.

Aligning the rotor and stator

At this point, I had the rotor installed seemingly properly, and it still was interfering with the stator.  After much experimentation, including partially exploding the rotor bearing on the sun gear holder, I arrived at a technique that allowed me to align them properly and simultaneously discovered that my intended mechanism for registering the rotor to the sun gear holder was, at the least, sub-optimal.

The sun gear holder has 4 M3 flat head bolts which fasten it to the rotor.  I had oversized those holes to 3.1mm, and put tapered countersinks on each.  I had planned on the countersinks forcing the rotor to be centered.  However, it didn’t look like that was working as I had expected.  Each time I would loosen up the bolts and re-tighten them, the rotor would interfere with the stator in a different way.  Eventually, I was able to center them by sliding slips of paper all around the stator between it and the rotor, then tightening the bolts down.

Rotor paper alignment
Rotor paper alignment

Then I spent a few hours, painstakingly under the microscope, picking out grains of steel that had managed to find their way to the rotor, most likely from when I partially exploded the rotor bearing.

Success?

At this point, the rotor did seem to be aligned properly to the stator, everything moved freely, and the gearbox worked as expected.  I just need to disassemble everything in order to install a new outer housing to replace the one I destroyed while attempting to remove the position sensing magnet.  That is its own story, for next time.