Friday, July 19, 2013

Since early June

Since early June I've pretty much off the grid with the Inmoov project.  That is, off the grid, but not inactive.

Back then, I was busily modifying JHack's 5 servo rack.  This brilliant little design had the servos spring loaded with small magnets and Hall effect sensors to give a measure of the force of the grip of each hand on a held object.

The further into this exercise I got the more I began to question what I was doing.  I think the turning point came when I looked at Gael's finger testing rig.  You can see what happens in this little vid of his.

You can see that Gael, like most makers of mechatronic hands uses a single servo to mimic the two tendons leading from the fingertip to the forearm.  The problem is that a human finger has not one, but two tendons on the palm side of the hand, not one.

This says that you need at least two servos to give the full range of motion for a finger, not one, not to mention the small muscles in the palm which allow humans to move individual fingers laterally.  In fact, the human hand is controlled by some thirty five muscles, eighteen in the palm and seventeen in the forearm which control hand movement via tendons which go through the wrist into the hand.

Looking back at the JHack illustration at the beginning of this post, you see five servos and don't see two others nearer the wrist.  Obviously, hand and wrist motion is only going to be an approximation of what a human can do.  You can get smaller servos, but then you run into a problem that they're not powerful enough to give you a useful grip.

Gael has recently been exploring thickening the palm with servos.  The approach has been successfully applied more than once, but still begs the problem of that extra tendon needed on the palm side of each finger.

My approach has been somewhat different.  It seems obvious to me that we need a more compact linear force system than hobby servos can supply.  The obvious answer is linear piezoelectric motors.  The cost of those which can be applied to our needs runs in the vicinity of $800-1,000, though, and controlling linear piezoelectrics is a whole different game.  Imagine buying thirty four of those for each hand.

I decided to give hobby servos a closer look.  They basically consist of a motor, a gearbox, a potentiometer and some electronics.  When you take one apart this is what you see.

These servos were designed to operate the control surfaces of radio-controlled model airplanes, not robots.   They are modular, which is useful, but greedy for volume.  My colleague and friend, Andreas Maryanto who lives in Borneo and works on a project he calls Dexhand, tells me that the Japanese have gone over to using simple gearmotors.

I found that if I look at just the parts in a servo, I could reduce the space requirements considerably by stripping out the electronics and relocating that in the thorax.  Once that's done, we have an awkward gearbox in our way.   It struck me that the gearbox should be no bigger in cross section than the motor.  For serious work the old planetary gear box would suit that closely. After several false starts, I found one that was fairly solidly designed, though far too large.

Planetary gearmotors are relatively abundant on the market, though a bit expensive.  You can get them from as small as 6 mm in diameter on up.

I finally purchased a pair of Tamiya planetary Gearbox sets.  While larger than I would have liked at 28 mm diameter the Tamiya gearmotor was both powerful and allowed you to choose your own gear ratio.

Ordinary muscles sense tension, not position, so I decided to measure that instead of using a potentiometer.  Using the Hall Effect sensor, magnet and spring scheme that JHack used, I designed a sensor to enclose a spring.

The spring had a fairly linear compression ratio from 0-3.5 kg.  Unfortunately, while the Hall Effect sensor was linear with regards to the magnetic field encountered, it was not linear with regards to the distance from the magnet.

I was eventually able to calibrate it, however.  That done I had to design a takeup reel for the "tendon" connecting the gearmotor to the finger.

The resulting ensemble was big and bulky but demonstrated the configuration.

That done, I began a second iteration of the design of this artificial muscle aimed at trimming the sizes of the components.  Currently, I am working on the planetary gear box., that being the most expensive item in the ensemble.  Arriving at a design which borrows both from the mcentric design on Thingiverse and the Tamiya gearbox, I have been able to produce a working 25 mm diameter gearbox which has a reduction ratio similar to the Tamiya gearbox.

I am using small nails for the axles of the planetary gears.  The 4:1 reduction stages that you see in the picture are prototypes.  I will be reducing the length of those considerably as work continues.  Reducing the diameter of the gearbox will prove more difficult.

The current 25 mm diameter gearbox reduces the cross sectional area of the servos in the forearm by a bit more than half and presents a much less awkward cross section to work with than conventional servos.

The Hall Effect sensors cost about $1.50 retail and the magnets and spring about about $0.50 each.  Motors of the power required can be had surplus for about $0.50 each.  Except for the monfilament, wiring and electronics, the rest can be printed.


  1. Very interesting, wouldn't measuring the current draw give a similar reading of force?

  2. Fantastic! I was just looking for planetary gear motors myself only two days ago, because of the exceeded size the servomotors has, which takes too much place inside the palm. You have been way ahead. I wish you had posted this a few days ago, it would have saved me a bit of time.
    I had found the Maxon ( that also have planetary gears with all ratios available. Your post made me look for Tamiya, and from there to the Pololu motors with planetary gears.
    I'm thinking of replacing the servo for the finger with this one :
    And adding a DRV8801 Single Brushed DC Motor Driver Carrier
    I would keep the same mechanism as you saw for InMoov finger prosthetic. Do you think it is possible to simply hook this up to an Arduino?