November 29, 2019

Building All The Robots

Here's a photo-dump of some pictures from assembling the herd of Mini Cheetahs.

150 Stators:

150 Front actuator housings with output bearing installed:

50 upper legs.  The upper link was consolidated from 3 parts to 2 for the new robots:

For assembly I got these fancy Wera adjustable torque screwdrivers, so I (and people helping assemble) could repeatably torque all the screws:

A handful of the 450 planet gears with needle bearings installed:

150 rings gears with OD's post-machined to size.  Ready to be pressed into the housings:

A sea of sun gears:

Actuator with stator and gearbox installed:

I made several minor design mistakes I had to fix.  Some holes in the sheet metal were 1mm off, so I made this fixture for re-machining the holes.  Small mistakes like this sunk a huge amount of time, because each on has to be fixed between 50 and 150 times.  Fortunately everything was salvageable.

Most of the actuators with stators and planetary gearboxes installed:

Part of one robot body with computer, CAN interface, IMU, RC receiver, and power supply:

The glorious actuator cabinet:

Computers and CAN breakouts:

Power supplies, body center-plates:

Belts installed, ready for tensioners and outer half of the leg clamshell.

A mostly assembled leg:

A nearly complete robot, waiting for the last few wire-management steps and final body assembly:

One robot during electrical and software testing, before final assembly:

Half a robot's worth of actuators:

Final assembly step of attaching the legs to the body:

Robot with top panel removed:

A pair of robots ready for final testing:

Most of the new robots lined up on the lab treadmill:


  1. I just love these detailed pics!

    Could you share how you decide on belt tension and how do you properly measure it? What's the center distance between the pulleys compared to belt length - how much slack do you introduce? During any of the stressing motions (e.g. backflips) did you experience the belts jumping teeth?

    1. There have been no belt-skipping or breaking problems. The robot has tensioners, so I left just a little bit of slack and adjusted the tensioners by ear. The Gates Poly Chain Design Guide has tension information for 8 and 14mm pitch belts, but not 5, but you could probably scale their data appropriately. The gates guide also shows several techniques for measuring tension.

      For this application it's important to use the belts with kevlar tensile members, not fiberglass, as they're stiffer, stronger, and handle shock loading better.

  2. This comment has been removed by the author.

  3. "Small mistakes like this sunk a huge amount of time" I really agree with that.
    Now I'm following your path to build a such an masterpiece.
    I will share you after I finish this job ^ ^.

  4. Hello Ben,
    very impresionant, was a big editing job that took you several weeks, an accelerated video editing will have been interesting, I noticed you change the design for the actuator, now you add a new big ball bearing and close the planet gears (grease), but I was wondering if you removed 6702 that was inside the rotor,
    one last question the PSU is still for a Kobalt 24V batterry only and if we can find PSU's eagle PCB design
    If not good luck in your projects, and thank you for your blog

    1. Yes, I removed the 6702 bearing now that there are two bearings directly supporting the planet carrier.

      Sorry, I don't have the PSU design posted anywhere right now.

  5. Any chance of doing a YouTube video with parts list for the legs?

    1. I didn't film much of the assembly process. Plus I don't really like youtube as a documentation medium - it's just free video hosting to me.

  6. Hi Ben,
    how are you doing?

    I was just wondering, could you by any change share with us, what kind of motors did you use for the Mini Cheetah robot? That would be awesome, since I want to do some experiments with them and build some kind of robot eventually.

    One more question, did you buy all of the planetary gears on the internet or are they custom made?

    Thank you so much what you're doing and keep up the good work.

  7. Hi, Great jobs.
    Where did you buy the gear sets? Misumi gears are two expensive. If you know any cheaper vendor please let us know.

  8. What kind of IMU are you using?

  9. Hi Ben, amazing and inspiring work. Curious, what mechanism(s) is the belt tension actually applied with? Reason for asking is I've been working on a legged project myself and the knee actuators work on a belt drive as well, but getting adjustable tension adjusters involved have created more bulk than I'd like. Is it safe to assume you're using a spring loaded idler pulley of some kind? Keep up the fantastic work.

    1. There's a pair or rollers inside the leg that get adjusted inwards with a set screw. Spring loaded tensioner won't work well, as there is reversing tension on the belt.

    2. That is super coincidental because I failed to notice you had responded until today, and that same solution is what I chose to use in a recent iteration. I came to it originally from a belt tensioner in a Cadillac that my father in law needed help with recently. Too funny. Sounds like I am on the right track to getting similar results! In my current prototype I’m actually using those dirt cheap “flycat” bldc motors you wrote about in your past blog (because, I enjoy a good challenge in quarantine why else?), however I needed to increase the gear ratio to get a jumping effect similar to your robot. Of course, this quadruped is scaled down vastly.

    3. I failed to notice the entire thesis was available for viewing via MIT's website where this was mentioned until after your reply. Lol. Appreciate it nonetheless. It's strange to me that I came to a similar conclusion, but perhaps not as elegant because I cannot figure out where they are happening in the photos I'm looking at, if this is a secret sauce no worries if you don't want to reveal in full detail haha. I saw something resembling a filament 3d printer extruder spring arm on one of your photos (on the thesis paper).. and couldn't help but wonder what was going on there. I came to a similar conclusion myself which kind of freaked me out because I didn't even see this comment reply till about a month later. Ahem. Ben, are you placing subliminal messages into your CAM/CAD work? (thanks for your inspiration however it shows itself lol :))

    4. Ha, nice! Funny how that happens.
      There actually aren't any pictures of the belt tensioners in this post. In the photo where the two legs with belts exposed are visible, the tensioners are not yet installed. I didn't change anything from how they were shown in my thesis, other than putting a sleeve around the tensioner bearings to prevent gaps where the bearing chamfers meet.

    5. Okay. In my most recent build I ended up keeping pulley ratio the same from actuator you knee joint, mainly because I geared down to a 12:1 ratio but somehow achieved very quick action on the leg joint. Was there a reason besides backlash that lead you to add that extra bit of gear down on the belt drive ratios? I’m using closed loop belts and the upper member length just looked too funny given the constraints I set by buying probably the wrong length belts before I tested more, lol (they were a good deal on eBay what can I say).. I can always go back later and change this out but I was curious why this slight reduction was chosen on your belt drive, because I didn’t notice any noticeable backlash pitfalls in my case.. I’ll send you a link to my build once I’m done with assembling all 12 actuators and collect all my photos into one spot, would love to hear any feedback if you have a chance. Thanks again for being so transparent man. There are a lot of parallels the more I read into the Mini Cheetah that I Wish I would have came across your blog 3 years ago when I started this project as ultimately a one man band! Massive respect.

    6. Nothing to do with backlash. The knee joints end up taking most of the weight of the robot, so it's helpful to have a bit more torque there than at the other joints. Just standing with the feet directly under the hips for example, no hip or abd/adduction torque is required, only knee torque.

    7. Makes sense. I’ll probably have to try that route if this doesn’t work to my liking. I’m borrowing your idea to use squash balls as a foot pad, I took a wild guess based on your measurements of 40mm that they ought to be the “two yellow dot” type, was I correct? I found them on Amazon for pretty cheap, but I noticed they only had marginal bounciness (using the same brand you guys used). Were there any tests using them without any expandable foam filling? Curious.

    8. Yep, two yellow dots. The lack of bounciness is actually why I chose them. No tests without the foam filling, but in retrospect I think it would work fine. I'd still cut it open and stuff a hard insert in the middle though - I think it would be too soft if you tried to just glue a "cup"-shaped thing to the outside of the ball. TBH, very little design work went into the feet, and I'm sure there's better ways of doing it, but the squash balls are convenient.

    9. Sweet! Since I’m still milking out the pcbs for each actuator I have only made one experiment with these things but I attempted using loctite brand expanding foam (because it was there) and a sorta similar 3d printed insert and it was disastrously ugly. On the positive side, the acetone I used to remove the excess foam, also removed the branding logo off of the ball, so there’s what I learned. Lol. With that said, I’ll likely just try something along the lines of what you just said. I was contemplating how the balls of our feet are basically “unpadded” and they tend to hold up to a lot of abuse so maybe there is some sort of stability advantage we gained by growing this way evolutionarily. Thanks for confirming, it gave me a sense of a “win” with the two yellow dots guess. Hah!

  10. Hi Ben, really an excellent job. Please let me know who are the groups working on the 50 mini cheetah prototypes you built, so that to change opinions/ comments, suggestions on the robot improvements for research purposes. Thanks a lot Paolo