The 2nd International Conference Computational Mechanics and Virtual Engineering COMEC 2007 11 – 13 OCTOBER 2007, Brasov, Romania ON THE KINEMATICS OF INDUSTRIAL ROBOTS STRUCTURES D. BADOIU1 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 i1 between the axes (Oi zi ) and (Oi 1 zi 1 ) , the distance d i 1 between the same axes, the angle i1 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 Ti i 1 where: (0) 0 Ti 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 Ri 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 0Ri 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° 0 0 q1 q2 0 0 3 0 a2 q3 d3 4 -90 ° a3 q4 d4 5 90° 0 q5 0 6 ° 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 T3 1 (0) where: (3)O3 P a3 0 T3 3 d4 (20) 0T 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ès, Paris, 1992. [3] Craig, J.J.: Introduction to robotics: mechanics and control, Addison-Wesley, 1986. [4] Dombre, E., Khalil, W.: Modélisation et commande des robots, Ed. Hermès, Paris, 1988. [5] Ranky, P.G., Ho, C.Y.: Robots Modelling. Control and Applications with Software, Springer Verlag, 1985. 74