Sie sind auf Seite 1von 19

Newcastle University,

Faculty of Science, Agriculture and Engineering.


The School of Mechanical and Systems Engineering,
Stephenson Building.

ROBOT KINEMATIC ANALYSIS
- ABB IRB140 INDUSTRIAL ROBOT
An Assignment Report for the MEC8026
ROBOTICS Module
by BEDIAKO, Michael Osei Asare [130513533]


December 2013
MEC8026 Assignment: ABB IRB140 Robot Kinematic Analysis
BEDIAKO, Michael Osei Asare i
TABLE OF CONTENTS
LIST OF FIGURES II
LIST OF SYMBOLS AND ABBREVIATIONS III
1 ASSIGNMENT OVERVIEW 1
2 ABB IRB140 ROBOT PROFILE 1
3 FORWARD KINEMATICS 3
3.1 JOINT AND FRAME ASSIGNMENT USING DHM 3
3.2 LINK PARAMETER TABLE 5
4 FORWARD KINEMATICS 5
4.1 GENERAL TRANSFORMATION MATRIX 5
4.2 MATLAB CODE FLOW CHART 6
4.3 MATLAB CODE EXECUTION PATH 7
4.4 CHARACTERITIC T6 EQUATIONS FOR ABB IRB140 ROBOT FROM M-FILE 8
4.5 COMPUTATION OF ROLL-PITCH-YAW ANGLES 8
4.6 COMPUTATION OF QUARTERNIONS 9
5 VALIDATION 9
5.1 M-FILE DISCUSSION 9
5.2 ARBITRARY POSES 10
5.3 ORTHOGONAL POSES 12
5.4 ACCURACY AND SOURCES OF ERROR 14
6 REFERENCES 15

MEC8026 Assignment: ABB IRB140 Robot Kinematic Analysis
BEDIAKO, Michael Osei Asare ii
LIST OF FIGURES
Figure 2.1 ABB IRB140 Robot with Joint Axes indication (image source: ABB Robotics Product
Manual: IRB140 Type c) 1
Figure 2.2: ABB IRB140 Robot Dimensions shown on rear, side (Zero pose) and top views (image
source: ABB Robotics (2004) Product Manual: IRB140 Type c) 2
Figure 3.1 DHM convention for a pair of serially connected link( revolute joint) (image source:
(CRAIG, John J., 2005)) 3
Figure 3.2 ABB IRB140 Frame assignment using J.J Craigs convention 4
Figure 4.1 MATLAB code Flow chart 6
Figure 4.2 M-File execution path 7
Figure 5.1: Line Diagram for Orthogonal Pose 1[ 0,0,0,90,-90,0] for ABB IRB140 Robot 12
Figure 5.2 Line diagram for Orthogonal Pose 2 [0, 90, -180, 0, 90, 360] for ABB IRB140 Robot 13
LIST OF TABLES
Table 1: ABB IRB Robot Performance chart for ISO 9283 test at rated load and 1.6m/s velocity on the
inclined ISO test plane (Data source: ABB Robotics (2004) Product Manual: IRB140 Type C) ............ 2
Table 2: Link Parameter table for ABB IRB 140 Using J.J. Craigs Convention .................................... 5
Table 3 Algorithm Results against Simulated results for Arbitrary Pose 1 on ABB IRB140 robot ...... 10
Table 4: Algorithm Results against Simulated results for Arbitrary Pose 2 on ABB IRB140 robot ..... 11
Table 5 Algorithm results against Simulated results for Orthogonal pose 1 (image source: RoKiSim
1.61(2011) .............................................................................................................................................. 12
Table 6 Algorithm results against Simulated results for Orthogonal Pose 2 (image source: RoKiSim
1.61(2011) .............................................................................................................................................. 13
MEC8026 Assignment: ABB IRB140 Robot Kinematic Analysis
BEDIAKO, Michael Osei Asare iii

LIST OF SYMBOLS AND ABBREVIATIONS
1. Denavit-Hartenberg DH
2. Modified Denavit-Hartenberg (Craig convention) DHM
3. Degree of Freedom DOF
4. Cos; Sin c; s
5. Link Length; Link Twist l,
6. Joint angle; joint offset ; d
7. Transformation Matrix T6
8. Roll-Pitch-Yaw R-P-Y

MEC8026 Assignment: ABB IRB140 Robot Kinematic Analysis
BEDIAKO, Michael Osei Asare 1
1 ASSIGNMENT OVERVIEW
In this assignment, the Forward Kinematics of an ABBIRB140 Six (6) Degree of Freedom
(DOF) all revolute robot arm is evaluated. The modified Denavit-Hartenberg (DH) convention
as used by J.J Craig (DHM) is adopted for the robot frame assignment. The resulting T6
Transform Matrix is also generated. MATLAB (version R2012a) is used to develop an
algorithm (see attached pdf file) for computing:
1. The T6 Transformation, given the joint angles, j1-j6;
2. The Euler Roll-Pitch-Yaw, R-P-Y angles;
3. Quaternion (q
1
,q
2
,q
3
,q
4
)
2 ABB IRB140 ROBOT PROFILE

Figure 2.1 ABB IRB140 Robot with Joint Axes indication (image source: ABB Robotics Product Manual: IRB140 Type c)
1 Description
1.1.1 Introduction
3HAC9041-1 Rev.N 9
Manipulator axes
Figure 1 The IRB 140 manipulator has 6 axes.
MEC8026 Assignment: ABB IRB140 Robot Kinematic Analysis
BEDIAKO, Michael Osei Asare 2
Parameter Values
IRB 140-6/0.8 and 140T-6/0.8
Pose repeatability, RP(mm) 0.03
Pose accuracy, AP(mm) 0.02
Linear Path repeatability 0.08
Linear Path accuracy, AT(mm) 0.67
Pose stabilization time, Pst(s) within 0.2mm
of the position
0.08
Table 1: ABB IRB Robot Performance chart for ISO 9283 test at rated load and 1.6m/s velocity on the inclined ISO test plane
(Data source: ABB Robotics (2004) Product Manual: IRB140 Type C)

Figure 2.2: ABB IRB140 Robot Dimensions shown on rear, side (Zero pose) and top views
(image source: ABB Robotics (2004) Product Manual: IRB140 Type c)
1 Description
1.1.2 Different robot versions
12 Rev.N 3HAC9041-1
Dimensions IRB 140
Figure 3 View of the manipulator from the back, side and above (dimensions in mm).
Pos Description
A Minimum turning radius
MEC8026 Assignment: ABB IRB140 Robot Kinematic Analysis
BEDIAKO, Michael Osei Asare 3
3 FORWARD KINEMATICS
In analyzing the forward kinematics of a Robot, the robot configuration and end effector
position and orientation is determined from the knowledge of the various joint angles. This is
a solution in general terms expressed as the consecutive rotation and translation of joint
frames from the base frame to the end effector frame. It is convenient to express the solution
as a matrix,
0
T
6
containing both rotations and translations along respective joint axes. The
following sections lays out the procedure for obtaining the
0
T
6
matrix as adopted from J.J.
Craigs convention of frame assignment and used in the development of the MATLAB
program.
3.1 JOINT AND FRAME ASSIGNMENT USING DHM

Figure 3.1 DHM convention for a pair of serially connected link( revolute joint)
(image source: (CRAIG, John J., 2005))
J.J. Craigs modifications to the DH convention of frame assignment is adopted for this
assignment. According to this convention, the following parameters are defined:
1. the minimum perpendicular distance between consecutive joint axis pairs
(Z
i
and Z
i-1
) measured along the X
i-1
axis. This is a
i-1
(set as l
i-1
for this assignment)
2. the angle of twist required to set Z
i-1
to Z
i
taken along the X
i-1
axis ; set as
i-1
(set as a
i-
1 for
this assignment)
3. the displacement between X
i-1
and X
i
measured along Z
i
as the Joint offset d
i

MEC8026 Assignment: ABB IRB140 Robot Kinematic Analysis
BEDIAKO, Michael Osei Asare 4
4. the angle required to set X
i-1
and X
i
measured about Z
i
as the Joint angle j
i


With these parameters defined, The most iportant point of the convention is the Setting of the
Base frame {0}equal to {1} when joint angle j
1
=0. The final frame{N} is then set so as to
make its joint angle J
n
=0. Figure 4 shows the frame assignment based on this convention. The
resulting parameters are shown in Table 2.


Figure 3.2 ABB IRB140 Frame assignment using J.J Craigs convention
MEC8026 Assignment: ABB IRB140 Robot Kinematic Analysis
BEDIAKO, Michael Osei Asare 5
3.2 LINK PARAMETER TABLE
Joint
(i)
Link twist (
i-1
) Link Length (l
i-1
)mm Joint angle (
i
)
Joint offset
(d
i
)mm
1 (
0
) = 0 0 0 d
1
= 352
2 (
1
) =-90 70 -90 0
3 (
2
) =0 360 0 0
4 (
3
) = -90 0 0 d
4
= 380
5 (
4
) =90 0 0 0
6 (
5
) = -90 0 180 d
6
= 65
Table 2: Link Parameter table for ABB IRB 140 Using J.J. Craigs Convention
4 FORWARD KINEMATICS
In analyzing the forward kinematics of a Robot, the robot configuration and end effector
position and orientation is determined from the knowledge of the various joint angles. This is
a solution in general terms expressed as the consecutive rotation and translation of joint
frames from the base frame to the end effector frame. It is convenient to express the solution
as a matrix,
0
T
6
containing both rotations and translations along respective joint axes. The
following sections lays out the procedure for obtaining the
0
T
6
matrix as adopted from J.J.
Craigs convention of frame assignment and used in the development of the MATLAB
program.
4.1 GENERAL TRANSFORMATION MATRIX
From Craigs convention, the resultant Homogenous transformation matrix from the DH
method is replaced by Equation 1:

] Equation 1
This represents:
i-1
T
i
=Rot(z,
i
) Trans(z, d
i
) Rot(x,
i
) Trans(x,a
i
)

] Equation 2
MEC8026 Assignment: ABB IRB140 Robot Kinematic Analysis
BEDIAKO, Michael Osei Asare 6
4.2 MATLAB CODE FLOW CHART


Figure 4.1 MATLAB code Flow chart



MEC8026 Assignment: ABB IRB140 Robot Kinematic Analysis
BEDIAKO, Michael Osei Asare 7
4.3 MATLAB CODE EXECUTION PATH

Figure 4.2 M-File execution path
MEC8026 Assignment: ABB IRB140 Robot Kinematic Analysis
BEDIAKO, Michael Osei Asare 8
4.4 CHARACTERITIC T6 EQUATIONS FOR ABB IRB140 ROBOT FROM M-FILE
T0= [cosd(j1) -sind(j1) 0 l0; sind(j1)*cosd(a0) cosd(j1)*cosd(a0) -sind(a0) -sind(a0)*d1;
sind(j1)*sind(a0) cosd(j1)*sind(a0) cosd(a0) cosd(a0)*d1; 0 0 0 1];

T1= [cosd(j2) -sind(j2) 0 l1; sind(j2)*cosd(a1) cosd(j2)*cosd(a1) -sind(a1) -sind(a1)*d2;
sind(j2)*sind(a1) cosd(j2)*sind(a1) cosd(a1) cosd(a1)*d2; 0 0 0 1];

T2= [cosd(j3) -sind(j3) 0 l2; sind(j3)*cosd(a2) cosd(j3)*cosd(a2) -sind(a2) -sind(a2)*d3;
sind(j3)*sind(a2) cosd(j3)*sind(a2) cosd(a2) cosd(a2)*d3; 0 0 0 1];

T3= [cosd(j4) -sind(j4) 0 l3; sind(j4)*cosd(a3) cosd(j4)*cosd(a3) -sind(a3) -sind(a3)*d4;
sind(j4)*sind(a3) cosd(j4)*sind(a3) cosd(a3) cosd(a3)*d4; 0 0 0 1];

T4= [cosd(j5) -sind(j5) 0 l4; sind(j5)*cosd(a4) cosd(j5)*cosd(a4) -sind(a4) -sind(a4)*d5;
sind(j5)*sind(a4) cosd(j5)*sind(a4) cosd(a4) cosd(a4)*d5; 0 0 0 1];

T5= [cosd(j6) -sind(j6) 0 l5; sind(j6)*cosd(a5) cosd(j6)*cosd(a5) -sind(a5) -sind(a5)*d6;
sind(j6)*sind(a5) cosd(j6)*sind(a5) cosd(a5) cosd(a5)*d6; 0 0 0 1];

T6=T0*T1*T2*T3*T4*T5;
4.5 COMPUTATION OF ROLL-PITCH-YAW ANGLES
Computation of Position and Orientation in Euler Roll-Pitch-Yaw configuration
psir= atan2(rr
32
/ rr
33
);
phir= atan2(rr
21
/ rr
11
);
thetar=atan2(-rr
31
/ (rr
11
cos (phir)+ rr
21
sin(phir));


MEC8026 Assignment: ABB IRB140 Robot Kinematic Analysis
BEDIAKO, Michael Osei Asare 9
4.6 COMPUTATION OF QUARTERNIONS
The Euler angles computed in section 4.3 are computed from Equation 2.

Equation 3 Euler angles conversion to Quaternions (Equation source: (HENDERSEN, D. M., 1977))
Quaternions are of particular importance in this assignment mainly because it provides and
quick and more accurate method of computing the end effector orientation. This is evident by
the 0.0001 accuracy obtained between the algorithm results and simulated results. Judging by
degree of accuracy, it can be concluded that determining and thus, programming robot arms to
use the quaternions ensure a higher degree of accuracy in Robot arm translation in the various
frames as compared to the matrix approach requiring the Euler R-P-Y angles.


5 VALIDATION
The validity of the developed T6 algorithm is tested for several sets of Joint angles in the
Forward Kinematics analysis. Two arbitrary poses (Tables 3 and 4) are evaluated from
Laboratory sessions with an actual Robot arm and two other orthogonal poses (Table 5 and 6)
are also evaluated with line diagrams (Figure 5.1 and 5.2) and also from the RoKiSim robot
simulator. Both cases are compared to results obtained from the algorithm. An error
computation is also obtained and discussed in the final section of the report.
5.1 M-FILE DISCUSSION
The m-file was developed in MATLAB R2012a. The computation of arctan2 in radians was
converted to degrees (radtodeg( )) for proceeding lines. The feature arctan2d, which
computes the arctan2 value directly in degrees is not available until Version R2012b.
By default all Joint Angles in the m-file have been set to zero degrees (0). This prevents the
program from returning an error is not angle is input for any joint.
On completion on each stage the program requests user input to move to the next stage.
MEC8026 Assignment: ABB IRB140 Robot Kinematic Analysis
BEDIAKO, Michael Osei Asare 10
In conclusion, I will say that the m-file was developed to be both interactive and concise. The
code is heavily commented as a guide to the least advanced user. Instructions are also
provided at the beginning to guide the user. Additional features of the code are the display of
the full resulting T6 Matrix with, labeling, and also an image file to show the robot zero pose.
Additional features are available to the user by choice.

5.2 ARBITRARY POSES
Arbitrary Pose 1


Position Joint Angles
Algorithm (A) Simulated (S) Error (E= S-A)
Position(XYZmm) 247.62, -302.06, 737.0 247.8, -302.0, 737.7 0.18, 0.06, 0.7
Euler(R-P-Y) 49.3, 36.0, 95.4 49.4, 36.0, 95.4 0.1, 0, 0
Quarternions
0.67724, 0.55234,
0.48246, 0.05913
0.67685, 0.55270,
0.48253, 0.05978
-
Table 3 Algorithm Results against Simulated results for Arbitrary Pose 1 on ABB IRB140 robot

MEC8026 Assignment: ABB IRB140 Robot Kinematic Analysis
BEDIAKO, Michael Osei Asare 11
Arbitrary Pose 2


Position Joint Angles
Algorithm (A) Simulated (S) Error (E= S-A)
Position (XYZmm) 325.2, -566.6, 492.2 325.4, -566.2, 492.1 0.2, -0.4, -0.1
Euler(R-P-Y) 68.3, -30.8, 129.6 68.4, -30.8, 129.6 0.1, 0, 0
Quarternions
0.205, 0.78518,
0.39649, 0.42927
0.20476, 0.78497,
0.39693, 0.42936
-
Table 4: Algorithm Results against Simulated results for Arbitrary Pose 2 on ABB IRB140 robot









MEC8026 Assignment: ABB IRB140 Robot Kinematic Analysis
BEDIAKO, Michael Osei Asare 12
5.3 ORTHOGONAL POSES

Figure 5.1: Line Diagram for Orthogonal Pose 1[ 0,0,0,90,-90,0] for ABB IRB140 Robot

Algorithm Results Simulated Results
X-Y-Zmm 450, -65, 712 450, -65, 712
R-P-Y 0, 0, 90 0, 0, 90
q
1
, q
2
,
q
3
, q
4

0.70711, 0.70711,
0, 0
0.70711, 0.70711,
0, 0
Table 5 Algorithm results against Simulated results for Orthogonal pose 1 (image source: RoKiSim 1.61(2011)

MEC8026 Assignment: ABB IRB140 Robot Kinematic Analysis
BEDIAKO, Michael Osei Asare 13

Figure 5.2 Line diagram for Orthogonal Pose 2 [0, 90, -180, 0, 90, 360] for ABB IRB140 Robot

Algorithm Results Simulated Results
X-Y-Zmm 495, 0, 732 495, 0, 732
R-P-Y 0, 90, 0 0, 90, 0
q
1
, q
2
,
q
3
, q
4

0.70711, 0,
0.70711, 0
0.70711, 0,
0.70711, 0
Table 6 Algorithm results against Simulated results for Orthogonal Pose 2 (image source: RoKiSim 1.61(2011)

MEC8026 Assignment: ABB IRB140 Robot Kinematic Analysis
BEDIAKO, Michael Osei Asare 14
5.4 ACCURACY AND SOURCES OF ERROR
Error, E =


Accuracy, % = 100% - E%;

Equation 4

But


Equation 5

From the above validations the conclusion can be drawn that the developed algorithm has a
high degree of accuracy with calibration errors on the actual robot being possible sources of
errors encountered in algorithm results. From the datasheet for the IRB140, the manufacturer
indicates a system repeatability of 0.03mm. Thus our computed accuracy is well within limits.
Although this is a Kinematic Analysis, only the Forward Kinematic Solution is presented.


MEC8026 Assignment: ABB IRB140 Robot Kinematic Analysis
BEDIAKO, Michael Osei Asare 15
6 REFERENCES

1. ABB. 2004. Product Manual: Articulated Manual ABB IRB 140 type C; IRB 140T
type C; IRB 140-6/0.8 type C; IRB 140T-6/0.8 type C. Vasteras: ABB Robotics
Products.
2. BARKER, L. Keith. 1986. Modified Denavit-Hartenberg Parameters for Better
Location of Joint Axis Systems in Robot ARms. Virginia: NASA.
3. CRAIG, John J. 2005. Manipulator Kinematics. In: THIRD, (ed). Introduction to
Robotics - Mechanics and Control, Upper Saddle: Pearson Education International.
4. ECOLE DE TECHNOLOGIE SUPERIEURE. 2011. Robot Kinematics Simulator.
[online].
5. HENDERSEN, D. M. 1977. Euler Angles, Quaternions and Transformation Matrices.
NASA.
6. SEDAR, Kucuk and Bingul ZAFER. 2006. Robot Kinematics: Forward and Inverse
Kinematics. In: Sam CUBERO, (ed). IndustrialIndustrial Robotics: Theory, Modelling
and Control, Pro Literatur Verlag, Germany / ARS, Austria, p.964.
7. SIEGWART, Roland and Illah R. NOURBAKHSH. 2004. Introduction to
Autonomous Mobile Robots. In: Ronald C. ARKIN, (ed). Intelligent Robotics and
Autonomous Agents, Cambridge: The MIT Press.
8. ZHOU, Chen. 1999. Robot Motion Analysis - Kinematics. Zhou Chen.

Das könnte Ihnen auch gefallen