# ON THE KINEMATICS OF INDUSTRIAL ROBOTS STRUCTURES

```The 2nd International Conference
Computational Mechanics
and
Virtual Engineering
COMEC 2007
11 – 13 OCTOBER 2007, Brasov, Romania
ON THE KINEMATICS OF INDUSTRIAL ROBOTS STRUCTURES
1
Petroleum-Gas University of Ploiesti, ROMANIA, badoiu@mail.upg-ploiesti.ro
Abstract: The paper presents a method for the cinematic analysis of the industrial robots active mechanisms. It can be
applied no matter what the structure of the industrial robot is. This method uses the homogeneous matrices and their
derivatives with time and can establish in a recursive way the speed distributions corresponding to the component links. Also,
the influence of the movement at the active joints level on the speed distributions for different parts of the robot mechanism
can be settled. Finally, the method is applied for a complex active mechanism of a robot with six degrees of freedom.
Keywords: robot, kinematics, homogeneous transformation, speed distributions
1. THEORETICAL CONSIDERATIONS
In many industrial cases, when robots are used in complex flexible cells of manufacturing, the speed
distributions for different parts which belong to them have to be established in a precise way. Also, an optimum
design of the robots active mechanisms demands a cinematic study of them to be done.
This paper presents a method that can be used for the cinematic analysis of the industrial robots active
mechanisms with a complex spatial structure. The method uses the homogeneous matrices and their derivatives
with time.
The general case of an industrial robot active mechanism, with n modules, that can be of rotation or of
translation (fig. 1) is considered.
Figure 1: Industrial robot mechanism
The position of the component links will be determined using the homogeneous matrices [1]. In this case the
position of a current point P on the component link i can be determined with the following relation:
 (0)O0 P  0  (i)Oi P 
(1)

  Ti  

 1 
 1 
69
where: O0 is the origin of the fixed system of coordinates (T0 )  (O0 x0 y0 z0 ) , Oi is the origin of the system of
coordinates (Ti )  (Oi xi yi zi ) attached to the link i and 0Ti is the homogeneous transformation matrix
corresponding to the relative position and orientation of the systems of coordinates (T0 ) and (Ti ) :
0
0R
Ti   i
 0
O0 Oi  0 1
i -1
  T1  T2   Ti
1 
(0)
(2)
where: 0 Ri is the rotation matrix corresponding to the relative orientation of the systems of coordinates (T0 ) and
(Ti ) ;
T j , j  1, i , are the homogeneous transformation matrices corresponding to the relative position and
j -1
orientation of the consecutive links j-1 and j, j  1, i .
The systems of coordinates (Ti ), i  1, n , will be attached to each component link i, i  1, n , using the KhalilKleinfinger method [4]. In this case, the systems of coordinates (Ti ) attached to each component module of the
robot, are chosen in the following way: the axis (Oi zi ) has the direction of the joint (Ci ) between the modules
i-1 and i, the axis (Oi xi ) has the direction of the common perpendicular between the axes (Oi zi ) and
(Oi 1 zi 1 ) , the axis (Oi yi ) is chosen in such a way that the system of coordinate (Ti ) be an right-orthogonal
one.
The fixed system of coordinate (T0 ) is chosen so that it coincides with (T1 ) when q1  0 , q1 being the
generalized coordinate corresponding to the joint (C1 ) .
The system of coordinates (Tn ) , attached to the last component module of the robot, is chosen in the following
way:
- when the last module is of rotation, the axis (On xn ) will be collinear with the axis (On 1 xn 1 ) when qn  0
( qn is the generalized coordinate corresponding to the active joint (Cn ) ) and the origin On is chosen at the
intersection of the axes (On 1 xn 1 ) and (On z n ) ;
- if the last module is of translation, then the axis (On xn ) will be parallel with the axis (On 1 xn 1 ) and the
origin On will be chosen at the intersection of the axes (On 1 xn 1 ) and (On z n ) when qn  0 .
The systems of coordinates (Ti 1 ) and (Ti ) , i  0, n  1 , are relatively positioned using four parameters (fig. 2):
the angle  i1 between the axes (Oi zi ) and (Oi 1 zi 1 ) , the distance d i 1 between the same axes, the angle  i1
between the axes (Oi xi ) and (Oi 1 xi 1 ) and the distance ri  1 between (Oi xi ) and (Oi 1 xi 1 ) , measured on the
positive direction of the axis (Oi 1 zi 1 ) .
Figure 2: Khalil-Kleinfinger parameters
The homogeneous matrix corresponding to the relative position and orientation of the systems of coordinates
(Ti 1 ) and (Ti ) , i  0, n  1 , has the following general form [4]:
70
i
iR
Ti 1   i 1
 0
(i )
Oi Oi 1 
  Rot ( x,  i 1 )  Trans( x, di 1 )  Rot ( z,i 1 )  Trans( z, ri 1 ) 
1

cos i 1

cos  sin 
i 1
i 1

 sin  i 1  sin  i 1

0

 sin  i 1
0
cos i 1  cos i 1
sin  i 1  cos i 1
 sin  i 1
cos i 1
0
0
(3)

 ri 1  sin  i 1 
ri 1  cos i 1 

1

d i 1
i
where: Ri 1 is the rotation matrix corresponding to the relative orientation of the systems of coordinates (Ti 1 )
and (Ti ) , the homogeneous transformation matrices of type Rot correspond to rotations along the axes of the
system of coordinates (Ti ) and the matrices of type Trans correspond to translations along the axes of (Ti ) .
The generalized coordinates q i , i  1, n , corresponding to the movement at the active joints (Ci ) , i  1, n , level
will be the angles  i when (Ci ) are of rotation and will be equal to ri when (Ci ) are of translation.
We consider that each component module of the robot is rigid. In this case the components of the vector (i)Oi P ,
in the relation (1), do not depend on time. By deriving with time the relation (1) we can obtain the speed of the
point P, expressed in homogeneous coordinates, by its projections on the fixed system of coordinates (T0 ) :
 (i)O P
vP 0 Ti   i 
 1 
where:
(0)
0
Ti 
i
(4)
 0T
 q ji  q j
(5)
j 1
The partial derivatives of the homogeneous transformation matrices
calculated in a recursive way, with the following relations:
 0Ti  0Ti 1 i -1

 Ti ; j  1, i  1
q j
q j
Ti , i  1, n , in the relation (5), can be
0
 0Ti 0
d i -1Ti
 Ti 1 
qi
dqi
(6)
(7)
By taking into account the way in which the fixed system of coordinates (T0 ) has been chosen, it results that
 1  d 1  0 and so Rot ( x,  1 )  I 4 and Trans( x, d1 )  I 4 , where I 4 is the unit matrix of rank four.
If the active joint (C1 ) is of rotation then q1   1 and r1  0 . In this case Trans ( z, r1 )  I 4 and the matrix
Rot( z,1 ) has the following expression:
 R( z , q1 ) 0 
Rot ( z ,  1 )  Rot ( z , q1 )  
1
 0
where: R( z, q1 ) is a rotation matrix which corresponds to a rotation of an angle q1 along the z axis:
(8)
 sin q1 0 
(9)
cos q1 0 

0
1
If the active joint (C1 ) is of translation then 1  0 and q1  r1 . In this case Rot ( x,1 )  I 4 and the matrix
Trans ( z, r1 ) has the expression:
cos q1
R( z, q1 )   sin q1
 0
1
0
Trans ( z , r1 )  Trans ( z , q1 )  
0

0
So, if (C1 ) is of rotation, it results:
0
1 0 0 
0 1 q1 

0 0 1
0 0
(10)
71
 sin q1  cos q1 0
 cos q
 sin q1 0
d T1
1
 R1  
 0
0
0
dq1

0
0
 0
and, if (C1 ) is of translation, it results:
0
0
0
d T1
 T1  
0
dq1

0
0
0 
0

0
(11)
0 0 0
0 0 0 
0 0 1

0 0 0
0
(12)
For the others active joints (Ci ), i  2, n , we can obtain some analogous relations:
- if (Ci ) is of rotation:
d i 1Ti
dRot ( z, qi )
 Rot ( x,  i )Trans( x, d i )Trans ( z, ri )
dqi
dqi
(13)
where:
 sin qi
 cos q
dRot ( z , qi )
i
 Ri  
 0
dq i

 0
- if (Ci ) is of translation:
 cos qi
 sin qi
0
0
0 0
0 0 
0 0

0 0
(14)
d i 1Ti
dTrans( z, qi )
 Rot ( x,  i )Trans( x, d i ) Rot ( z, i )
dqi
dqi
(15)
where:
0 0 0 0 
0 0 0 0 
dTrans ( z , qi )

 Ti  
(16)
0 0 0 1
dq i


0 0 0 0 
On the other hand, once we have calculated the derivatives with time of the homogeneous transformation
matrices 0Ti , i  1, n , we have also obtained the derivatives with time corresponding to the rotation matrices
Ri , i  1, n . It is known the relation between a rotation matrix and its derivatives with time (in our case the
relation between 0 Ri and 0 Ri ) [3]:
0  (0 ) v 0
(17)
Ri  i  Ri
0
where:
iv
(0 )

i  i, x
(0 )
0
is a (3x3) matrix corresponding to the angular speed vector of the module i
i, y
0
i, z

T
0
, having its components projected on the axes of the fixed system of coordinates
(T0 ) :
(0 )
iv
 0

   i , z0
 
 i , y0
  i , z0
0
i , x
i , y 

 i , x 
0
0
0
0
From the relation (17) we can calculate the matrix
elements of the angular speed
(18)


iv ( (0)iv 0Ri 0 RiT ) and in this way we can obtain the
(0 )
i .
(0 )
2. CALCULUS EXAMPLE
The method is applied in the case of a robot of Puma type, which has a complex active mechanism with six
degrees of freedom (fig. 3).
72
Figure 3: Robot of Puma type
The y axes of the systems of coordinates attached to each component module of the robot were not represented
for obtaining more clarity of the figure. All component modules of the robot are of rotation. The arm has an
anthropomorphic structure and the mechanism of orientation has three component modules with concurrent axes.
The corresponding Khalil-Kleinfinger parameters are given in table 1.
Table 1: Khalil-Kleinfinger parameters
i
di
ri
i
I
1
2
0
-90&deg;
0
0
q1
q2
0
0
3
0
a2
q3
d3
4
-90
&deg;
a3
q4
d4
5
90&deg;
0
q5
0
6
&deg;
0
q6
0
-90
By applying the relation (3) we can calculate the homogeneous transformation matrices iTi 1 , i  0,5 :
c 1  s 1 0
s 1 c 1 0
0
T1  
0
0
1

0
0
0

 c4 s4
 0
0
3
T4  
 s 4  c 4

0
 0
0
 c2 s2 0
 0
0  ; 1
0
1
T2  
 s 2  c 2 0
0


1
0
0
 0
0 a3 
c 5  s 5
0
1 d 4  ; 4
0
T5  
s 5 c 5
0 0


0 1
0
0
0
c 3  s 3
s 3 c 3
0  ; 2
T3  
0
0
0


1
0
0

0 0
 c6
 0
 1 0  ; 5
T6  
 s 6
0 0


0 1
 0
0 a2 
0 0 
1 d3 

0 1
 s 6 0 0
0
1 0 
 c 6 0 0

0
0 1
(19,a)
(19,b)
By applying successively the relations (6) and (7) and by taking into account the relations (11), (13) and (14) and
also the values of the Khalil-Kleinfinger parameters, we can calculate all the partial derivatives of the
homogeneous transformation matrices 0Ti , i  1,6 , in a recursive way. Then, by applying the relations (4) and
(5), the speeds distributions for every component module can be established.
We will present the way in which the speed of the point P, where the axes of the component modules of the
orientation mechanism intersect, can be determined. This point overlaps the points O4 , O5 and O6 (fig. 3).
 ( 3 )O3 P 
v P 0 T3  

 1 
(0)
where: (3)O3 P  a3
0
T3 
3
d4
(20)
0T and:
 0T
 q j3  q j
(21)
j 1
73
where:
 0T3  0T2 2
d 0T1 1 2

 T3 
 T2  T3  R1 1T2 2 T3
q1
q1
dq1
(22,a)
 0T3  0T2 2
d 1T2 2

 T3 0 T1 
 T3 0 T1  Rot ( x,90)  R2 2 T3
q2
q2
dq2
(22,b)
 0T3 0
d 2T3 0
 T2 
 T2  Trans( x, a2 )  Trans( z, d 3 )  R3
q3
dq3
(22,c)
3. CONCLUSIONS
The method presented in this paper permits the speed distributions for industrial robots mechanisms to be
established, no matter what the structure of the robot is. The recursive way that has been used into the method
allows this method to be transposed in a computer program using symbolic calculus software (Maple,
Mathematica etc.).
Also, by applying this method, the influence of the movement at the active joints level on the speed distributions
for different parts of the robot mechanism can be settled.
REFERENCES
[1] Badoiu, D.: Analiza structurala si cinematica a mecanismelor, Ed. Tehnica, 2001.
[2] Coiffet, P.: La robotique-principes et applications, Ed. Herm&egrave;s, Paris, 1992.
[3] Craig, J.J.: Introduction to robotics: mechanics and control, Addison-Wesley, 1986.
[4] Dombre, E., Khalil, W.: Mod&eacute;lisation et commande des robots, Ed. Herm&egrave;s, Paris, 1988.
[5] Ranky, P.G., Ho, C.Y.: Robots Modelling. Control and Applications with Software, Springer Verlag, 1985.
74
```