Monday, August 30, 2010

Rethinking the hand



I'm very slow at times. I became enamored of the Meka robotics hand a few months ago and tended to make my own hand project very like it in many ways. As I was completing my first finger/hand segment design, however, the way that both Andreas Maryanto's hand project and Meka's began to trouble me. I had indentified the situation I was calling the "stiff hand" without being able to work out the implications.

This morning, I waked up at about 0300 knowing full well what a stiff hand implied. If you will look at the Meka hand clip you can see what I am talking about.


Notice how the thumb can only engage the forefinger.

Here is a nice photo of the effect as well.




Looking at the the Meka hand design one could extend the range of the thumb and touch all of the fingers.  Even so, and this is the part that I kept missing, you couldn't wrap either Andreas' hand or the Meka hand around a ball and throw it.  You can grip things with a handle, like a hammer, but not a ball.

People interested in prosthetics kept telling me to locate the servos driving the fingers in the forearm like happens in a human hand.  I wanted the hand to be autonomous because of the complexity of routing the tendons contracting the fingers through the wrist joint.

I've now spent several hours trying to evolve my existing design into something that could curl the palm around a ball.  I've concluded that routing tendons through a wrist joint is perhaps not as complicated as making the palm of an autonomous hand curl around a ball ...  or a doorknob.

For inspiration, I began looking at the anatomy of the human hand.  It appears that the ability to curl the palm around an object is controlled by the thenar {attached to the thumb} and the hypothenar {attached to the little finger} muscles.




So it looks like I have at least


  • five servos for finger and thumb contraction
  • one to contract the tendon analog of the thenar and hypothenar muscles
  • one to control the lateral distance between the thumb and the palm
  • one to control the movement of the palm from side to side
  • one to control the side to side movement of the palm.
That makes a minimum of nine servos.  That's definitely going to fill up the forearm.

I wonder how you get the wrist to rotate?

Sunday, August 22, 2010

Getting to grips with the telepresence finger design



Having worked my way through a number of bugs in the Slice and Dice software I managed to get a workable design for the takeup reel of the telepresence hand finger/hand segment assembly. Space constraints reduced the reel diameter to 6 mm.

Last night I did a quick lashup to test the assembly.





I hadn't worked out what effect that small diameter reel would have on the force levels that the gearmotor. When the gearmotor pulled the unglued assembly apart I began to get an inkling of the implications of my design constraints.  Doing after-the-fact calculations I discovered that the gearmotor was applying a maximum of about 4.75 kg to the finger tendons.  That is an almost crushing force.

This feedback had immediate effect on a number of design decisions I had previously taken.  I had been using nylon twine for the tendons.  That was not so much a problem save that I had undertaken to use a simple knot in the twine for securing the tendon to the reel.  It seems fairly clear that that isn't going to work.

I'm currently thinking that lead or steel crimp beads of the sort used in sash cords for venetian blinds may be more appropriate.

Friday, August 20, 2010

Counting on your fingers in binary



I printed up a second finger/hand segment assembly so that I can see how things ought to fit together to make a hand.



I've also bought some of these narrow profile gearmotors from Solarbotics.




If they work out I should be able to create a much more compact telepresence hand.  The dimensions on this puppy are 13x19x53 mm.

Thursday, August 19, 2010

Making segments of the hand



After some drama with my Slice and Dice app, I was able to print a first a segment of the hand into which the telepresence finger fits.


I want to have all the gear that runs the hand within the body of the hand itself rather than cabled into the forearm.  It will take quite a few design cycles to achieve that, I think.

Thursday, August 12, 2010

More about flex sensors



It appears that the sensor fully extended has a resistance of a bit over 17K ohms. That drops about 10K ohms when the sensor is bent 180 degrees.

Flex sensors arrived...

Jameco may not have the selection of a Mouser or a Digikey, but if I order at the beginning to middle of the week, I can get 1-2 day delivery via FedEx as the cheapest delivery option. :-)

Ordered the flex sensors Tuesday afternoon and they arrived about an hour ago. :-D

Wednesday, August 11, 2010

Servos and firmware



I had a while last evening to work on a bit of driver firmware for the servo for my the telepresence finger.





I had just got it working properly when what appears to be a on-chip fault developed in my 18F4550 MCU that disabled USB comms with the controller board.  I was, however, able to work with the RC Servo long enough to grow not all that impressed with it.

Basically, a RC servo consists of a small gearmotor which is coupled to a potentiometer which acts as a feedback mechanism on position.  A small bit of electronics controls the feedback dynamic and converts repeating incoming analog signal into positioning instructions.  These things were made to be controlled by radio control sets for model airplanes and boats.

In my application, I use a MCU to create the analog signal.  While I was debugging the firmware the little epiphany came to me that there were far too many unnecessary parts in the overall system.  As well, the range of motion of the servo is kind of limited and they are a bit expensive.  I have gearmotors which are smaller and far more powerful than the servo and my MCU can control them.  For feedback for my telepresence finger, a flex sensor...




...makes far better sense than a potentiometer and why have extra electronics when you can dedicate an MCU that controls a gearmotor according to feedback from the flex sensor for about $1?

My friend, Josh Hall, is building a robot starting from the shoulder and working down while I am going in the other direction.  The high torque gearmotors that he is using cost about $500 each.  You can buy hugely powerful gearmotors mass produced for the automotive industry surplus for about $10 and out of the catalog for $30-50.



I think I am going to buy some flex sensors and use this small and very efficient gearmotor directly with my MCU...


...and see where I can go.