{'fraction_non_alphanumeric': 0.03858636855391273, 'fraction_numerical': 0.0106833754056978, 'mean_word_length': 4.142559109874826, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 2, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 8, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Geometric interpretation of the general POE model for a serial-link robot via conversion into D-H parameterization

While Product of Exponentials (POE) formula has been gaining increasing popularity in modeling the kinematics of a serial-link robot, the Denavit-Hartenberg (D-H) notation is still the most widely used due to its intuitive and concise geometric interpretation of the robot. This paper has developed an analytical solution to automatically convert a POE model into a D-H model for a robot with revolute, prismatic, and helical joints, which are the complete set of three basic one degree of freedom lower pair joints for constructing a serial-link robot. The conversion algorithm developed can be used in applications such as calibration where it is necessary to convert the D-H model to the POE model for identification and then back to the D-H model for compensation. The equivalence of the two models proved in this paper also benefits the analysis of the identifiability of the kinematic parameters. It is found that the maximum number of identifiable parameters in a general POE model is 5h+4r +2t +n+6 where h, r, t, and n stand for the number of helical, revolute, prismatic, and general joints, respectively. It is also suggested that the identifiability of the base frame and the tool frame in the D-H model is restricted rather than the arbitrary six parameters as assumed previously.


I. INTRODUCTION
The product of exponentials (POE) formula has been gaining increasing popularity in modeling the kinematics of seriallink robots since it was proposed in 1984 [1]- [4]. The method defines an initial state where all the joints are in their zero positions, attaches two frames to the base link and the tool link respectively, and extracts a set of joint twists from the geometry of the joint axes. Then the kinematics of the robot can be elegantly expressed as a product of exponentials of the joint twists post-multiplied by the transform between the two initial frames. Some of the advantages of using the POE formula include the simplicity of modeling, the close connection with the advanced Lie groups theory, and the natural avoidance of singularity for calibration [5]- [8].
On the other hand, the Denavit-Hartenberg (D-H) notation that was invented in the 1950s [9] is still the most widely used method for kinematics modeling [10]- [12]. The conventions use four D-H parameters to formulate the transformation between adjacent frames that are specially attached to each link and represent the kinematics as a concatenation of the This  transformations. Based on the D-H notation, a large body of algorithms and code implementations have been established for the dynamics, motion planning, control, etc. [13]. The reason behind the popularity of the D-H model is probably its intuitiveness and conciseness in interpreting the geometry of a serial-link robot.
Due to the complementary advantages of both methods, there is sometimes a need for conversion between the two Take calibration for example. The POE model can naturally avoid the singularity problem that is encountered by the D-H model for robots with adjacent parallel joint axes. However, most commercial robots are internally modeled with the D-H notation in their controllers. Therefore, to calibrate the robot, it may be necessary to convert the D-H model to the POE model, calibrate the POE model, and then convert the POE model back to the D-H model for compensation. In our previous work [14], we have shown the equivalence between the two models for robots with revolute and prismatic joints and derived an algorithm for the automatic conversion between them. In this work, we extend the algorithm to cover helical joints, the third and the last type of one degree of freedom (DoF) lower pair joints.
The reason for extending the algorithm for helical joints is twofold. First, although revolute and prismatic joints have been the two main joint types for the construction of seriallink robots due to their easiness of actuation and adaptability to general tasks, recent progresses in direct-drive helical motors [15] and the trend of using robots for specialized tasks such as screw insertion in spinal interventions [16] have encouraged the adoption of helical joints in robot design and construction. Having the algorithm cover helical joints will complete the theory for the three basic one DoF lower pair joints. Second, due to manufacturing and assembly errors, some revolute or prismatic joints do present a pattern of helical motion [5]. Having the algorithm cover helical joints will enable a calibration model to capture such a characteristic and make the kinematic model more accurate after compensation.
Moreover, we will show that the equivalence between the POE model and the D-H model for the three types of joints can be used for the identifiability analysis of the kinematic parameters of a serial-link robot, which is important in calibration and has aroused some debates recently [6], [7], [17], [18]. With the help of the conversion between the two models, we will show that the maximum number of identifiable parameters in a POE model is 5h+4r +2t +n+6 where h, r, t, and n stand for the number of helical, revolute, prismatic, and general joints, respectively. We will also show the identifiability of the base frame and the tool frame in the D-H model is restricted rather than the arbitrary six parameters as assumed previously [19].

A. Special Euclidean Group SE(3)
The set of rigid body motions forms a Lie group called the Special Euclidean Group SE(3), whose element can be represented by a homogeneous transformation H H H = R R R t t t 0 0 0 T 1 ∈ SE(3). Here R R R is a 3D rotation belonging to the Special Orthogonal Group SO(3) and t t t ∈ R 3 is a 3D translation. According to Chasles's theorem, any rigid-body motion in 3D space can be described by a helical motion, i.e., a rotation about a line together with a translation along the line. This helical motion can be captured by a twistξ ξ ξ = ω whereξ ξ ξ is the normalized twist. If ω ω ω = 0 0 0, then q = ||ω ω ω|| is the rotation angle andω ω ω = ω ω ω/q is the unit vector along the rotation axis.v v v = v v v/q is composed of two components, p p p ×ω ω ω and hω ω ω, in which the first item determines where the rotation axis is as p p p is the 3D position of a point on the rotation axis, and the second item determines the translation distance along the rotation axis as h represents the ratio between the translation and the rotation (we may call it the pitch of the helical motion, although it differs from the real pitch by a factor of 2π). A pure rotation corresponds to a zero pitch h = 0. If ω ω ω = 0 0 0, which means the motion is a pure translation, q = ||v v v|| is the translation distance andv v v = v v v/q is the unit vector along the translation direction. In summary, a twist ξ ξ ξ can represent three types of motions: • for a rotation, ω ω ω = 0 0 0, h = 0, and q = ||ω ω ω|| is the rotation angle; • for a translation, ω ω ω = 0 0 0, h = ∞, v v v = hω ω ω = ∞ ∞ ∞, and q = ||v v v|| is the translation distance; and • for a helical motion, ω ω ω = 0 0 0, h = 0, q = ||ω ω ω|| is the rotation angle and hq is the translation distance.
A homogeneous transformation in the Lie group SE(3) can be mapped from a twist in the Lie algebra se(3) via an exponential mapping e (·) : se(3) → SE(3), which is given by [3] H H H = eξ ξ ξ = I I I 4 +ξ ξ ξ + 1 where q is defined as previously. Simplifications can be made if the type of the motion is known [3]. One of the good properties of the exponential mapping is the adjunct transformation. Let where Ad(·) is called the adjoint transformation and given by T . This property will be frequently used in the derivation later.

B. General POE model for a serial-link robot
Given an n-joint serial-link robot, the kinematics can be described by a product of exponentials formula (POE) as As shown in Fig. 1, a base frame {B} and a tool frame {T} are attached to the base link and the tool link, respectively. ∆q i (i = 1, 2, ..., n) is the joint offset, which in most cases is made zero for simplicity. An initial state is defined when all the joints are in the positions that counteract the offsets, i.e., q i = −∆q i . In this state, the joint axes are evaluated with respect to the base frame as a series of normalized twistsξ ξ ξ i (i = 1, 2, ..., n), while the transformation from the base frame to the tool frame is described by a general twistξ ξ ξ T . Note that all the three types of joints, namely the revolute joints, the prismatic joints, and the helical joints, can be covered by the general POE model. The difference between them is only reflected by the difference in each joint twist, as discussed in Section II-A.
Variations can be made to the POE formula. For example, if the joint twists are evaluated relative to the tool frame and which can be referred to as the tool POE formula (the original formula (5) can be called the base POE formula for contrast).
Or one can establish a local frame on each link, and evaluate the joint twists with respect to each local frame. Then, (5) changes to the local POE formula [20] as Hn n (q n +∆q n ) H H H n+1 (7) where H H H i (i = 1, 2, ..., n + 1) is the transformation between adjacent local frames. By using the adjoint transformation, Parameters for H : Parameters for H : Parameters for H : = eˆξ ξ ξ 1 q 1 eˆξ ξ ξ 2 q 2 · · · eˆξ ξ ξ n q n eξ ξ ξ T .
Due to the equivalence between these variations, we will just take the base POE formula for analysis in the following parts.

A. D-H parameterization
D-H parameterization has been adopted as a standard modeling method by the robotics community as it provides a concise geometric interpretation of the structure of a robot. The most significant feature of the D-H convention is the use of the common normal between adjacent joint axes, which is a line simultaneously intersecting and perpendicular to the two axes. As shown in Fig. 2, a set of frames are established at the intersections between the joint axes and the common normals. Four parameters, namely the joint angle θ , the joint offset d, the link twist α, and the link length a are used to define the relative pose between adjacent frames. It can be verified that  Fig. 3. D-H parameters for an n-joint serial-link robot with an arbitrarily located base frame and tool frame.
the transformation from frame { i-1 } to frame { i } can be constructed by where R Z (·) and R X (·) mean rotation about Z and X, respectively, and T Z (·) and T X (·) mean translation along Z and X, respectively. For a revolute joint, j i = 1 and k i = 0; for a prismatic joint, j i = 0 and k i = 1; and for a helical joint, j i = 1 and k i = h i . Note that for some special cases, there could be multiple D-H solutions corresponding to a single configuration. One such configuration is when adjacent revolute joints have parallel axes, as there are infinite common normals between the axes. A conventional approach to solve this ambiguity is to let the joint offset d on the first joint be zero for simplicity. A second such configuration is when a joint is prismatic, as only the direction is meaningful for a translation, while the location of the axis can be anywhere. In practice, the axis is usually located according to the physical structure of the joint, such as through the center between two edges.
In the POE model, the base frame and the tool frame can be arbitrarily located. To conform with this rule in the D-H model, the D-H parameterization is applied to the base frame and the tool frame as well, as shown in Fig. 3. Under this treatment, the forward kinematics can be expressed as in (10), where Q j i ,k i (q i ) = R Z ( j i q i )T Z (k i q i ). The extraction of q i holds because of the property that rotations about and translations along the same axis are commutative.

B. Conversion from general POE Parameters into D-H Parameters
To show that a general POE model can be converted into a set of D-H parameters, the following four lemmas are needed.
Among them, Lemma 2-4 have been proved in the authors' previous work [14]. Therefore, only the detailed proof of Lemma 1 is given as below.

Lemma 1. For a helical joint, the exponential eˆξ ξ ξ q can be converted into the form of H H HR Z (q)T Z (hq)H H H −1 , where h = ω ω ω T v v v and H H H = R Z (θ )T Z (d)R X (α)T X (a).
Proof: It can be verified that R Z (q)T Z (hq) can be written as eˆξ ξ ξ q whereξ ξ ξ = [ 0 0 1 0 0 h ] T . According to (3) Assume H H H can be represented by R Z (θ )T Z (d)R X (α)T X (a). Expanding H H H and substituting (4) into (12), we havē Then, we just need to prove that solutions to (13) and (14) always can be found. To this end, two possible cases of ω 3 are examined: 1) ω 3 = ±1 This means ω 1 = ω 2 = 0 sinceω ω ω is a unit vector. It can be verified that (θ = atan2(v 1 is a solution to (13) and (14). Note that d can be actually any value as this corresponds to the configuration with adjacent parallel axes; it is set to be zero for simplicity as discussed in Section III-A.
Substituting the first two rows of (13) into the last row of (14), we have a sin(α) = hω 3 − v 3 .
As the link length a is usually assumed to be nonnegative, the polarity of the right side of (17) can be used to disambiguate the sign of α in (15).
is the solution to (14). In summary, solutions to (13) and (14) can always be found and thus the lemma is proved.
Having these four lemmas, we are able to convert a general POE formula (5) into the D-H parameterization (10). The process is shown in (18), with the subscriptions of Q(·) and ∆q i omitted for conciseness. Note that, however, ∆q i can be split from Q(q i + ∆q i ) and merged into i−1 H i . If joint i is revolute or helical, ∆q i can be added to i a θ i b ; if joint i is prismatic, ∆q i can be added to i a d i b .

IV. ALGORITHM VALIDATION
We validate the proposed method through a PUMA 560 robot whose nominal and actual POE parameters were given in [5], [6]. As listed in Table I, the actual parameters differ a little bit from the nominal ones due to errors in manufacturing, assembly, etc. By using the algorithm developed in Section III-B (an implementation of the algorithm in MATLAB can be found in the supplementary files), the D-H parameterization from both the nominal and the actual POE parameters is obtained and shown in Table II. The parameters that changed significantly between the nominal and the actual are marked to facilitate the discussion in Section V.
Note that, however, the actual POE parameters given in [5], [6] are not normalized. Therefore, a normalization is performed before the conversion happens, and is given by ξ ξ ξ =ξ ξ ξq where ξ ξ ξ is the original twist,ξ ξ ξ is the normalized twist, andq is the normalization factor defined similarly as q in (1).
To test the accuracy of the conversion, 100 groups of independent configurations are generated. In each configuration, Actual where R R R DH and t t t DH are the rotation matrix and translation vector of the tool frame using the D-H model, and R R R POE and t t t POE are those of the POE model. In addition, EA(·) means the Euler angle decomposition of a rotation matrix in the order of ZYX. The errors are plotted in Fig. 4. It can be seen from Fig. 4 that the errors between the D-H model and the POE model are in the order of 10 −15 for rotation and translation. Considering the round-off error in MATLAB is around 10 −16 by default, which is comparable to the errors of the results if taking the accumulation of errors into account, the two models can be regarded as equivalent for both the nominal and the actual parameters.

V. DISCUSSION ON THE IDENTIFIABILITY OF KINEMATIC PARAMETERS A. Identifiability of the POE Model
Recently, debates have been raised around the identifiability of the kinematic parameters of a serial-link robot using the POE formula [6], [7], [17], [18]. In [6], it was claimed that the maximum number of the identifiable parameters in a POE formula is where r and t mean the number of revolute and prismatic joints, respectively. In the local POE model proposed in [20], the number of parameters to be identified was also as described in (21). However, this equation does not conform with the conventional opinion that the maximum number of the identifiable parameters should be Later, it was pointed out that the maximum number of identifiable parameters does coincide with (22) both in the standard POE formula [7], [17] and in the local POE formula [18]. We will show that it is quite straightforward to analyze the identifiability with the assistance of the geometric interpretation of the D-H parameterization. First, it is easy to see that the joint offsets ∆q i cannot be identified together with the initial twist ξ ξ ξ T . As mentioned previously, the initial configuration is defined when all the joints are in the positions that counteract the joint offsets. If ξ ξ ξ T is included in the identification model, then there are no constraints on the initial configuration. As ∆q i can be merged with θ i or d i after D-H parameterization, it is impossible to uniquely distinguish the joint offsets from the D-H parameters.
Second, it can be seen that a comprehensive decomposition of the maximum number of identifiable parameters should be expressed as where h, r, t, and n stand for the number of helical, revolute, prismatic, and general joints. Eq. (23) has three components: the normalized joint twists that take all the three basic joint types into account; the normalization factors that can describe the linear variation of the joint variables, such as the coefficient between the actual joint angles and the encoder readings; and the initial placement of the tool frame with respect to the base frame. In a conventional setting, the helical motions and the normalization factors are excluded from the identification model, and thus (23) degenerates to (22). In this case, a normalization and an orthogonalization are required in each identification step, or the two constraints need to be embedded in the identification model. And (23) evolves to (21) if assuming that all the revolute joints have a pattern of helical motion and all the joint variables have linear variation. Based on this analysis, it is clear that different set of parameters should be selected according to the practical characteristics of the robot to be identified.

B. Identifiability of the D-H Model
Due to the equivalence between the POE model and the D-H model, the number of the identifiable parameters should be the same. Since the POE based identification model has included the complete set of identifiable parameters, it should also be the case with the converted D-H model. This gives some indication on the identifiability of the base frame and the tool frame in the D-H model. In the traditional analysis of the identifiability of the D-H model as represented in (22), it is simply regarded that the extra six parameters come from the placement of the tool frame because there are six degrees of freedom to restrict a general rigid-body motion. Based on the new D-H parameterization proposed in this paper as shown in Fig. 3, it can be seen that among these six parameters, four are allocated to the transform from the base frame to the first joint frame, and two are allocated to the transform from the last joint frame to the tool frame. This means that the extra six identifiable parameters are actually restricted rather than arbitrarily allocated. In the conventional D-H parameterization, the base frame is defined to coincide with the first joint frame. In that case, there are only two extra parameters that can be identified, not six. This has not been correctly pointed out to the best of the authors' knowledge.
The singularity of the D-H based identification model when the robot has adjacent parallel joint axes is also reflected in the example given in Section IV. In Table II, the parameters that changed significantly (> 60 • or > 30 mm) between the nominal and the actual are marked red and underlined. In the example model, the axis pairs (Base Z, joint 1), (joint 2, joint 3), and (joint 6, Tool Z) are parallel. As a result, some of the identified D-H parameters in ( B H H  This singularity problem has been previously pointed out from the geometric viewpoint that the D-H parameterization has different modeling rules for parallel and nonparallel axis pairs. From the derivation in this paper, the mathematical reason for this problem can be found as the discontinuity between the two cases for ω 3 = ±1 and ω 3 = ±1. Due to the singularity, the robustness of the identification algorithm directly based on the D-H parameters is affected. However, the results in this paper suggest that a solution to circumvent the singularity could be to convert the D-H parameters into POE parameters first, identify the POE parameters, and then convert the POE parameters back to D-H parameters for compensation.

VI. CONCLUSION
This paper has developed an analytic solution to automatically convert a POE model into a D-H model for a robot with revolute, prismatic, and helical joints, which are the complete set of three basic one DoF lower pair joints for the construction of a serial-link robot. The algorithm has been validated by an example on the PUMA 560 robot. An implementation of the algorithm in MATLAB is also provided.
The identifiability of the kinematic parameters is analyzed based on the equivalence of the two models. It is found that the maximum number of identifiable parameters in a general POE model is 5h + 4r + 2t + n + 6 where h, r, t, and n stand for the number of helical, revolute, prismatic, and general joints, respectively. It is also suggested that the identifiability of the base frame and the tool frame in the D-H model is restricted rather than the arbitrary six parameters as assumed previously. In addition, the results indicate that the singularity problem in the D-H based calibration can be circumvented by converting the D-H model to the POE model for calibration and then converting the POE model back to the D-H model for compensation.