0% found this document useful (0 votes)
190 views11 pages

Kinematics, Dynamics and Evaluation of Energy Consumption For ABB IRB-140 Serial Robots in The Tracking of A Path

This document summarizes a study of the kinematics, dynamics, and energy consumption of an ABB IRB-140 serial robot for tracking paths. The robot's forward and inverse kinematics are calculated using screw displacement methods. Its dynamics are modeled using Lagrangian mechanics to determine the torques required at each joint. The robot's motion is simulated in SOLID EDGE to track paths within its workspace and calculate the energy used. The goal is to determine the path and positioning that minimizes energy consumption for the robot.

Uploaded by

AHMED ghribi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
190 views11 pages

Kinematics, Dynamics and Evaluation of Energy Consumption For ABB IRB-140 Serial Robots in The Tracking of A Path

This document summarizes a study of the kinematics, dynamics, and energy consumption of an ABB IRB-140 serial robot for tracking paths. The robot's forward and inverse kinematics are calculated using screw displacement methods. Its dynamics are modeled using Lagrangian mechanics to determine the torques required at each joint. The robot's motion is simulated in SOLID EDGE to track paths within its workspace and calculate the energy used. The goal is to determine the path and positioning that minimizes energy consumption for the robot.

Uploaded by

AHMED ghribi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 11

Kinematics, Dynamics and Evaluation of Energy

Consumption for ABB IRB-140 Serial Robots in


the Tracking of a Path.
Mauro Baquero Suárez, Ricardo Ramı́rez Heredia
Mechatronics Engineering Department, Universidad Nacional
Bogotá, Colombia
[email protected]
[email protected]

Abstract—In this paper, the ABB IRB-140 manipulator is through advanced algorithms of words recognition [4]; model
studied, in which its kinematics (forward - inverse), differential based control techniques, in which Gain Scheduling Robust
kinematics (forward - inverse) and dynamics (torques in each Control is used and implemented for a similar robot like this,
joint) are calculated. The numerical matrix operations were
solved using MATLAB and the tracking of paths was simulated in order to tackle main issues regarding control of flexible
using SOLID EDGE, taking into account the detection of col- robots, including flexibility compensation and handling of
lisions. Additionally, mass centers and inertia tensors of each parametric uncertainty, unmodeled dynamics and disturbances
link required in dynamics equations of the manipulator were [5]. When analyzing the previous applications, the motivation
identified. Through lagrangian formulation, the needed energy of calculating its kinematics and dynamics arises. It is possible
for the path tracking designated was calculated. By placing
this path in different positions inside its workspace, the minor to take advantage from the fiability and safety that this robot
energy consumption for tracking was determined. The main presents, by doing the programming of different paths, making
acknowledgement of this work are the performed equations, simulations of its movement and observing how the rotary
which allow to know angles, velocities, accelerations and torque angles, angular speeds, angular accelerations and torques re-
values generated in each joint; this information is fundamental spond in its joints; this, with the aim on analyzing which
for the correct execution of a specified task.
Keywords—Kinematics and Dynamics Of Serial Robots, Indus- will be the workspace volume where the robot works with the
trial Robot ABB IRB-140, Robotics, Manipulator Robots. greater skill and spends less energy. This robot is fairly useful
for many applications and handles a considerable quantity of
I. I NTRODUCTION versions, which makes it suitable for places such as corrosive
The development of researches in manipulator robots, has environments or foundry environments, but without varying its
been increasing with the objective of optimizing their capaci- basic configuration of 6 rotational axes.
ties, carrying out iterating activities with the velocity, precision
II. T ECHNICAL S PECIFICATIONS OF ABB IRB-140 ROBOT
and efficiency required for whichever automatic process. The
companies that build robots, know that its market on these All technical specifications, documents, CAD models and
devices depends on their designs and innovations, so that videos of ABB IRB-140 robot, are shown well detailed on
they can be able to work in any environment, carrying out [6]. Only the parameters from below that are useful for the
complex tasks with greater energetic efficiency. The use of analysis of kinematics and dynamics were taken into account.
new technologies, allow manipulator robots to work in unusual This robot has a capacity load of 6 Kg and a scope of 810
applications; for instance, the packaging of antibiotics free mm; it also has the possibility of backward dub, as shown in
from contamination in pharmaceutical industries [1]. The ABB Fig. 2.
IRB-140 robot is a compact industrial manipulator with 6
degrees of freedom (DOF); due to robust design, it can be
mounted in the floor, in a roof of inverted form or in a
wall at any angle. Furthermore, it has an integrated cabling,
making it fairly flexible and allowing it to be adequate and
easy to integrate into whichever robotic process. Some of
the specialized works in which this robot was used are:
the assisted robot system of measurement of 3-D shape for
transparent glass created on [2]; high precision drilling opera-
tions, taking advantage of the 6 DOF of ABB IRB-140 robot
arm [3]; adaptive multimodal applications wherein this robot
is provided with artificial vision and controlled by speech, Fig. 1. CAD model of ABB IRB-140 robot.
Fig. 2. Workspace of ABB IRB-140 robot.

Fig. 3. Home position and reference frames.


TABLE I. T ECHNICAL DATA OF ABB IRB-140 ROBOT
S PECIFICATION
Number of Axes: When a tool is assembled in the manipulator, the point of
Robot Manipulator 6 contact of this tool would have the same orientation than the
Supplementary Load: reference frame localized in (x5 , y5 , z5 ) and a distance d from
Upper Arm 1kg this point, which is denominated as the wrist of the robot.
Wrist 0.5kg
Peso: For this, the matrices and equations are shown explicitly.
Weight of Manipulator 98kg The dimensions of Fig. 3 are named in the following way:
D EVELOPMENT
Axis No. Work Range L0 = 70mm, L1 = 352mm, L2 = 360mm,
1 360◦ L3 = 254mm, L4 = 126mm, L5 = 65mm.
2 200◦
3 280◦ In Table II, we have the different locations of screw axes
4 Unlimited (400◦ Default)
5 240◦ with respect to the fixed reference frame. Where s0i indicates
6 Unlimited (800◦ Default) the position and si indicates the orientation of the axes. In the
A NGULAR S PEED ABB IRB-140 robot, all of its joints are of rotational type;
Axis No. Max Speed therefore, the traslation variables ti = 0.
1 200◦ /s
2 200◦ /s TABLE II. L OCATION OF THE S CREW A XES OF ABB IRB-140
3 260◦ /s ROBOT
4 360◦ /s Joint i θi si s0i
5 360◦ /s 1 θ1 (0,0,1) (0,0,0)
6 450◦ /s 2 θ2 (1,0,0) (0, L0 , L1 )
3 θ3 (1,0,0) (0, L0 , L1 + L2 )
III. F ORWARD AND I NVERSE K INEMATICS OF ABB 4 θ4 (0,1,0) (0, L0 + L3 , L1 + L2 )
IRB-140 ROBOT 5 θ5 (1,0,0) (0, L0 + L3 + L4 , L1 + L2 )
6 θ6 (0,1,0) (0, L0 + L3 + L4 + L5 , L1 + L2 )
A. Forward Kinematics
The reference position and orientation (Home) of wrist with
The forward kinematics were calculated by using the Screw respect to base reference frame is:
Successive Displacements method [7], a different approach to
the Denavit-Hartenberg method [8], which is normally used to T T T
x5 = [0, 0, 1] , y5 = [1, 0, 0] , z5 = [0, 1, 0] , and
achieve the same objective.
First, a reference position in the manipulator (Home) was
T
identified, together with position and orientation of reference p5 = [0, L0 + L3 + L4 + L5 , L1 + L2 ] .
frames of each joint. The screw rotation axes $i were assigned
in the same direction of axes Zi−1 , identified in each one of When replacing the set of locations of Table II in the
the rotary axes. equation that converts this coordinates information in screw
transformation matrices, the following results are obtained: If we assemble a tool in the robot, the position 0 ph and

cθ1 −sθ1

0 0
orientation 0 Rh of the contact point of this tool, expressed in
 sθ1 cθ1 0 0  the base reference frame, should be solved by:
A1 = ,  
 0 0 1 0  0
0 0 0 1 0
 L0 + L3 + L4 + L5 + d 
ph = Ah  ,
L1 + L2
 
1 0 0 0
  (4)
 0 cθ2 −sθ2 L1 sθ2 −L0 (cθ2 −1)  1
A2 = ,
0
 0 sθ2 cθ2 −L0 sθ2 −L1 (cθ2 −1)  Rh = 0 R5 .
0 0 0 1
  B. Inverse Kinematics
1 0 0 0
In inverse kinematics it is fundamental to know the position
 0 cθ3 −sθ3 sθ3 (L1 +L2 )−L0 (cθ3 −1) 
A3 = , and orientation of the contact point of the assembled tool in
 0 sθ3 cθ3 −(cθ3 −1)(L1 +L2 )−L0 sθ3 
the robot, to then calculate the rotation of each joint. In the
0 0 0 1
  following homogeneous transformation matrix, this position
cθ4 0 sθ4 −sθ4 (L1 +L2 )
and orientation with respect to the base reference frame is
0 1 0 0
found:
 
A4 = ,
 −sθ4 0 cθ4 −(cθ4 −1)(L1 +L2 )   
0 0 0 1
U hx V hx W hx P hx
0
 U hy V hy W hy P hy 
 U hz V hz W hz P hz  .
Th = 
 
1 0 0 0
 (5)
 0 cθ5 −sθ5 sθ5 (L1 +L2 )−(cθ5 −1)(L0 +L3 +L4 ) 
A5 = , 0 0 0 1
 0 sθ5 cθ5 −sθ5 (L0 +L3 +L4 )−(cθ5 −1)(L1 +L2 ) 
0 0 0 1 If the distance between the wrist (x5 , y5 , z5 ) and the contact

cθ6 0 sθ6 −sθ6 (L1 +L2 )
 point of the tool is d, hence the homogeneous transformation
 0 1 0 0  matrix with the position and orientation of the wrist is known,
A6 = . and represented as follows:
 −sθ6 0 cθ6 −(cθ6 −1)(L1 +L2 ) 
 
0 0 0 1 U hx V hx W hx P hx − dW hx
(1) 0
 U hy V hy W hy P hy − dW hy 
Tm =   U hz V hz W hz P hz − dW hz  .
 (6)
The resulting screw displacement is obtained by premul-
tiplying in order the screw transformation matrices of each 0 0 0 1
joint: As it has been pointed out, the z orientation axis in the wrist
Ah = A1 A2 A3 A4 A5 A6 . (2) is the same for the x axis of point (x4 , y4 , z4 ), corresponding
The following rotational partial matrices, determine the to the location of reference frame anterior to the wrist. Hence,
orientation of reference frame of a joint with respect to the position of (x4 , y4 , z4 ) is as follows:
reference frame of the preceding joint, beginning from the 
P hx − dW hx − L5 W hx

base to the end effector. 0
P4 =  P hy − dW hy − L5 W hy  . (7)
   
cθ1 −sθ1 0 0 0 1 P hz − dW hz − L5 W hz
R1 =  sθ1 cθ1 0  , R2 =  cθ2 −sθ2 0  ,
In Fig. 4 and Fig. 5, it can be observed that the joints qi are
0 0 1 sθ2 cθ2 0
    localized in the reference points 0 Pi−1 . The distance from the
cθ3 −sθ3 0 0 0 1 base to the joint q5 is 0 P4 . From this known point, the rotary
R3 =  sθ3 cθ3 0  , R4 =  cθ4 −sθ4 0  , angle θ1 is determined.
0 0 1 sθ4 cθ4 0  
P hy − dW hy − L5 W hy π
    θ1 = tan−1 − . (8)
sθ5 cθ5 0 0 0 1 P hx − dW hx − L5 W hx 2
R5 =  0 0 1  , R6 =  cθ6 −sθ6 0  . S1=Phy-(L5*Why)-(d*Why);
cθ5 −sθ5 0 sθ6 cθ6 0 C1=Phx-(L5*Whx)-(d*Whx);
Th1=atan2(S1,C1)-(pi/2);
In order to know the position 0 p5 and orientation 0 R5 of
the wrist expressed in the base reference frame (x0 , y0 , z0 ), When carrying out operations with the screw matrices, 0 P4
the following matricial operations should be carried out: in function of θ2 and θ3 is obtained.
 
0 p5 0
P4
p5 = Ah ,
1 z
 }| {  
  P hx −dW hx −L5 W hx −sθ1 [L0 +(L3 +L4 )cθ23 −L2 sθ2 ]
Ah11 Ah12 Ah13  (3)  P hy −dW hy −L5 W hy = cθ1 [L0 +(L3 +L4 )cθ23 −L2 sθ2 ] .
0

R5 =  Ah21 Ah22 Ah23  x5 y5 z5 . P hz −dW hz −L5 W hz L1 +(L3 +L4 )sθ23 +L2 cθ2
Ah31 Ah32 Ah33 (9)
Th3=atan2(S3,C3);
Once the angles θ1 and θ3 are found, it is easy to obtain a
mathematical expression for θ2 . Hence, the following can be
stated:
K1 = (L3 + L4 ) cθ3 ,
(11)
K2 = (L3 + L4 ) sθ3 .
The mathematical expression for θ2 is as follows:
K1 My + (K2 + L2 ) Mz
cθ2 = 2 ,
K12 + (K2 + L2 )
Mz − (K2 + L2 ) cθ2
sθ2 = , (12)
 K1
sθ2
θ2 = tan−1 .
cθ2
Th2=atan2(S2,C2);
θ4 , θ5 and θ6 were calculated in function of the known
angles θ1 , θ2 and θ3 , using the following matricial operation:
 
U hx V hx W hx
Fig. 4. Scheme of upper view of robot. R1T R2T R3T  U hy V hy W hy  = R4 R5 R6 . (13)
U hz V hz W hz
From this, the following was developed:
cθ5 = W hz sθ23 + W hy cθ23 cθ1 − W hx cθ23 sθ1 ,
q
sθ5 = 1 − cθ52 , (14)
 
sθ5
θ5 = tan−1 .
cθ5
Th5=atan2(S5,C5);

sθ4 = W hx cθ1 + W hy sθ1 ,


cθ4 = W hz cθ23 − W hy sθ23 cθ1 + W hx sθ23 sθ1 ,
  (15)
sθ4
θ4 = tan−1 .
cθ4
Th4=atan2(S4,C4);

sθ6 = V hz sθ23 + V hy cθ23 cθ1 − V hx cθ23 sθ1 ,


cθ6 = −U hz sθ23 + U hy cθ23 cθ1 − U hx cθ23 sθ1 ,
  (16)
−1 sθ6
Fig. 5. Scheme of lateral view of robot. θ6 = tan .
cθ6
Th6=atan2(S6,C6);
IV. D IFFERENTIAL K INEMATICS OF ABB IRB-140 ROBOT
From the previous expression and some mathematical strate-
gies, θ3 was calculated as shown below: A. Manipulator Jacobian Matrix
(P hy − L5 W hy − dW hy ) The jacobian matrix J was calculated using the SCREW-
My = − L0 , BASED method proposed in [9] and [10]. This Jacobian matrix
cθ1
relates the velocity in the end effector space, with the angular
Mz = P hz − L5 W hz − dW hz − L1 ,
velocities of each joint, as shown below:
Mz2 + My2 − L22 − L23 − L24 − 2L3 L4    
sθ3 = , (10) ωnx q˙1
2L2 L3 + 2L2 L4  ωny   q˙2 
q    
cθ3 = 1 − sθ32 ,  ωnz 
  = J  q˙3  .
 
(17)
   vox   q˙4 
sθ3
= tan−1
   
θ3 .  voy   q˙5 
cθ3
voz q˙6
T T
Wherein [ωnx ωny ωnz ] and [vox voy voz ] are the an- reference frame of joint j = 3, the operations of the SCREW-
gular and linear velocity vectors of the end effector; and BASED method were carried out based on the transforma-
T
[q˙1 q˙2 q˙3 q˙4 q˙5 q˙6 ] is the angular velocity vector of each tion matrices obtained with Denavit-Hartenberg parameters
robot joint. deposited in the Table III [11].
Let the instantaneous reference frame (x´0 , y´0 , z´0 ), be co-  
n2 0 0 0 −sθ4 cθ4 sθ5
incident with the (x3 , y3 , z3 ). It is assumed that the initial
T T  0 1 1 0 cθ4 sθ4 sθ5 
conditions for j = 3, are s4 = [0, 0, 1] and so,4 = [0, 0, 0] .  
3
 n1 0 0 1 0 cθ5 
J= .
TABLE III. D ENAVIT-H ARTENBERG PARAMETERS O F ABB  0 L2 sθ3 0 0 −cθ4 (L3 +L4 ) m1 
IRB-140 ROBOT 
 L2 sθ2 −L0 0 0 0 −sθ4 (L3 +L4 ) m2


Joint i θi di ai αi 0 −L2 cθ3 0 0 0 0
π π
1 θ1 + 2
L1 L0 2 (19)
2 θ2 + π
2
0 L2 0 m1 = −sθ4 sθ5 (L3 + L4 ) and m2 = cθ4 sθ5 (L3 + L4 ).
3 θ3 0 0 π With the transformation matrix 3 T̃0 , the velocity vectors of
2
the end effector to the instantaneous reference frame aligned
4 θ4 L3 + L4 0 − π2 with (x3 , y3 , z3 ) were expressed:
π
5 θ5 0 0 2
 3   
ωnx ωnx
6 θ6 L5 + d 0 0  3 ωny   ωny 
 3   
 ωnz  3  ωnz 
 = T̃0 
 vox  . (20)
 0 0
  3 
R1 p1  vox 
 3   
z }|
 −sθ1 0
{z }| {  voy   voy 
cθ1 −L0 sθ1  3
0
A1 =  cθ
 
, voz voz
 1 0 sθ1 L0 cθ1 

 0 1 0 L1 Wherein the 3 T̃0 result is:

0 0 0 1  
 1 1
 n1 sθ1 −n1 cθ1 n2 0 0 0
R2 p2
 cθ1 sθ1 0 0 0 0 
z }| {z }| {  
 −sθ2 −cθ2 0 −L2 sθ1  3
 −n2 sθ1 n2 cθ1 n1 0 0 0 
1 T̃0 = .
A2 =  cθ ,
 
−sθ2 0 L2 cθ1   cθ1 x1 sθ1 x1 (sθ11 x2 )/2 n1 sθ1 −n1 cθ1 n2 
 2   
 0 0 1 0   −sθ1 x3 cθ1 x3 cθ11 x4 cθ1 sθ1 0 
0 0 0 1 −cθ1 x5 −sθ1 x5 −2n2 cθ1 sθ1 x4 −n2 sθ1 n2 cθ1 n1
 2 2
 (21)
R3 p3
Where n1 = sθ23 , n2 = cθ23 , x1 = L0 n2 + L1 n1 +
L2 sθ3 , x2 = 2L0 n1 −L2 cθ3 +L2 cθ223 , x3 = L1 +L2 cθ2 ,
z }| {z }| {
 cθ3 0 sθ3 0 
2
A3 =  sθ , x4 = L0 − L2 sθ2 and x5 = L1 n2 − L0 n1 + L2 cθ3 .
 
 3 0 −cθ3 0 
The following formulation expresses the angular velocities

 0 1 0 0 
0 0 0 1 of joints, in function of angular and linear velocities of the
 3 3
 (18) end effector expressed from the base reference frame.
R4 p4    3 
z }| {z }| { q˙1 ωnx
3
 cθ4 0 −sθ4 0   q˙2   3 ωny 
A4 =  sθ ,
 
0 cθ4 0
   
 4  q˙3  3 −1  3 ωnz 
= J  3
 vox  .

 0 −1 0 L3 + L4 

 q˙4 
 (22)
0 0 0 1
   3 
 q˙5   voy 
3
q˙6 voz
 4 4

R5 p5
z }| {z }| {
 cθ5 0 sθ5 0  B. Singular Configurations
4
A5 =  sθ ,
 
 5 0 −cθ5 0   The singular configurations result when the determinant of
 0 1 0 0  the jacobian matrix is equal to 0 [12]. For the ABB IRB?140
0 0 0 1 robot, its singular configurations result as follows:
 5 5

R6 p6
det 3 J = 0

z }| {z }| {
5
 cθ6 −sθ6 0 0  L2 cθ3 sθ5 (L3 + L4 ) (L0 + n2 (L3 + L4 ) − L2 sθ2 ) = 0.
A6 =  sθ .
 
 6 cθ6 0 0  (23)
 0 0 1 L5 + d 
When θ3 = ±90◦ or θ5 = 0◦ the singular configurations
0 0 0 1
are obtained and the manipulator loses one or two freedom
In order to obtain the jacobian matrix expressed in the degrees.
   
xc5 −0.0602
C. Angular Accelerations in Joints
5
pc5 = yc5 = −0.4162 .
The following equation solves the inverse problem of the zc5 −48.6737
angular accelerations of each joint. This is needed to calculate
torques generated by the mass and the movement of each link
when a path is tracked:
      
q¨1 ω̇nx q˙1
 q¨2    ω̇ny   q˙2 
      
 q¨3  3 −1 3  ω̇nz  3  q˙3 
 = J  T̃0   − J˙ 
 q˙4  . (24)
 
 q¨4    v̇ox 
      
 q¨5    v̇oy   q˙5 
q¨6 v̇oz q˙6
3
J˙ is the derivate with respect to the time of the jacobian
matrix referenced in the instantaneous frame 3. This matrix
results as follows:
 
−n1 (θ˙2 +θ˙3 ) 0 0 0 −cθ4 θ˙4 x6
 0 0 0 0 −sθ4 θ˙4 x7 
 
 n 2 (θ˙2 +θ˙3 ) 0 0 0 0 −sθ 5 θ˙5 
3 ˙ 
J= .
Fig. 6. Links of ABB IRB-140 robot.
 0 L2 cθ3 θ˙3 0 0 x8 sθ4 −(L3 +L4 )x7 
 
 L2 cθ2 θ˙2 0 0 0 −x8 cθ4 (L3 +L4 )x6 
0 L2 sθ3 θ˙3 0 0 0 0    
Ixx1 Ixy1 Ixz1 0.765 −0.3 0.067
(25) 1
I1 = Ixy1 Iyy1 Iyz1 = −0.3 0.31 −0.14 ,
Where x6 = cθ4 cθ5 θ˙5 − sθ4 sθ5 θ˙4 , x7 = cθ4 sθ5 θ˙4 +
Ixz1 Iyz1 Izz1 0.067 −0.14 0.78
cθ5 sθ4 θ˙5 and x8 = (L3 + L4 ) θ˙4 .    
Ixx2 Ixy2 Ixz2 1.38 0.045 −0.02
V. DYNAMICS OF ABB IRB-140 ROBOT 2
I2 = Ixy2 Iyy2 Iyz2 = 0.045 0.364 −0.31 ,
Ixz2 Iyz2 Izz2 −0.02 −0.31 1.09
A. Mass Centers and Inertia Tensors of Robot    
Ixx3 0 Ixz3 0.349 0 0.002
Assuming that the density of each link i of Fig. 6 is uniform, 3
I3 = 0 Iyy3 Iyz3 = 0 0.338 0.021 ,
their corresponding values, such as mass mi [Kg], mass
 centers Ixz3 Iyz3 Izz3 0.002 0.021 0.014
position i pi [mm] and inertia matrices i Ii Kg.m2 , expressed    
Ixx4 0 0 0.005 0 0
in their respective reference frames, have been obtained from 4
I4 = 0 Iyy4 0 = 0 0.011 0 ,
the DELMIA Catalog of Robots and the SOLID EDGE ST4
0 0 Izz4 0 0 0.016
tool of Physical Properties, handling a precision error of 1%.    
Link 0 corresponds to the fixed base of the manipulator; and Ixx5 0 0 0.005 0 0

link 5 is constituted by an assembly of pieces that allows two


5
I5 = 0 Iyy5 Iyz5 = 0 0.005 4e−5 .
rotational movements in the tool that will couple on its wrist, 0 Iyz5 Izz5 0 4e−5 0.0006

both over the same axis. (27)

m0 = 12kg, m1 = 35kg, m2 = 25kg, B. Jacobian Submatrices, Inertia Matrices and Torque Equa-
m3 = 18kg, m4 = 6.5kg, m5 = 1.5kg. tions

    First, the position vectors j−1 p∗ci are calculated from the
xc1 64.91 origin of the link frame j − 1 to the mass center of link i,
1
pc1 = yc1 = −130.89 , expressed in the base reference frame as follows:
zc1 29.13
0 ∗
pc1 = 0 p1 + 0 R1 1 pc1 ,
     
xc2 −9.73
1 ∗
pc2 = 0 R1 1 p2 + 0 R1 1 R2 2 pc2 ,
   
2
pc2 = yc2 = −161.71 ,
0 ∗
pc2 = 0 p2 + 0 R1 1 R2 2 pc2 ,
 
zc2 92.43
    (26)
2 ∗
pc3 = 0 R1 1 R2 2 p3 + 0 R1 1 R2 2 R3 3 pc3 ,
   
xc3 −0.89
3
pc3 = yc3 = −8.67 , 1 ∗
(28)
pc3 = 0 R1 1 p3 + 0 R1 1 R2 2 R3 3 pc3 ,
   
zc3 −136.49
0 ∗
pc3 = 0 p3 + 0 R1 1 R2 2 R3 3 pc3 ,
 
   
xc4 −40.77
3 ∗
pc4 = 0 R1 1 R2 2 R3 3 p4 + 0 R1 1 R2 2 R3 3 R4 4 pc4 ,
   
4
pc4 = yc4 = 0 ,
2 ∗
pc4 = 0 R1 1 R2 2 p4 + 0 R1 1 R2 2 R3 3 R4 4 pc4 ,
   
zc4 0
1 ∗
0 1 0
R1 1 R2 2 R3 3 R4 4 pc4 ,
  
pc4 = R1 p4 + | | | |
0 ∗
pc4 = 0 p4 + 0 R1 1 R2 2 R3 3 R4 4 pc4 ,
  Jv5 =  z0 ×0 p∗
c5 | z1 ×1 p∗
c5 | z2 ×2 p∗
c5 | z3 ×3 p∗
c5 | z4 ×4 p∗
c5
,
4 ∗ | | | |
= 0 R1 1 R2 2 R3 3 R4 4 p5 + 0 R1 1 R2 2 R3 3 R4 4 R5 5 pc5 ,
   
pc5  
3 ∗ | | | |
= 0 R1 1 R2 2 R3 3 p5 + 0 R1 1 R2 2 R3 3 R4 4 R5 5 pc5 ,
   
pc5
Jw5 =  z0 | z1 | z2 | z3 | z4 .
2 ∗
= 0 R1 1 R2 2 p5 + 0 R1 1 R2 2 R3 3 R4 4 R5 5 pc5 ,
   
pc5 | | | |
1 ∗
0  1 0 1 2 3 4  5
pc5 = R1 p5 + R1 R2 R3 R4 R5 pc5 , Jvi y Jwi can be written in general form, as:
0 ∗
= 0 p5 + 0 R1 1 R2 2 R3 3 R4 4 R5 5 pc5 .
 
pc5  1 2 i

Jvi = Jvi , Jvi , . . . , Jvi , 0, 0, . . . , 0 , (32)
Given that,  1
Jwi = Jwi 2
, Jwi , . . . , Jwii

, 0, 0, . . . , 0 . (33)
j
j  j+1
Aj+2 . . . k−1 Ak ,
  
Ak = Aj+1
  The following matrices Ii correspond to the inertia tensors
of each link over their mass centers and are expressed in the
j j (29)
 Rk pk  base reference frame [14]:
=

.
 T
I1 = 0 R1 1 I1 0 R1 ,
  
0 0 0 1
T
I2 = 0 R1 1 R2 2 I2 0 R1 1 R2 ,
  
After this, the unit vectors that point to rotation axes zj−1 of
T
each joint were calculated, and expressed in the base reference I3 = 0 R1 1 R2 2 R3 3 I3 0 R1 1 R2 2 R3 ,
  
frame, just as shown below: T
I4 = 0 R1 1 R2 2 R3 3 R4 4 I4 0 R1 1 R2 2 R3 3 R4 ,
  
 
z0 = 0 0 1 , T
I5 = 0 R1 1 R2 2 R3 3 R4 4 R5 5 I5 0 R1 1 R2 2 R3 3 R4 4 R5 .
  
z1 = 0 R1 z0 ,
 
(34)
z2 = 0 R1 1 R2 z0 ,
 
(30)
0 1 2  In general, the forces that act on a moving robot arm, are
z3 = R1 R2 R3 z0 , expressed in a vector that is denominated Generalized Forces.
T
z4 = 0 R1 1 R2 2 R3 3 R4 z0 .
 
This vector of generalized forces Q = [Q1 , Q2 , . . . , Qn ] , is
defined as follows:
The following jacobian submatrices Jvi and Jwi , denote the
partial rate of change of the linear velocities of mass centers Q = τ + J T F e − fr . (35)
and angular velocities of each link [13]: T
Wherein τ = [τ1 , τ2 , . . . , τn ] is the n-dimensional torques
vector of each joint generated by the actuators. Fe = feT , nTe
 
| 0 0 0 0
Jv1 =  z0 ×0 p∗c1 | 0 0 0 0  , is a 6-dimensional vector of forces and resultant momen-
| 0 0 0 0 tum, exercised in the end effector by a external load. And

| 0 0 0 0
 fr = [b1 q̇1 , b2 q̇2 , . . . , bn q̇n ] are torques or friction forces in the
Jw1 =  z0 | 0 0 0 0  , joints. The minus sign indicates that this friction quantities are
| 0 0 0 0 always opposite to the velocities of joints.
  In the dynamic analysis of this manipulator, the friction on
| | 0 0 0
its joints was not taken into account, nor were the external
Jv2 =  z0 ×0 p∗c2 | z1 ×1 p∗c2 | 0 0 0  ,
forces applied or the dynamics of the end effector. Therefore,
| | 0 0 0
  the vector of generalized forces is equivalent to the vector of
| | 0 0 0 generated torques in the joints of each link in Fig. 6, (Q = τ ).
Jw2 =  z0 | z1 | 0 0 0  , For the tracking of a path, the vector of generalized forces
| | 0 0 0 was considered as shown below:
  (31)
| | | 0 0 Xn
Jv3 =  z0 ×0 p∗c3 | z1 ×1 p∗c3 | z2 ×2 p∗c3 | 0 0  , Mij q̈j + Vi + Gi = Qi = τi para i = 1, 2, . . . , n. (36)
| | | 0 0 j=1
 
| | | 0 0 Where,
Jw3 =  z0 | z1 | z2 | 0 0  , n
X
| | | 0 0 T T

M= Jvi mi Jvi + Jwi Ii Jwi , (37)
 
| | | | 0 i=1
n Xn  
Jv4 =  z0 ×0 p∗c4 | z1 ×1 p∗c4 | z2 ×2 p∗c4 | z3 ×3 p∗c4 | 0  , X ∂Mij 1 ∂Mjk
Vi = − q̇j q̇k , (38)
| | | | 0 ∂qk 2 ∂qi
  j=1 k=1
| | | | 0 Xn
Jw4 =  z0 | z1 | z2 | z3 | 0  , Gi = − mj gT Jvj
i
. (39)
| | | | 0 j=1
The first term in the Eq. 36, stands for the inertial forces;
the second term, represents the centrifugal and coriolis forces;
and the third term, gives the gravitational forces. This equation
can be written in the following way:
M q̈ + V + G = Q. (40)
T T
Where V = [V1 , V2 , . . . , Vn ] , G = [G1 , G2 , . . . , Gn ] and
T
Q = [Q1 , Q2 , . . . , Qn ] . The inertia matrix of manipulator
M , is symmetric and positive definite, and therefore is always
invertible [15].
VI. PATH T RACKING Fig. 8. Wrist position in the path tracking.
A. Description of Path
The objective in the path tracking, is to apply the equations its joints will be different in the tracking of each one of them,
and expressions of the previous sections of kinematics and and the energy will depend on the movement of each link and
dynamics, in order to calculate positions, velocities, acceler- will be obtained by the calculus of the previous variables.
ations and resultant torques on the joints of the manipulator,
in function of an equivalent time to the tracking velocity of
the arm. After this, the consumed energy for the manipulator
is estimated from the previous data. The path of Fig. 7 was
programmed in MATLAB, dividing it in a significant set of
points with the position and orientation that the end effector
would have in each one of them.

Fig. 9. Set of paths.

B. Simulations in the tracking


Fig. 7. Lengths of the designated path.
In order to present the simulations in the paths tracking,
The Fig. 8 indicates the designated path that traces the ABB an algorithm developed in MATLAB divides these paths in
robot, with a linear velocity υ = 10mm/s, an inclination of several points, whose resolution will depend on their quantity
the wrist of ψ = −70◦ and a distance d = 100 mm between in the routes. In order to round the curves of paths, a greater
the wrist and the path; all of these are invariant during the numbers of points rather than straight sections is needed. From
whole route. the linear velocity of tracking υ, the algorithm estimates the in-
As is observed in the Fig. 9, the designated path was placed stantaneous time of arrival in each point and uses the functions
in different distances, inside the volume of the manipulator that calculate each one of n them: angles o θi = {θ1 , . . . , θ6 },
workspace, between 400 and 650 millimeters from the base angular velocities θ̇i = θ̇1 , . . . , θ̇6 , angular accelerations
reference frame. It is desired to know the frontal distance
n o
θ̈i = θ̈1 , . . . , θ̈6 , resultant torques τi = {τ1 , . . . , τ6 }, and
in which the manipulator consumes the lowest energy in the
tracking of this path. the energy that is expressed with the following equation:
Z tf
In total, 6 paths are programmed for the ABB robot.
Although these present the same geometry, the rotary angles, Ei = τi (t) · θ̇i (t) dt (41)
to
angular velocities and accelerations and resultant torques of
Joint #1
Joint #2 Joint #3
1
0.5
0.5 0.5
Angle [rad]

Angle [rad]

Angle [rad]
0
0
−0.5
−0.5
−1 −0.5
−1
50 100 150 200 250 50 100 150 200 250 0 50 100 150 200 250
Time [sec] Time [sec] Time [sec]

Joint #4 Joint #5 Joint #6


3
2
2 2
1.5

Angle [rad]
Angle [rad]

Angle [rad]
1
0 1 0
−1
0.5 −2
−2
−3 0
0 50 100 150 200 250 300 50 100 150 200 250 50 100 150 200 250
Time [sec] Time [sec] Time [sec]

Fig. 10. Angular position of each joint in the tracking of paths.

Joint #1 Joint #2 Joint #3


0.4
0 0.2
0.2
Speed [rad/s]

Speed [rad/s]
Speed [rad/s]

−0.05
−0.1 0 0
−0.15
−0.2 −0.2 −0.2

−0.25
−0.4
0 50 100 150 200 250 50 100 150 200 250 0 50 100 150 200 250 300
Time [sec] Time [sec] Time [sec]

Joint #4 Joint #5 Joint #6


1

0.1 2
Speed [rad/s]

0
Speed [rad/s]
Speed [rad/s]

0
−1 1
−0.1
−2 0
−0.2
−3 0 50 100 150 200 250
0 50 100 150 200 250 300 50 100 150 200 250
Time [sec]
Time [sec] Time [sec]

Fig. 11. Angular velocities of each joint in the tracking of paths.

Joint #1 Joint #2 Joint #3

400 100
1
Torque [N*m]
Torque [N*m]

Torque [N*m]

300
50
0.5 200
0
100
0
0 −50

50 100 150 200 250 50 100 150 200 250 50 100 150 200 250
Time [sec] Time [sec] Time [sec]

Joint #4 Joint #5
5
0.5
Torque [N*m]
Torque [N*m]

0 0
1 Path 1 (400mm)
Angle [rad]

Path 2 (450mm)
−0.5 0 Path 3 (500mm)
−5 Path 4 (550mm)
50 100 150 200 250 50 100 150 200 250 −1 Path 5 (600mm)
Time [sec] Time [sec] 50100
Path 6 15020025
(650mm)
Time [sec]

Fig. 12. Resultant torques of each joint in the tracking of paths.


Joint #1 Joint #2 Joint #3
0
250
0.15
−500 200
Energy [J]

Energy [J]
Energy [J]
0.1 150
−1000 100
0.05
50
−1500
0 0

50 100 150 200 250 50 100 150 200 250 0 50 100 150 200 250
Time [sec] Time [sec] Time [sec]

Joint #4 Joint #5
10 0.2

0
Energy [J]

Energy [J]
5
−0.2

0 1 Path 1 (400mm)

Angle [rad]
−0.4 Path 2 (450mm)
0 Path 3 (500mm)
−0.6 Path 4 (550mm)
−5
50 100 150 200 250 50 100 150 200 250 −1 Path 5 (600mm)
Time [sec] Time [sec] 50100
Path 6 15020025
(650mm)
Time [sec]

Fig. 13. Energy consumptions of each joint in the tracking of paths.

C. Energy Consumptions in the Tracking For a real application of a serial or parallel robot, the
physical parameters of these systems should be identified in
Figures 10, 11 and 12 show the simulations of angular
the best possible way. The data of mass, inertia matrices, mass
position, angular velocities and torques generated by the
centers, friction forces, etc, delivered for any software, implies
tracking of paths as shown in Fig. 9. The Fig. 13 shows the
an error percentage that must be considered in the calculus.
consumed energy for each link, taking the angular velocities
and torques from simulations, and with them, carrying out the MATLAB is an adequate tool for the development of
calculus of Eq. 41. The negative values reached in the graphics algorithms, evaluation and validation of models and simulation
of consumed energy, can be physically explained as the use of system responses, but the computational time for calculus
of potential energy in the movement of any link that displaces of algebraic operations in robotics is not very efficient and,
its mass center to a minor height, from the base reference in some cases, it results heavy and slow for the simulation of
frame. It could be argued that the robot earns energy when path tracking with a high number of points.
the angular velocity for any of its joints is in opposite sense
to its generated torque, and vice versa. R EFERENCES
TABLE IV C ONSUMED E NERGY OF ABB IRB-140 ROBOT [1] Browne Maureen. Robots at work with medicines and adhesives.
Joint i Path 1 [J] Path 2 [J] Path 3 [J] Path 4 [J] Path 5 [J] Path 6 [J] Production Engineer, 1985.
1 0.1790 0.1405 0.0890 0.0977 0.1046 0.1073 [2] Jing Xu, Ning Xi, Chi Zhang, Quan Shi, and J. Gregory. A robot-assisted
2 -0.2067 -0.2144 -0.2831 -0.2608 -0.1802 -0.2497 back-imaging measurement system for transparent glass. IEEE/ASME
3 59.4269 58.3156 73.7766 82.3076 79.7733 97.0575 Transactions on Mechatronics, 2012.
4 6.0567 7.2643 10.0797 8.8702 9.5061 9.0829 [3] Andrea M. Zanchettin, Paolo Rocco, Anders Robertsson, and Rolf
5 0.0073 -0.0870 -0.1981 -0.3343 -0.3374 -0.3695
Johansson. Exploiting task redundancy in industrial manipulators during
drilling operations. In IEEE International Conference on Robotics and
Total: 65.4632 65.4190 83.4641 90.6804 88.8664 105.6285
Automation, 2011.
In Table IV it can be clearly observed that the manipulator [4] M. Gnjatovic, J. Tasevski, M. Nikolic, D. Miskovic, B. Borovac, and
V. Delic. Adaptive multimodal interaction with industrial robot. In
spends less energy when path No. 2 is tracked to a frontal Intelligent Systems and Informatics (SISY), 2012 IEEE 10th Jubilee
distance to 450 mm from the base reference frame. International Symposium on, pages 329–333, 2012.
[5] Bin Niu and Hui Zhang. Model based control of industrial robot and
implementation of its gain scheduling robust control. In Robotics and
VII. C ONCLUSION Biomimetics (ROBIO), 2011 IEEE International Conference on, pages
2156–2162, 2011.
The forward and inverse kinematics analysis through the [6] ABB Products. ABB IRB 140 - Robots (Robotics). www.abb.com/
successive screw displacement method, results convenient and product/seitp327/b0168cc2e1ea9fd5c125717900223403.aspx.
formal. This method is understandable and simple algorithms [7] Lung-Wen Tsai. Robot Analysis - The Mechanics Of Serial And Parallel
Manipulators, pages 91–109. Wiley-Interscience, Toronto, Canada, First
are obtained, making its implementation easier. The shift of the edition, 1999.
base reference frame to any instantaneous frame located in the [8] A. Barrientos. Fundamentos De Robótica, pages 94–103. Mc. Graw
frames of links 3 or 4, results fairly practical when the jacobian Hill, Madrid, España, Second edition, 2007.
[9] K. H. Hunt. Special configurations of robot-arms via screw theory.
matrix is calculated; this because the equations are simplified, Robotica, 4:171–179, 6 1986.
and its algebraic development becomes less tedious than other [10] K. H. Hunt. Special configurations of robot-arms via screw theory.
analysis methods. Due to the 6 DOF that the manipulator has, Robotica, 5:17–22, 0 1987.
the matrix operations result very large and it is complicated [11] Reza N. Jazar. Theory Of Applied Robotics, pages 233–242. Springer,
Melbourne, Victoria, Australia, Second edition, 2010.
to realize a verification of dynamical equations with respect [12] P. Corke. Robotics, Vision And Control - Fundamental Algorithms In
to obtained results on simulations. MATLAB, pages 182–183. Springer, Brisbane, Australia, 2011.
[13] L. Sciavicco and B. Siciliano. Modeling And Control of Robot Manipu- And Control, pages 251–253. Wiley, United States Naval Academy, First
lators, pages 85–89. Springer, Via della Vasca Navale 79, Rome, Italy, edition, 2005.
Second edition, 2005. [15] Anibal Ollero. Robotica, Manipuladores y Robots Móviles, page 119.
[14] Mark W. Spong, Seth Hutchinson, and M. Vidyasagar. Robot Modeling Marcombo, Barcelona, España, First edition, 2001.

You might also like