• More graceful failure handling

    Josh Pieper6 days ago 0 comments

    I've done some work on more graceful failure handling, just a video here...

  • September 2019 Update

    Josh Pieper09/30/2019 at 12:53 4 comments

    I've made a lot of progress in the last year, but of course still have a lot to do!  This update video has a quick tour.

    And now for some details, eventually I guess I should split these up into their own separate hackaday.io projects...

    Moteus Controller

    I'm up to the fourth version (r3.1) of the open source moteus brushless controller, designed explicitly for legged robot applications.  It has a similar purpose to the Dizzy Servo https://hackaday.io/project/164175-custom-motor-for-robotics or the Mini-Cheeta controller, http://build-its-inprogress.blogspot.com/search/label/HobbyKing%20Cheetah but was designed to support a higher bitrate communications channel and eventually be produced in moderate volumes.

    R3.1 specifications:

    • Up to 24V input
    • 50A peak phase current
    • 400W peak power
    • FOC control with integrated AS5047 magnetic encoder
    • 3Mbit RS485 connection with two possible protocols, one which is size efficient for real time control, and another which allows introspecting nearly all internal state
    • 30kHz primary control frequency w/ 60kHz switching rate
    • Capable of 200Hz overall system updates when combined into a single-bus 12 servo system
    • Hardware and firmware open source licensed under the Apache 2.0

    This version has received a fair amount of testing.  It is possible to heatsink to the back of the board, and I did some thermal profiling while doing so:  http://jpieper.com/2018/12/14/ht-18-thermal-imager-macro-mod/

    I've also run it in a jumping configuration continuously for hours at a time.

    Moteus M80 Servo

    The moteus controllers are integrated, along with a disassembled brushless 8108 quadcopter motor and a planetary geartrain, into the moteus servo.


    R1 specifications:

    • Peak torque: 40Nm
    • Peak speed: 5000 deg/s
    • Mass: 410g
    • All metal power-train
    • Ball bearings used at every rotating interface
    • Fixed mounting pattern on both front and rear of servo
    • Rotating mounting pattern on front only, 3x M3 threaded holes and 3x M3 shafts

    The mounting patterns allows for a variety of useful mounting configurations.  Combined with the internal bearings, it can support large cantilevered loads, like those required for a jumping robot.

    mjbots robot leg

    With a similar design spirit to the Mini-Cheetah, the mjbots robot leg is designed to be largely 3d printed from PETG rather than machined.  It provides excellent maneuverability in all three axes.

    R1 specifications:

    • 15mm width, 6mm pitch belt drive
    • Ball bearings supporting knee joint
    • Shoulder rotation: +- 180 degrees
    • Upper leg rotation: >+- 180 degrees
    • Lower leg rotation: +- 160 degrees
    • Mass (including servos): ~1.9kg

    mjbots quad A0

    The robot is a chassis with an integrated computer, battery mount, power distribution, and 4 mjbots robot legs.  It runs the open source mjmech software for gait sequencing and control.

    R1 specifications:

    • Mass: 9.5kg w/o battery
    • Computer: Raspberry Pi 3b+
    • Top speed: ~0.3m/s