Academia.eduAcademia.edu

A Dynamic Model Based Robot Arm Selection Criterion

2004, Multibody System Dynamics

The selection of robot manipulator architecture, i.e. the determination of link lengths, their relative orientations, types of joints, e.g. revolute or prismatic, etc., has been largely done so far by experience, intuition and at most based on the kinematic considerations like workspace, manipulability, etc. Dynamics is generally ignored at this stage even though it is widely used for control and simulation. This paper attempts to introduce a criterion based on the dynamics of a robot manipulator, namely, simplicity of the associated generalized inertia matrix (GIM). Since the GIM influences both the control and simulation algorithms significantly, its fast computation and / or making its shape diagonal will certainly enhance the speed, precision, and stability of the robots. Two measures of simplicity, the computation complexity of the GIM in terms of floating point operations and the computer CPU time of an algorithm where the GIM appears, e.g., the inverse dynamics algorithm, are used here to evaluate a robot arm. The proposed criterion is illustrated with two-link robot arms with revolute and prismatic joints and compared with the two commonly used criteria, namely, the workspace, and manipulability. Finally, an example is taken to select an arm from the two spatial robot architectures, RTX and Stanford.

Multibody System Dynamics 12: 95–115, 2004. C 2004 Kluwer Academic Publishers. Printed in the Netherlands.  95 A Dynamic Model Based Robot Arm Selection Criterion PRASADKUMAR P. BHANGALE, S.K. SAHA and V.P. AGRAWAL Department of Mechanical Engineering, Indian Institute of Technology Delhi, Hauz Khas, New Delhi 110016, India; E-mail: prasad [email protected] (Received: 7 July 2003; accepted in revised form: 26 January 2004) Abstract. The selection of robot manipulator architecture, i.e. the determination of link lengths, their relative orientations, types of joints, e.g. revolute or prismatic, etc., has been largely done so far by experience, intuition and at most based on the kinematic considerations like workspace, manipulability, etc. Dynamics is generally ignored at this stage even though it is widely used for control and simulation. This paper attempts to introduce a criterion based on the dynamics of a robot manipulator, namely, simplicity of the associated generalized inertia matrix (GIM). Since the GIM influences both the control and simulation algorithms significantly, its fast computation and / or making its shape diagonal will certainly enhance the speed, precision, and stability of the robots. Two measures of simplicity, the computation complexity of the GIM in terms of floating point operations and the computer CPU time of an algorithm where the GIM appears, e.g., the inverse dynamics algorithm, are used here to evaluate a robot arm. The proposed criterion is illustrated with two -link robot arms with revolute and prismatic joints and compared with the two commonly used criteria, namely, the workspace, and manipulability. Finally, an example is taken to select an arm from the two spatial robot architectures, RTX and Stanford. Keywords: manipulator, architecture selection, DeNOC, GIM, computational complexity, computation time 1. Introduction A robot is characterized by its degree of freedom, number of joints, type of joints, joint placement and their orientation, link lengths and shapes, which influence its performances, namely, the workspace, manipulability, speed of operation, etc. The speed of operation significantly depends on the complexities of the kinematic and dynamic equations and their computations. The robots with different architectures will have different kinematic and dynamic equations with varying computational complexities. Hence, in order to select a suitable robot, both aspects i.e. kinematics as well as dynamics should be looked into. Generally, kinematic characteristics like workspace [1–3], manipulability [4–6], etc. are considered for the selection of a robot. Dynamics is generally neglected at this stage, even though it is widely used for control [7–12] and simulation of robots [12–17]. In this paper, simplicity of dynamic model and its computations are emphasized, particularly, with respect to the generalized inertia matrix (GIM), which has been proposed as a criterion for robot architecture selection. The simplicity of the GIM is emphasized here because, 96 P.P. BHANGALE ET AL. for example, if it is diagonal, control becomes decoupled, i.e. each joint motion servo control is not influenced by the servo gains of the other joints. This improves overall robot performance, namely, speed and precision. Besides, the simulation, in which the inversion of the GIM is required, becomes straight forward, as the inversion of a diagonal matrix is just another diagonal matrix whose non-zero elements are the reciprocals of the corresponding non-zero elements of the original matrix. In order to decide whether the GIM of robot architecture is simple or not, it is essential to have the expressions of each elements of GIM as descriptive as possible. Thus, the concept of the decoupled natural orthogonal compliment (DeNOC) introduced in Saha [18] is used here to derive the dynamic equations of motion. The DeNOC concept allows one not only to write the elements of the GIM in explicit analytical forms, but also for the elements of the matrix of convective inertia (MCI). These forms led to the development of recursive dynamics algorithms for both the inverse and forward dynamics of serial [17, 18], and parallel [19] robotic systems. Using the analytical expressions, one can estimate the computational complexities of the GIM and MCI in terms of floating point operations, which will have bearing on the overall computer CPU time of an algorithm where GIM and MCI appear, e.g., in the inverse dynamics algorithm. This paper is organized as follows: Section 2 provides an outline of the dynamic modelling using the decoupled natural orthogonal compliment (DeNOC); Section 3 introduces the proposed criteria for robot selection; Section 4 illustrates the selection criterion using 2-link arms; Section 5 considers an example of an arm selection from RTX and Stanford architectures. Finally, conclusions are given in Section 6. 2. Dynamic Modelling Using the DeNOC For an n-degree of freedom open-loop serial-robot, as shown in Figure 1, if mi is the mass of the ith link and Ii denotes the 3 × 3 inertia tensor of the ith link about its origin point, Oi , then the uncoupled Newton–Euler equations (NE) governing the motion of the ith link can be written as Mi ti + Wi Mi Ei ti = wi (1) where the 6 × 6 mass matrix, Mi , the 6 × 6 angular velocity matrix, Wi , and the 6 × 6 coupling matrix, Ei , for the ith link are given as [19]  Ii Mi ≡ −mi di × 1   1 O Ei ≡ O O mi di × 1 mi 1   ωi × 1 Wi ≡ O O ωi × 1  (2) A DYNAMIC MODEL BASED ROBOT ARM SELECTION CRITERION 97 Figure 1. An n-link manipulator. Figure 2. A coupled system of three bodies. in which Ii ≡ Ici − di × (mi di × 1) – Ici being the 3 × 3 inertia tensor about the mass centre of the ith body, Ci , di × 1 and ω i × 1 are the 3 × 3 cross-product tensors associated with the vector di shown in Figure 2, and the angular velocity vector, ω i respectively. Note that 1 and O in Equation (2) are the 3 × 3 identity and zero matrices, respectively. The twist and wrench vectors, ti and wi , are then defined as     ωi ni and wi ≡ (3) ti ≡ vi fi 98 P.P. BHANGALE ET AL. where ω i and vi are the three-dimensional vectors of angular velocity and the linear velocity of the origin point Oi , of the ith body, where it is coupled with its previous body in the chain, i.e., the jth body, respectively, Figure 2. Moreover, ni and fi are the three-dimensional vectors denoting the resultant moment about Oi , and the resultant forces acting at Oi , respectively. Note that ṫi of Equation (1) is the time derivative of the twist vector or twist-rate vector. Equation (1) when written for all ‘n’ links, i.e., i = 1, . . . , n, it can be expressed in a compact form as Mṫ + WMEt = w (4) where M and W are the 6n × 6n generalized mass matrix and the generalized matrix of the angular velocities, respectively, whereas E is the 6n × 6n generalized coupling matrix. They are defined as follows:     W1 O ... O M1 O ... O ..  ..    .  .  W2 . . . M2 . . . O O ; ; W ≡ M ≡  .   ..  ..  .. .. .. .. ..   .. . . .  . . . . O . . . . . . Wn O . . . . . . Mn   E1 O ... O ..   .   O E2 . . . E≡ . (5) ..  .. ..  .. . .  . O . . . . . . En Moreover, the 6n-dimensional vectors of generalized twist and wrench are defined as t ≡ tT1 , tT2 , . . . , tTn T w ≡ wT1 , wT2 , . . . , wTn T (6) It is pointed out here that the generalized twist, t, can be expressed as a linear transformation of the n independent joint rates, θ̇ ≡ [θ̇ 1 , . . . , θ̇ n ]T —θ i being the ith joint displacement shown in Figure 2, i.e., t = Tθ̇, where T ≡ TI Td (7) T being the 6n × n natural orthogonal complement (NOC) matrix [7], whereas the 6n × 6n and 6n × n matrices, Tl and Td , respectively, are the decoupled NOC (DeNOC) matrices [18]. Premultiplying Equation (4) with the transpose of the NOC matrix, i.e., TT , one gets n independent dynamic equations of motion of the coupled system, namely, TT (Mṫ + WMEt) = TT (wE + wC ) (8) 99 A DYNAMIC MODEL BASED ROBOT ARM SELECTION CRITERION where w is substituted by w ≡ wE + wC , wE and wC being the 6n-dimensional vectors of external and constraint wrenches, respectively. The term TT wC in Equation (8) vanishes, as the constraint wrench produces no work. Substitution of the expression of T ≡ Tl Td from Equation (7) and its time derivative, Ṫ = Tl Ṫd + Ṫl Td , into Equation (8), results in the following form of the dynamic equations of motion: I θ̈ + C θ̇ = τ (9) which is nothing but the Euler–Lagrange equations of motion [7]. In Equation (9), I ≡ TT MT ≡ Td T M̃Td : the n × n generalized inertia matrix (GIM); ˜ )T : the n × n matrix of C ≡ TT (MṪ + WMET) ≡ TTd (TT1 MṪl + M̃W + Ṁ d convective inertia (MCI); τ ≡ TT wE ≡ TTd w̃E : the n-dimensional vector of generalized forces due to driving forces / torques and those resulting from the gravity and dissipation. ˜ and the 6n-dimensional vector w̃E are The 6n × 6n matrices, M̃, Ṁ given by M̃ ≡ TTl MTl ˜ ≡ TT WMET and w̃E ≡ TT wE . Ṁ l l l 3. Dynamics Simplicity Based Selection Criterion In this section, explicit expressions for the elements of the GIM and MCI, i.e., I and C of Equation (9), respectively, are derived first. Next, their simplicity is proposed to be measured in terms of their computational complexity and the computer CPU time of the algorithm where they appear. 3.1. EXPLICIT EXPRESSIONS FOR THE ELEMENTS OF THE GIM AND MCI Using the expressions for the n × n GIM, I and, MCI, C, as appearing after Equation (9), each element of I, ii j , and C, cij , are written as i ij ≡ pTi M̃i Aij pj ˜ p ci j ≡ pTi ATji M̃j Wj + ATj+1,i H̃j+1,j + ATji Ṁ j j ˜ A )p ci j ≡ pTi (M̃i Aij Wj + H̃ij + Ṁ i ij j if i ≤ j (10) otherwise where, the 6 × 6 matrix Aij and the six-dimensional vector, pi , are the block elements of the DeNOC matrices, Tl and Td , respectively, i.e.,     1 O ... O 0 ... 0 p1  A21  0 p2 . . . 1 . . . O 0     Tl ≡  .. and T ≡   . ..  (11) .. . . d . . . . . . .  . . . . . . . . An,1 An,2 . . . 1 0 0 . . . pn 100 P.P. BHANGALE ET AL. In Equation (11), O and 0 are the 6 × 6 zero matrix and six-dimensional zero vector, whereas the matrix, H̃ij , in the expression of cij , is given by H̃ij ≡ M̃i Ȧij + AT i+1,i H̃i+1,i Aij (12) in which Ȧij is the time derivative of the 6 × 6 matrix, Aij . Note that the 6 × 6 matrix, M̃i , has the following features: i. Matrix M̃i can be recursively computed as M̃i ≡ Mi + ATi+1,i M̃i1 Ai+1,i for i = n, n − 1, . . . , 1 (13) where M̃n ≡ Mn since there is no (n + 1)st link, i.e., M̃n+1 ≡ O, and M̃n−1 ≡ Mn−1 + ATn,n−1 M̃n An,n−1 ii. Matrix M̃i has a physical interpretation. It represents the mass matrix of the “composite body i,” formed by rigidly joining the bodies, i, . . . , n, as indicated in Figure 1. 3.2. COMPUTATIONAL COMPLEXITY OF GIM AND MCI One of the ways to simplify the GIM and MCI is to make some of the elements vanish, or constant with suitable choice of the link masses and geometries. For example, if any two successive, say, ith and (i +1)st joints are prismatic, orthogonal and intersecting, the corresponding off-diagonal inertia element, namely, i i+1,i ≡ Pi+1 T M̃i+1 Ai+1,i pi , can be proven to be zero. In case the elements do not vanish, their computational complexity in terms of the floating point operations, namely, the number of multiplications/divisions (M) and additions/subtractions (A) are counted. For the GIM and MCI, the complexities are obtained for the following input: For i = 1, . . . , n, i. Constant Denavit–Hartenberg (D-H) parameters [20] of the system under study, i.e., αi , ai , and bi (for revolute joints) or θi (for prismatic joints). They are also defined in Appendix A. ii. Time history of variable D–H parameter, i.e., θi , for a revolute pair, and bi , for a prismatic joint, and their first and second time derivatives. iii. Mass of each body, m i . iv. Vector denoting the distance of the (i + 1)st joint from the ith mass centre, Ci , in the (i + 1)st frame, i.e., [r1 ]i+1 , as shown in Figure 2. v. Inertia tensor of the ith link about its mass centre, Ci , in the (i + 1)st frame. A DYNAMIC MODEL BASED ROBOT ARM SELECTION CRITERION 101 Note here that [−]i+1 will represent the argument “−” in the (i + 1)st coordinate frame which is rigidly attached to the ith link. Thus, the quantities, [Ii ]i+1 and [ri ]i+1 are constant and supplied as input. Moreover, the complexity count is given inside { } at the right of each step and substep, which is based on the assumption that all joints of the robot are revolute with arbitrary orientation. 1. Calculate [ai ]i (Angeles, 1997)21 : For i = 1, . . . , n, [ai ]i = [ai cos θi ai sin θi bi ]T {2M(n)} :2M Note that, for each [ai ]i , 2M computations are required. Hence, for all n links, 2M(n) computations will be required to find [ai ]i , for i = 1, . . . , n, that appears above within the braces, {2M(n)}. 2. Calculate [ri ]i : {8M 4A(n)} For i = 1, . . . , n, [ri ]i = Qi [ri ]i+1 : 8M4A where Qi is given as  cos θi − sin θi cos αi cos θi cos αi Qi =  sin θi 0 sin αi  sin θi sin αi − cos θi sin αi  cos αi Note above that the multiplication of the 3 × 3 matrix, Qi or QiT with a threedimensional vector is obtained efficiently with only 8M 4A, instead of 9M 6A required to multiply a 3 × 3 matrix with a three-dimensional vector, as shown in Appendix B.1. 3. Calculate [di ]i : {3A(n)} For i = 1,. . . , n, [di ]i = [ai ]i − [ri ]i 4. Calculate [mi di ]i : For i = 1, . . . , n, :3A {3M(n)} [mi di ]i = mi [di ]i :3M 5. a) Calculate [Mi ]i , for i = n: {22M 26A(n)}  c Ii − di × (mi di × 1) mi di × 1 [Mi ]i = −mi di × 1 mi 1 102 P.P. BHANGALE ET AL. [Ici ]i = Qi [Iic ]i+1 QTi :16M17A [di × (mi di × 1)]i :6M3A [m i di × 1]i :nil [Ici − di × (mi di × 1)]i :6A Like in item 2 above, two multiplications of an orthogonal matrix, Qi , with a symmetric matrix, [Iic ]i+1 and another orthogonal matrix, namely, QiT , can be computed with 16M 17A instead of two matrix multiplications requiring 54M 36A, as explained in Appendix B.2. b) [M̃i ]i for i = n −1, . . ., 1 {18M18A(n − 1)} M̃i ≡ Mi + ATi+1,i M̃i+1 Ai+1,i 6. a) Calculate i ii : For i = n, . . . , 1 :18M18A {nil} i ii ≡ p Ti M̃i p i :nil For a revolute joint, i ii = eTi   ei 0 i [M̃i ]i 0 i T Since [ei ]i = [0 0 1]T , the calculation of i ii is simply the 3,3 element of the (1,1) block matrix of [M̃i ], which do not require any computation. b) Calculate i i j : {22M14A(n 2 − n)/2} For i = n,. . . ,1; j = i − 1,. . . ,1 i i j = pTi M̃i Aij pj : 22M14A So the total number of multiplications/divisions and additions/subtractions are computed by adding the values inside the symbols, { and }, as shown in Table 1. The computation complexity to find the GIM is (11n 2 + 42n − 18)M(7n 2 + 44n − 18)A. (14) For six revolute jointed robot (n = 6), the complexity for the GIM is 630M 498 A. Note that the complexity of Equation (14) is less than that reported earlier in [14], which is (12n 2 + 56n − 27)M(7n 2 + 67n − 53)A. (15) 103 A DYNAMIC MODEL BASED ROBOT ARM SELECTION CRITERION Table I. The GIM computational complexity for spatial robots. Steps Variables Multiplications Additions 1 [ai ]i , i = 1, . . . , n 2n – 2 [ri ]i , i = 1, . . . , n 8n 4n 3 [di ]i , i = 1, . . . , n – 3n 4 [mi di ]i , i = 1, . . . , n 3n – 5(a) [Mi]I, i = n, . . . , 1 22n 26n 5(b) [M̃i ]i , for i = n − 1,. . . , 1 18(n − 1) 18(n − 1) 6(a) i ii , i = n, . . . , 1 – – 6(b) i i j , i = n, . . . 1; j = i − 1, . . . , 1 22(n 2 − n)/2 14(n 2 − n)/2 Total 11n 2 7n 2 + 44n − 18 + 42n − 18 For n = 6, Equation (15) gives 741M 601A. Thus an efficient algorithm for the GIM calculations is proposed in this paper. Similarly, the computational complexity for the matrix of convective inertia (MCI) terms is also found out, which is (14n 2 + 22n + 4)M(13.5n 2 + 55.5n − 65.5)A. (16) Again, for n = 6 with all revolute joints, the MCI complexity is 640M 753.5A, which could not be compared due to non-availability of such results. 3.2.1. Planar GIM and MCI Complexity For planar robots, for example, as shown in Figure 3, the computational complexity counts in Equations (14) and (15) resulting in very high values as many zero components of the two-dimensional vector and matrix elements will be processed / counted. Hence, an alternative simplified algorithm is proposed. Figure 3. Two link planar arms. 104 P.P. BHANGALE ET AL. {2M(n)} 1. Calculate 2-dimensional [ai ]i : For i = 1, . . . , n, [ai ]i = [ai cos θi ai sin θi ]T 2. Calculate 2-dimensional [ri ]i : For i = 1, . . . , n, [ri ]i = Qi [ri ]i+1 :2M {4M 2A(n)} :4M2A where Qi is given as   cos θi − sin θi Qi ≡ sin θi Cos θi 3. Calculate 2-dimensional [di ]i : For i = 1, . . . , n, [di ]i = [ai ]i − [ri ]i {2A(n)} :2A 4. Calculate 2-dimensional [m i di ]i : For i = 1, . . . , n, [m i di ]i = m i [di ]i {2M(n)} : 2M 5. a) Calculate 3 × 3 matrix, [Mi ]i , for i = n :  c  izz mi dTi R [Mi ]i ≡ mi Rdi mi 1 {nil (n)} where the scalar, iczz , is the (3,3) element of Iic that only contribute to the planar motion, which do not require any computation as it is one of the inputs item (v) of Section 3.2. Moreover, for planar motion m i di × 1 can be shown to be equivalent to mi dTi R [22]. The 2 × 2 matrix R is defined as R ≡ 01 −1 . Note, 0 m i dTi R is known from the observations. Hence, no computation will be required for [Mi ]i . b) The 3 × 3 matrix [M̃i ]i for i = n − 1, . . . , 1 {7M7A(n − 1)} M̃i ≡ Mi + ATi+1,i M̃i+1Ai+1,i 6. a) Calculate i ii : {nil} For i = 1, . . . , n, i ii ≡ pTi M̃i pi : nil :7M7A 105 A DYNAMIC MODEL BASED ROBOT ARM SELECTION CRITERION Table II. The GIM computational complexity in planar robots. Steps Variables Multiplications Additions 1 [ai ]i , i = 1, . . . , n 2n – 2 [ri ]i , i = 1, . . . , n 4n 2n 3 [di ]i , i = 1, . . . , n – 2n 4 [mi di ]i , i = 1, . . . , n 2n – 5(a) [Mi ]i , i = n, . . . , 1 – – 5(b) [M̃i ]i , i = n − 1, . . . , 1 7(n − 1) 7(n − 1) 6(a) iii , i = 1, . . . , n – – 6(b) ii j , i = n, . . . 1; j = i − 1, . . . , 1 7(n 2 − n)/2 4(n 2 − n)/2 Total 3.5n 2 2n 2 + 9n − 7 + 11.5n − 7 7. Calculate i i j : {7M4A(n2 − n)/2} For i = n,. . . 1; j = i − 1, . . ., 1 i i j ≡ pTi M̃i Aij pj : 7M4A The total computational complexities in the planar case can be obtained by adding the above values inside and, as given in Table II. The computation complexity to find GIM for planar robot is GIM : (3.5n 2 + 11.5n − 7)M(2n 2 + 9n − 7)A (17) whereas the complexity for MCI can be obtained as MCI : (7n 2 + 13n + 4)M(4n 2 + 13n + 2)A. (18) For n = 3 with all revolute joints, 59M 38A computations are required for the GIM, and 106M 77A are required for the MCI, whereas if the spatial algorithm of Equations (14) and (16) are used, for n = 3, then 207M 177A, and 196M 222.5A are required for the GIM and MCI, respectively, which are high and not recommended for planar robots. 3.3. COMPUTATIONAL TIME FOR INVERSE DYNAMICS The computational time is the time taken by the computer of the robot controller to evaluate or solve the equations of motions, which depends on the computational complexity of the associated equations. If the computational complexities of the GIM and MCI vary for different robots, they should reflect in the computational times of the algorithm where they are used. As a test, inverse dynamics algorithms based on the GIM and MCI elements obtained in Section 3.1 are developed for 106 P.P. BHANGALE ET AL. different architectures. Computer CPU times are recorded along with the computational complexities of GIM and MCI. Here, the CPU time is basically the time taken to compute the controlling joint torques/forces from the inverse dynamics algorithms. The computer CPU will take comparatively less time to solve the inverse dynamics equations if they are simpler. Less computation time implies that the maximum speed of a robot arm can be high. Thus the manipulator with least computation time is preferable over others. Though the CPU time difference for various architectures will look miniscule here, there will be significant difference when the algorithms run on robot controllers with processing speeds 30 to 60 times slower than the computer (Pentium III, 1Ghz with 256 Mb memory) used here. 4. Illustration with Planar 2 -Link Robots A planar two-degree of freedom (DOF) robot which has two links and two joints, is suitable for planar positioning purposes. There are three options for such robot arm, namely, two links are connected by 1) two prismatic joints; 2) two revolute joints; and 3) one revolute and the other one prismatic joint. On the basis of proposed criterion, i.e., simplicity, option 1 is best as its GIM can be easily shown to be the 2 × 2 diagonal matrix with constant elements, whereas its MCI elements are zeros. Even though this architecture is simplest from the control point of view, it is not preferred from the physical realization angle. Prismatic joints can be realized using nut and lead screw, which are expensive for higher accuracy and difficult to maintain as dust can accumulate if proper bellows, etc. are not fitted. To overcome the above drawbacks, revolute joints are used where the rotary actuators can be coupled directly to the links without any nut, ball screw and bellows. This is option 2 which is economic from physical realization point of view but computationally, i.e., in terms of the GIM complexity etc., it is most expensive. What left is option 3, which is a kind of tradeoff between options 1 and 2. The criterion proposed in this paper is effective for such situation when one has to choose the first joint as revolute and the second one as prismatic (RP), Figure 3(a), or vice-versa, i.e., PR type, Figure 3(b). 4.1. GIM AND MCI COMPLEXITY On the basis of the planar computational complexities, Equations (17) and (18), a planar robot with both revolute joints would require 88M, 63A (with n = 2). However, if one of the joint is prismatic further simplification is expected. The degree of the simplification would depend on the location of prismatic joint. The results are tabulated in Table III. 4.2. COMPUTATIONAL TIME FOR INVERSE DYNAMICS As explained in Section 3.3, inverse dynamics algorithms for RP and PR architectures shown in Figures 3(a), and 3(b), respectively using pre-determined joint 107 A DYNAMIC MODEL BASED ROBOT ARM SELECTION CRITERION Table III. Comparison of 2-link robot arms. Type CC RP Robot [Figure 3(b)] PR Robot [Figure 3(b)] GIM 12M 6A 21M 6A MCI 26M 14A 28M 18A 0.651 0.761 π a22 + 2a2 b1 ai = bi = a π (2a1 b2 + b22 ) 4π a2 a1 + b2 a2 | cos θ2 | ai = bi = a Max. a Max. a CT∗ (sec) Workspace area ‘A’ Manipulability ‘w’ (π + 2)a2 ∗ All computations are done on a Pentium-III PC with processor speed of 1GHz with memory size 256Mb. M: Multiplication/division; A: Addition/subtraction. CC: Computational complexity; CT: Computation time; : Better value of the two. trajectory values, i.e., joint position, velocity, and acceleration, are implemented in MATLAB. The time taken to compute the joint torques/forces are obtained using ‘tic’ and ‘toc’ commands of MATLAB at the beginning and end of an algorithm, respectively. The joint trajectories and other parameters for inverse dynamics are taken as: For RP type: 1st link length, a1 = 0; 1st link mass, m1 = 12.25 kg; 2nd link mass, m2 = 2.45 kg; (19) 1st joint trajectory, θ1 = (πt/T ) − 0.5 sin (2π t/T ) rad; 2nd joint trajectory, b2 = (π t/T ) − 0.5 sin(2π t/T ) m where T and t are the total time of traverse and the time instant at which the results are desired. For PR type: 1st link mass, m1 = 12.25 kg; 2nd link length, a2 = 0.8584 m; 2nd link mass,m2 = 2.45 kg; (20) 1st joint trajectory, b1 = (πt/T ) − 0.5 sin (2πt/T ) m; 2nd joint trajectory, θ2 = (πt/T ) − 0.5 sin(2πt/T ) rad Computation times to obtain the necessary joint torques and forces using Equation (9) are reported in Table I, where no gravity is considered as for the motion on a horizontal plane gravity does not have any effect. 108 P.P. BHANGALE ET AL. Figure 4. The workspace of 2-link PR-robot arm. 4.3. WORKSPACE AND MANIPULABILITY Workspace and manipulability are two kinematics based criteria often used for robot architecture selection. Here, they are included to show whether an architecture would differ, if proposed dynamics model based selection criterion is used. Workspace or work envelope is defined as the set of points representing the maximum and minimum extent or reach of the manipulator in all directions. It can be calculated by visualizing the possible motion of the robot in all directions and finding the area, in the case of planar, and volume, in the case of spatial [3, 11]. The workspace area for the PR type robot arm can be obtained from the motion range of the robot, as shown in Figure 4. If no limit on the joints are assumed the workspace area of PR arm in Figure 4 can be calculated as, A = pa22 + 2a2 b1 . Similarly, for the RP type the workspace area is, A = π(2a1 b2 + b22 ). The values are tabulated in Table I and compared considering ai = bi = a for i = 1, 2. Manipulability is defined as the ease with which a manipulator operates in its workspace. There are many ways to quantify the manipulability. For example, condition number of the velocity Jacobian matrix, minimum or maximum singular value of the Jacobian, etc. The one proposed by Yoshikawa [4] is used here. This is called manipulability measure, w, and defined as w = |[det{J(θ)JT (θ)}]1/2 | (21) where J(θ) is the Jacobian matrix, which is a function of joint positions, θ. For any robot, w ≥ 0. However, the value of w = 0 is undesirable as it implies that the robot arm is in the singular configuration, i.e., the arm cannot reach the instructed position. When an arm is in singular configuration, it loses one or more degree of freedom and becomes difficult to control. Manipulability measure ‘w’ for the RP and PR arms are calculated, which are tabulated in Table III. As an illustration, ‘w’ for the PR robot is computed as, A DYNAMIC MODEL BASED ROBOT ARM SELECTION CRITERION 109 Figure 5. Three link spatial robot arms. w = a2 |cosθ 2 | where the J(θ ) of the PR arm is given below: J(θ) =  1 0 −a2 sin θ2 a2 cos θ2  (22) As θ 2 varies, w changes from 0 to a2 . On the basis of the proposed criterion, i.e., the simplicity of dynamics model that has been evaluated in terms of computation complexity (CC) and computation time (CT), the RP type is found better. The choice which is in line with kinematics based workspace criterion when ai = bi = a, as in Table III. However, there may be cases when the workspace of PR may be larger, for example, if ai = 2b; bi = b, then the workspaces of RP and PR robots are, 5πb2 and 4(π + 1)b2 , respectively. In such situations, proposed dynamic based choice will provide a robot selection that will allow faster robot motion, as explained in Section 3.3. 5. Example: Selection Between RTX and Stanford Arms In this section, assume a situation where selection has to be made between two standard robot architectures, namely, RTX, Figure 5(a), and Stanford, (Figure 5(b) arms, whose DH parameters along with the mass and inertia parameters are shown in Tables IV(a) and (b) respectively. The following joint motions are considered for the inverse dynamics calculations: θi = πt/T − 0.5 sin(2π t/T ) for revolute joints, and bi = πt/T − 0.5 sin(2π t/T ) for prismatic joints (23) 110 P.P. BHANGALE ET AL. Table IV. D-H, mass and Inertia parameters of spatial robot arms. Link ai (m) bi (m) αi (rad) θi (rad) mi (kg) rx ry (m) rz Ix x I yy (kg-m2 ) Izz (a) D-H Parameters for RTX robot arm 1 0 b1 0 0 9 0 0 0.054 0.1 0.02 0.1 2 0.432 0.01 0 θ2 6 0.292 0 0 0.5 0.6 0.01 3 0.2 0.01 0 θ3 4 0 0 0.4 0.4 0.1 −0.02 (b) D-H Parameters for Stanford robot arm 1 0 0.1 −π /2 θ1 9 −0.1 0 0.1 0.1 0.02 0.1 2 0 0.1 −π /2 θ2 6 0 0 0.5 0.5 0.6 0.01 3 0 b3 0 0 4 0 0 0.4 0.4 0.4 0.1 Table V. Comparison of 3-link spatial structures. Type GIM CC MCI C T∗ (sec) Workspace RTX Robot Stanford Robot 142M; 138A 170M; 154A 389M; 317A 522M; 352A 9.443 11.166 4π b1 a2 a3 4πa33 /3 4πa3 4πa3 /3 Manipulability a2 a3 | sin θ3 | b23 | cos θ2 | ‘w’ a2 a2 Volume ‘V’ ai = bi = a a i = bi = a ∗ All computations are done on a Pentium-III PC with processor speed of 1GHz with memory size 256Mb. M: Multiplication/division; A: Addition/subtraction. CC: Computational complexity; CT: Computation time; : Better value of the two. where θi (0) = 0 and bi (0) = 0, while T = 10 sec with step size, t = 0.01 sec. Note here that unlike the planar robot arm motion in horizontal plane, Figures 3(a)–(b), gravity plays an important role, which are taken into account. For the above spatial arm configurations, proposed ‘dynamics model simplicity’ based criterion has been evaluated, along with the kinematics criteria. The results are tabulated in Table V. Based on the results, RTX robot is found suitable and, hence, should be selected. The better values are highlighted with underlines in the table. 6. Conclusions A robot arm selection methodology based on the simplicity of dynamics model of a robot arm is proposed. The concept is illustrated with the help of 2-link planar robots. Then a selection is made from two 3-link spatial robot arms. The proposed criterion can be used when kinematic criteria are not sufficient or contradict, as explained A DYNAMIC MODEL BASED ROBOT ARM SELECTION CRITERION 111 with respect to the 2-link example, after Equation (22). Also, in Table V, both RTX and Stanford arms have same maximum manipulability, which is not a clear indication for the selection if the manipulability is the main criterion. The present criterion is then also provides a way. The proposed criterion also allows to choose the best physical parameters for good dynamic performances. For example, one can make the generalized inertia matrix (GIM), Equations (9) and (10), well-conditioned, as reported in Bhangale et al. [23], by suitably choosing the link masses and lengths. The contributions of this paper are highlighted as 1. Introduction of a new selection criterion, namely, the simplicity of the dynamics model of a robot arm, which are evaluated in terms of computation complexity of the associated matrices, i.e., GIM and the matrix of convective inertia (MCI) terms of Equation (10), and the CPU time, of an algorithm, say, the inverse dynamics algorithm that is essential for control purposes. 2. Computation complexity analysis of GIM and MCI for the all revolute ndegree of freedom robot. For the GIM, the proposed algorithm is efficient, as indicated after Equation (14), whereas MCI calculation is never reported earlier. 3. Modular inverse dynamics algorithms development, i.e., GIM and MCI, are computed separately and the joint torques and forces are computed using Equation (9). This way, any robot architecture can be tested by just replacing the blocks of GIM and MCI calculations. 4. Evaluation of total four criteria of two planar and two spatial robot arms for comprehensive understanding and selection of robot arm architecture. Appendix A: Denavit–Hartenberg (D-H) Parameters D-H-parameter is a systematic, general method to define the relative position and orientation of the consecutive link. This definition helps in computing the coordinate transformation between them. D-H-parameters can be assigned differently to the same system, the Figure 7 shows one of the popular method to define the parameters, where Z i denotes the axis of joints and Oi and X i forms the coordinate system. Appendix B: Computational Complexities B.1 TO FIND Qi [ri ]i+1 The mass centre location vector ri is known in (i + 1)st frame and to convert it into ith frame, we need to pre-multiply it with the rotation matrix, Qi , i.e., [ri ]i = Qi [ri ]i+1 112 P.P. BHANGALE ET AL. Figure 6. Required torques and force at joints of RTX and Stanford arms. where Qi is given as  cos θi − sin θi cos αi  cos θi cos αi Qi ≡ sin θi 0 sin αi    sin θi sin αi rx   − cos θi sin αi and [ri ]i+1 ≡ ry  cos αi rz (A.1) A DYNAMIC MODEL BASED ROBOT ARM SELECTION CRITERION 113 Figure 7. Transformation from frame i to i x + 1. Hence   r x cos θi − rc sin θi [ri ]i ≡  r x sin θi + rc cos θi  r y sin αi − r z cos αi where rc is given as rc ≡ r y cos αi − r z sin αi : 6M 3A : 2M1A Thus, the total computations required to find the multiplication of a 3 × 3 rotation matrix with a 3-dimensional vector are 8M4A(i.e. 8 multiplications and 4 additions/subtractions). B.2 TO FIND [Mi ]i The mass matrix Mi is required to be found in the ith frame, i.e., [Mi ]i from the known elements of [Iic ]i+1 , Qi , [di ]i , [m i di ]i , whose computational steps are explained below:  Ici − di × (mi di × 1) mi di × 1 [Mi ]i ≡ −mi di × 1 mi 1 Where [Iic ]i ≡ Qi [Iic ]i+1 , QiT , and Qi is defined as Equation (A.1). Now, Qi [Iic ]i+1 , QiT can be computed as  i11 − β5  [Iic ]i ≡ β2 sin αi − β3 cos αi β2 cos αi + β3 sin αi ··· i22 − β5 − β8 β4 − β7 cos αi  Sym ..  .  β8 + i33 : 5M 7A 114 P.P. BHANGALE ET AL. where ii j are the elements of [Iic ]i+1 and β0 β1 β2 β3 β4 β5 β6 β7 β8 = i 12 cos θi = (i 11 − i 12 ) sin θi − (β0 + β0 ) = i 13 cos θi + i 23 sin θi = β1 cos θi + i 12 = i 13 sin θi − i 23 cos θi = β1 sin θi = β4 cos αi = [(i 22 − i 33 ) + β5 ] sin αi + (β6 + β6 ) = β7 sin αi : 1M : 1M3A : 2M1A :1M1A : 2M1A : 1M : 1M : 1M 4A : 1M So the total computations required are 16M 17A. Next, note that [mi di ×1]i does not require any computation as mi di is already obtained in item 4 of Section 3.2, i.e., [m i di × 1]i : nil Now to compute [di × (m i di × 1]i , following steps are followed: Let us define   dx  dy  ] ≡ [di i dz   δx [m i di ]i ≡ δ y  , δz and where [di ]i and [m i di ]i are computed in items 3 and 4 of Section 3.2. Then  −δz dz − δy dy Sym  : 6M 3A δ x dy −δz dz − δx dx [di × (m i di × 1)]i =  δ x dz δ y dz δ y d y − δx dx  which will require only 6M 3A. Finally the 3 × 3 upper left block matrix of [Mi ]i , i.e., [Iic − di × (m i di × 1)]i , can be obtained with additional 6A computations. Thus total computations required to compute [Mi ]i is now summarized as: [Ici ]i = Qi [Iic ]i+1 QiT [mi di × 1]i [di × (mi di × 1)]i [Ici − di × (mi di × 1)]i Total :16M 17A :nil :6M 3A :6A :22M 26A Thus, computation complexity for [Mi ]i is 22M 26A, which is used in item 5(a) in Section 3.2. A DYNAMIC MODEL BASED ROBOT ARM SELECTION CRITERION 115 References 1. Rivin, E.I., Mechanical Design of Robots, McGraw Hill Book Company, New York, 1988. 2. Dorf, R.C. and Nof, S.Y., (ed.), International Encyclopedia of Robotics, Applications and Automation, John Wiley & Sons, Inc., New York, 1988. 3. Ceccarelli, M. and Vinciguerra, A., ‘On the workspace of general 4R manipulators,’ International Journal of Robotics Research 14, 1995, 152–160. 4. Yoshikawa, T., Foundations of Robotics Analysis and Control, Prentice-Hall of India Pvt. Ltd., New Delhi, 1998. 5. Gravagne, I.A. and Walker, I.D., ‘Manipulability, force and compliance analysis for planar continuun manipualtors,’ IEEE Transactions of Robotics and Automation 18, 2002, 263–273. 6. Wen, J.T-Y. and Wilfinger, L.S., ‘Kinematic manipulability of general constrained rigid multibody systems,’ IEEE Transactions on Robotics and Automation 15, 1999, 558–567. 7. Angeles, J. and Lee, S.K., ‘The formulation of dynamical equations of holonomic mechanical systems using a natural orthogonal compliment,’ ASME Journal of Applied Mechanics 55, 1988, 243–244. 8. Armstrong, W.W., ‘Recursive solution to the equations of motion of an n-link manipulator,’ Proceeding of 5th World Congress on Theory of Machines and Mechanisms (ASME), Vol. 9, Montreal, Canada, 1979, 1343–1346. 9. Asada, H. and Youcef–Toumi, K., Direct Drive Robots–Theory and Practice, MIT Press, Cambridge, USA, 1987. 10. Schiehlen, W.O., ‘Multibody System Dynamics: Roots and Perspectives,’ Multibody System Dynamics 1, 1997, 149–188. 11. Fu, K.S. Gonzales, R.C. and Lee, C.S.G., Robotics: Control, Sensing, Vision, and Intelligence, McGraw-Hill, Inc., NewYork, 1987. 12. Featherstone, R., Robot Dynamics Algorithms, Kluwer Academic Publishers, Massachusetts, USA, 1987. 13. Angeles, J. and Ma, O., ‘Dynamic simulation of n-axis serial robotic manipulators using a natural orthogonal complement,’ The International Journal of Robotics Research 7, 1988, 32–47. 14. Walker, M.W. and Orin, D.E., ‘Efficient dynamic computer simulation of robotic mechanisms,’ ASME Journal of Dynamical System, Measurement and Control, 104, 1982, 205–211. 15. Wang, L.T. and Ravani, B., ‘Recursive computations of kinematic and dynamic equations for mechanical manipulators,’ IEEE Journal of Robotics and Automation RA-1, 1985, 124–131. 16. Stokes, A. and Brockett, R., ‘Dynamics of kinematic chains,’ International Journal of Robotics Research 15, 1996, 393–405. 17. Saha, S.K., ‘Simulation of Industrial manipulators based on UDUT decomposition of inertia matrix,’ Multibody System Dynamics 9, 2003, 63–851. 18. Saha, S.K., ‘Dynamics of serial multibody systems using the decoupled natural orthogonal complement matrices,’ ASME Journal of Applied Mechanics 66, 1999, 986–996. 19. Saha, S.K. and Schiehlen, W.O., ‘Recursive kinematics and dynamics for closed loop multibody systems,’ International Journal of Mechanics of Structures and Machines 29, 2001, 143–175. 20. Denavit, J. and Hartenberg, R.S., ‘A kinematic notation for lower-pair mechanisms based on matrices,’ ASME Journal of Applied Mechanics 77, 1955, 215–221. 21. Angeles, J., Fundamentals of Robotic Mechanical Systems, Springer-Verlag, Berlin, 1997. 22. Saha S.K. and Angeles, J., ‘The formulation of kinematic constraints in design-oriented machine dynamics,’ Advances in Design Automation ASME, Vol. 2, 1991, 115–122. 23. Bhangale, P.P., Saha, S.K. and Agrawal, V.P., ‘Concept of decoupled natural orthogonal complement (DeNOC) matrices for robot architecture selection,’ In Proceedings of National Conference on Machines and Mechanisms (NACOMM), IIT Kharagpur, India, December 21–22, 2001, 177– 184.