2. Methods

First, we sketched out the different parts required of the entire robotic claw and what materials they would be made up of. We concluded that we wanted the entire body to be made from acrylic while the claw to be 3D printed. Based on the parts, we planned out reasonable measurements and converted the parts to be made out of acrylic to an online software called Adobe Illustrator CC 2014. We converted the parts to be 3D printed into an online software called AUTODESK 123D Design.         
Based on various resources, we decided that our robotic claw were to have 5 servo motors namely HITEC HS-815BB for the rotation of the base, HITEC HS-311 for the rotation of the wrist, 2 servo Tower pro 646WP for the articulation of the arms and HITEC HS-5070MH for the claws. We purchased two of each motor in case one is faulty or gets short circuited. We placed our orders at an online store called Servo City.
When the motors arrived, we jotted down their measurements and referred them back to the measurements we came up with for the acrylic parts to ensure that each motor could fit the robotic claw once assembled.
Once the measurements for the acrylic parts were finalized, we modified the online documents consisting of the measurements and sent them to an online store called Acrylic.sg to be cut. The measurements for the claw were converted to an STL file and then we used a software called Cura to layout the required parts to be 3D printed and sent them to the staff in charge of 3D printing items.
Whilst the materials were being cut-out or 3D printed, we worked on coding the arduino and the circuiting.
We then obtained 5 potentiometers to control the current flow of the 5 servo motors, a breadboard, 80 male wires, standard USB printer cable, AC adapter (5V, 5.0A), AC/DC Adapter (9V, 1A) and an arduino UNO. With reference to various resources, we managed to connect the circuit with the 5 servo motors. We connected to circuit to a power source and turned each potentiometer one by one to test whether they control individual motors.
When the acrylic and 3D printed parts have arrived, we drilled holes where appropriate and screwed the motors onto the parts. We made further amendments by cutting slits on the base to allow the wires to pass through from the breadboard to the motors above.
After assembling the entire robotic claw, we powered the circuit and tested whether each function works.
  
2.1 Equipment List


  1. 2 servo HITEC HS-815BB   (base) 140 degree rotation
  2. 2 servo HITEC HS-755HB -180 degree rotation
  3. 4 servos HITEC HS-311      (articulation up/down and turn 180ยบ) (Wrist)
  4. 2 servo Tower pro 646WP (shoulder and elbow) 180 degree rotation
  5. 4 servo HITEC HS-5070MH (Claw motor )
  6. 1 Arduino circuit board
  7. 1 Arduino UNO
  8. Claw Parts (3D printed)
  9. 80 M to M wires
  10. Batteries - AAA 12v batteries
  11. Rubber gloves (latex/nitrile)
  12. 1 Breadboard
  13. Acrylic sheets
  14. Acrylic parts
  15. Screw(s)
  16. Genii Liquid Quartz Glue (acrylic glue)
  17. 14 2-pin buttons
  18. Standard USB printer cable
  19. 7 6.8 resistors
  20. 5 Potentiometers
  21. 1 3mm metal rod
  22. 1 AC adapter (5V, 5.0A)
  23. 1 AC/DC Adapter (9V, 1A)


2.2 Diagrams of experimental setup  
IMG_7275.JPG
Figure 1: Experimental set-up of arduino circuit and motors
IMG_7276 2.JPG
Figure 2: Layout of acrylic sheets before them glueing together


2.3 Procedures


Part 1: Measurements and materials of robotic arm


  1. Sketch the various parts required and its measurements
IMG_7330.JPG
Screen Shot 2015-02-24 at 11.00.20 PM.png
Figure shows sketching of parts and rough measurements


2) Finalize measurements and convert to online softwares such as Adobe Illustrator CC 2014 and AUTODESK 123D Design for the acrylic and 3D printed parts respectively to be sent to store for cutting.


Claw
Screen Shot 2015-02-12 at 2.06.52 AM.png
Measurements
Thickness - 5 mm, 2mm
Length - 8 cm
Breadth - 6 cm
Rectangular hole - 2.3 cm by 1.5 cm


Screen Shot 2015-02-12 at 2.41.30 AM.png
Measurements
Thickness: 3 mm
Rectangle: 5 cm
Semi-circle diameter: 1.5 cm


Screen Shot 2015-02-25 at 12.29.49 AM.png
Measurements
Thickness: 2 cm


Screen Shot 2015-02-24 at 11.00.20 PM.png
Measurements
Thickness: 5 mm
*Gear taken from 3D warehouse*


Claw examples:
Screen Shot 2015-02-24 at 11.04.24 PM.png
Figures (2,3)shows an existing claws which uses servo motors.


Base:
Screen Shot 2015-02-24 at 11.06.58 PM.png
Measurements
Thickness: 3 mm
Shorter piece:
Length - 13 cm
Breadth - 3.5 cm
Longer piece:
Length - 20 cm
Breadth - 3.5 cm


Screen Shot 2015-02-24 at 11.07.26 PM.png
Measurements
Thickness - 3 mm
Length - 20 cm
Breadth - 13 cm


Screen Shot 2015-02-24 at 11.08.03 PM.png
Measurements
Thickness: 3 mm
Rectangle:
Length - 20 cm
Breadth - 13 cm
Diameter - 10 cm


Screen Shot 2015-02-24 at 11.10.01 PM.png
Measurements
Thickness: 3 mm
Bigger circle(s):
Diameter - 10 cm
Smaller circle(s):
Diameter - 9.5 cm


Screen Shot 2015-02-24 at 11.11.21 PM.png
Measurements
Thickness: 3 mm
Length: 4 cm
Breadth: 6 cm


Body:
Screen Shot 2015-02-25 at 12.33.15 AM.png
Screen Shot 2015-02-25 at 12.34.05 AM.png


Measurements
Thickness: 3 mm
Rectangle:
Length - 20 cm breadth - 6 cm
Semi circle:
Diameter - 6 cm


Screen Shot 2015-02-25 at 12.35.08 AM.png
Measurements
thickness: 3 mm
length - 6 cm
breadth - 3 cm


Example robotic claw:
Screen Shot 2015-02-24 at 11.12.09 PM.png
The figures show existing robotic arm projects with similar body designs.


3) Obtaining servo motors, breadboard, 14 2-pin buttons, 7 resistors
Screen Shot 2015-02-24 at 11.19.13 PM.png
Figure shows servo motors and breadboard


Screen Shot 2015-02-24 at 11.17.57 PM.png
Figure shows 14 2-pin buttons and 7 resistors


Part 2: Arduino Circuiting


  1. This is the code that we used to programme the arduino UNO:


#include <Servo.h>


Servo myservo8;
Servo myservo9;
Servo myservo10;
Servo myservo11;
Servo myservo12;


int pos = 0;
int pos2 = 0;
int pos3 = 0;
int pos4 = 0;
int pos5 = 0;


int potpin = 1;
int potpin2 = 2;
int potpin3 = 3;
int potpin4 = 4;
int potpin5 = 5;


void setup()
{
myservo8.attach(8);
myservo9.attach(9);
myservo10.attach(10);
myservo11.attach(11);
myservo12.attach(12);
}


void loop()
{


for(pos = 0; pos < 45; pos += 1)  // goes from 0 degrees to 45 degrees                              // in steps of 1 degree
myservo8.write(pos);              // tell servo to go to position in variable 'pos'
delay(15);                       // waits 15ms for the servo to reach the position
for(pos = 45; pos>=1; pos-=1)     // goes from 45 degrees to 0 degrees                                 
myservo8.write(pos);              // tell servo to go to position in variable 'pos'
delay(15);                       // waits 15ms for the servo to reach the position
for(pos2 = 0; pos2 < 180; pos2 += 1)  // goes from 0 degrees to 180 degrees                              // in steps of 1 degree
myservo9.write(pos2);              // tell servo to go to position in variable 'pos'
delay(15);                       // waits 15ms for the servo to reach the position
for(pos2 = 180; pos2>=1; pos2-=1)     // goes from 180 degrees to 0 degrees
myservo9.write(pos2);              // tell servo to go to position in variable 'pos'
delay(15);                       // waits 15ms for the servo to reach the position
for(pos3 = 0; pos3 < 90; pos3 += 1)  // goes from 0 degrees to 90 degrees                              // in steps of 1 degree
myservo10.write(pos3);              // tell servo to go to position in variable 'pos'
delay(15);                       // waits 15ms for the servo to reach the position
for(pos3 = 90; pos3>=1; pos3-=1)     // goes from 90 degrees to 0 degrees                                 
myservo10.write(pos3);              // tell servo to go to position in variable 'pos'
delay(15);                       // waits 15ms for the servo to reach the position
for(pos4 = 0; pos4 < 90; pos4 += 1)  // goes from 0 degrees to 90 degrees                              // in steps of 1 degree
myservo11.write(pos4);              // tell servo to go to position in variable 'pos'
delay(15);                       // waits 15ms for the servo to reach the position
for(pos4 = 90; pos4>=1; pos4-=1)     // goes from 90 degrees to 0 degrees
myservo11.write(pos4);              // tell servo to go to position in variable 'pos'
delay(15);                       // waits 15ms for the servo to reach the position
for(pos5 = 0; pos5 < 90; pos5 += 1)  // goes from 0 degrees to 90 degrees                              // in steps of 1 degree
myservo12.write(pos5);              // tell servo to go to position in variable 'pos'
delay(15);                       // waits 15ms for the servo to reach the position
for(pos5 = 90; pos5>=1; pos5-=1)     // goes from 90 degrees to 0 degrees
myservo12.write(pos5);              // tell servo to go to position in variable 'pos'
delay(15);                       // waits 15ms for the servo to reach the position
}


2) We aquired 5 potentiometers to control the current flow of the 5 servo motors, a breadboard, 80 male wires, standard USB printer cable, AC adapter (5V, 5.0A), AC/DC Adapter (9V, 1A) and an arduino UNO.


3) Connect the arduino circuit
unnamed.jpg


Part 3: Assembling Robotic Arm


  1. Acquire acrylic and 3D printed parts
  2. Layout and arrange parts according to how we are going to assemble the robotic arm
IMG_7276 2.JPG
Figure shows arrangement of acrylic parts


3) Glue base section using Genii Liquid Quartz Glue (acrylic glue) and a syringe


205e9e17d9cb2cd3500d1f86473a1a08.jpg
Figure shows glueing of acrylic parts together


4) Drill holes suitable for the screws of servo motors onto the necessary locations and connect it to the appropriate motors


IMG_7332.JPG
Figure shows screwing of servo motor to lower section of the robotic arm


IMG_7333.JPG
Figure shows servo motors screwed onto its parts


IMG_7317.PNG
Figure shows assembling of lower portion of the robotic claw


5) Create support for servo HITEC HS-815BB (base motor) and secure it under the top surface of the base


IMG_7335.JPG
Figure displays base support


6) Cut out necessary holes onto base to allow an opening for potentiometers


IMG_7331.JPG
Figure shows opening for potentiometers


7) Paste breadboard and arduino UNO in the base and ensure that it is stable


IMG_7334.JPG
Figure shows securing of arduino UNO and breadboard into the base


Screen Shot 2015-03-03 at 10.04.08 am.png
Figure 4 shows the final product


8) Making use of nuts and screws, assemble the other parts into place and secure tightly


Part 3: Testing


  1. Test whether each part, namely the base, elbow, shoulder, wrist and claw, move
  2. Place robotic arm in between a ‘moon rock’ and a container
  3. Control the robotic arm such that it picks up the ‘moon rock’ and drops it into the container


2.4 Risk Assessment and Management  


Use of power source:
  • risk of electrocution
  • check connection with a voltmeter before switching on the power
  • Short circuit
  • servo motors may spoil due to high voltage

2.5 Data Analysis


After we have connected and secured the motors to their specific parts, we will power up the circuit and turn the potentiometer one by one to test whether the motor responds accordingly and is able to turn and move the part it is connected to in order to fulfill its function.

No comments:

Post a Comment