You are on page 1of 14

Automated Manufacturing

ROBOTICS LAB 1
for
MIE 422 - Automated Manufacturing
University of Toronto

Lab Date: October 8th, 2014


Group:
Student Name:

Student Number:

Elvis Rocha Lima

1001879817

1. Objective and Background


The objective of the first lab was to make students accustomed to the robot, its
controller and the software. Concepts like start up and shutdown were learned, in
addition to safety procedures.
Also, learning how to record and send the robot to positions was done. By doing
this, the differences between absolute and relative coordinates were learned. For this,
XYZ and Joints coordinates were used.
After acquiring all this knowledge, it was applied in order to mark a network on
the table by XYZ coordinates.

2. Procedures and observations


The first lab presented us with a robotic claw (manipulator robot) and the basics
of its operation. The following materials were used:

SCORBOT-ER4pc robot

SCORBASE Level 3 software

Computer with Windows

Controller

Bamboo skewer

Suction cup

Felt-tip pen or marker

40 cm ruler

Two 50 x 50 cm sheets of blank paper

Cellophane tape

Soft lead pencil

The procedure has four main divisions, which are:

Experiment 1-1: Introduction to the Robot

Experiment 1-2: Off-line Programming

Experiment 1-3: Teaching Positions in XYZ Coordinates

Experiment 1-4: Work Surface Calibration in XYZ Coordinates

Experiment 1-1: Introduction to the Robot


The first experiment was designed to learn the basic commands. First the group
learned about homing the robot, then presented to manual movements, which are
intermittent and continuous (slow and fast). In order to verify how accurate the
movements were, a bamboo skewer was used to mark the indicated positions.
Experiment 1-2: Off-line Programming
The second experiment was responsible for teaching how to record and send the
robots to pre-determined positions. In order to do so, the group wrote and ran a short
program.
Experiment 1-3: Teaching Positions in XYZ Coordinates
The main goal of this experiment was to use the expanded Teach Positions
window in order to record and control the positions using the XYZ coordinate system.
Experiment 1-4: Work Surface Calibration in XYZ Coordinates
This experiment was done using a pen fixed to the robot`s gripper and a blank
sheet of paper. It was programmed to mark the center of the paper (1 st position) and
several positions in the X, Y and Z axis according to the instructions given in the manual
chart.
3. Calculations, Graphs and results
Experiment 1-1: Introduction to the Robot
The first thing to learn was how to home the robot, which was done clicking on
the Search Home icon. Once it was done, the group played with continuous and
intermittent motion. When the 1 key was pressed without holding a few times, the base
of the robot rotated intermittently.
Then, in order to check how accurate the movements were, a skewer bamboo
was fixed on top of the table, and the tip of the gripper was moved to touch it. The
following image describe the experiment:

Robot gripper touching the top of the skewer


Both intermittent and continuous motions were used. The group found that when
the gripper was far away from the top of the skewer, using continuous motion was
easier and faster to get close to the skewer. When getting close, however, it turned to
be easier to use intermittent motion to touch the certain point of the skewer because the
inertia and bigger momentum of the continuous motion makes it difficult to reach the
exact point in its workspace, leading to an inaccuracy.
The best strategy for completing the task, in conclusion, was to use both
movements.
Also, the program interface presented the group with the option of using XYZ and
joint movements. The difference between both is that using XYZ coordinates, all joints
of the robot moved at the same time.
After, the arm was brought to a configuration where the arm was parallel to the
table and with joints in line, as showed in the next picture:

Arm parallel to the ground


Then, the tip of the gripper was positioned in such a way that it touched
the edge of the skewer. Using the fast and slow commands, the group controlled the
arm and reached different positions over the skewer. They were all marked, and,
following the manual instructions, it was returned to the original position:

Gripper positions marked over the skewer

The group draw the following conclusions: in the first place, the same axis at a
faster speed moved farther than at a slower speed. As to the different axis moving at the
same speed, which possesses a longer arm moved farther than the one with a shorter
arm. For example, in the experiment, axis 3 moved a farther distance than axis 2 at the
same speed because of the same rotating speed but different arm length.
Experiment 1-2: Off-line Programming
The second experiment showed the group how to teach and send robot to prerecorded positions. After homing the robot, its position was recorded as position 1,
which are described in the following chart:

Coor.
Joint

XYZ

Axis 1
X(mm
)
0
169.0
3

Axis 2
Y(mm
)
120.2
8
0

Axis 3
Z(mm
)

Axis 4
Pitch(d
eg)

Axis 5
Roll(de
g)

95.02
504.3
3

88.81

-63.55

It is possible to see that the coordinates are composed of Joint and XYZ
coordinates.
After, the arm went parallel to the ground again, and its position was recorded as
Position 2. Then, using relative positioning, the same position was recorded as position
3. The result can be checked in the chart below:

Coor.
Joint

Axis 1
X(mm
)

XYZ
Joint

0
169.0
3
-54.16

XYZ

326.1
8

Joint
XYZ

-54.16

Axis 2
Y(mm
)
120.2
8
0
-0.26
451.5
1
120.0
1

Axis 3
Z(mm
)

Axis 4
Pitch(d
eg)

Axis 5
Roll(de
g)

95.02
504.3
3
25.89

88.81

-63.55
7.99

0
0

174.1
5

-33.62

-69.13

-80.81

It can be seen that the relationship between them is that the each of the data of
Joint position of the position 3 equals to the Joint position of position 1 pluses the Joint
position of position 2. And the position 3 does not possess a XYZ position.

The robot was sent to position 2 and 3. It followed the same route, and, even if
position 1 changed, position 2 remained the same. Position 3, however, completely
changed, since it was a relative position.
At the end, all positions were included in a short program code designed
according to the manual instructions. Writing and running a short program in the
workspace had the same effect as you moved the robot step by step in the control
window in the former experiments. More advantageous, the workspace can both make
the robot go on a series of operation continuously, once set in advanced, without any
other operation required or make the robot move step by step in case of investigating
problems during the coding.
Experiment 1-3: Teaching Positions in XYZ Coordinates
The robot was told to go to home position, which was recorded as position 1
using the Get Position command. The coordinates were the same as the ones in the list
positions window. Then, the robot was taught to go to position 2 (according to the
manual), listed in the chart below:

Coor.
Joint

Axis 1
X(mm
)

XYZ

0
169.0
3

Joint
XYZ

-3.81
300

Axis 2
Y(mm
)
120.2
8
0
110.3
8
-20

Axis 3
Z(mm
)

Axis 4
Pitch(d
eg)

Axis 5
Roll(de
g)

95.02
504.3
3

88.81

63.55

98.94
600

11.44
0

0
0

Then, following the manual`s instruction, the robot was taught to reach position 3,
which differed from position 2 by coordinate Z. The new value for it was 850mm.
However, the robot could not complete the task, since it was not in the Cartesian
workplace. The group was surprised with a warning: Outside limitations.
2 more random positions were taught to the robot. The complete chart with all
positions is presented below:

#
1

Coor.
Joint

Axis 1
X(mm
)
0

Axis 2
Y(mm
)
120.2
8

Axis 3
Z(mm
)
95.02

Axis 4
Pitch(d
eg)
88.81

Axis 5
Roll(de
g)
0

3
4

XYZ

169.0
3

Joint
XYZ

-3.81
300

0
110.3
8
-20

Joint
XYZ
Joint
XYZ

-4.29
400
2.54
450

-44.79
-30
-58.31
20

504.3
3
98.94
600
112.6
5
300
96.64
400

63.55

11.44
0

0
0

-67.86
0
-38.33
0

0
0
0
0

One of the taught positions


Lastly, the group manually moved the robot to a new position, recorded as
position 5. Its coordinates are:

Coor.
Joint

XYZ

Axis 1
X(mm
)
58.28
220.5
3

Axis 2
Y(mm
)
-79.53
356.8
7

Axis 3
Z(mm
)
88.01
541.7
3

Axis 4
Pitch(d
eg)
-11.63

Axis 5
Roll(de
g)
0

3.15

After joining all coordinates, the robot was programmed to reach each of the five
positions. There was no difference in the way the robot moved when going to the
positions taught in XYZ coordinates (2, 3, and 4) and the ones recorded using joint
coordinates (1 and 5).

Experiment 1-4: Work Surface Calibration in XYZ Coordinates


After placing the pen between the gripper fingers, the robot was brought to a
position where the pen touched the centre of the paper. This position was recorded as
position 1, and its coordinates are as followed by the chart:

Coor.
Joint

XYZ

Axis 1
X(mm
)
20.67
174.4
1

Axis 2
Y(mm
)
-20.2

Axis 3
Z(mm
)
98.45

Axis 4
Pitch(d
eg)
46.2

Axis 5
Roll(de
g)
0.04

65.8

89.37

-124.44

0.04

Eleven more positions were recorded relative to the first position, as instructed by
the manual`s chart:

In order to mark all of them on the paper, the robot made intermediary
movements where the pen was raised from the paper, moved to another position and
then lowered again. The ones which didn`t mark the paper are called dummy points.
In order to discover the dummy points, the manual chart was analysed and the
group reached the conclusion that positions 2, 3, 5, 7, and 9 are points which do not
make marks on the paper.
After programming the robot to mark all points, similar instructions were followed
in order to mark a set of points in a perpendicular axis. Both combined described XY
coordinates in a plane.
The results are described in the following pictures:

Points forming the X direction

Points forming the Y direction


As showed in the pictures, the results were not very accurate. According to the
chart, all points should be 40mm apart in both directions.
The X direction had points distanced 32mm, 34mm, 40mm, and 51mm apart.
The Y direction had points distanced 52mm, 64mm, 69mm, and 74mm apart.
In addition, there were no difference in accuracy between the points that were
plotted using absolute coordinates and those plotted using relative coordinates. The
estimated causes for this lack of precision are due to inertia and possible previous
misuse which could lead to misalignment of the internal mechanisms of the robot.

Also, the points were not aligned. When drawing a line through the dots, was
found that not all marks fell on the line.
4. Discussion of results
The results were obtained by programming, teaching positions and mainly
comparing joint coordinates and Cartesian ones. Some results were not accurate,
probably due to inertia, i.e., resistance in changing the state of motion, and possible
misalignments in internal mechanisms.
The theoretical calculations also showed that, when the axis moves, it is possible
to obtain the number of pulses needed to move on single degree. The robot makes
some adjustments in order to keep the axis positions relative to the ground, so it is
possible to happen some modifications in one axis while moving the others.
5. Conclusion
For accurate results, the slow and intermittent functions should be used. Also, the
red button of emergency must be always ready to be pushed, so unexpected
movements can be avoided.
Relative coordinates, in contrast to absolute ones, can change if the main
position is altered. Absolute coordinates, as defined by the name, never change.
Writing and running a short program in the workspace had the same effect as
you moved the robot step by step in the control window in the former experiments. More
advantageous, the workspace can both make the robot go on a series of operation
continuously, once set in advanced, without any other operation required or make the
robot move step by step in case of investigating problems during the coding.
6. References
A. Wolf, S. Maligec, R. Ma, K. Leung, H. Chu, Prof. J.K. Mills, Prof. B. Benhabib.
ROBOTICS LAB 1 for Automated Manufacturing MIE 422, Department of Mechanical
and Industrial Engineering, University of Toronto. Pages 2-18
7. Appendix
Answers for the Questions
1. Homing is the action which enables a robot to return to its initial (home) position, after
executing tasks along a random path. This action is important for adjustments and startup procedures.
2.

Motor 1: Axis 1
Motor 2: Axis 2
Motor 3: Axis 3

Motor 4: Axis 4 & 5


Motor 5: Axis 4 & 5
Motor 6: gripper
3.
Axis
1

90 =|[ (3 ) (12767 ) ]|=12764 encoder pulses


1 for Axis 1=

12764

90

141.822142 encoder pulses per 1


2

90 =|[(13498)(3526 ) ]|=9972encoder pulses


1 for Axis 1=

9972

90

110.8 111 encoder pulses per 1


3

90 =|[ 2758(7337 ) ]|=10095 encoder pulses


1 for Axis1=

10095

90

112.1667 112 encoder pulses per 1


4

90 =|[ 648(1900 ) ]|=2548 encoder pulses


1 for Axis 1=

2548

90

28.311 28 encoder pulses per 1


5

90 =|[1897(660 ) ]|=2557 encoder pulses


1 for Axis 1=

2557

90

28.41 28 encoder pulses per 1


4.
Axis 1

5.

Axis 2

Axis 3

Axis 4

Axis 5

142 45

11130

112 30

28 30

28 30

6390

3330

3360

840

840

Positi
on
A

Axis 1

Axis 2

Axis 3

35/112

Axis 4

4394 /28

8/142

5472/111

0.056 0

49.297 49 0.31 0

8/142

10815 /111

0.056 0

97.43 97 47.37 47 156.71 157 156.96 157

5306/112

4390/28

Axis 5

156.78 157 156.92 157

4388/28

4395 /28

The robot would use position A to access the point in space because it is closer
to the home position and requires less movement to reach this way. It is also possible
that position B presents a joint angle that the robot is not capable of.
(See next page for sketches.)
Position A:

Position B:

You might also like