loading

DIY Robotic Hand Controlled by a Glove and Arduino

FeaturedContest Winner
Picture of DIY Robotic Hand Controlled by a Glove and Arduino
This project idea came to me when I was sitting on a bed on a hotel room on vacation. I thought: "It'd be really neat to have a robotic hand that I can control with my own hand!" Upon returning home, I embarked upon a journey to design and create the project. I hope you enjoy!

The basic components of the hand and glove are the hand itself, the servos, the Arduino, the glove, and the flex sensors. The glove is mounted with flex sensors: variable resistors that change their value when bent. They're attached to one side of a voltage divider with resistors of a constant value on the other side. The Arduino reads the voltage change when the sensors are bent, and triggers the servos to move a proportional amount. The servos pull strings that act as tendons, allowing the fingers to move. Here's a video of it in action (http://m.youtube.com/watch?v=qMtHEOxHDGo): 

The hand itself comes from an open-source, 3D-printable download. It's part of a project called InMoov: http://inmoov.blogspot.com (http://www.inmoov.fr)

This guide will show you all the steps required to build your own robotic hand and control glove!
 
Remove these adsRemove these ads by Signing Up

Step 1: Gather the Materials

Picture of Gather the Materials
IMG_2746.jpg
In total, this project will cost about $100-150, depending on where you get some of the parts. Here's the parts list:

5x MG946R Servos (or equivalent - MG995 or MG996 should work too. I've had a bit of trouble with the range of motion, so servos that support more degrees of rotation would be better) - I got mine from hobbyking.com, but for a less expensive option I'd go with eBay (they come directly from China, so shipping may take longer).

5x 4.5 inch flex sensors - I got mine here: http://microcontrollershop.com/product_info.php?products_id=3802
1x Arduino Uno or equivalent (they're also much cheaper on eBay)
5x 22k resistors
1x 6.0-7.2V battery (for the servos) - I used this: http://www.all-battery.com/Tenergy7.2V3000mAhRCCarNiMHBatteryPackwithCharger-91103.aspx

1x small breadboard
1x battery connector - something like this: http://www.radioshack.com/product/index.jsp?productId=2103292
Breadboard jumpers/hookup wire
1x small blank PCB - I used something like this, only square: http://www.radioshack.com/product/index.jsp?productId=12516741

1x right hand glove (should be sturdy and fit well)
1x 8mm diameter 55mm long bolt
1x 8mm diameter 60mm long bolt
1x 8mm diameter 80mm long bolt
14x 3mm diameter about 20mm long screws
20x 4mm diameter screws (any length between 7mm and 30mm is fine)
Approx. 5 meters of string (should have a high-ish breaking strength) - I used this: http://www.amazon.com/gp/product/B004YWKPCS/ref=oh_details_o01_s00_i00?ie=UTF8&psc=1

Hot glue
Super glue
Sandpaper (I used 431 grit) - a Dremel tool with a sanding head would also work
Needle and thread

A power drill
A soldering iron
Access to a 3D printer

...And you're ready to start!
1-40 of 190Next »
bigshf1 year ago
This is awesome! You really gave me motive enough to study the whole Arduino technology. Thanks a lot mate and .. Congratulations!
Raphango1 year ago
Pretty wow dude!
Congratulations!
Could you please help me.
I've completed the project and inserted the program provided. BUT i Cant get some of the fingers to move in the right direction. When i flex my finger, the mechanical finger relaxes. How do i correct this problem
dschurman (author)  Shalom_peace5 days ago
Have you checked the polarity of all your connections?
What kind of code does the Arduino use, I'm interested in working with them but need to learn the coding but Im not sure what it is I think its called C++
c_han12 days ago

Hey, thanks for the awesome step-by-step tutorial! I have nearly finished the project, but when I plug in my batteries to the breadboard, my digital servos keep chattering. I have been looking up solutions online, but I haven't been able to come to a conclusion to what exactly is causing the chattering to occur.

Also, what is the best way to connect the batteries to the breadboard via jumper wires? I need 2 pairs of hands because there is no secure way for me to put my hand in the glove as well as keeping the jumper wires on the leads of the battery. Thanks!

dschurman (author)  c_han12 days ago
The chattering might be caused by slight variations in the analog input from the sensors, i.e. a tiny variation causes the servo to move a tiny bit. Maybe a way to fix this is increase the input step threshold for movement? What I mean by this is make the servos require a stronger input signal from the sensors to move. Normally, the sensor input ranges from 0 to 1023 (I think, or something like that), so a variation of just one "step," like from 600 to 601, would cause the servo to move slightly. By making the servo move every three steps, or something, you might be able to reduce the chattering.

Also, I just found a battery connector that was similar to the battery's leads at radioshack and used that. Not perfect, but works without you having to hold it in place. Hope this helps.
Gcappelli24 days ago
This was awesome. I finally completed it and it really gave me knowledge of the arduino system thanks. And congrats
dschurman (author)  Gcappelli24 days ago
Great! I'm happy to hear that, and good luck on future projects!
Dkdude981 month ago

On the flex sensor, which one is the analog and which one is the ground? In your schematic, it seems like the flex sensor is a mirrored version of mine.

dschurman (author)  Dkdude9827 days ago
On the sensor itself? I'm pretty sure it doesn't matter, since the sensors are just variable resistors
Gcappelli27 days ago
Is it specific where the wires have to be connected on the breadboard or does it only matter if they are positive and negative
dschurman (author)  Gcappelli27 days ago
Just make sure the positive and negative are right, yes.
Dkdude981 month ago
How do you connect the battery connector to the battery? It seems like if you did connect it, it would create a short.
dschurman (author)  Dkdude981 month ago
The battery connecter I had wasn't exactly the right size, so I pretty much just used two wires and always made sure the polarity was right
Gcappelli1 month ago
Where does the battery go?
dschurman (author)  Gcappelli1 month ago
The battery connects to two of the rails on the edge of the breadboard
Hi..your project is wonderful...have to say.
And i cant see how the wiring between the fingers and the servos is made ..where does all these wire go and attach to the finger? To the end of each finger?please explain sir
dschurman (author)  Harrylorence1 month ago
In steps 3 and 6, there are diagrams of the wiring. What do you mean to the end of each finger?
Gcappelli1 month ago
Where does the breadboard attach to the arduino
dschurman (author)  Gcappelli1 month ago
The code is attached to step 6. Connect the orange servo wires to pins 3, 5, 6, 9, and 10, and connect the breadboard's ground to the ground of the arduino.
Thanks
Gcappelli1 month ago
Question. Can anyone give me the code for this project for the arduino so that I can copy and paste it onto my arduino and then run it. That would by helpful, thanks
dschurman (author)  Gcappelli1 month ago
A file containing the code is attached to one of the steps. It's called "hand.rtf"
Thanks I only need to know now the exact locations where to put the wires that are coming from the servos onto the arduino. Which in step 6 are the orange wires
Gcappelli1 month ago
What are the exact locations of where to put the wires that are coming from the servos onto the arduino, which in step 6 are the orange ones
Gcappelli1 month ago
It also says that the program for the arduino is attached but I don't see it
HarigovindM1 month ago

Hi,

First of all let me thank you for such a great set of instructions.

I had a few doubts that I am sure you could help me with,

1. You have made use of 5 flex sensors to control each finger. Will I be able to get the same control that you got for the fingers if i use one of the flex sensors in the upper part of my palm to control the entire wrist area ie five fingers and my palm(wrist) using 6 flex sensors in total.

2. Will I need a powerful stepper motor like the one you have used (15Kg cm) or will a smaller one with less torque (1.8Kg Cm) will do the same function. In one of the comments (BOCA Bearing) I found he had used a 1.8Kg Cm but did not get as much flexibility like the one you had used. But the smaller torque motor is very light weight compared to the one you had used.

Do give me your opinion on the above two queries.

dschurman (author)  HarigovindM1 month ago
1. If you use an additional flex sensor but still keep the 5 for the individual fingers, I don't think you'd lose any control.

2. You might be lacking a little torque, but if you don't mind giving up some flexibility, go for it. I haven't personally tested low torque motors, so I can't say from experience, but what BOCA said seems reasonable. Just make sure the dimensions are the same so they'll fit in the servo bed (or you could make your own)
JaviB1 made it!1 month ago

Hi! thank you for this guide!. That help me a lot i made with STM32NUCLEOF401RE and a pair of xbee to control it. :D

Archivo 29-5-15 17 37 34.jpegArchivo 11-6-15 10 23 49.jpeg
zapya1 month ago

we are undertaking a electrical prosthetic palm for our project. Could you kindly send us the circuit details , specifications to the mail id abhijeettandur@gmail.com

bocabearing made it!1 month ago

Hello

I completed this project but with two XBees. I found another instructable that used a similar method with the glove but wirelessly. That other instructable can be found at:

http://www.instructables.com/id/Wireless-Controlled-Robotic-Hand/

I had some trouble using the code from the other instructable so I decided to use this code along with the how data is being transmitted through XBees from the other instructable's code.

You can see how the project was carried out as well as videos of my project at the following link:

http://www.google.com/url?q=http%3A%2F%2Fbocabearingsworkshop.blogspot.com%2Fsearch%2Flabel%2F3D%2520Printed%2520Robotic%2520Hand&sa=D&sntz=1&usg=AFQjCNEjoGp7oconXGogKnPxpbA635eTWQ

Gerardo

IMAG1898.jpgIMAG1945.jpgIMAG1957.jpgIMAG1991.jpgIMAG1992.jpgIMAG1997.jpg
7dp3331 month ago

Hey, so when I connect the battery to the breadboard the wires start melting/overheating. Do I need to use stronger wires or something? I've double checked and there aren't any +/- crossovers.

dschurman (author)  7dp3331 month ago
Maybe you do need thicker wires, I'm not sure. Most batteries come with built-in current limiting capabilities, so I've never had that problem before

Okay I'll try that. It's only the two wires connected to the battery that are overheating/melting. Thank you!

7dp3331 month ago

This is a great instructable. Hopefully I'm very close to finishing this! Thank you for posting this!

I have written only the hand.rtf programme , do i need to write all the programmes like(roboservobed.stl).?

anson.wing2 months ago

Great instructable, building this now! One question, is it possible to use a 7.2 power supply instead of a battery without any issue?

dschurman (author)  anson.wing2 months ago
It shouldn't be a problem as long as the supply can provide a decent amount of current - that's why the Arduino's built-in power supply doesn't work, it's capped at 250 mA or so.

Sounds good thanks! I ended up ordering http://www.amazon.com/gp/product/B00MP4FR1G/ref=oh_aui_detailpage_o01_s00?ie=UTF8&psc=1 and I'll cut the connector off. I hope it does the job!

1-40 of 190Next »