Tact: Low-cost, Advanced Prosthetic Hand
Intro: Tact: Low-cost, Advanced Prosthetic Hand
In this instructable I'll show you how to make Tact, a low-cost, open-source prosthetic hand. Tact exceeds other open-source prosthetic hand models in several ways: it costs only $100 for all components ($250 to also add myoelectric control), can be assembled using only one hand and a clamp, achieves the same performance as current $30k-40k commercial prosthetic hands, and when used with myoelectric (muscle) control can easily perform several different grasps such as fine pinch, three-jaw chuck, power grip, etc. These claims are discussed in detail on the next step. Watch it in action!
In this instructable I will show you what components are needed, how to print the hand, how to assemble it, and make several suggestions on how to control it.
STEP 1: Performance Comparison
Tact vs Commercial Devices
As stated previously Tact performs the same as $30k-40k commercial prosthetic hands and is an improvement over other open-source hands. In the first chart above you can see a motor comparison made between Tact and i-Limb (expensive commercial device). By knowing the performance of the motors in the i-Limb a careful motor selection was made to find one that output the same power as the commercial device but at less cost. This allowed our hand to apply forces at the fingertip within the range of the $30k-40k hands, shown in the second table. We also see that Tact has a much higher speed than the commercial devices this has been cited in prosthetics studies to be desired for easier grasping of objects in daily tasks, it also allows us to possibly gear down the input further and produce more output. In the last table a general set of size and weight specifications show that Tact is the same size as the other devices and in fact much lighter due to 3D-printing.
Tact vs Open-Source Devices
In all these comparisons we see Tact applies roughly 2.5x the force of the comparable open-source Dextrus hand while weighing 20% less and having roughly half the palm thickness. These are much more desirable features for a prosthetic user to have. In addition, the last image demonstrates the four-bar linkage in a finger of Tact. This linkage ensures that the two joints of the finger close proportionally and reliable each time the hand is operated, providing consistent performance. Most open-source designs such as Dextrus only use a tendon strung through the finger to winch it close. This results in awkward and jerky movements as random joints close at different times, especially when gripping objects.
Trade-offs
While from these descriptions Tact may seem at a serious advantage to all other hands we have made several trade-offs to achieve these results. The biggest being the weakness of the 3D printed parts and mechanical operation. Compared with the rugged injection molding and metal gearing of commercial myoelectric hands, the Tact is much more easily damaged (but also repaired). In addition the lack of non-backdriveable gearing makes the hand less energy efficient as power must be drained continuously when holding items.
STEP 2: Parts List
As discussed in the intro, this hand was designed to be made using common off-the-shelf-components and 3D-printing. In the images above you can find a complete list of all parts needed and either vendors or part numbers for each component. Due to shifting online listings I haven't supplied specific links, but a basic search should find all components. Don't be afraid to substitute parts for things on hand!
In addition to the listed a few tools are required: phillips or flat head screw driver (depends on your type of screws), two needle nose pliers, superglue, and wire cutters.
For the 3D-printed components a Makerbot Replicator 2X was used, but any 3D-printer is capable of making these components. If you don't have access to any, consider using a company such as Shapeways that will take files submitted online and mail you printed parts. All STL files needed to make the Tact hand parts can be found on the dedicated Github page. For those new to Github I recommend reading through a basic tutorial.
I printed all components except for the spool at a resolution of 0.2 mm (200 microns) and 10% infill. This helps prints to be made more quickly while still strong enough. The spool should be printed at the finest resolution and highest infill that your printing device can produce. Total printing time for me took around 14 hours. Once you have all your parts ordered and 3D-printed components, you are ready to assemble!
STEP 3: Finger Assembly
All fingers including the thumb follow the same basic assembly structure and use the same components. When assembling check each step (one paragraph per) with the pictures ordered above. In the Github page I've also included another pdf of assembly instructions so you can refer to that if stuck.
1. First take your length of steel cable, tie a knot at one end, and dot it with glue to ensure it doesn't slip. Take the spool and pull the cable through the smaller hole by the top of the part so that it starts on the outside diameter of the spool and pokes out on the inside of the spool diameter. Now pull the rest of the cable through until just the knot is left at the outside of the hole. Send the free end of the cable through the larger hole in the spool, beginning on the inside the diameter of the spool and exiting to the outer edge of the spool.
2. Take a motor and press fit the spool onto the shaft of the motor. Ensure that you have lined up the flat part of the motor shaft with the flat part of the spool. If this is not aligned correctly you risk damaging the spool.
3. Now take the motor housing piece. Insert two 6mm M2 screws into the small holes on either side of the larger opening. Push the motor/spool combination up through this larger hole and screw in the motor to the housing.
4. Gather both the finger tip part and the linkage. Using an 12mm M2 screw and nut fasten the linkage into the slot in the finger tip part. Make sure it is loose enough to still rotate freely.
5. Now take the lower portion of the finger and slide the linkage and finger combination inside of it. Watch the orientation. Screw the two finger pieces together through the remaining hole in the finger tip part with a 20mm M2 screw.
6. Take the partially assembled motor housing and finger parts and affix the free end of the linkage to the appropriate hole in the motor housing using a 12mm M2 screw. You will have to bend the finger fully to be able to do this.
7. Now affix the remaining hole in the lower portion of the finger to the remaining hole in the motor housing using a 20mm M2 screw.
8. Now route the length of cable remaining out of the inside of the motor housing and up through the hole in the cylindrical part of the lower finger piece. Take a wire crimp or tie a knot in the steel cable and add a dot of glue for strength. Use the wire cutters to clip excess cable.
9. Repeat this finger assembly process for all fingers and the thumb. Note that the thumb has a different finger tip piece but the rest remains the exact same. Once all the fingers are assembled, take both hand parts and lay them flat. Note that one has 4 holes. This is the back plate of the hand. Line up all the motors in this part and affix each one to the back plate using a 6mm M2 screw. Then take the front plate and affix it to the two appropriate fingers with 6mm M2 screws.
I've updated the CAD files for the prosthetic hand. Please leave feed
STEP 4: Thumb Assembly
1. To assemble the completed thumb finger to the body of the hand, first find the servo and the servo holder printed piece. They should press fit together.
2. Next take the small part that mounts between the servo and the thumb and attach it to the corresponding hole in the thumb piece using a 6mm M2 screw.
3. Now assemble the thumb bracket onto the servo using the two screws given with the thumb servo. Attach this assembly onto the front part of the hand containing the other four fingers with two 6mm M2 screws.
You have completed the mechanical build of the hand!
STEP 5: Controlling the Hand
Typically advanced prosthetic devices use myoelectric control to read the small voltages given off by a user's muscles, called electromyography (or EMG) signals. From these voltages we can tell what muscles around the users forearm are flexed and can then determine what grip they are using. This requires a complex 8 channel EMG chip and the use of a machine learning algorithm called linear discriminant analysis. While I hope to provide an instructable for this in the future, since this approach requires a lot of prior knowledge in electronics and computer science I will propose a couple ways to control this hand more simply.
Single channel EMG boards that are already set up for easy use with microcontrollers such as an arduino are produced by a company called Advancer Technologies. The boards they sell are both cheap and have many tutorials for setting them up. In fact this company has several instructables showing exactly how to apply this to control objects. I strongly recommend you check out their products and 'ibles to get the hand up and moving.
Another method for the people who are interested in computer science would be to make a PID controller, or simpler PI/P/PD control method along with switches or buttons to move the hands to different positions.
In another alternative method you could use voice control as I've demonstrated how to get working with another open-source robotic hand design.
Best of luck on building the device and I hope it gets to those who need it!
16 Comments
SheroseG 8 years ago
where can i get program or how am I suppose to make it
ZachE6 9 years ago
Is there any way to see the code and electronics used for this or the code and electronics for a similar myoelectric hand. I'm a high school student relatively new to coding and was looking for a base for an affordable myoelectric prosthetic project.
Please let me know if you have any resources or advice on this. Thank you.
Many Thanks,
Zach Eisner
lorenavalencia 9 years ago
OMG, this is amazing Patrick, thanks for share with us
AyushM1 9 years ago
Will Tact be able to do every movement of our real hand ?If yes please tell me how to code it coz I'm a beginner in this EMG stuff.
RobinHoward 9 years ago
How can we blend the hand design and the EMG?
AdamA15 9 years ago
On the one hand I commend the students working on this for their effort.
On the other, I want to caution against excessive hype and unrealistic expectations. On a small number of performance measures the device is proven to operate well, however they are not necessarily the performance measures of interest to prosthetics users. Is it quiet (no, not with that servo or those motors)? Is it robust (not given those parts and build quality)? How easy is it to configure for a user or prosthetist (no UI for configuration? How is an average user going to tune for performance)? How reliable (basic EMG is easy, good emg is hard)? How sensitive / insensitive is it to variations in EMG signals (as user limb volume swells or decreases or as users sweat the EMG signal attenuates or strengthens)? Is it attractive (no!)?
Its great to describe an excellent design, but to pretend that this is equivalent to a commercial device with its robust design and support is disingenuous and does not do a service to either the open source community or prosthetics users.
Note that the device does NOT have the same "performance" as the ilimb - based on your documentation in the chart you have somewhere between 1/4 and 2/3 the applied force of commercial devices. Then the other devices are compared as being slow; You could make yours as strong, or as fast, but not both. Again, saying it is "as good" is incorrect.
Please continue to do your research and design - I want open source solutions to succeed, but setting unreasonable expectations makes a problem for all of us working in this area and does nothing but disappoint potential users.
Note that I am NOT a shill for a prosthetics company, insurer, or anyone else. I am a researcher in the field (with no funding from the industry) and an active member of the eNABLE maker/hacker community.
Patrick S 9 years ago
Interesting comments. If you'll notice in step 1 "Performance Comparison" I address many of your listed short-comings of the hand. You bring up some additional good points and I will address those as well, so as to not confused anyone on the drawbacks to 3D-printed open-source hands. With that said I never claim to achieve the same performance as the I-limb, just that the Tact's performance is within the performance range of the commercial myoelectric hands which is true.
As to your questions on tuning for performance and EMG I specifically state that this instructable is just to show how to build the mechanical portion of the hand. I offer suggestions on control methods and EMG systems to use but will be writing an instructable about that at a different time.
Thus I feel I have to dispute the fact that I'm using excessive hype and just rationally trying to explain the methods used to build the hand and what the hand can achieve.
Feel free to message me and I'd be happy to discuss anything further since you seem very interested.
AdamA15 9 years ago
Second, generally the devices you are comparing against dont cost 30 or 40k unless you count the full cost of fitting by the prosthetist. A bebionic and basic ililmb hand are both less than 20k.
Again, im not trying to reduce your achievement, only saying that your choice of words leads to incorrect analogies even if unintended. You may feel this is no harm but when people get ubreasonable expextations that are bound to diappoint it presents significant problems.
In summary, in my opinion your device does not meet the bar you established of "achieving the same performabce of ... commercial hands" and saying so is disingenuous. If you just dial back those claims it doesnt diminish what youve done and does not mislead the reader (and casual press) into thinking there is a false equivalency.
AdamA15 9 years ago
mshashmi2011 9 years ago
i need your help i hope you will give me
mshashmi2011 9 years ago
nice dear i am happy coz you make
Book Girl 9 years ago
Patrick S 9 years ago
Thanks, glad you like the project!
Boyling460 9 years ago
Dude this is one of the most AMAZING things I have seen on this website.
You could of sold this to people and gain thousands but it's still nice you posted it.
Good job ;)
Patrick S 9 years ago
Glad you like it!
acheide 9 years ago
Good for you.