Mechanism and Machine Theory 116 (2017) 404–418
Contents lists available at ScienceDirect
Mechanism and Machine Theory
journal homepage: www.elsevier.com/locate/mechmachtheory
Research paper
Geometrical kinematic solution of serial spatial manipulators using screw theory
∗ ∗ Hee Sung An a,1, Jie Hyeung Lee b,1, Chan Lee c, TaeWon Seo a, , Jeh Won Lee a, a School of Mechanical Engineering, Yeungnam University, Gyeongsan 712-749, Republic of Korea b Automation R&D Group, Daewoo Shipbuilding & Marine Eng., Geoje 656-714, Republic of Korea c School of Robotics Engineering, Daegu Gyeongbuk Institute of Science & Technology, Daege, 42988, Republic of Korea
a r t i c l e i n f o a b s t r a c t
Article history: Kinematics of a robot manipulator is an essential component of robotic analysis that in- Received 16 December 2016 cludes control, motion planning, and design. Previous studies have proposed several differ-
Revised 31 March 2017 ent methods to provide an exact solution for kinematics. However, most of the methods Accepted 4 June 2017 are mathematically complicated and not sufficiently intuitive to express the geometrical Available online 28 June 2017 meaning of kinematics. In this study, the exact solution to kinematics is derived based on
Keywords: the screw theory. The most important contribution of this study is providing a geomet-
Geometrical solution rical intuition of kinematics. Two arbitrary screws in space are equivalent to the sum of Instantaneous kinematics the mutual moment relation. In the study, general case solutions and special cases of par- Motion analysis allel and perpendicular configuration were examined, and their geometrical meaning was Robot kinematics discussed. The proposed method was used to analyze two industrial manipulators, and Screw theory practical effectiveness was verified. The method could be applied to various manipulator configurations and the solution provides the geometrical intuition effectively. Additionally, the geometrical meaning of the solution can be used in design and motion planning. ©2017 Elsevier Ltd. All rights reserved.
1. Introduction
Kinematic analysis of a robot manipulator involves both a velocity kinematics and displacement kinematics. These kinematics analysis is a linear relationship between joint space and end-effector space and is essential for precise control and motion planning. Extant studies analyzed kinematics and differential kinematics using the Denavit–Hartenberg(DH) notation [1–3] . However, the DH method involves several weaknesses, including a singularity problem, shortage of degrees of freedom in space, and difficulty in locating the immediacy of physical meaning in differential kinematics [4] . In 1990, Ball [5] proposed the use of the screw theory to explain rigid body motion. This constitutes a useful mathemat- ical tool and natural geometric representation. Following this, several studies used the screw theory. Plücker [6] expressed a screw vector using the Plücker coordinate. Poinsot [7] described a couple and wrench concept with respect to force analysis of an end-effector. Chasles [8] introduced a velocity relationship using a twist vector. Woo [9] analyzed the mechanical systems using line geometry such as sphere between parallel planes. Various researchers attempted to adopt the screw theory in the field of robotics. Sugimoto [10] examined linear algebra as a general method to determine a screw system. Duffy [11] analyzed kinematics and instantaneous kinematics of planar
∗ Corresponding author. E-mail addresses: [email protected] , [email protected] (T. Seo), [email protected] (J.W. Lee).
1 H. S. An and J. H. Lee contributed equally to this work as first authors. http://dx.doi.org/10.1016/j.mechmachtheory.2017.06.002 0094-114X/© 2017 Elsevier Ltd. All rights reserved. H.S. An et al. / Mechanism and Machine Theory 116 (2017) 404–418 405 serial and parallel manipulators using the screw theory. Brockett [12] suggested a product of exponentials method in con- junction with Lie algebra and Lie group theory for forward kinematics. Hunt [13,14] examined the importance of geometrical kinematic analysis via the screw theory. Gibson [15] classified a screw system for joint analysis. Wolf [16] are studied the method of synthesis of a Stewart platform using Screw theory. Yi and Kim [17] designed the planar mobile robot using screw based kinematics. Phillips [18] analyzed mechanisms and directly combined a screw system in three dimensions. Frisoli [19] suggested a new estimation method of position accuracy with joint clearances in a spatial manipulator using the screw theory. Several researchers adapted the screw theory with respect to serial and parallel robot manipulator analysis [20–25] . Recently, various studies applied the screw theory to robotic applications and focused on simplifying the complicated method involved. Wang [26] and Li [27] studied kinematic errors caused by kinematic calibration that occur during the assembly process. They presented screw axis identification using a 3D measuring machine (i.e., laser tracker and laser scanner) and a joint axis configuration space method. Alvarado [28] detailed various joints for a decoupled series parallel robot. Kurbanhusen [29] studied force closure of a cable-driven open system using the reciprocal screw theory. Torre [30] focused on instantaneous kinematics of 3-CRC parallel mechanism via the screw theory. Dai studied the screw algebra and characteristics of finite displacement screw matrix and analysis of planar serial manipulator based on his study. [31–33] Kinematic analyses in conjunction with geometrical intuition are necessary to create a simple reference for mechanism design and motion planning. Several studies have examined a geometrically intuitive solution based on the screw theory. Zhao [34] explained the intuitive geometrical approach from reciprocal screws. Yuan [35] are studied the spatial mechanisms by composition of screw coordinates. Waldron [36] introduce the Jacobian matrix of serial manipulator. From his study, He explain the physical phenomenon such as singularity. Wen expressed a kinematic singularity and stiffness synthesis of a par- allel robot using Grassman −Caylay algebra [37–39] . Kim [40] focused on a graphical instantaneous center of a planar parallel robot using the screw theory. Lee [41] explained a screw vector sum in a planar manipulator via the barycentric formula. These studies involve the use of geometrical intuition to explain an instantaneous motion of a planar mechanism. Addi- tionally, a few studies used a graphical representation to explain the motion in simple terms. However, these studies were limited to planar manipulators, and it was not possible to directly extend the proposed method to a spatial manipulator. The present study provided a new method to analyze the motion of 3-dimensional spatial manipulators by using the screw theory. The analysis commenced with the calculation of a screw sum in a space by using a mutual moment. The method was used to determine magnitude, direction, and distance from the original screw vector of the resulting screw. Based on the screw sum calculation, general cases of manipulator configuration were analyzed to verify the method. Special cases of planar and perpendicular configuration were analyzed, and the results were compared to those obtained by previous studies. The contribution of the study is as follows. The proposed method was extremely geometrically intuitive in calculating the spatial motion of a manipulator. The method was also useful in understanding the meaning of a Jacobian matrix in space. Characteristics of the planar analysis could be directly used in the proposed spatial analysis. Thus, the method was simple to understand, and the planar cases could constitute special cases of the proposed analysis method. The method can be also used to graphically represent general spatial motion, and this can provide an intuitive reference to design or control a manipulator. This paper is organized as follows. Section 2 presents the basics of the screw theory. Section 3 explains the concept of mutual moments and the derivation of the screw vector sum method for a general case. Additionally, special cases of parallel and perpendicular configuration are analyzed, and the results are compared. In Sections 4 and 5 , the application of the screw vector sum method to a special manipulator and a 6-DOF industrial robot with a configuration similar to PUMA configuration or Stanford configuration is described. The conclusions are presented in Section 6 .
2. Preliminaries
This section explains the expression of a screw vector using a Plücker coordinate. A screw vector is classified into three types, namely a screw, a line, and a couple vector. A screw vector (denoted as $ ) consists of an axis vector (denoted as S ) and a moment vector (denoted as S 0 ). An axis vector is determined by two points, namely p1 (x1 , y1 , z1 ) and p2 (x2 , y2 , z2 ) as follows (see Fig. 1):
S = ( x 2 − x 1 ) i + ( y 2 − y 1 ) j + ( z 2 − z 1 ) k = L i + Mj + Nk . (1) where the symbol( i, j, k ) denotes a unit direction vector and the distance between two points is one. S = L 2 + M 2 + N 2 = 1 . (2) The moment vector (denoted as S 0 ) can be calculated as follows:
S 0 = r × S + h S = P i + Qj + R k . (3) where r ( x, y, z ) denotes the distance vector between O and an axis vector, and h denotes the value of pitch. Pitch corresponds to the ratio of prismatic about rotation and result of projection S 0 on to S . It is expressed as follows:
h = S 0 · S. (4) A screw vector is called a line vector when a moment vector and an axis vector are perpendicular ( h = 0). A screw vector is called a couple vector when a moment vector and an axis vector are parallel ( h = ∞ ) (see Fig. 2 ). Therefore, a screw 406 H.S. An et al. / Mechanism and Machine Theory 116 (2017) 404–418
Fig. 1. Screw vector in space.
Fig. 2. Moment vector.
Table 1 Three types of screw vectors.
h = 0, ∞ Screw vector $ = [ S S 0] T T 0 h = 0 Line vector $ = [ S S 0 ] S ⊥ S
h = ∞ Couple vector $ = [ 0 S ] T S S 0 vector is divided by a line vector. A couple vector and three types of screw vectors are summarized in Table 1 . A line vector is used to define a pure rotation joint, and a couple vector is used to define a prismatic joint. T S L M N S 0 = = = + . $ 0 T (5) S P Q R S 0 h S
3. Geometrical kinematic solution in 3D space
The kinematic solution of a manipulator involves a Jacobian, which is composed of screw vectors. In order to determine a screw vector, it is necessary to define geometric screw sum parameters such as angular velocity, pitch, and twist angle. The screw sum parameters have a geometrical meaning and provide researchers with a physical intuition. Summation of screw vectors is performed using the mutual moments of two skew axis vectors in space. This section introduces mutual moment, sum of two skew axis vectors, and screw sum parameters.
3.1. Mutual moment
α Two skew axis vectors in Fig. 3 were distorted by distance(D) and twist angle( ). Additionally, S1 and S2 denote axis vectors, and r1 and r2 denote distance vectors.
M12 is a moment of S2 about S1 and is expressed as follows:
M 12 = ( r 2 − r 1 ) × S 2 = D r 12 × S 2 (6) H.S. An et al. / Mechanism and Machine Theory 116 (2017) 404–418 407
Fig. 3. Mutual moment of two axis vectors.
Fig. 4. Summation of two axis vectors in space.
Mutual moment (denoted as M1m ) corresponds to a special case of a reciprocal product when the pitch is zero. Mutual moment M1m between S1 and S2 is defined as follows:
M 1 m = M 12 · S 1 = [ ( r 2 − r 1 ) × S 2 ] · S 1 = S 02 · S 1 + S 01 · S 2 = D sin α (7)
= × = × where S01 r1 S1 and S02 r2 S2 .
Mutual moment corresponds to the effect on S1 by M12 . If two axis vectors are co-planar, then the mutual moment becomes zero because the twist angle (denoted as α) or distance (denoted as D ) is zero [42] .
3.2. Summation of the screw vector
Summation of two screw vectors (denoted as $12 ) is expressed in Fig. 4 S 1 S 2 S 12 S 12 0 ω $ = ω + ω ω = ω + . (8) 12 12 1 2 12 0 12 S01 S02 S12 S0 , 12 hS12 408 H.S. An et al. / Mechanism and Machine Theory 116 (2017) 404–418
Fig. 5. Projection S 12 on to S 1 _ S 2 plane.
where S12 and S0,12 are
ω 1 S 1 + ω 2 S 2 S 12 = (9) ω 12
ω S + ω S = 0 − = 1 01 2 02 − S0 , 12 S12 hS12 hS12 (10) ω 12 from ( 8 ). ω It was assumed that project S1 , S2 and S12 were on a plane as shown in Fig. 5. Magnitude (denoted as 12 ) and twist θ angle (denoted as 12 ) between S1 and S12 are geometrically obtained as follows: 2 2 ω 12 = ( ω 1 + ω 2 c α ) + ( ω 2 s α ) (11)
θ12 = atan 2 ( ω 2 s α, ω 1 + ω 2 c α ) (12) Distance (denoted as d ) between S and S is obtained from the mutual moment as follows: 1 1 12 $ 1 , $ 2 = M 12 = S 1 · S 02 + S 2 · S 01 = D s α (13) $ 1 , $ 12 = M 1 m = S 1 · S 0 , 12 + S 12 · S 01 = d 1 s θ (14) where s α, c α, s θ , and c θ correspond to sin α, cos α, sin θ, and cos θ. Substituting (9) , ( 10 ), and ( 13 ) into ( 14 ), the mutual moment is rewritten as follows: ω 1 S 01 + ω 2 S 02 ω 1 S 1 + ω 2 S 2 M 1 m = S 1 · − h S 12 + · S 01 ω 12 ω 12 ω 2 = ( S 1 · S 02 + S 2 · S 01 ) − h ( S 1 · S 12 ) ω 12 ω 2 = D s α − h ( S 1 · S 12 ). (15) ω 12 where the inner product between Si and S0 i corresponds to zero. Additionally, cos θ is geometrically expressed from Fig. 5 as follows:
ω 1 + ω 2 c α S 1 · S 12 = c θ = (16) ω 12 Furthermore, pitch h is obtained from ( 4 ) and ( 13 ) as follows:
( ω S + ω S ) ( ω S + ω S ) h = 1 01 2 02 · 1 1 2 2 ω 12 ω 12 ω 1 ω 2 ω 1 ω 2 = ( S 01 · S 2 + S 02 · S 1 ) = Ds α. (17) ω 2 ω 2 12 12 H.S. An et al. / Mechanism and Machine Theory 116 (2017) 404–418 409
Table 2 Screw sum parameter.
General case Perpendicular case ( α = ± 90 °) Parallel case ( α = 0 °, 180 °)
ω ω 2 + ω 2 + ω ω α ω 2 + ω 2 ω ± ω 12 1 2 2 1 2 c 1 2 1 2 θ atan2 ( ω s α, ω + ω c α ) atan2( ω , ω ) 0 ° 12 2 1 2 2 1 ω 2 + ω ω c α ω 2 ω 2 1 2 2 2 d1 /D 2 2 2 2 2 2 ω + ω +2 ω 1 ω 2 c α ω + ω ω ±ω ω 1 ω 2 ω 1 ω 2 1 2 1 2 1 2 h ω 2 Dsα ω 2 D 0 T⎡ ⎤ T⎡ ⎤ ⎡ ⎤ ( ω 2 + ω ω ) + ( ω 2 + ω ω ) ω 2 + ω 2 ω + ω 1 1 2 cα x1 2 1 2 cα x2 1 x1 2 x2 1 x1 2 x2 1 ⎣ ( ω 2 + ω ω ) + ( ω 2 + ω ω ) ⎦ 1 ⎣ω 2 + ω 2 ⎦ 1 ⎣ ω + ω ⎦ r12 2 1 2 cα y1 1 2 cα y2 2 y1 y2 ω 1 y1 2 y2 ω 1 2 ω 1 2 T T ( ω 2 + ω ω ) + ( ω 2 + ω ω ) T ω 2 + ω 2 ω + ω 1 1 2 cα z1 2 1 2 cα z2 1 z1 2 z2 1 z1 2 z2
Eqs. (16) and (17) are substituted into (15) as follows: ω ω ω ω + ω c α ω ω ω + ω c α = 2 − 1 2 1 2 = 2 − 1 1 2 M1 m Dsα Dsα Dsα 1 ω ω 2 ω ω ω ω 12 12 12 12 12 12 ω 1 ω 1 + ω 2 c α = D s θ 1 − (18) ω 12 ω 12 ω ω where ( 2 sα)/ 12 corresponds to sθ from Fig. 5. The distance (denoted as d ) is obtained from ( 14 ) and ( 18 ) as given below: 1 ω 1 ω 1 + ω 2 c α d 1 = D 1 − (19) ω 12 ω 12
The position vector (denoted as r12 ) of S12 is calculated using (19) as follows: x 12 x 1 x 2 − x 1 d 1 r = y = y + y − y 12 12 1 D 2 1 z 12 z 1 z 2 − z 1
ω 2 + ω ω x1 ω 2 + ω ω x2 1 1 2 cα 2 1 2 cα = y + y 2 1 2 2 ω ω 12 z 1 12 z 2 ⎡ ⎤ 2 2 ω + ω 1 ω 2 c α x 1 + ω + ω 1 ω 2 c α x 2 1 2 1 ⎣ 2 2 ⎦ = ω + ω 1 ω 2 c α y 1 + ω + ω 1 ω 2 c α y 2 . (20) ω 2 1 2 12 ω 2 + ω ω + ω 2 + ω ω 1 1 2 cα z1 2 1 2 cα z2
3.3. Special cases: parallel and perpendicular
α Screw sum parameters as shown in Table 2 are functions of twist angle between S1 and S2 and can be simplified in the case of parallel and are perpendicular to each other. Twist angle α corresponds to 0 ° or 180 ° when two axis vectors are parallel. Screw sum parameters include the following:
ω 12 = ω 1 ± ω 2 (21)
◦ θ = 0 (22)
±ω 2 d 1 = D (23) ω 1 ± ω 2
h = 0 h = 0 (24)