Motion Controlled Robotic Arm

 by bluebean
Contest WinnerFeatured
*This instructable is not complete, I will post code soon

The Arm:


This instructable shows the process of building a robotic arm using servos, Arduino microprocessor, a gyroscope and multiple bend sensors.

The user wears a glove containing the gyroscope and bend sensors which translate the movement of the users hand into motion of the  servos , in turn rotating the wrist and hand of the robotic arm. 

The forearm has full motion of a human wrist namely: rotation, radial deviation (movement towards the thumb) ,ulnar deviation (movement towards the little finger) ,flexion (tilting towards the palm) and extension (tilting towards the back of the hand).

The Hand also has movement of the fingers, this is limited as a result of the brittle material used.

All movement is provided by the Servos attached to an extension wire or piano wire. Each having different torque depending on its position.

The fingers contain touch sensitive resistors which provide haptic feedback and allow the user to know when the fingers have grasped an object.

 
Remove these adsRemove these ads by Signing Up

Step 1: Design

Attached are pictures of the design using 'google sketchup'.

I found this design of the finger on the net which allows a single servo to provide full motion of curl of a human finger.The design works best when Aluminium is used for the cut outs of the fingers, but as I had perspex available I went with the weaker option which resulted in brittle fingers. 

All the fingers are the same design but a variation of measurements, except for the thumb.  they can be found below:

The designs below are the ones I sent through to a laser cutter here in Johannesburg for about R350 for all cuts and material.
they required the files to be sent in 2d DXF format, so if you alter the design in sketchup, make sure you export it in the correct format.

The rest of the cut outs are made up of wrist and palm sections.
index finger, middle finger, ring finger is roughly the same size.

pinky is slightly smaller than other fingers.

Thumb has different dimentions

keane.mariah says: Mar 6, 2013. 11:42 AM
Im a highschool student attemping this project with my teacher. will you send me the part numbers and the code? this is my back-up email account: catfansey@yahoo.com. Thank you!
bubble trouble says: Mar 4, 2013. 7:30 AM
hello this is my email: joebabayan@hotmail.com
please send me the microcontroller's code plus the circuit diagram if you drew it out
massive thanks
bubble trouble says: Mar 1, 2013. 1:58 PM
can you please post the circuit diagram of the project's circuit and the microcontroller's code?
bluebean (author) in reply to bubble troubleMar 4, 2013. 4:29 AM
Hi, I have posted the code at the end of the instructable as a '.ino' file, if you cant download it i can email it to you. Il have to get back to you on the circuit diagram as i didnt actualy draw one out.
bluebean (author) in reply to bluebeanMar 4, 2013. 4:31 AM
Sorry its a '.txt',
ctwal12 says: Feb 26, 2013. 10:07 AM
Is the gyroscope necessary?
bluebean (author) in reply to ctwal12Mar 4, 2013. 4:25 AM
The gyroscope is what detects the users movement, without it the wrist would not move at all. Alternatives can be used, such as a variable resistor (pot) , on all 3 axis but the glove would be more of a solid structure. In the project the gyro is pretty much the whole point.
ctwal12 says: Feb 13, 2013. 7:42 AM
Did you make the hand on your own or did you buy it from somewhere? And if possible, can you send us a link to a cheap arm which will be good for this project?
bluebean (author) in reply to ctwal12Feb 13, 2013. 8:16 AM
The project took about 1 and a half months. Arduino has its own software , you can download from the website. From my instructable you can see i designed and built the hand completely from scratch, i didnt buy any ready made parts. This is not a simple project so if it is your first i suggest you start with a simpler one.

Ive seen people remove the controls and interface with this one quite easily, and its relatively cheap:

http://www.thinkgeek.com/product/b696/
ctwal12 says: Feb 12, 2013. 3:03 PM
How long did this take you to make and is there a specific program for the codes for the arduino?
ctwal12 says: Feb 8, 2013. 11:20 AM
sorry for the messaging we really have to get our materials together, so if you could send us a link to the 20 and 2 kg torque servos. Please answer back soon we are in a hurry.
bluebean (author) in reply to ctwal12Feb 9, 2013. 10:56 AM
This is where the 45kg servo is:

http://www.robotshop.com/gws-servo-en.html

go back a page and look at the other servos, as I said, theres no need for 20kg-torque , anything above 10kg is more than enough, for the fingers micro servos of 1.6kg is even ok.

This is where I got 20kg ones from for another project:

http://robotics.org.za/index.php?route=product/product&path=64_214&product_id=138

they are not the best quality or accuracy.
ctwal12 says: Feb 8, 2013. 10:20 AM
Is there any way to use the arm wirelessly via bluetooth modules?
bluebean (author) in reply to ctwal12Feb 9, 2013. 10:49 AM
there is, look at the bluetooth shield for arduino, also look at RF communication. I havnt used the bluetooth modules so I dont know much about it.
ctwal12 says: Feb 8, 2013. 10:17 AM
How long did this take you to make and is there a specific program for the codes for the arduino?
ctwal12 says: Feb 2, 2013. 4:41 PM
thanks again if we need anymore help will contact you
ctwal12 says: Jan 31, 2013. 3:54 PM
Hi again bluebean, we could not find some of the materials on your materials list, it would be a huge help if you could send us links or tell us where you bought some of your materials. Ill leave a list below if you can please tell us as many of the places where you bought these items :


1.) BreadBoard

2.) 20kg-cm torque Servos for wrist movement

3.) 2kg-cm torque Servos for fingers

4.) 40kg-cm torque servo for elbow and shoulder x1 or x3

5.) Force/Touch sensors

6.) Bend sensors/Resistors

7.) connector pins

Thanks in Advanced
bluebean (author) in reply to ctwal12Jan 31, 2013. 10:24 PM
Hi, i got most the materials from www.robotshop.com, touch sensors, force sensors, servos and gyroscopes. But most of it you can get off ebay for cheaper, as all of this was quite expensive, theres even an instructable on how to build your own bend sensors. A breadboard you can get from any hobby/circuit shop. The wrist servos dont need to be 20kg, they can be 10kg torque. I also didnt land up building the elbow (the servos were continuosly out of stock) so the 40kg-cm servo wasnt neccesary.
ctwal12 says: Jan 22, 2013. 9:56 AM
ok thank you ill keep in touch if you ant we can send it to your email if you give it to us. anyway thanks
ctwal12 says: Jan 15, 2013. 5:40 PM
Dear bluebean, what are the codes for and how do you use them for the glove. WE are trying to use this idea for a project and it would really help if you reply as soon as possible. Thanks for everything!
bluebean (author) in reply to ctwal12Jan 22, 2013. 8:14 AM
At the end of the instructable there is a .txt file containing some code for the Arduino, you can use it and edit it as you please. It contains the servo controls and the gyroscope and bend resistor feedback. Is your question directed at how do you set it up in the Arduino invironment? please send me your project updates as im interested in how it turns out.
Mateo_ says: Nov 15, 2012. 10:27 AM
This is amazing, I'd like to make one but I'm having trouble downloading the .dxf. Could you send it to me please at mateo.galceran@gmail.com.
bluebean (author) in reply to Mateo_Nov 29, 2012. 6:40 AM
hey, sorry for the late response, will email it to you as soon as I get a chance. If you can I recommend downloading the sketchup file instead , and generating a 2d dxf from that, that way you can edit the shapes a bit since they were slightly off in measurement because the (3d) pieces wernt lying completely flat in sketchup.
bkiierstead says: Oct 15, 2012. 11:42 AM
Have you uploaded the finger control yet? By the way this is awesome, great job.
bluebean (author) in reply to bkiiersteadOct 15, 2012. 12:30 PM
Thanks, I uploaded the finger code now just for you :p . The full code with filtering is there aswell (on the final step) . I had to uploaded it as a txt, just copy and paste in into an arduino sketch. Try improve the code if you can. Gud luck
bkiierstead in reply to bluebeanOct 15, 2012. 1:24 PM
Thanks a bunch, can the hand throw or crush things by any chance?
bluebean (author) in reply to bkiiersteadOct 15, 2012. 2:27 PM
I guess in order to throw an object the arm would require an elbow as well. The wrist motion (depending on your servo torque and 0->180' speed) would probably send an object in the air, but not very far.

Crushing force would depend on torque/ strength of the servos in the fingers as well as the material of the structure in which the hand is built . The small servos I purchased are cheap and the gears are made of plastic. The fingers themselves are cut from perspex which is quite brittle. Therefore the hand itself could not crush much more then a piece of cardboard, but if the hand were to be made out of aluminium; the servos to be high torque with metal gears, I rate the crushing power can easily crush a can.

Im not sure exactly what force crushes a can, but remember, in the hand you have 5 servos, so if a high torque servo is used for each finger such as 20kg-nm, that would be 5x the torque.(neglecting the length of the fingers)

hope this helps.
09153026 says: Oct 10, 2012. 4:27 PM
hey how are i made something similar but my flex sensor got broken because to connect them you would had to solder them the cables so my question is where did you bought your? i see that they have the cables already. if you could reply to my email it would good of you. : deltony025@gmail.com
thank you .
also if you could share some detail for the legs.
thank you once again.
bluebean (author) in reply to 09153026Oct 10, 2012. 9:27 PM
Hi,

I got the bend sensors from robotshop.com. They wernt cheap, like $10 each , so if you worried about messing them you can try and make your own. Theres an instructable on it, basicaly its just a voltage divider.

If you are interested in the legs, go to my profile and look at the instructable on them, its called "Arduino Biped".

Enjoy
Rileysurma says: Sep 18, 2012. 5:19 PM
hey good design but i was wondering how i could make the connection between the arduino mega and the bend sensor wireless do you know what to do?
bluebean (author) in reply to RileysurmaSep 19, 2012. 3:33 PM
Hi, I know arduino has a wireless shield (http://arduino.cc/en/Main/ArduinoWirelessShield) but i think that might be between the arduino and the pc. Perhaps there is a way to do it over bluetooth xbee or wifi, but the only wireless communication ive dealt with is radio transmitter and receiver chips, but that was used for a toggle function, since there was 1 signal being sent, (High or low) whereas in the case of the bend sensors you will need 5 varying signals. Heres an example of what i mean : http://www.glacialwanderer.com/hobbyrobotics/?p=291

simmarkalsi says: Aug 20, 2012. 7:48 AM
wow man this is soooo coool i wad thinking of making earlier but this helped me a lot thnxxx
secretpower says: Aug 19, 2012. 10:43 AM
WOW this is crazy!
bluebean (author) in reply to secretpowerAug 19, 2012. 11:11 AM
haha, im glad you like it!
Pro

Get More Out of Instructables

Already have an Account?

close

PDF Downloads
As a Pro member, you will gain access to download any Instructable in the PDF format. You also have the ability to customize your PDF download.

Upgrade to Pro today!