Robotics Report On ABB IRB
Robotics Report On ABB IRB
Robotics Report On ABB IRB
] 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.