Introduction: Compliant Prosthetic Hand With Sensorimotor Control and Sensory Feedback for Upper Limb Amputees
* Update: Thank you for voting for this project and interests, likes, and feedbacks! Thanks to you and Instructable, we could win the Judge's prize:Health at the 3-D Printing Contest! I really appreciate it and your supports! We will try to keep make this project to help and reach more people to build their own prosthetic hand and improve the device and technology. XD
The main goal of this project is providing a highly functional and low-cost prosthetic hand to people with below-elbow amputations
Even though lots of state-of-the-art prosthetic devices have been developed, still it becomes pressure for amputations living in low-income countries to access those devices which cost between $30,000~ $40,000.
However, this hand presented on this project can be built under $550 with provides of high functions along the same lines of current commercial prosthetic devices.
The World Health Organization says that 80% of people with amputations live in developing countries, while only 1 to 3 % of these people have access to appropriate rehabilitation services.
In order to bring a more equitable distribution of prosthetic device, this project has been started in Bretl Research Group. We want to share this motivation and all idea with more people to meet our main goals that improves the accessibility of prosthetic care with practical functions.
Step 1: [UPDATE] Impact Resistant Prosthetic Hand
*Updated on Oct.24th, 2016
Since I posted this project on Instructables in May, I have been working on improving the robustness of the prosthetic hand by increasing its impact resistance in multi-directions. I was motivated to focus on this specific goal by the actual users' needs.
Even though there are lots of myoelectric/robotic prosthetic hands in commercial which have real-human-hand like feature, articulated grasp motions, and other unique functions. Also, there have been a lot of 3-D printed, EMG or mechanically controlled prosthetic hands developed to assist people with amputations in low-cost.
But, I found that still actual users of the prosthetic hand device prefer to use body-powered hook rather than the high-functional prosthetic hand with 5 fingers. Why❓ I tried to focus on actual users' needs and it lead me to find several surveys showing that the main reason of the rejection of prosthetic hands by users is the lack of robustness, mechanical reliability.
In order to increase the impact resistance, I chose to add compliance of the structure rather than adding rigidity using stiff, strong material like steel, carbon fiber which are well known as high strength, robust material. I did some interesting experiment like hitting the hand by hammer, baseball bat, dropping a heavy weight from high height in different ways.
And the video above shows the results of the test with our impact resistant prosthetic hand.
It shows how the compliant design can improve the robustness of the hand and the evaluation process to show how it can handle the high impact, hold large static loads, and various grasp performances.
It is still 3-D printable, low-cost, and now impact resistant.
I know still there are lots of questions I need to solve but hope this step brings little more improvement of the prosthetic hand and makes the hand closer to what the users really want to use in their daily life.
Step 2: How It Works: Let's Watch These!
The hand of this project has three main functions.
- Control 5 different grasps (Pinch, power, three-jaw chuck, key, open) based on EMG pattern recognition
- Contact reflex through pressure sensors
- Pressure sensors casted in silicone structre of fingers applied to control the speed of fingers movement.
- Electrotactile stimulation
- Also those pressure sensors can deliver electrotactile stimulation which allows users to tell when they contact object.
As you can see on those videos, with the help of Garrett Anderson who is with right transradial amputation, we could do experiment with the developed new hand.
He could grasp the eggshell without cracking it and hold the plastic cup without squeezing it. Also he told how was the feeling when he touched something with the prosthetic hand.
For more detailed technical information, you can find on this IEEE Engineering in Medicine and Biology Society conference 2016 paper
By using 3-D printers, we could reduce not only the development cost but also time for designing and building the hand. Easy and quick to get immediate feedback from the 3-D printed parts. I have designed the hand since January 2016. After finalizing this version of design and through several prototyping process, the actual hardware could be built and integrated for less than a week thanks to 3-D printers! So, in the middle of March, we could do experiments with Garrett as you can see on the videos.
Hope this project could help more people to have better accessibility to prosthetic device and be an inspiration to next generation of prosthetic devices or other applications. Please share your ideas and give us feedback!
Step 3: Mechanical Design Overview
As you can see on the photos, this prosthetic hand is small!
The overall size of the hand is at 50th % female anthropometry.
All of the components required for building this prosthetic hand can be integrated even in this small hand!
This prosthetic hand mainly consists of 3 mechanical parts.
- Rigid part: (Step 3: 3-D print)
- Proximal finger
- Back palm bone
- Upper palm bone
- Thumb motor mount
- Thumb mount
- Wrist sockets
- Distal finger bone
- Thumb bone
- Wrist holder
- Distal finger
- Back palm
- Upper palm
Step 4: Materials and Tools
Here is the link for the material list (Google spread sheet)
This list includes two sheets(Mechanical part, Electrical part) and please read side notes described on several items.
Besides of those, tools we need:
- Dremel: (is awesome! I used it for cleaning the 3-D printed parts, cutting steel shaft, grinding etc.)
Wire cutter/ nipper
Needle nose pliers
Drill and drill bits
and different sizes of screw drivers and hex keys.
- M2.5 size
- For mounting the wrist sockets
- M3 size
- For mounting the Hand PCB on the upper palm
- M1.6 (0.7mm)
- this is for fixing a worm gear on MCP joint of 3-D printed proximal finger part using M1.6 set screws but it is okay to use epoxy instead. Please find the notes on the linked item list
of course we need 3-D printer!
Step 5: CAD Models for 3-D Printing
I used Makerbot Replicator 2X mainly for printing flexible filament (SemiFlex) for bone structure and Ultimaker 2 Extended for printing body structures.
I tried to print the bone with NinjaFlex as well but the printed quality of SemiFlex was much better and the higher stiffness of SemiFlex was more proper for distal finger's compliant joint.
The table above shows estimated time for printing each part and material, 3-D printer that I used.
You can download CAD files (Mold.zip, Main.zip) here, also can be seen through Thingiverse
I uploaded here two versions. Left and right hands.
Step 6: 3-D Printer Settings
For detailed information for 3-D printer settings with different material, please check the images above.
Also, I added several images to show the orientation of the parts on the platform for better quality and strength of the 3-D printed parts' structure.
I would like to recommend you to print molds first and then print the main body parts.
While waiting for getting main parts printed, do the silicone casting.
Step 7: Customizing Shaft and Gears
Before moving on to assembly, we need to prepare some shafts for finger joints.
As you can see on the photos, I used Dremel for cutting shaft. It was easy and quick.
Once you start to run the Dremel at the highest speed, the shaft will be getting hot. So grab the shaft using with pliers or clamp. Also, you will see beautiful fireworks! it will make sparky flame so make sure wear protective glasses!
The list below is the length description that we have to make by cutting the shaft.
- 4mm-diameter shaft:
- 19.5mm x 4 (Axes for worm geers on MCP joints)
- 18.8mm x 1 (D-shaped shaft for thumb mount, You should grind the side of shaft, check the photos)
- 34mm x 1 (Flexion/Extension Axis for thumb)
- 9.3mm x 2 (Shaft for worm of flexion/extension & adduction/abduction thumb motors)
- 14mm x 4 (Shaft for worm of the rest 4 fingers)
- 9mm x 4 (Connection between link and MCP joint on the back palm)
- 11mm x 4 (Connection between link and PIP joint of the distal finger)
- 14.5mm x 4 (Connection between distal finger and proximal finger)
OR! For the 2mm-diameter shaft,
** You can just simply use the screw and nut for the shaft. 2mm-diameter shaft can be replaced with M2 screw that have same length or similar and fastening with M2 nut.
The worm gear set that you can get from China should be modified little bit for this specific hand application.
For the wormgear (worm wheel) part:
- Cylinder that has set screw should be removed from 5 worm gears (the rest of one worm gear does not need any modification)
- Among the 5 modified worm gears, 4 of them should have two M1.6 size taps having 7mm distance apart
- Or, you can just make a hole having a 1.5mm diameter and later mounting the gear on the finger with 1.5-dia shaft rather than using M1.6 set screws.
- The rest of one worm gear should have one M3 tap on the side (see the photo above) This gear is for adduction/abduction motion of thumb.
For the worm part:
- All of the worm (6EA) should have M3 tap on near the end tip of it. This is for fixing it on motor.
Step 8: Soft Part: Silicone Mixture and Degassing Process
It is not necessary to go through degassing process for removing tiny air bubbles in silicone mixture, especially for making a soft palm, you can skip the degassing process.
But if you want to try the contact reflex applied with pressure sensors on finger tips, I would like to recommend you to have vacuum pump and vacuum chamber for degassing process. (Details will be described on the next step)
As described on the pictures, the overall process for degassing is like below:
- Prepare latex gloves or vinyl gloves, plastic or paper cup, and chopstick or any stirring rod.
- Choose silicone: Dragonskin-20(for distal fingers and thumb) or Ecoflex-50(for palm)
- Mix part A and B with 1:1 volume(or weight) ratio (But it is okay to estimate with eyes)
- For making two fingers, 1/4 of cup will be enough.
- For making each up and bottom palm, you will need a cup of mixture.
** Pot life of Dragonskin-20 is 25min, and for Ecoflex-50 is 18min, which means you have limited time for going through this whole silicone process. As time goes by, the viscosity of silicone batch will be increased so that it will make you hard to pour the mixture in mold and difficult to remove air bubbles by vacuum pump. So let's do it fast!
Put the cup inside of the vacuum chamber
Close the vacuum chamber valve and turn on the vacuum pump. (Before turning on, check if you have enough vacuum pump oil inside of the pump)
As the vacuum pressure reaches around -25~ -20Hg, the silicone mixture starts to make lots of tiny air bubbles like boiling water.
You can stay that states until there is no visible changes in the mixture (it will depend on the volume of the mixture you made but normally will take about 1~2min.)
Close the vacuum chamber valve and turn off the vacuum pump
Open the chamber valve. You will hear air leaking sound and the air bubbles on the surface will disappear quickly.
When the chamber pressure gauge reaches 0Hg, you will be able to open the chamber cover
Now it's ready to pour in mold!
Step 9: Soft Part: Silicone Casting-Fingers
Unlike with the rigid finger, the soft distal finger made out of silicone allow the hand to adjust its grasp shapes differently depend on the object. The distal finger with silicone has a compliance on the DIP joint (the end joint of fingers) and as you can saw on the video in previous step, it is quite flexible and soft!
- Silicone:DragonSkin-20 (Cure time: 4hrs)
Two pressure sensors are integrated on each of index, middle, and thumb finger, which aligned each other perpendicularly. One on the fingertip is for detecting the normal force of the fingertip, and the other sensor on the bottom of the finger is for detecting the contact force when the finger grab some object.
This step is showing the process for casting silicone for fingers except thumb (will be shown on the next step)
All the parts needed for silicone casting can be also downloaded on Thingiverse
If you want to skip this part, I also attached the rigid version of distal finger STL file ('rigid_distal_finger.STL' )
- Before placing the SemiFlex distal finger bone in the mold, you should fix two pressure sensors as shown on the pictures and make sure fixed firmly. Hot glue is helpful!
- With the prepared DragonSkin-20 mixture, first you should cover the two pressure sensors' holes.
- You can see a tiny hole on the surface of pressure sensor. This hole should be filled with silicone without air bubble in order to get clean and precise data. Inside of the tiny hole, there is a MEMS sensor and the degassing process helps the air trapped in the hole to come out. (You can see detailed principle on this link)
- So! In order to fill the tiny hole, prepare small diameter of wire or sharp needle.
- Soak the needle in the silicone mixture and pull out. You will be able to make a very tiny silicone thread sticking on the tip of needle.
- With the silicone thread, try to fill the hole of sensor with the thread, and cover all the surface of pressure sensors.
- Put the SemiFlex distal finger bone with two pressure sensors, and the cup with silicone mixture in vacuum chamber
- Go through same process as shown in previous step
- Pull out the bone and cup. Put the bone in the mold. You can fix in the mold using the 2mm-dia shafts as shown in the photos above.
- Pouring the silicone in the mold slowly. Do not pouring the larger amount of silicone at once
- Wait for 4hrs to be cured.
- Open the mold and pull out the silicone finger!
- Clean the silicone finger and cut out the unnecessary part as shown on the photo above
Step 10: Soft Part: Silicone Casting-Thumb
- Silicone:DragonSkin-20 (Cure time: 4hrs)
Let's make a thumb! In the finger tip of the thumb, there should be two pressure sensors.
Prepare the printed thumb molds. As like the distal finger molds, the mold for thumb also consists of two parts, and you can fix them together by sliding through the slit on the edge.
Before casting the silicone, you should print the bone structure for the thumb with SemiFlex. This bone is for placing two pressure sensors like the distal fingers.
Also, in the main zip file, you will find the motor dummy stl file ('pololu_motor_dummy.stl'). As you can see on the photos above, the blue part is the motor dummy and this is for making the hollowed space for real motor that will be covered by this silicone thumb structure.
And place the motor dummy part on the thumb motor mount and cover it with SemiFlex thumb bone. (As shown on the photo above)
Hot glue two pressure sensors on the finger tip of the thumb bone.
Go through the same progress for silicone casting with pressure sensors as described on the previous step.
After 4hrs, you will get the soft skin for thumb!
Step 11: Soft Part: Silicone Casting-Plams
Before moving onto the silicone casting, cleaning the holes of every joints in back palm structure will make the assembly process easier. You may see lots of supports and ooze on the surface depending on what 3-D printer model you use. Even tough I designed the CAD model having 0.2~0.3mm tolerance for holes, the results will be varied based on different 3-D printers. For the Ultimaker 2, I found that 0.2mm of tolerance with the 0.1mm of layer height works well.
- Check if all joint holes fit well with the shaft prepared in previous step (Check the size of each hole from the first photo above)
Now let's make the real palm!
- Silicone: EcoFlex-50 (Cure time: 4 hrs)
EcoFlex-50 has less stiffness than DragonSkin-20 used for fingers. I found the texture and softness of EcoFlex-50 is more proper for palm skin. If you want to try different material for your hand structure, there are various types of silicone on Smooth-on site.
After printing the upper and back palm, you don't have to clean all the support structure out from the surface.
- Tip: After removing the raft, leave the support on the 3-D printed part's surface! Just clean a little bit of it around the outer edge of the parts.
These residues of the support is very useful when you want to cover the surface with silicone material. Lots of tiny bumps and rough surfaces makes the silicone absorbed into the gap between those tiny parts so that help it stick more firmly on the surface of the 3-D printed parts.
- Print the 'mold_palm_bottom.stl', 'mold_palm_up.stl', 'palm_up_bone.stl', and 'palm_bottom_bone.stl'
- Prepare the silicone mixture of EcoFlex-50. For each palm, it will require a cup of silicone mixture
- for the palm, degassing process is not necessary but if you want to make the palm skin without air bubbles kept inside of it, yes bring the vacuum chamber and pump.
- Place each bone in proper mold
- Pour the silicone mixture in the mold slowly and make it sure it fills the top surface of the mold
- Wait 4 hrs
- Pull out the bone with cured silicone from the mold!
Step 12: Let's Put Them Together!: Fingers
Okay, we have done all sticky part.
Now let's make 4 fingers.
Sometimes it is really painful to remove all support and raft cleaning the 3-D printed part but it is important in order to make each finger actuated smoothly. So as shown on the photos, let's clean the proximal finger part.
And then place the worm gear machined to have two mounting holes on the proximal finger. Place the 4mm-dia shaft so that fix them together and then fastening the M1.6 set screws through the hole or if you made just through holes, just place the proper size of shafts.
If you did not get a chance to make a mounting holes on the gear, applying the epoxy can be alternative.
With the cured soft distal finger, let's assembly with the proximal finger and link. You need 2mm-dia shaft or M2 size screw and nut.
When you connect those two finger parts, you need plastic sleeve in order to prevent the shaft moving around the rotational axis.
Instead of buying the bunch of plastic sleeves (which we only need for 8), you can just print those plastic sleeves out of SemiFlex. (Check the 'semiflex_sleeve.stl')
As mentioned, you can use M2 screw with nut for PIP joint. (Connection between link and distal finger, and between distal and proximal finger[Orange/Gray part on pictures])
Step 13: Let's Put Them Together!: Thumb
- Solder the encoder on the motor
- Put the worm on motor shaft and fastening with M3 set screw (2mm or 3mm length)
- Snap-fit the motor on the thumb_motor_mount part
- Place the worm gear with the side M3 tap on the up of worm.
- Place the thumb_motor_mount part in the thumb_mount part
- Put the D-shaped 4mm-dia shaft in the thumb_mount part's side hole
- Set screwing the worm gear put on the worm so that the D-shaped shaft does not move around
- Place the worm gear that did not go through any machining on the thumb_mount part as shown on the 5th photo above
- Set screwing with M3 on the side of the worm gear so that it is fixed firmly with the thumb_mount part
- Cover the whole integrated thumb part with silicone skin that made in previous step!
Step 14: Let's Put Them Together!: Fingers + Palm
It is not necessary to have the flange bushing on the MCP joint on back palm. However, the worm and worm gear set generate thrust force when the worm rotates, which makes the worm gear move along the rotational axis. So the bushing can prevent the shaft of the worm gear from slipping out and keep the worm gear in the same plane when it rotates.
You can also 3-D print with Semiflex instead of buying the bushing. (Check the attached '04_bearing_semiflex.stl' file)
- Prepare the rest of motors and encoders (it will be 5)
- Solder the encoder onto the motor
- Fastening the worm on every motors as we did for thumb motor in the previous step
- Place the motors on the palm. You can push it and it will snap-fit with clicking sound.
- Place the bushings on every MCP joints
- Put the fingers on the top of worm and make sure the 4mm-dia holes are fit together well
- Put 3mm-dia shaft on the front hole of the palm so that it goes through the front hall of the worm
- Make 4mm-dia shaft go through the palms MCP joint and the proximal finger's
- Lastly, put the 2mm-dia shaft or M2 screw and nut on the 2mm-dia hole of palm in order to connect the link of finger with the palm
- * Tip: before integrating all fingers on the worm, checking whether the motor with worm and worm gear run together well will prevent further tedious works, which may cause you to do take apart of the hand.
- Even in the video I used the Hand board to turn on all motors run, you could still try to run all the motors with 3~6V power supply directly into the motor or using the battery.
- If the motor is not running well or cause lots of friction between gears, check if the holes in the palm cleaned well, or the alignment of worm and worm gear set.
Step 15: Electronic Part: Let's Build Our Own PCBs
These 3 zip files are for developing PCBs for pressure sensor, EMG electrodes, and hand control(Motor driver).
Those circuit schematics and board files were designed by using EAGLE. Information for PCB fabrication service could be found on the electronic part of the material list.
Below items are the main components necessary for developing those boards. Detailed information of each electric components can be found on the schematic files attached and material list.
- Pressure sensor:
- Micro controller on the hand control board
Teensy 3.1 or 3.2 (1EA)
ADS1298: Multichannel ADC for EMG (1EA)
Step 16: Code: Let's Make It Work!
Let's plug USB into the Teensy board on the hand, and open the Arduino!
All the code you need:
- Hand Microcontroller Code (Motor Control, Contact Reflexes)
- Socket Microcontroller Code (EMG Pattern Recognition)
Electrodes are needed for EMG control and details are described in the material list. As you may find on the video above, those electrodes should be plugged in the EMG board's input channels. Patch on your forearms and leave one electrode for making ground and place it on your elbow. These electrodes and EMG board will be placed on the forearm sockets which should be customized depend on the amputees.
Step 17: Final Integration
The wrist of this hand is designed to be compatible with commercial wrist socket.
In order to assembly with the commercial socket, you will need ½ inch 20 bolt with nut.
Also for this application, the middle of the bolt should be drilled to have about 7~8mm diameter of hole. This hole is for the wires (Power, I2C) from the hand board to the forearm socket.
- Place the head of the bolt in the palm. It will fit with the hexagon-shaped space of the palm.
- Cover the palm with the upper palm. It will snap-fit with bottom palm part
- Mount the wrist holder printed out of SemiFlex on the assembled palm. It will tighten the two palms each other
- Put the palm_wrist_socket_l part and palm_wrist_socket_r part around the wrist holder
- Screw with two M2.5 screws and fastening with nuts through the two holes on the wrist sockets
Or, if you like to build your own arm socket using 3-D scanner as shown on the photos (the red forearm socket is printed with PET filament in Ultimaker 2 Extended) You can follow this way:
- Place the nut inside of the palm instead of the bolt. The hexagon-shaped place is also fitting with the nut
- Close the palm with the upper palm and hold them with wrist holder
- Cover with the palm_wrist_socket parts
- The bolt should be placed on the end tip of the forearm socket part and fixed with epoxy
- After the epoxy is cured you can mount the hand on the arm socket by mounting the hand on the bolt of the socket
- In order to make this as a friction wrist, you can make some piece of rubber go through the bolt. It will keep the hand from rotating more and fixed at desired direction
Step 18: Fit in Arm!
After assembled on the forearm socket, it's fully mobile.
Thanks to the help of David Rotter, prosthesis in Scheck & Siress, we were able to have upper limb socket fit perfect with Garrett.
Ready to go!
Step 19: Let's Run!
Step 20: To the Real World
After building this hand, we headed to Quito, Ecuador where access to affordable prosthetic care has been limited. We wanted to evaluate its effectiveness when being used in typical applications by an actual amputee, and keep trying to follow them to see how the device affect the life of amputees.
The trip to Quito was an international collaboration with the non-profit organization the Range of Motion Project (ROMP). It maintains a locally-staffed, fully-operational prosthetic clinic (Protéus Centro de Prótesis y Órtesis) in Quito.
From March 18th to 26th, we built an another hand for Juan Suquillo, the patients with left upper limb amputations, affiliated with ROMP in Quito. During the 7 days, I was able to print parts for left hand with 3-D printer that ROMP had and integrate all parts. Also, the prosthetic clinic had a vacuum pump equipment for the purpose of strengthening upper/lower limb sockets made out of plaster with carbon fiber and epoxy, so I could use that for degassing air bubbles from silicone fingers.
This international-collaboration project was a so grateful opportunity for us in the area of prosthetic care volunteering with ROMP. By doing experiments not only in the lab environment but also applied to the real world problem, we could see the prosthetic device we built from different perspective finding what the end-users really need and what we should improve.
Still there are some problems we should solve for developing a better device but I believe the motivation and learn from the Quito trip will make this project keep going!
Thank you for enjoy this project! let me know if you find any problems while building your own hand and hear your story !