Developing the moteus brushless servo controller has been a verylongjourney, and while it isn’t over yet I have a reached a significant milestone. The first batch of production moteus controllers are now available for general purchase at mjbots.com and shipment worldwide for $119 USD each!
First, a limited number of qdd100 servos are available for sale to beta testers! Check them out at mjbots.com.
After building up the first set of qdd100 servos, I wanted to empirically measure their performance parameters. Some astute commenters uncovered in my terrible juggling video, that I didn’t actually have any ground truth measure of torque with these actuators. Given that the ultimate torque is a pretty useful performance metric, it’s a good thing to have a solid understanding of.
To measure this, I built a simple test fixture (which is also the qdd100 beta development kit), consisting of two brackets. The first lets the servo be bolted to a table, and the second mounts to the output and has set screws to hold a 1″ diameter pipe. I used this to insert a 1 meter pipe which then can press against a digital scale.
Then I created a simple C++ application which emitted torque commands in response to joystick input and reported back telemetry from the servo: qdd100_test
Using these I was able to generate a plot of actual torque vs motor phase current:
There are a couple of interesting things here, one is that the torque constant at low phase currents is slightly lower than I had estimated based on the motor’s Kv rating. Second, the torque constant drops off faster at higher currents than I had anticipated, and third, the motor Kv rating was lower than I had predicted. Those things combined result in a peak torque of between 12.5 and 15Nm depending upon the servo. That’s still enough torque to do some serious jumping, but exploring those discrepancies is now on my backlog.
Here’s a video showing how this testing (and max speed testing) was done:
After I initially assembled the new legs onto the chassis, I realized I had the geometry slightly off and there was some interference through part of the shoulder rotation. I made up new printed parts and replaced everything in front of the camera. Thus, watch some high speed robot surgery:
The quad A1’s first job is to validate the new moteus controller in the quadrupedal configuration, after which I’ll use it as the primary development platform to get all my gait work done.
To build a second demonstration quadruped and to generate some development kits, I’ve built up a set of 20 of the mk2 servo. The production process is working out fairly well, in fact slightly better than I had predicted for overall cycle time. The servos so far are coming out great, moving smoothly with full power.
I’m planning on building up a set of mk2 servos to test them on a quadruped and make some development kits. As of now, I’ve got all the materials in house for the build and many things partially assembled!
Because my working environment is otherwise too idyllic and peaceful, I’ve been running the new moteus servo mk2 through its paces. All day long. 8 hours a day.
This is the same test I ran to verify the controller, only now I’ve done it several times longer to get a better feel for if there are any weak links. Somewhat surprisingly, the ball doesn’t drop all that often, only once an hour or two.
Earlier I described my design plan for reducing the overall mass of the moteus servo mk2. Constructing a prototype of this turned out to take many more iterations and time than I had expected! Along the way I produced and scrapped two front housings, two outer housings and a back housing.
I made one complete prototype which only had the weight reduction applied to some of the parts and lacked a back cover and any provision for a wire cover. It was the one from the moteus controller r4.1 juggling video:
I also had to get new workholding solutions for the PocketNC in the form of the wcubed vise.
Every one of the pieces got reworked in some manner or designed from scratch for the things that did not exist previously.
Front housing: Here I iterated on how much material to remove from the central cavity. Initially I removed more, but it gave the primary output bearing problems to be loaded intermittently. Also, I had adhesion problems with the ring gear when too little material was left there. I settled on a continuous ring for the output bearing and a decent amount of material for the internal gear.
Back housing: I tweaked the back housing mounting points so that the outer housing could be symmetric. Also, I added a facility for the wire cover to guard the phase wires entering the controller.
Outer housing: The outer housing was largely unchanged from my initial weight reduced design, although I produced one bad one due to a simple mistake locating the mounting hole, and a second because the stud lengths between the front and back were different in an earlier iteration.
Planet output: The planet output design changed only to add some weight reducing cutouts. This was the last part for which I was still using mk1 servo spare parts for, so now I actually manufactured a prototype in house.
Planet input: Here there are now weight reducing cutouts, and the mating studs use less material.
Back cover: The back cover design is basically unchanged, I just had to make one for the first time.
Wire cover: The wire cover is a part of the design I had deferred until now. It bolts to the back housing and shrouds the phase wires.
Update 2020-01-15: All the development kit slots are full. Thanks for your interest!
I’ve now received all the supplies I need to make up development kits for the moteus controller and to make a test quadruped!
I’m planning on making a few development kits from this production run so others can experiment with the moteus brushless controllers. Some people have already expressed interest in getting one — you have hopefully been contacted earlier. If you are interested in getting an opportunity to buy an early access kit and haven’t heard from me yet, fill out this form!