Kinematics of a screw linkage

This paper proposes a kinematics methodology in twist coordinates for screw linkages. Based on the definition of a twist, both the angular velocity of a link and the linear velocity of a point on it may be explicitly represented in twist coordinates. Through integration on the twist solution numerically or analytically, we may obtain the displacements. By differential or numerical differential interpolation of the twist, we can find the accelerations of the link. The most outstanding advantage of this kinematic algorithm is that only the numerical differential interpolation of the first order is required to calculate the acceleration while only the first order integration of the twist is enough to compute the displacement. This merit makes it particularly fit for developing programmes to accomplish the kinematics analysis of a spatial linkage. The angular and linear velocities of each link of a series linkage are expressed by the twists of its predecessors. Loop equation of velocity provides a convenient way to gain both forward and inverse kinematics for a closed linkage. Forward and inverse displacement and acceleration of the linkage are calculated by integral and differential methods, numerically or analytically. The angular and linear velocities of each link of a series linkage are expressed by the twists of its predecessors. Loop equation of velocity provides a convenient way to gain both forward and inverse kinematics for a closed linkage. Forward and inverse displacement and acceleration of the linkage are calculated by integral and differential methods, numerically or analytically.


Introduction
It requires a proper framework in mathematics to describe both translation and rotation to determining the kinematics of a mechanism in a general way [1]. This can be achieved by an algebraic or graphical method in most cases [2,3]. The forward kinematics can be obtained by using the homotopic continuation sometimes [1]. But there might be a number of finite solutions that correspond to different configurations in assembly [4]. It was demonstrated that the inverse kinematics of a 5-DOF hybrid machine tool has 16 solutions while the forward kinematics has only 6 real solutions [5]. The algorithm of forward kinematics comes from the geometry of quadrics [6]. It is equivalent to solving a 6th-order polynomial, the 12 roots of which represent 12 forward kinematics solutions [2]. Therefore, the forward kinematics of a parallel mechanism is quite complex and often has multiplicity of solution [4]. Moreover, the forward kinematics in most cases is accomplished in three-dimensional Euclidean space that has a simpler expression [1].
Both forward and inverse kinematics are required to study the motion of a robot in time domain. Analytic formulae of inverse kinematics enable the trajectory generating methods that may calculate the coordinates of points located on the reference trajectory in a single step [3,5,7]. The expected trajectory of an end effector is specified in terms of position and orientation in the reachable workspace [7,8]. Computation of forward kinematics with enough precision for a robot is crucial for real-time control. It is one of the tasks of kinematic analysis on a mechanism to build the correlation between joint and the Cartesian coordinates of the end effector with respect to the fixed platform [9]. Joint variables are often adopted to set the forward kinematics and inverse kinematics as well [1,3,5]. Due to the nonlinear equations of trigonometric system deduced from the multi-loop architectures, it is impossible in many cases to get closed-form solutions [10]. Therefore, not only the forward kinematics but also the inverse kinematics are required to determine the motion, statics and to decide a control scheme for the robot [7,11,12]. Algorithms to solve a non-linear equation, the Newton-Raphson method for example, are usually used for parallel robots [7,9]. This paper focuses on the kinematics of a screw linkage and proposes an algorithm to investigate the displacement and acceleration with velocities in twist coordinates compared with [13]. A screw linkage is a mechanism each joint of which is a screw one that can be easily reduced to other types of joints. By making the pitch zero, we end up with a purely revolute joint and we end up with a purely prismatic joint or slider by making the pitch infinite. Similarly, other types of joints such as spherical and universal ones can also be modelled as the combination of more screw joints in this way. In this regards, all spatial linkages can be generalized as screw ones and this method can be directly generalized to spatial linkages compared with [13]. A linkage is a planar screw linkage when all joint axes have the same direction in space.
Twist is a dual vector in the form of six coordinates playing an invaluable role in the kinematics of a robotic mechanism [14,15]. The first three coordinates of a twist represent the angular velocity while the last three represent the linear velocity of a point on the rigid body that coincides with the origin at the moment [16]. Therefore, a twist presents both angular velocity of a rigid body and the linear velocity of a point on it. This point is changing from time to time but there is no effect on the analysis on the velocity relationship of all links. Therefore, we call such a point as the marking point of the body to indicate the reference of all analysis in this paper.

Velocity of the end effector of a screw jointed kinematic chain
In a 3-dimensional xyz-space shown in Fig. 1a, there is a planar kinematic chain A 1 ,A 2 …A n−1 A n which is connected by a number of screw joints, individually. The relative angular velocity of each joint A i (i = 1, 2, …, n) with respect to its previous link in the chain of series is denoted by ω i in the coordinate frame shown in Fig. 1. Therefore, the linear velocity of the point on the end effector is expressed by E v n = n × r A n E + p n n where E is a point fixed on the end effector and r A n E is the vector from point A n on the nth screw axis to point E [17,18], p n is the pitch of the screw. The velocity of a point attached to the end effector that coincides with the origin at this moment is o v n = n × r A n o + p n n where r A n o = − r oA n and r oA n is often rewritten by r A n for short to indicate the position of point A n on the nth axis. As a result, there is o v n = n × −r A n + p n n =r A n × n + p n n w h i c h i s shown in Fig. 1a. The dual 3-dimensional vectors n , o v n and the pitch p n entirely decide the relative motion of the end effector comparing to its previous link. Hence, we may define the dual vector in screw form: The screw o $ n is called a twist of the end effector about joint A n in which the linear velocity is expressed with a marking point on the end effector that is instantaneously passing through the origin o of the coordinate frame. Note that at the next instant there is a different point overlapped with the origin as the marking point. This instantaneous property of the dual part of a twist is represented by r A n × n + p n n . Assume e n is the unit direction vector of ω n , then ‖ ‖ e n ‖ ‖ = 1 where ‖⋅‖ represents the norm of a vector '·' and Eq. (1) is therefore rewritten by where ω n is the relative angular speed of the screw joint A n with respect to its previous link. Let where o $ n u is a unit screw because the norm of e n is ‖ ‖ e n ‖ ‖ = 1 .
In Eq. (3), the first three components prescribe the unit direction of a rotation and the last three components specify implicitly the location of the rotational axis with respect to the origin of the absolute coordinate frame [16,17]. Equation (2) can be therefore expressed by When we unlock the revolute joint A n−1 , the linear velocity of the point on the end effector that coincides with the origin at this instant will increase n−1 r A n−1 × e n−1 + p n−1 e n−1 which is shown in Fig. 1b. The absolute angular velocity of the end effector is now and the absolute translational velocity of the end effector with the marking point of the origin on it is where o v E denotes the velocity of a point on the end effector that coincides with the origin at the moment illustrated in Fig. 1c. Therefore, the twist of the end effector with respect to the fixed coordinate frame is Alternatively, Eq. (7) can be represented by which is expressed in matrix multiplication form: where E = e n e n−1 r A n × e n + p n e n r A n−1 × e n−1 + p n−1 e n−1 and in Eqs. (11) and (12) are also available to be arranged in the natural sequence: Equation (13) is the twist matrix of the series kinematic chain and Eq. (14) is a vector composed of all relative angular speeds of each generalized screw joint with respect to its previous link. The screw matrix (13) is formed by the geometric parameters of the linkage, and it can be programmed on a computer for forward and inverse velocities calculation. This procedure defines a straightforward inference of kinematics based on velocities in linkages having the same or similar topology. (6) o v E = n r A n × e n + p n e n + n−1 r A n−1 × e n−1 + p n−1 e n−1 n e n + n−1 e n−1 n r A n × e n + p n e n + n−1 r A n−1 × e n−1 + p n−1 e n−1

Velocity loop equations of a screw linkage
Equation (10) states that the absolute screw of the end effector with a marking point coinciding with the origin o of the coordinate system can be directly obtained when ω i (i = 1, 2, …n) are all known for an open-chain linkage. For a closed-chain linkage, let us suppose that the twist of the end effector is We know that ω E is the absolute angular velocity of the end effector and o v E is the velocity of the point on the end effector that coincides with the origin of the coordinate system at this moment. When the end effector is fixed with the ground, there must be o $ E = 0 [19]. From Eq. (10), we therefore immediately get When the end effector is a slider, we know that any point on the slider will have the same translational velocity and therefore there is [16]: where v S is the velocity of the slider. From Eqs. (15) and (16), we obtain that Equations (16) and (18) are both gained from the closed loop of the planar linkage [20]. Therefore, we call them the loop equations of the linkage. Sometimes, we can get the second-order kinematic constraints of a single-loop linkages in screw coordinates [21]. With these loop equations of velocity of a linkage, the forward and inverse velocities are solved directly.
After knowing the absolute twist of the end effector with a marking point on it that is coinciding with the origin, we gain the following equation from Eq. (10), When |S T S|= 0, the serial robot is either redundantly actuated or in singularity configuration. Otherwise, we can get, where [S T S] −1 S T is called the pseudo inverse of twist matrix S. Equation (20) represents the inverse velocity of the linkage. Of course, the acceleration of a point on the end effector of the serial chain can be expressed in terms of the time derivative of the direction and moment parts of the same twist coordinates and their Lie product [22,23]. If all the links are connected serially in the linkage, the joint position and joint angular displacement θ i (0), i = 1, 2, …, n will be known for the inverse kinematics. If the linkage forms a closed chain, the position and angular displacement of the rest joints of the linkage can be calculated with the closed geometry constraint of the linkage when the input(s) is(are) known. Anyway, the initial conditions of as the function of that of the initial actuations. Therefore, we can directly obtain the first solution of ω(1) from Eq. (20) by substituting θ(0) into the unit screw matrix S.

Inverse displacement and acceleration of the screw linkages
Then we get the successive parameters of S(j) from Eq. (11) by updating the data, … which represents the iterative times corresponding to the real time course. The linear approximation of Taylor's series is utilized to calculate the angular displacement in the numerical algorithm (21). The angular acceleration of each joint can be numerically calculated by the trapezoid formula, T which represents the angular acceleration vector consisting of all angular accelerations of joints A 1 , A 2 , …, A n−1 and A n at time jΔt. The accuracy of the calculation is related to the time interval of Δt, and we can decrease the time interval of Δt to enhance the accuracy for calculation.

Forward displacement and acceleration of the screw linkages
For an open chain linkage, the forward velocity is directly presented by Eq. (10). Then through a similar numerical integration (21) and a similar numerical differential algorithm (22), the forward displacement and acceleration of the planar linkage will be gained. For a closed chain mechanism, When there is a solution for Eq. (23), we can always calculate it in the following way: However, we can also simplify the calculation to be After getting forward velocity (24), we gain the forward displacement through one-order numerical integration: where F (j) = 2 (j) … n−1 (j) n (j) T and j = 1, 2, … which represents the iterative times. The linear approximation of Taylor's series is utilized to calculate the angular displacement in the numerical algorithm (25). The angular acceleration of each joint can be numerically calculated by the trapezoid formula, where F (j)= 2 (j) … n−1 (j) n (j) T which represents the angular acceleration vector consisting of the all angular accelerations of joints A 2 , A 3 , …, A n−1 and A n . The accuracy of the calculation is related to the time interval of Δt, and we can decrease the time interval of Δt to enhance the accuracy for calculation.

Kinematics of closed-chain screw linkages
In this section, we will discuss the kinematics of some screw linkages with the above analysis.

Kinematics of a closed planar 5-bar screw linkage
When p 1 = p 2 = p 3 = p 4 = p 5 , the rank of matrix o $ E is degenerated to 3, and the planar 5-bar screw linkage has 2 degrees of freedom, we can therefore arbitrarily choose two angular velocities as the inputs. When the rank of matrix o $ E is 4, and the planar 5-bar screw linkage has 1 degree of freedom, we can choose one angular velocity as the known variables arbitrarily.

Kinematics of the linkage when the rank of matrix o $ E is 4
When the rank of matrix o $ E is 4, and the twist of the end effector with a marking point on the origin, o 1 , of the coordinate frame is known, Eq. (27) can be rearranged as, We compute ω F in the following way, For forward kinematics, we let the angular velocity of screw joint O 1 be 1 =2 sin 2 25 t . As the length, l i , i = 1, 2, …, 5 and the pitch of the screw, p i , i = 1, 2, …, 5, of each link is known, the offset, d i , i = 1, 2, …, 5, along z i -axis to the common normal between z i -axis and z i+1 -axis is known, and the unknown variables in S are the angles of each joint θ i , i = 1, 2, …, 5.
Based on the numerical algorithms (25) and (26), we get the forward displacement and acceleration solutions of the closed-chain linkage. With the structure parameters and the initial joint coordinates in Table 1, we programmed in MATLAB and obtained the displacement, velocity and acceleration curves for each joint that are illustrated in Fig. 3 by numerical algorithms of (25) and (26) based on Eq. (39), the traces of all screw joints are shown in Fig. 4.

Kinematics of the linkage when the rank of matrix o $ E is 3
When the rank of matrix o $ E is 3 and the twists of O 1 and O 2 of the screw linkage are known, Eq. (27) can be rearranged as, We compute ω F in the following way, Equation (42) represents the forward velocity of the planar 5-bar screw linkage of 2 degrees of freedom.
For forward kinematics, we let the angular velocity of screw joint O 1 be ω 1 = 1 and the angular velocity of screw joint O 2 be ω 2 = 1. Because the length, l i , i = 1, 2, …, 5 and screw, p i , i = 1, 2, …, 5, of each link is known, the offset, d i , i = 1, 2, …, 5, along z i axis to the common normal between z i axis and z i+1 axis is known, and the unknown variables in S are the angles of each joint θ i , i = 1, 2, …, 5.
Based on the numerical algorithms (25) and (26), we get the forward displacement and acceleration solutions of the closed-chain linkage. With the structure parameters and the coordinates of joints in Table 2, we programmed in MATLAB. The displacement, velocity and acceleration curves for each joint are illustrated in Fig. 5 by numerical algorithms of (25) and (26) based on Eq. (42), the trace of all screw joints are illustrated in Fig. 6.
In this closed 5-bar screw linkage, the topologies of the kinematic chain are the same when we select A 5 as the input and A 1 as the output. So the forward kinematics and inverse kinematics have the same solution form and can therefore be solved with the same program. Table 1 Parameters and the coordinate of the planar closed 5-bar screw linkage when the rank of matrix o $ E is 4   T .

Kinematics of a closed planar 6-bar screw linkage
Therefore, we gain that where T F F is a 4 × 4-matrix. When robot is either redundantly actuated or in singularity configuration. Otherwise, we can get, For forward kinematics, we let the angular velocity of screw joint O 1 be 1 =2 sin (4 t) and the angular velocity of screw joint O 6 be 6 = − 2 sin (4 t) . As the length, l i , i = 1, 2, …, 6, and pitch of the screw, p i , i = 1, 2, …, 6, of the each link is known, the offset, d i , i = 1, 2, …, 6, along z i -axis to the common normal between z i -axis and z i+1axis is known, and the unknown variables in S are the angles of each joint θ i , i = 1, 2, …, 6.
Based on the numerical algorithms (25) and (26), we get the forward displacement and accelerations of the closed-chain linkage. With the structure parameters and the initial joint coordinates in Table 3, we programmed in MATLAB. The displacement, velocity and acceleration curves for each joint are illustrated in Fig. 8  algorithms of (25) and (26) based on Eq. (50). the traces of all screw joints are shown in Fig. 9. We next discuss the different traces of the linkage with different pitches of screw joints.

Conclusions
This paper proposes a programable algorithm to study the kinematics of screw linkages in twist coordinates. The screw of a link consists of angular velocity and linear velocity of a point on the body that is instantaneously superimposed with the origin of the coordinate frame. The forward and inverse velocities of the linkage are first deduced. With numerical integration on velocity solutions, the displacement of the screw linkage is obtained. Via numerical differential interpolation, the accelerations are also directly gained in a straightforward way for programming on a computer. Compared with the commercial software about the kinematics in which the displacement parameters are variables, the major advantages of the algorithm proposed in this paper are that only one order numerical interpolation is enough to compute the acceleration and the displacement. This algorithm is validated by some screw linkages for developing software of kinematics of spatial mechanisms, from velocity to displacement and acceleration.
Author contributions J-SZ proposed the methodology, deduced the formulae and drafted the paper. SW and JJ programmed in MATLAB and plotted all diagrams. All authors discussed and revised the paper.

Conflict of interest The authors declare no conflict of interest.
Open Access This article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article's Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article's Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit http://creativecommons. org/licenses/by/4.0/.