Introduction: Arduino Robotic Hand With Haptic Feedback
This year for science fair, I did an engineering project with the goal of creating a system to provide haptic feedback from a robotic hand. The robotic hand is controlled by flex resistors on a glove worn on someone's hand, and an Arduino converts finger positions on the glove to finger positions on the robotic hand. Each of the fingertips of the robotic hand have their own force sensitive resistors(FSR) to gather information about pressure at each fingertip, and another Arduino converts the pressures to pulses for vibrator motors located on the fingers of the control gloves. I used two separate Arduinos since they only have 6 analog inputs each, and I needed 8. It also helped simplify the code a bit, since I used one Arduino for controlling the finger positions and the other for controlling the motor pulses. Also, I already had the two Arduinos, so I used them instead of buying an Arduino Mega or multiplexers. Anyway, the pressure readings are taken once every second, and the motors are on for a portion of each second depending on the pressure measurements. This means that the system is only accurate for a little bit each second, but the measurement intervals could easily be changed in the code.
For the robotic hand, I sketched up a basic design in Autodesk and used the assembler feature to play around with and fine tune some of the finger measurements. Once I had my design ready, I took it to my local hackerspace and got all of the parts laser cut out of an acrylic sheet that was about 5mm in thickness. I bolted all of the finger parts together. As for attaching the fingers to the palm, I scratched the areas where the acrylic overlapped and glued the parts together. The glue worked fine, but if I build another hand, they will be bolted on. There were also a few issues with the placement of holes on the finger segments, but a bit of glue helped anchor the bolts down. To avoid this problem on later designs, I will use smaller bolts and try to cut out as much overlapping material as possible.
For wiring everything together, I found stripped CAT-5 cable rather convenient. It is a little stiff, but it comes out as pre-twisted pairs of wire.
Also, there are only four fingers on the hand since there was only room for four servos on the palm area. To get a thumb in future designs, I will either move one of the robotic fingers to the side and move the sensors around on the glove, or just buy some smaller servos to make everything fit.
In all, the project turned out well and provided a great starting point for future projects. I will eventually come back to this project, and when I do, I will definitely turn it into a step-by-step Instructable.