Kinematics of Articulated Planar Linkages

This paper proposes a kinematics algorithm in screw coordinates for articulated linkages. As the screw consists of velocity and position variables of a joint, the solutions of the forward and inverse velocities are the functions of position coordinates and their time derivatives. The most prominent merit of this kinematic algorithm is that we only need the first order numerical differential interpolation for computing the acceleration. To calculate the displacement, we also only need the first order numerical integral of the velocity. This benefit stems from the screw the coordinates of which are velocity components. Both the forward and the inverse kinematics have the similar calculation process in this method. Through examples of planar open-chain linkage, single closed-chain linkage and multiple closed-chain linkage, the kinematics algorithm is validated. It is particularly fit for developing numerical programmers for forward and inverse kinematics in the same procedures, including the velocity, displacement and acceleration which provide the fundamental information for dynamics of the linkage.


INTRODUCTION
Kinematics of a linkage aims at studying its motion without regard to forces (Norton, 2004) for the synthesis of a mechanism (Suh and Radcliffe, 1978) or to accomplish the desired motion (Shigley and Uicher, 1980) and determine its rigid-body dynamic behavior (Bottema and Roth, 1979;Waldron and Kinematics, 2004). Kinematic geometry (Hunt, 1978), geometric design (McCarthy and Soh, 2011), theoretical kinematics of robotic mechanisms (McCarthy, 1990;Duffy, 1996;Davidson and Hunt, 2004;Dai, 2014), and the analysis, synthesis and optimization of spatial kinematic chains (Angeles, 1982) are elaborated in previous works in the past decades. Kinematic analysis of a linkage requires the algebraic equations that might be iterated numerically. Computational kinematic analysis plays a vital role in the study of a mechanical system (Saura et al., 2019). It is the most straightforward procedure for kinematics and dynamics to select the absolute coordinates of the reference point as the variables (García de Jalón and Bayo, 1994). This selection has the advantage of normally leading to a facilitated expression for the constraints and Jacobian matrices of a multi-body system (García de Jalón and Bayo, 1994). The forward kinematics of a serial linkage is easier than its inverse kinematics while the forward kinematics of a parallel linkage is more complex than its inverse kinematics (Suh and Radcliffe, 1978;Bottema and Roth, 1979;Duffy, 1980;Shigley and Uicher, 1980;Angeles, 1982;García de Jalón and Bayo, 1994;Duffy, 1996).
In the past half century, parallel manipulators witnessed very quick development. Parallel manipulators have been attracted a great attention ever since the industry application of Gough's tire testing machine and Stewart's platform for its superior performance over its serial counterparts in terms of loading capacity, rigidity and accuracy (Gough and Whitehall, 1962;Stewart, 1965). However, the forward kinematics usually contains a group of nonlinear algebraic equations that are complexly coupled and there are no general methods to solve them analytically (Chapelle and Bidaud, 2004;Wu et al., 2009). It has been recognized as the general purpose of a software that standardized procedures should be proposed for reducing the kinematic analysis of mechanism to simplify the problem (Kong et al., 2016). Different procedures were developed to establish the restriction equations to solve their time derivatives of first and second orders (Zhao et al., 2016). Actually, such procedures can be accomplished through vector-loop processing for planar linkages (Brát and Lederer, 1973;Kong et al., 2018). The forward kinematics are either established in the functions of structure parameters and input variables numerically (Yang et al., 2018) or presented in algebraic coordinates (Wu et al., 2013;Kong et al., 2019). The inverse kinematic problem consists of finding the joint variables to achieve a desired configuration of a mechanism (Chapelle and Bidaud, 2004;Wu et al., 2013).
To understand the kinematic performance of a linkage, many scholars have been proposing different theories (McCarthy, 1990;Duffy, 1996;Davidson and Hunt, 2004;Dai, 2014;Zhao et al., 2016;Amiri and Mazaheri, 2020;Faghidian and Mohammad-Sedighi, 2020), methods (Angeles, 1982;Kong et al., 2018;Yang et al., 2018;Kong et al., 2019;Shen et al., 2020), algorithms (García de Jalón and Bayo, 1994;Kong et al., 2016;Saura et al., 2019) and software (Brát and Lederer, 1973;García de Jalón and Bayo, 1994;Wu et al., 2009;Wu et al., 2017). This paper focuses on an algorithm in the screw coordinates to solve the velocity of articulated planar linkage and investigates the displacement and acceleration. A screw is a line vector accompanied by a secondary vector attached with a pitch. As the geometrical element, a screw with six components plays a vital role in kinematics and mechanics of a mechanism (Barus, 1900). The paper develops an algorithm to analyze the displacement, velocity and acceleration of articulated planar mechanisms in twist coordinates of each joint. This is the first try to use screw coordinates to completely study the displacement, velocity and acceleration of linkages in a general systematic way. Because the kinematics analysis starts from the velocity, the solutions of forward and inverse kinematics of a mechanism have the same form in expression which facilitates the programming and calculation. The discussion is not restricted to the kinematics of revolute jointed planar linkages, and the similar principles also apply to spatial mechanisms. Table 1 is the definition of parameters in this paper. Figure 1A shows an articulated link AB that is rotating around a fixed revolute joint A with angular velocity of ω A around the z -axis. The velocity of any point P attached to the rigid link AB can be expressed by v P ω A × r AP . As a result, the velocity of point P on the extended rigid body of link AB that is overlapped with the origin of the coordinate frame is v o ω A × r Ao where r Ao −r A which is illustrated in Figure 1B. Figure 1C. The dual 3-dimensional vectors ω A and v o can fully determine the rotation of link AB. So, a dual vector can be defined as

Definition of Twist
where o $ A is a screw that expresses the twist of link AB that is rotating around joint A with a marking point superimposing with the origin o of the coordinate system. Supposing that e z [ 0 0 1] T , Equation 1 can be rewritten as where ω A is the angular speed of the rotation about joint A. Let where o$ Au is called unit screw because the norm of e z is e z 1 (35]. In Equation 3, the first three components indicate the unit direction of a rotation and the last three components present implicitly the position of the axis of rotation with respect to the origin of the coordinate system (Zhao et al., 2014). Therefore, Equation 2 can be denoted by

Twist Matrix of a Series Pivoted Kinematic Chain
When a second link BC is jointed with AB at B(see Figure 2A), the relative twist of BC with respect to AB can be analyzed by fixing AB with the ground which is indicated by Figure 2B.
With the similar procedure mentioned above, we get where ω B is the relative speed of link BCwith respect to AB rotating around the revolute joint B, and According to the principle of linear superposition, the absolute angular velocity of link BC is (Zhao et al., 2014) and the absolute velocity of link BC with the marking point that is superimposed with the origin at the moment is where o v BC indicates the velocity of a point on link BC that is at this instant superimposed with the origin illustrated in Figure 2C. As a result, the twist of link BC with respect to the coordinate system is Equation (9) can be rewritten as which can be expressed in matrix multiplication form: where S BC e z e z r A × e z r B × e z and ω BC ω A ω B .
Similarly, the twist of the end effector, denoted by o $ E , of a kinematic chain in series illustrated by Figure 3 can be expressed as. and Eq. 13 is called the unit twist matrix of a serial linkage while Equation 14 presents a vector including all relative angular speeds of each joint relative to its previous neighbor in the kinematic chain. Screw matrix 13) is made up of the geometry parameters of the mechanism. It can be programmed in the computer software. This procedure offers an explicit inference of kinematic attributes for velocities in the mechanisms that have the same topology.

KINEMATICS OF A REVOLUTE JOINTED MECHANISM WITH SERIAL OPEN CHAIN
From Equation 12, we know that the twist of the end effector with a marking point of the origin of the coordinate frame can be We know that ω E is the absolute angular velocity of the end effector and v E (o) is the velocity of the point attached with the end effector that is superimposed with the origin of the coordinate system at this moment. The velocity of the geometry center of the end effector is therefore denoted by where r C is the position vector of the geometry center of the end effector in the absolute ground coordinate system. As a result, we get the twist of the end effector at its central coordinate frame whose axes are parallel with the corresponding absolute ones at this instant: where ω E is the absolute angular velocity of the end effector and C v E is the absolute linear velocity of the center of the end effector.
Eq. 17 is the forward kinematics of a serial linkage in screw form which provides all necessary parameters for developing the dynamics of the linkage. After knowing the twist of the end effector with a marking point of the origin o of the coordinate frame, we can left multiply S T at both sides of Equation 15: where S T is the transpose of matrix S. When |S T (o)S(o)| 0, the serial linkage is either redundantly actuated or in its singularity configuration. Otherwise, we get: where [S T S] −1 S T is called the pseudo inverse of the unit twist matrix S. Eq. 19 represents the inverse kinematics for the serial mechanism. Figure 4 shows a planar linkage in series. In the absolute coordinate system, we gain the twist of the end effector: and Supposing the length of the links are l 1 , l 2 and l 3 , the coordinates of each revolute joint can be expressed by x 1 0, y 1 0, x 2 l 1 cos φ 1 , y 2 l 1 sin φ 1 , x 3 l 1 cos φ 1 + l 2 cos(φ 1 + φ 2 ), y 3 l 1 sin φ 1 + l 2 sin(φ 1 + φ 2 ), respectively. So the unit twist matrix 18) is In accordance to Equation 17, we know that the twist of the end effector with the marking point on its center is By programming with the numerical algorithms, we obtain the forward kinematics of the linkage. With the initial conditions of φ 1 (0), φ 2 (0) and φ 3 (0), and ω 1 , ω 2 and ω 3 , we get the first set of parameters, ω(1) from equation (22). And then we gain the first twist of the end effector from equation (20) and S(1) from equation (23) and c$ E (1) from equation (24) Then we get the successive parameters of S(i) from Equation 23 and c$ E (i) from Equation 24 by updating the data: where i 1, 2, / and Δt is a finite small time increment. The absolute angular displacement of the end effector is The angular accelerations of each joint can be numerically calculated by where j 1, 2, /, n represents the jth joint.
In forward kinematic, we let the angular velocity of screw joint O 1 be 3 sin πt , the angular velocity of screw joint O 2 be 2 sin 3πt 2 , the angular velocity of screw joint O 3 be sin 2 πt . with the structure parameters and initial conditions in Table 2, we programmed the above process in MATLAB and drew the forward displacement, velocity and acceleration for each joint (see Figure 5) by numerical methods based on Equations 25-27.
Compared with the Denavit-Hartenberg notation for a closed loop (Craig, 1986), the kinematics algorithm in screw form here only requires to implement one numerical integration 32) for displacement and one numerical differential 27) for acceleration in the absolute coordinate frame. This provides a more convergent algorithm to develop computational kinematics of a linkage. We let the angular velocity of joint O 1 is 2 rad/s and with the structure parameters and initial conditions in Table 3, we programmed the method in MATLAB and obtained the forward displacement, velocity and acceleration for each joint (see Figure 7) by numerical methods based on Equations 32, 27 for validating the method. Figure 8 illustrates a planar multi-closed-chain 6-bar linkage 1) in which there are two independent closed chains (b). For the first closed chain of a 4-bar linkage (Figure 8 (c)), the loop equation can be found from Equation 27:

Kinematics of an Articulated Linkage of 1 degree of Freedom With Multiple Closed Chains
where ω A1 is the input. Rearranging this loop equation yields: Similarly, we get the loop equation of the second coupled 5bar closed chain linkage (Figure 8 (d)) from Equation 28: Rearranging this loop equation presents: So the forward kinematics of the multiple closed chain linkage can be obtained by associating these double-loop Equations 33, 34:   We let the angular velocity of joint O 1 is 2 rad/s and with the structure parameters and initial conditions in Table 4, we programmed the method in MATLAB and gained the forward displacement, velocity and acceleration for each joint (see Figure 9) by numerical methods with Equation 35.  :

CONCLUSION
This paper proposed a method to investigate the displacement, velocity and acceleration of a mechanism in screw coordinates in a general systematic way. As the twist of an articulated rigid body includes the angular velocity and linear velocity, the corresponding displacements of all joints are obtained through one-order integration of the velocity solutions and the accelerations are represented by the first order numerical differential interpolation. Compared to the traditional methods in which the displacement parameters are the only variables that will surely lead to the second order differential interpolations for the accelerations, the advantages of this method is that both the forward and inverse kinematics of a mechanism can be expressed in a same way and only one-order differential interpolation is needed to get the acceleration and one-order integral is required to calculate the displacement. This method is validated by planar mechanisms in series, single closed loop and multiple closed loops. This method is particularly suitable for programming the computational software for forward and inverse kinematics of a mechanism, covering the velocity, displacement and acceleration. Although this paper discusses the kinematics of revolute jointed planar mechanisms, the same principles may apply to any spatial linkages.

DATA AVAILABILITY STATEMENT
The original contributions presented in the study are included in the article/Supplementary Material, further inquiries can be directed to the corresponding author.