Kinetostatics of a serial robot in screw form

Kinetostatics of a robot is an essential component of robotic analysis that includes actuation distribution and torque control. The extant methods mainly include the static transfer formulae and force Jacobian matrix algorithms based on the Denavit-Hartenberg (D-H) method. They can calculate the joint driving torque, but there are some limitations. This paper proposes a kinetostatics approach for analyzing the driving torque of serial manipulators. The instantaneous work done by the external load is expressed with reciprocal screw. It is the key idea of the approach to derive the kinetostatics equation in screw form and determine the required torque at each joint. This methodology is straightforward for programming. Through kinetostatic analysis of some typical serial manipulators, this paper shows the process of establishing the kinetostatics of every joint to calculate the torque in Plücker coordinates. The general spatial manipulator was analyzed and the solution demonstrates the universality of the method presented in this paper. In addition, the kinetostatic analysis method applies to all kinds of serial manipulators.


Introduction
Kinetostatic analysis of a robot is essential for actuation distribution, load balance, and precise control. It is the kinetostatics of mechanism to solve the wrench of joint space when the mechanism remains at rest or slow-motion state. When the serial robot interacts with the environment through the end effector, forces and moments will be generated at the contact position. For example, when extracting heavy objects, the end effector needs to balance the external load. When machining parts, the end effector needs to bear the force from the workpiece. In general, the joint force of the serial manipulator is generated by a separate actuation and transmitted to the end effector through the links to balance the external load. For a mechanism, the link and the joint are subjected to various forces. However, when the mechanism remains at rest or moves slowly, the influence of inertia force and other dynamic effects can be ignored, and only the static effect needs to be considered. In engineering, we hope to find out the feasible joint force and torque under the conditions of maintaining the static equilibrium of the system. Therefore, the relationship between static force and motion in joint space and end effector space plays a vital role in torque control of the robotic arm.
Therefore, the robot kinetostatics is an important research topic, and the existing methods can be found from some literatures. 1,2 There are two main methods, one is based on the Static transfer formula, and the other is the Force Jacobian matrix algorithm based on the D-H method in one Cartesian coordinate system.
The serial robot is an open-chain mechanism composed of a series of links. Without considering the dynamic effect, the forces and moments in the joint space are caused by the forces and moments in the end effector space. From the perspective of Newton mechanics, the static transfer formula is derived from the end link to the primary link. 3 Similarly, Li et al. 4 investigated the statics of a 3-DOF robot for Milling based on this method. Juan and Mirats Tur 5 reviewed the basic problems of static analysis. Fischer 6 studied the statics of cylindrical joints by separating forces and moments. Lee et al. 7 calculated the parameter of linkage required to achieve static equilibrium within the static torque range In addition, some static balancing methods about spherical joint mechanisms, 8 planar linkage mechanisms, 9,10 Tensegrity mechanisms, 11 and multi-link suspension 12 have also been developed. This method is widely used in different fields. [13][14][15][16] The second method is the force Jacobian matrix approach based on the D-H convention. In a Cartesian coordinate system, work is the dot product of the force vector and displacement vector. From the perspective of work, the static equation of the serial robot in Cartesian coordinate system is derived. 2 It is worth noting that the core of this method is to solve the velocity Jacobian matrix based on the D-H method. On this basis, Han et al. 17 proposed a static model for serial articulated manipulators based on the analysis with standard D-H convention. Kim et al. 18 analyzed a planar doublewishbone suspension mechanism with the new Jacobian method. This method is also often adopted to analyze the kinematics and statics of the manipulator. [19][20][21] In the aforementioned research, seldom were the kinetostatics discussed in screw coordinates in such a way. The main contributions of this paper are therefore as follows: (1) The proposed method is very concise in calculating the joint force of a serial robot based on the reciprocal screw. Statics calculation is simpler since it requires only the external load exerting on the end effector and the twist matrix of velocity for the manipulator, and does not need disassembling every joint to study the force for all joints. The calculation of the twist matrix is more convenient than that of the Jacobian matrix. (2) Different from the traditional statics method, the kinetostatics equation of a serial robot is derived in screw form. The instantaneous work done by the external load is expressed with reciprocal screw theory and the kinetostatics equation is derived under the condition of zero virtual power. (3) The real-time output of the manipulator is realized by a numerical algorithm, which is convenient for computer programming. In this study, computer programming that constructs equations of equilibrium for the studied mechanism is extended to analyze the kinetostatics of manipulators. (4) By describing the motion and force in terms of twist and wrench, a unified description method can be established in one coordinate frame, which makes the mechanism analysis more straightforward.

Screw kinetostatics
For the prescribed inputs of actuator velocity v= v 1 v 2 ÁÁÁ v n ½ T 2 R n31 1\nł6 ð Þ of an n-DOF serial manipulator, it is the forward velocity analysis to find the end effector twist j 2 R 631 . The forward velocity relation can be written as 22,23 where S is called the twist matrix. Twist matrix can be expressed as in which $ i is called the twist. The screw where p represents the pitch of a screw. Note that a rotational screw, which is commonly used to represent rotational joints, can be obtained by setting the pitch p = 0 in equation (3), resulting in where vector s i indicates the axis vector of $ i and r i is any vector drawn from the centroid of the Plu¨cker coordinate reference frame to any point of the axis of $ i . Equation (1) expresses the twist of the serial manipulator. The twist matrix is formed by the unit screws of the rigid body, and it can be programmed on a computer for general calculation.
Similar to kinematic analysis, the force of a rigid body can be expressed by a wrench. The driving forces/ torques for the specified wrench on the end effector are expressed by M = M 1 M 2 ÁÁÁ M n ½ T 2 R n31 and the wrench matrix of the external load acting on the end effector is expressed by $= F r P 3F +pF ! 2 R 631 . The external load exerts on the end effector at point P. The wrench matrix is $. The position vector of the action point P in the absolute coordinate system is r P . When only a force acts, it is expressed by $= F r P 3F The reciprocal screw theory indicates that the constraints exerted to the point attached to the end effector are reciprocal to its twist. Two screws, j 2 R 6 3 1 and $ 2 R 6 3 1 , are considered reciprocal when $ T @j = 0 where @ represents the reciprocal product of two screws. The physical meaning of $ T @j is the instantaneous power of wrench $ to twist j. $ T @j = 0 is the condition for the spatial rigid body to keep balance.
Furthermore, the twist and wrench are expressed by using Plu¨cker coordinates 24 In this way, the reciprocal product of two screws can be expressed as From the above discussion, we know that any generalized instant velocity of a rigid body can be described by a twist, and any set of generalized forces that act on a rigid body can be described as a wrench. A screw vector can be expressed by using the Plu¨cker coordinates for a twist or wrench. 24 By describing the motion and force using the twist and wrench, a unified description method can be established in screw form, which makes the mechanism analysis more easy. 22,23 Kinetostatics of the serial manipulator There is a torque input by the motor at each rotational joint in the kinematic chain. Assume that the instantaneous work done by the input torque is According to the reciprocal screw theory, we gain that the instantaneous work done by the external load is where @ = 0 I I 0 (8) can be expressed as follows: Equation (9) can be expressed as follows: For a balanced kinematic system, equating the input and the output virtual powers, one obtains Substituting equations (10) and (11) into equation (12) presents Therefore, torques for all joint motors are expressed in the vector form of M M =2S T @$: ð15Þ Through the above analysis, we easily analyze the kinetostatics of serial manipulators. By programming the algorithm, the torques required by the motors of a serial robot can be easily obtained. It should be pointed out that the relationship between the angular displacement, time, and angular velocity during the moving process should be satisfied as follows: where u iDt ,2,ÁÁÁ, and n is the number of joints. Consequently, the main steps to solve the kinetostatics of serial manipulators are as follows: 1. Determine the initial amount, including the length of each link l i , the size of the first joint angle u t 0 ð Þ and the external load $. 2. Calculate other angle variables at t = t 0 according to the geometric relationship. 3. All angular displacements at t = t 0 is brought into equation (2), and the twist matrix S t 0 ð Þ can be solved.  (15), the initial torques can be obtained. 5. To solve the input torques in a period, we should update the twist matrix S t 0 + Dt ð Þ through equation (16) to get the next moment. 6. Substituting the twist matrix S t 0 + Dt ð Þ at t = t 0 + Dt into equation (15), and repeating steps 1-4, we get the motion curve of the motor input torque in a period.

Substituting $ and S into equation
In summary, the process of torque control and actuation distribution for the kinetostatics of a serial robot is shown in Figure 2. The process not only expresses the motion and operating force of the robotics system in a unified way but also realizes the real-time acquisition of joint torque and is convenient for control. Based on the kinetostatics strategy, the corrected joint torque for torque control and actuation distribution can be obtained.

Analysis of typical serial manipulators
A planar redundantly actuated robotic arm The twist matrix of the end effector can be gained from equation (1). At this time, In the absolute coordinate system, the coordinates of these joints are Therefore, the screw matrix is 0 Àl 1 cos u 1 Àl 1 cos u 1 À l 2 cos u 1 + u 2 ð Þ Àl 1 cos u 1 À l 2 cos u 1 + u 2 ð Þ Àl 3 cos u 1 + u 2 + u 3   The wrench of the end effector is Based on the proposed kinetostatics analysis method, we get that The primary steps to get the input torque of each joint were given. The trajectory of the robot is also shown in Figure 4(a). The inverse kinematics can be referred to Zhao et al. 22 and Gan et al. 25 and joint angular velocity was calculated, as shown in Figure 4(b).
Next, the kinostatics for redundantly robotic arm can be performed programmatically 1. Stipulate the length of each link and the angular displacement of each joint. Table 1 shows the initial parameters.
2. After all initial structure parameters at t = 0 are brought into equation (15), we get the initial torques at t = 0. 3. Through equation (16), the angular displacement will be replaced at the next moment. Finally, we obtain the motion performance of the robot under the input moment within a period.
The proposed algorithm is programmed, and through numerical calculation, the torque curve of each joint is illustrated in Figure 5. It can be seen that this algorithm solves the joint torques very succinctly.
The torques of the motors at every joint of the serial robotic arm are changing cyclically as the robot starts to move from the initial parameters listed in Table 1. 4R spatial manipulator Figure 6 shows a 4R spatial-type manipulator. The spatial type involves four twist screws, namely $ 1 , $ 2 , $ 3 , and $ 4 .
The position vector of all joints was calculated geometrically from Figure 6:   Table 1. Initial parameters of the redundant robotic arm.
where a 1 = l 1 +l 2 cosu 2 +l 3 cosu 3 ð Þ cosu 1 , a 2 = l 1 +l 2 cosu 2 + ð l 3 cosu 3 Þsinu 1 , a 3 = l 1 +l 2 cosu 2 +l 3 cosu 3 +l 4 cosu 4 ð Þ cosu 1 , and a 4 = l 1 +l 2 cosu 2 +l 3 cosu 3 +l 4 cosu 4 ð Þ sinu 1 . These unit axial vectors for rotational joint are expressed as follows: These unit screws of pure rotation are expressed as follows: As shown previously, the twist matrix of this spatial manipulator is Furthermore, the end effector is utilized to realize the grasping operation of the object, and the external load is F = F x F y F z ½ T . The wrench of the external load is Suppose F x = 1:2N , F y = 2N , F z = 2N . The initial structural parameters are shown in Table 2. For the  input to the motor and motion trajectory, please refer to Figure 7. Therefore, by substituting equations (34) and (35) into equation (15), the actuation of the 4R manipulator was obtained. The driving torque of the 4R manipulator can be calculated in a period (see Figure 8).
This example shows that the kinetostatics algorithm proposed in this paper not only fits in with the planar serial mechanism but also suits the spatial mechanism of multiple degrees of freedom.

Six-axis spatial robot
There are 6-axis vectors of pure rotation in the 6-axis spatial robot shown in Figure 9. Each axis vector is attached to a joint. The 6-axis manipulator consists of two parts, namely, a primary joint and a minor joint. The six joints of the 6-axis robot are all rotary ones. There are six columns in the twist matrix that is expressed as follows: The link coordinate system of the 6-axis robot is shown in Figure 10. An absolute coordinate system is established on the base, and an end coordinate system is attached to the end effector. o 6 x 6 y 6 z 6 is the hand-grip coordinate system.
The position vector of the point O 6 p x , p y , p z À Á is r O 6 . Given a scenario where the end effector is processing a workpiece, it is required to analyze the output torque of each joint in every quasistatic equilibrium state. According to the working situation, the external force F = F x F y F z ½ T acting on the end effector can be expressed in a unified Plu¨cker coordinate system, as shown in Figure 9. F x = 1:2N, F y = 2N, F z = 2N , the size, direction, and position of F z remain unchanged. It is worth noting that the magnitudes of F x and F y do not change while the position and orientation change with different poses of the end effector. Ignoring the dynamic effects and frictional force, the external load is expressed in the form of a wrench for a quasistatic state $.
In this simulation, the angular velocity of the robot joint and the trajectory of the robot end effector are shown in Figure 11. The initial structural parameters are shown in Table 3.
In this case, the joint driving torques of the manipulator are used as the input. Based on the geometric parameters and initial values, the torques M i i = 1 to 6 ð Þ are calculated by using the kinetostatic algorithm mentioned above (see Figures 12 and 13).
From Figures 12 and 13, we find that the motors at joints 1, 2, 3, 4, and 5 are changing cyclically. The torque of joint 6 is constantly zero. This is true from Figure 13 since all the external forces pass through the center of joint 6. Moreover, the maximum torque value of joint 5 is greater than that of joint 4. This is because F x .F y under the same distance l 4 .
Based on the analysis of joint torque with a 6-axis robot, the numerical algorithms are efficient and comprehensible in calculating the torques of all joints. Furthermore, the joint torque of a spatial serial  Table 2. Structure parameters and initial values of the 4R spatial type manipulator.
multi-chain robot can be dynamically controlled on time by applying this kinetostatics algorithm.

Discussion
The essence of kinetostatic analysis is to analyze the equivalent transformation of forces between different coordinate systems. The principle of equivalence is to make two force systems equivalent. The equivalence principle includes the static equilibrium principle and the virtual work principle. Next, we discuss the differences between the two classical methods and our methods.

Static transfer formula
According to Craig 1 , it can be known that the static transfer formula between two neighbor links is where f i is the force exerted by link i À 1 on link i, and n i is the torque exerted by link i À 1 on the link i, i i + 1 R is the transformation matrix from coordinate system i to coordinate system i + 1, and r i + 1 is the position vector shown in Figure 14.   The joint torque to keep the system in static equilibrium is the dot product of the joint axis vector and the torque vector applied on the link To solve the joint torque using this method, it is necessary to disassemble each joint and recurse the force transmission between two links one by one. Take the robot arm with n rigid bodies connected in series as an example, each rigid body can provide three force equations and three torque equations. There are six unknowns at a joint, including three forces and three torques. When there are n rigid bodies, a total of 6n equations need to be solved to calculate the driving torques. However, the number of driving torques is only n. This method is effective, but the calculation is very large.

Force Jacobin matrix based on D-H convention
From the perspective of work, the force Jacobian matrix method presents the joint torques (a) (b) Figure 11. Motion parameters of the 6-axis robot: (a) motion trajectory of the 6-axis robot and (b) joint angular velocity of the 6axis robot. Table 3. Geometric parameters and initial values of a 6-axis robot.  where J is the Jacobian matrix of a serial robot and F is the generalized force vector acting on the end effector in one Cartesian coordinate system. The joint torque is the vector product of J and F. According to Craig 1 and Angeles, 2 the force Jacobian matrix is the transpose of the velocity Jacobian matrix. The existing algorithm to solve the velocity Jacobian matrix is the D-H method in a Cartesian coordinate system. This requires establishing a coordinate system for each joint and solving the position and orientation of the axis. The calculation formula is as follows: For rotational joints, where z iÀ1 is the unit vector of i À 1 axis. iÀ1 r is the position vector under the i À 1 coordinate system. During calculation, it is necessary to transform each joint coordinate system into the primary coordinate system. Using this method, it is necessary to write the transformation matrix of each joint coordinate system relative to the 0-coordinate system, which is a process of concatenation. When there are n rigid bodies, n coordinate systems need to be established. According to D-H convention, there are four parameters (a i , u i , a i , d i ) and one transformation matrix iÀ1 T i between two adjacent coordinate systems. For example, the matrix operation required from coordinate system n to coordinate system 0 is 0 T n = 0 T 1 1 T 2 Á Á Á nÀ1 T n . Each transformation matrix is In this process, each link needs to be iteratively calculated, and then the matrix inversion is solved. This method has greatly improved compared with the statics transfer method. However, a large number of matrix operations render the high computational cost of force Jacobin matrix method based on D-H convention.

Screw kinetostatics
The joint torque is the reciprocal product of the twist matrix and end effector force screw, as shown in equation (15). The main advantage of the screw method is that the twist matrix is generated into the unit screw through each joint. Unlike the construction of the Jacobian matrix based on D-H convention, the screw kinetostatics can solve the twist matrix more easily because there are only two coordinate systems. On the one hand, if the two coordinate systems are established according to D-H convention, the unit screw only needs the third and fourth columns of the transformation matrix. On the other hand, the unit screw can be obtained more easily through the Rodrigues transformation. On the contrary, the D-H method usually involves complex calculations, and some scholars have compared them 26 in the differential kinematics of robot manipulators.
Based on the discussions above, it can be concluded that our method is simpler than the statics transfer method in calculation steps and the force Jacobian method in calculation cost. In addition, our method has realized computer programming, and three cases verify the universality of the method.

Conclusions
A new approach is proposed for kinetostatics of serial manipulators. The method considers that the instantaneous work done by the external load is expressed with reciprocal screw. It makes good use of the fact that the screw of a rigid body is composed of force and moment of a marking point on the body that coincides with the origin to express the external loads of a linkage. The kinetostatic equation in screw form is very concise and can solve the torques of joint space. Compared with the static transfer formula, the method proposed in this paper can directly solve the joint torque of the robot without disassembling the joint. Compared with the force Jacobian matrix method, our method reduces the calculation in solving the twist matrix.
Representative redundant robotic arms and spatial manipulators were selected for case studies. The proposed method was used to analyze the manipulators, and the calculation results were validated through simulations. Through the kinetostatic analysis of typical serial mechanisms, this paper shows the process of establishing the torque model in Plu¨cker coordinates. The results indicate that the proposed method is extremely straightforward and provides a very convenient way for programming at a computer. Hence, the method can be utilized in control and motion planning of a robot.

Declaration of conflicting interests
The author(s) declared no potential conflicts of interest with respect to the research, authorship, and/or publication of this article.