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
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.
Wow, this looks great! You have put a lot of work into it already. I understand that you want to further improve the mechanical design, but I think you already have enough to have a really good gait, if you only change the strategy a little bit.
Right now you seem to rely on moving the legs very fast in small steps to avoid the robot tipping over when the leg is raised. But I think you could instead balance with the whole body of the robot, moving it away from the leg before it is going to be raised, so that all the weight of the robot rests on the remaining three legs. That way the robot is statically stable, and you can make the steps as slow as you want, or even stop in the middle of it, without falling. You can then also make the steps much longer, increasing the speed and making it look more natural.
Are you sure? yes | no
Yep. I have actually done that in past iterations of this design and could definitely do so again if I wanted to. https://www.youtube.com/watch?v=gvj75ICwHus
However, rather than resurrect that gait, my current plan is to inertially stabilize the leg lift off phase to give a larger amount of time before the legs need to get down.
Are you sure? yes | no
Or rather, I might re-implement a statically stable gait at some point, it just isn't at the top of my personal priority list right now. My goal for the gaits at the moment is to demonstrate more dynamic motions, like high speed movement and more aggressive jumps.
Are you sure? yes | no
Makes sense, thanks!
Are you sure? yes | no