Instructables
Picture of Wirelessly Controlled Robotic Hand

This is my school project for the 5th year of high school (I'm Italian, we have 5 years of high school).

It consists in an artificial hand controlled by a glove with flex sensors. The artificial hand reproduces the movements of the hand with the control glove, wirelessly. The hand and the glove works both with Arduino.

I just wanted to share my work for everyone interested :)

This guide is still in development, sorry if some parts are not clear, I'll put some 3D images in future.

I'm sharing something about my project on my facebook page: https://www.facebook.com/Gabry295

 
Remove these adsRemove these ads by Signing Up

Step 1: Materials needed

Picture of Materials needed
flexsensor1.jpg
Arduino_Uno_Angle.jpg
0002228.jpg

I bought almost everything from https://www.sparkfun.com/, they have fair prices (I don't mean to advertise!)

Total cost: ABOUT 160$

The materials needed for the control glove are:

  • an elastic glove;
  • LilyPad Arduino board (there are different versions, which usually only have 4 analog inputs, so pay attention and buy the one in the image): it works exactly like the classic Arduino UNO, so you can use even an Arduino Nano, but pay attention to the voltage needed;
  • XBee module: for the radio communication;
  • Shield to connect the Xbee module;
  • 5 Flex sensors;
  • 5 resistors: 47 KΩ;
  • battery pack with 3x1.5 V batteries (Lilypad can be powered from 2.7 to 5.5 V, so 4.5 V it's ok);
  • LilyPad FTDI adapter: to connect the LilyPad board to the PC and load programs with the Arduino IDE (quite optional, because you can use also the Arduino UNO board removing the ATmega chip, but it's tricky to make this kind of connection every time).

-

The materials needed for the robotic hand are:

  • a steel structure for the palm of the hand and wood for the fingers;
  • Arduino UNO board;
  • XBee module;
  • 5 servomotors 5V powered (I used TowerPro SG90);
  • a servomotor shield for Arduino UNO: to connect the servomotors I used the Robot_Shield from FuturaElettronica, which has also a switching regulator to power the entire circuit, but you can use any shield made for controlling servomotors. Link: https://store.open-electronics.org/index.php?_route_=Robot%20shield%20for%20Arduino;
  • Shield to connect the XBee module (I made an horrible one, but it's economic and I needed to make one small because of the size of the Robot_Shield);
  • fishing wires;
  • fihing sinkers (to secure the fishing wire);
  • 9 V Battery.

-

Tools needed:

  • angle grinder (mainly to cut wood and steel);
  • axial grinder;
  • welding machine (with electrodes);
  • drill;
  • soldering station and solder;
  • electrician's scissors;
  • pliers;
  • heat shrink tubing.
1-40 of 130Next »

Hello Gabry, how are you? I hope fine... I was testing the the robotic hand and sometimes the incoming value from the servos goes to 255. I jump them exactly the same as you did using "if"...but it still not working...Did you have this kind of problem as well?

Ciao!
Dal link di futura elettronica credo tu sia italiano ahahah
Comunque, a quanto ammonta la spesa in euro??

what is another servomotor shield than Robot_Shield from FuturaElettronica?.. its difficult in my country to find this robot shield.

could i using this shield?.

http://www.adafruit.com/product/1411

http://www.dfrobot.com/wiki/index.php?title=Arduin...

Gabry295 (author)  psycho.maggot25 days ago

I think those are ok, but pay attention to the pins used, because pins 0 and 1 (Rx and Tx) are necessary to use the XBee module, and if those shields need pins 0 and 1 to control the motors it interfere with the transmission of datas by XBees... Unfortunately it's a limitation of Arduino, but if you take a look to the datasheets or ask distributors for informations, you can check if those two pins are used or not. I couldn't manage to find by the datasheet if pins 0 and 1 are not used :/

thanks for replying me, did the Robot_Shield from FuturaElettronica have a clone?.. like DFRduino Uno R3 was clone of Arduino uno..

Gabry295 (author)  psycho.maggot23 days ago

I didn't find any clone on the Internet... You can try to make the same circuit from the Robot_Shield guide here:

https://www.futurashop.it/Allegato_PDF_IT/8190-ROB...

I know it's in Italian, but I think the pictures of the circuit and the values of the components are enough to make the same circuit.

If you think that's too complicated then I suggest one of those shield you showed me.

Last thing, if you really want to save money you can make a circuit only with connections for the servos. The important part of the Robot_Shield is the switching regulator, which manage better the power source than the linear adapter inside Arduino UNO, so batteries can last longer. But it need other components to work properly, so you can try to re-make it as I said before, or else make a circuit without the regulator, it's very simple, but not so efficient: one single line for 5V, one for the GND, and the other for the signal which are separated. I don't have much time at the moment, but if you are more interested in this solution than the other I can try to make this circuit.

sent the circuit to this skype.jo13@gmaildotcom

thank you, i'm gladly reading your explanations, and its more cheaper by making that by hand rather than buying, ok sent me the circuit.

mhutomop18 days ago

Hi, awesome project! But i don't get it, when my hand is opened, it will give '180' to the servos right? So, the robotic hand will be closed, but it is supposed to be opened right?

So you are using to xbee module right?,, one for reciever and other for transmitter.. oh ya is this right xbee module that you use?. open the web,

http://www.geraicerdas.com/index.php/belanja-onlin...

Gabry295 (author)  psycho.maggot26 days ago

That's right! I used the trace antenna version

but you are using 2 trace antenna version right?

it was a great effort that you have put in this project but i want to know that what are the wide spread applications of this wireless hand apart from that you showed in the video?

do reply pls!!

Gabry295 (author)  tusharsachdeva1 month ago

My main goal was to make something near the prosthetic field, with robotics applied :)

What I made is just a "prototype", since that you need a glove to control the robotic hand and not other type of sensors like myoelectric sensor.

I also thought about the realization of robots similar to human, or machines that can use human tools.

i've idea, could this prototype applying in laboratorium such as nuclear lab, so the human hand what cannot touch due to the high radiation can be touching the high radiation things in lab. are you agree with this?. oh yah almost forgot, in, could this prototype used to help in medical equipment?.. reply please.

Gabry295 (author)  psycho.maggot26 days ago

I think it could be possible, but I don't know if radiations could make interferences between the XBee radio modules.

Probably better for medical equipment, but you'd need sure something more precise in movements :)

thank you for replying me, i want to build this one. but i still confuse for the purpose, you right it is better for medical equipment because more helping people out there, specially in my country.

mason101983 months ago

This this is awesome! I'm planning on starting on one myself but I just don't have the time or resources to make the actual 'hand' part. Are there any places I can get one already made? 3d printed maybe? If you could point me to a site that would be great! Thanks!

seems this one will help you.

http://www.instructables.com/id/Voice-Controlled-P...

the maker using 3D printed object.

Gabry295 (author)  mason101983 months ago

Hi mason, at the moment I don't have enough experience in the world of the 3D printing, I can only suggest you to search about "3D printed hand" and see what interest you more.

Searching on google I found some sites:

http://www.openhandproject.org/downloads.php

http://www.thingiverse.com/thing:18939

http://www.thingiverse.com/thing:287638

I hope you will find a way :)

I have good news and bad news!!! The good news is that the codes seem to be working. I hooked up my glove to the arduino serial monitor and ran the test code you posted Gabry for Mason, and all of the values changed accordingly. The Hand also showed that it was recieving information. However, i still had issues with communication......or so i thought. I noticed that when i had the arduino uno and robot shield(the same one as yours) powered up with USB the servos acted better than when i hooked them up to the 9v battery. So i took off 4 of the 5 servos from the Robot shield and just like magic, the servo operated beautifully when i moved my thumb. As i added servos they started acting really strange and performing on their own. i was able to get three of the 5 servos to work. (when i say work, i mean operate with thumb, index, and middle finger as it's supposed to). But i had the Arduino Uno powered by a power supply at 5.5v and 2.5amps. It appears that i might be having a current issue. or perhaps some servos that are drawing too much current. The Power supply would act like it had a short in the circuit when i added more and more servos. I am really wondering if the servos are junk. Im gonna do some meter testing on the terminals of the robot shield and keep you posted. Do you mind sharing Gabry what kind of servos you used? While doing some testing with a power supply i seemed to have burned up two of the servos i bought.

Gabry295 (author)  tiguety.potter1 month ago

Hi, I had your problem with the servos too, because I expect to get the Arduino woriking with the 5 servos and only with the 5V of my PC, and it worked only with one servo. Then I tried with a 12V power supply (by the 12V jack in the Arduino UNO) and the servos moved perfectly. Since I wanted to make the hand working only by batteries I tried different solutions, for example with 4 AAA battery (4 x 1.5V) and in the end I found out that with a 9V battery everything worked perfectly. I don't know, but if you power the Arduino board with the 9V battery by its jack (so the Arduino circuit convert itself that voltage to 5V) probably it can get less energy than by powering 9V to the robot shield (as I've done).

I used TowerPro SG90 servomotors, bought from eBay.

In conclusion, if you don't have the robot shield that I used and you only power the Arduino board by its jack, try to power with 12V. As soon as possible I'll check how much current requires my servos when everything's working.

gotcha, I'm gonna field test a lil tonight and let you know my results. I think that my servos I'm using are requiring more current than a 9v can generate. I might change them or figure out the current issue and possibly have 2 power supplies
Gabry295 (author)  tiguety.potter1 month ago

Another thing! Not all 9V batteries are appropriate for this project: I used "Duracell ultra power" but also a normal type Energizer battery and both work properly. I remember that I tried to use a 9V battery of a different type, I think it was a "Kodak", and it couldn't give enough power like the 9V battery I used before, just like you say. Which kind of 9V battery are you using?

seems like the servos need more power to operate perfectly.

ok, here's what I have found. I connected an oscilloscope to the servo signal output pin on the robot shield. I then measured each finger's pulse width when opening and closing my fingers. The thumb, index, middle, and ring finger all seem to work and respond beautifully, the pinky finger had a pulse that was very sporatic. basically like short to long pulse. Could this be a delay issue/adjustment within the code?
In all result the servos are my definite issue involving power/current. I have a high torque metal gear servos that are just burying the current load. I hooked up a 12v power supply to get 3 servos to turn and it still had issues. I have ordered the towerpro you suggested. I'll fill you in and even post a few pics :)
Jake_ray1 month ago

I want to make this what shield did u use all three for that matter the one for the glove and the two for the robotic hand

Gabry295 (author)  Jake_ray1 month ago

Hi, I leave here the links for the shields I used:

Glove:

Lilypad Xbee Shield (the XBee module it's not included): http://www.sparkfun.com/products/12921

Hand:

Robot_Shield to control the servos (else try searching on Google): https://www.futurashop.it/index.php?route=product/...

For the other shield with the XBee module on the hand you can find the explanation at the 4th page.

Hope this will help you!

Thank you ordering parts as we Speek hope to build it soon thank you
mason101981 month ago

I think I fixed it!! Turns out, they DID send me 4 bad flex sensors. all I had to do was go over the solder pad with some conductive ink, and it works perfectly! I have to get the glove put back together now. I will post my results!

20141114_222409.jpg20141114_222424.jpg
Gabry295 (author)  mason101981 month ago

That's really nice!!! I'll wait for your results! :D

Can you upload the basic block diagram of overall project ?

mason101982 months ago

Hello Gabry. I have a problem. I can't get a connection between my XBees. I made all the connections the same as yours. I also uploaded the code to both arduinos before connecting the RX and TX pins, however when I plug everything in and turn them on, the connection lights on the Arduino Uno are good, but the connection light on the LilyPad stays on for only a second or two, and bending the flex sensors doesn't do anything. I have checked my connections multiple times, and I'm sure its just because I'm not experienced with XBees, but could I get some help? Thank you!

Some of my connections are not shown in the pictures because I took them earlier, but you get the idea. I have the same connections you do. I just organized some of them on a PCB.

IMG_0212.JPGIMG_0213.JPGIMG_0214.JPGIMG_0210.JPGIMG_0206.JPGIMG_0211.JPG
Gabry295 (author)  mason101982 months ago

Hi, did you use the Series 1 XBee? Did you change something via software in the XBee module? Did you use 9600 baud rate for Seria.begin in the code?

I'm sorry but I can't understand from the pictures if you made any mistake in the connections, because I think that the problem you have is caused by something in the circuit.

At the moment I don't know others solutions, could you eventually take a video?

I am using a series 1 Xbee from Sparkfun. https://www.sparkfun.com/products/11215

I did not change anything in the code. I will take pictures and possibly a video as soon as I can. For the LilyPad XBee, I have the RX connected to the TX and vise versa. For the Arduino Uno, I am using a Seeed XBee shield with the same pin selection shown in the picture on the below website.

http://www.seeedstudio.com/wiki/XBee_Shield_V2.0

As I said, when both Arduinos are powered on, the connections lights on the Arduino Uno's XBee shield are good, and stay good as long as both Arduino's are powered, but the connection light on the LilyPad XBee only stays on for about two seconds or so.

Also, I just want to make sure you know that I have not changed anything having to do with software or code on either the Arduinos or the XBees. I am using the Xbees as they came, and I simply downloaded your codes and uploaded them. Thank you!

Gabry295 (author)  mason101982 months ago

I really don't understand what's the cause of your problem, I'm sorry :/

Try to do some test with the LilyPad using some LEDs, even a PWM just to try if only that board works properly... Because I'm quite sure that the problem with the light on the LilyPad isn't a software mistake. Your problem is only on the XBee side of the glove circuit or also the LilyPad? I could be stupid for you but you may put in the wrong way the XBee on its shield (sometimes I make this mistake and put the XBee module inversely).

I can assure you, the XBee modules are both placed in the correct orientation. They are matched with the guiding marks on the PCBs.

I have tested and confirmed that the Arduino boards both function properly. I do not know about the XBees however, because I do not know how to use them. Is there something that needs to be configured on the XBees? Like I said, I'm just using them as they came.

The only thing I can think of, is that the problem is either the selector pins on the XBee shield of the Arduino Uno (I have attached pictures), or there is something either in the code or in the XBees that needs to be changed. Unfortunately, I do not know how to either of these things.

I have attached a link to a video of me trying to use the project, and the problem occurring. (the video plays best if you just click "download" at the top and watch it after downloading it, because dropbox does not play videos well).

https://www.dropbox.com/s/2379lky1zhi40nb/20141014...

IMG_0237.JPGIMG_0236.JPGIMG_0235.JPGIMG_0233.JPGIMG_0232.JPGIMG_0231.JPGIMG_0230.JPGIMG_0229.JPG
Gabry295 (author)  mason101982 months ago

Firts thing: I really like your glove :D

Anyway, now I'm quite sure that it's a software problem :/ because it's the transmission LED of the XBee LilyPad shield that goes off, and I had something like this problem too...

Try to change the programs and in the glove remove the line:

Serial.write("<");

and in the hand remove:

startPackage = Serial.read();

and this part:

if(startPackage == '<'){

(remember the closing brace)

Tell me if at least the transmission LED stay powered

Please tell me if this is how you want me to change the code:

hand: https://codebender.cc/sketch:45980

glove: https://codebender.cc/sketch:53721

1-40 of 130Next »