Kyle Shepherd
Robotic Arm Programming
During an investigation into Layer-by-Layer assembly of materials,
I investigated automated methods of performing this assembly.
The basic requirement is to dip the substrate, the base material, into a
solution that contains the material that will deposit on the substrate
and form the next layer. Then the substrate must be lifted and the solution solvent
must be evaporated away.
One method is to use a Adept Cobra 600 robotic arm.
A video of such an arm in motion is shown below
The following code is an example of V+ code that runs this robotic arm
1 .PROGRAM test()
2
3 ; define safehome beforehand in console and robot position
4
5 ; set speed of robot arm
6 SPEED 10 ALWAYS
7 ; moves the robot arm, which could be in any position, to the safe position
8 MOVE #safehome
9 ; wait for arm to stop moving before executing the next command
10 BREAK
11 ; pause the arm for 1 seconds
12 WAIT.EVENT , 1
13 ; moves to a defined coordinate
14 MOVE #PPOINT(-2.03,1.157,76.607,-46.406)
15 ; wait for the movement to finish
16 BREAK
17 ; pause the arm for 4 seconds
18 WAIT.EVENT , 4
19
20 ; define box1 and box2 beforehand in console and robot position
21 ; peform the dipping loop
22 FOR i = 1 TO 5
23 ; moves to box 1, 150 mm above the target
24 APPRO #box1, 150
25 ; moves down to box
26 MOVE #box1
27 ; waits for movement to finish
28 BREAK
29 ; hold arm in the box for 1 second
30 WAIT.EVENT , 1
31 ; moves arm upward 150 mm
32 DEPART 150
33
34 ; moves to box 1, 150 mm above the target
35 APPRO #box2, 150
36 ; moves down to box
37 MOVE #box2
38 ; waits for movement to finish
39 BREAK
40 ; hold arm in the box for 1 second
41 WAIT.EVENT , 1
42 ; moves arm upward 150 mm
43 DEPART 150
44
45 END