#### Abstract

Both the forward and backward kinematics of the Gough-Stewart mechanism exhibit nonlinear behavior. It is critically important to take account of this nonlinearity in some applications such as path control in parallel kinematics machine tools. The nonlinearity of inverse kinematics is straightforward and has been first studied in this paper. However the nonlinearity of forward kinematics is more challenging to be considered as there is no analytic solution to the forward kinematic solution of the mechanism. A statistical approach including the Bates and Watts measures of nonlinearity has been employed to investigate the nonlinearity of the forward kinematics. The concept of standard sphere has been used to check the significance of the nonlinearity of the mechanism. It is demonstrated that the length of the region, defined as the linear approximation of the lifted line, has a significant impact on the nonlinearity of the mechanism.

#### 1. Introduction

The Gough-Stewart platform mechanism (GSPM), introduced by Gough and Whitehall [1] and Stewart [2], was originally used as a universal six degree of freedom (6-DOF) mechanism in a tire test machine and a flight simulator. Later on, the mechanism found various applications in many industries like aviation, entertainment, health, surgery, and most recently machine tools. The Stewart platform is a six-degree of freedom parallel mechanism which most commonly comprises a moving platform (referred to as upper platform here) and a fixed platform (referred to as lower platform), six pods, six spherical joints, and six universal joints as shown in Figure 1.

Determination of the lengths of pods and the first and second rate of change in these lengths forms basis of the inverse kinematics analysis of the mechanism. This is done by using the position and orientation, translational and angular velocities, and translational and angular accelerations of the upper platform.

The kinematic chain of the mechanism is illustrated in Figure 2. The th pod is represented by vector in global coordinate system, connecting the nominal position of the th universal joint to the nominal position of the th spherical joint. The nominal positions of the th spherical and universal joints in global coordinate system are defined by vectors and , respectively.

The inverse kinematics problem of the mechanism is fairly simple as discussed exhaustively by Harib and Srinivasan [3], Karimi et al. [4], and Karimi and Nategh [5]. On the contrary, the problem of the forward kinematics is not straightforward. Forward kinematics analysis is concerned with the problem of finding the position/orientation of the upper platform when the lengths of pods are available.

Various methods have already been applied to solve the forward displacement problem of the general Stewart mechanism. Raghavan [6] numerically proved that there are at most 40 possible solutions in the complex domain. Zhang and Song [7] presented closed-form solution to this problem, but without achieving rigorous solutions. Husty [8] produced a 40th-degree univariate polynomial by finding the greatest common divisor of the intermediate polynomials of degree 320. Innocenti [9] obtained a solution from the two 56th-degree univariate equations that are obtained from respective matrices. Wampler conducted the forward kinematic analysis of the mechanism using Soma coordinates [10]. Dhingra et al. [11] used the Gröbner-Sylvester hybrid method to obtain a 40th-degree polynomial from the Sylvester’s matrix formed by 68 equations of calculated Gröbner basis. Lee and Shim [12] developed an elimination method to derive directly a univariate polynomial of degree 40 from a matrix. Later on, they improved the dialytic elimination algorithm [13], with which the size of the Sylvester’s matrix leading to a 40th-degree univariate equation has been reduced to . Huang et al. presented a concise algebraic elimination algorithm to solve the closed-form forward kinematics of the Stewart platform. Based on the presented algebraic method, the forward kinematics problem was reduced to solve a univariate polynomial equation of degree at most 14. The 14th degree univariate polynomial is derived from the determinant of the Sylvester’s matrix, which is relatively small in size, without factoring out or deriving the greatest common divisor [14]. Gan et al. presented an algorithm to directly obtain a 40th degree univariate equation from a constructed Sylvester’s matrix without factoring out or deriving the greatest common divisor [15]. Hui et al. presented a multivariate polynomial equations set with respect to the moving platform’s position and orientation parameters [16].

Although it is known that at most 40 possible solutions exist for the forward kinematic problem of a general GSPM, only one solution corresponds to the actual pose of a physical machine [3]. Two most common approaches to find directly the actual solution are (i) to use an iterative numerical procedure or (ii) to use extra sensors. Harib employed a numerical iterative technique, based on the Newton-Raphson method [3]. Bonev and Ryu presented a method to solve direct kinematics problem of a general GSPM using three linear extra sensors [17].

Both the inverse and forward kinematics of GSPM exhibit nonlinear behavior. In the inverse kinematics the pods’ lengths do not change linearly with a linear path travelled by the upper platform. In the forward kinematics, when pods are actuated linearly the upper platform moves along a nonlinear path. This makes the path control and interpolation functions in Stewart-based machine tools become more complex than in conventional machine tools. Zheng et al. [18] investigated path control for a novel 5-DOF parallel machine tool. They demonstrated the nonlinearity of both inverse and forward kinematics of the parallel machine tool. Based on the error introduced by the kinematic nonlinearity of the mechanism, they proposed a novel interpolation algorithm, however they did not elaborate the nonlinearity of the mechanism. Beale made the first serious attempt to measure nonlinearity. He proposed four measures of nonlinearity [19]. This problem has been tackled in several research works. Guttman and Meeter showed that Beale’s measures tend to predict that a model will behave linearly even when considerable nonlinearity is present [20]. Box presented a formula for estimating the bias in the LS estimators [21]. Using simulation studies, Gillis and Ratkowsky [22] found that this formula not only predicted bias to the correct order of magnitude in yield-density models, but also gave a good indication of the extent of nonlinear behavior of the model. Bates and Watts developed new measures of nonlinearity based on the geometric concept of curvature [23]. They used the maximum relative intrinsic and parameter-effects curvatures of the solution locus for estimating the extent of nonlinearity. They showed that the projections of the straight and equispaced parametric lines in the parameter space onto the plane tangent to the solution locus are, in general, neither straight, nor equispaced. They established a relationship between their measures of nonlinearity and those of Beale and Box’s bias expressions. They explained that since Beale’s measures yield the average nonlinearity, they tend to underestimate the true nonlinearity. Bates and Watts’s measures of nonlinearity have found various applications in studying nonlinearities.

To the extent that the authors of the present paper are aware, little attention has been paid to the nonlinearity analysis of GSPM. This is especially important for the hexapod machine tools where nonlinearity of the mechanism considerably adds to the interpolation algorithms requiring an insightful analysis. The problem of path control in parallel mechanisms has recently been tackled in some studies, for example [20, 24]. As a continuation of their studies on the hexapod machine tools, the authors have investigated the nonlinearity of the GSPM mechanism employing the Bates and Watts measures of nonlinearity.

#### 2. Kinematics of GSPM

A concise formulation of the inverse and forward kinematics of GSPM is presented in this section for subsequent use in the analysis of nonlinearity. The vector in Figure 2, and the th pod's length can be written as follows: where is the vector representing the position of the center point of the upper platform; is the position vector of the th spherical joint defined in the local coordinate system, which is transformed into the global coordinate system by using the rotation matrix being defined by Euler angles designated by , , and ; is the position vector of the th universal joint defined in the global coordinate system. Figure 3 illustrates the local coordinate system and is employed here to demonstrate the Euler angles.

As illustrated in Figure 3, coordinate system is rotated around -axis by the angle of , thus obtained . The latter coordinate system is rotated around by the angle of to produce . The rotation of around by the angle of produces the coordinate system.

The position and orientation of the upper platform can be represented by a 6D vector . The velocity of the th pod in inverse kinematics can be obtained by differentiating (2.1) with respect to time and multiplying both sides by (the unit vector of the th pod), as follows: where and are the angular and linear velocity of the upper platform defined in global coordinate system, respectively. Local angular velocities defined as the rate of change of Euler angles can be transformed into the global coordinate system using the following transformation matrix: It is useful to represent (2.3) as follows: where where is the velocity Jacobian matrix. The time derivative of the velocity Jacobian matrix in the inverse kinematics will be employed later in this paper for nonlinearity analysis of GSPM. It can be derived as follows: where is the angular velocity vector of th pod defined in global coordinate system.

In forward kinematics, the problem of determining the position/orientation of the upper platform from the lengths of pods leads to solving a set of nonlinear equations. These equations can be solved by using the Newton-Raphson numerical iterative method. The translational/angular velocity of the upper platform in forward kinematics can be obtained from the change rate of the pods’ lengths. It can be written from (2.5) as where The time derivative being used in the nonlinearity analysis can be obtained as follows:

#### 3. Kinematics Nonlinearity

##### 3.1. Nonlinearity of Inverse Kinematics

It is illustrated in this section that both the inverse and forward kinematics of GSPM are nonlinear. The nonlinearity of the inverse kinematics can be readily verified as follows.

The inverse kinematics of SPM is said to be nonlinear if and only if a linear relationship in the vector space of the upper platform is transformed into a nonlinear relationship in the vector space of the joints. The upper platform's center point is assumed to follow a linear path as follows: Replacing into (2.2) yields where , , are the components of the th spherical joint vector along , , and axes of the global coordinate system, respectively; and , , and are the components of the th universal joint vectors along , , and axes of the global coordinate system, respectively.

It is obvious that (3.2) is a nonlinear relation in terms of , implying that nonlinear transformation should be expected through the inverse kinematics of GSPM.

##### 3.2. Nonlinearity of Forward Kinematics

The nonlinearity of forward kinematics is not however as straightforwardly clear. The Bates and Watts measures of nonlinearity are used to study the nonlinearity of the forward kinematics in this section.

Bates and Watts introduced the concept of relative curvature and illustrated that the relative curvature can be decomposed into intrinsic curvature and parameter-effects curvature [23]. Seber and Wild showed that since their measures are scale free, they can be used for different scales of data and parameters [25]. Their methodology is suitable for the consideration of the nonlinearity of regression models in the vicinity of a point on expectation surface, thus validating the linear approximation of the model. To test the linear approximation validity, they suggested to compare both the intrinsic and parameter-effects curvatures to in the % confidence region where is the statistical significance level and and are the degrees of freedom of numerator and denominator in the distribution table.

The methodology proposed by Bates and Watts applies well to the nonlinearity analysis of the forward kinematics of GSPM since forward kinematics maps a linear relation in parameter space (known here as joints space, , a subspace of ) into a nonlinear relation in solution space (known here as upper platform space, , a subspace of ). Although no model is present for the forward kinematics of GSPM, it will be shown that its first and second derivatives can be obtained by using the forward kinematics relations.

The forward kinematic relation is mathematically represented as follows: where is the length vector, and . It is assumed that is well apart from the singular points and, therefore, is continuous and twice differentiable in the vicinity of . It is worthy of mention that the singularity analysis of GSPM has attracted the attention of many researchers over decades. There is a finite number of singular points in the workspace of the mechanism where is irreversible and does not exist so the kinematics does not produce a nontrivial solution. In that case, is neither continuous nor differentiable in a singular point. The function can be approximated in the vicinity of any set of pod lengths designated by using the first two terms of the Taylor series, as follows: where is the transpose of and The kinematics relations discussed earlier are used to derive and . Differentiation (3.3) with respect to time gives Comparing (3.6) with (2.8) reveals that where is an element of located in the th row and th column of matrix . can be calculated at any point from (2.10). Now consider a linear relationship in (defined as joints space, , a subspace of ), as follows: where Mapping onto the expectation surface gives a curve called lifted line as follows [25]: Bates and Watts [26] considered reparametrizing the model and then rotating the axes of the sample space using an orthogonal matrix obtained by the decomposition of matrix . This way, they introduced the formulation of the components of curvature. They further suggested an algorithm to maximize the curvature and evaluate the nonlinearity by comparing it with the curvature of the so-called standard sphere [25]. Their algorithm is presented in the appendix.

The maximum curvature of the solution locus in a GSPM is dependent on the position and orientation of the upper platform. It is noteworthy that both and are calculated from Jacobian and its derivative, both of which are functions of position and orientation of the upper platform.

In order to investigate the nonlinearity of the mechanism throughout its workspace, different regions in the solution locus are considered. Region is defined as the linear approximation of the lifted line. The difference between a point on the lifted line and that of the region produces the so-called kinematics error which roots in nonlinear behavior of the forward kinematics of GSPM. Regions are different in the position/orientation of the upper platform, together with their sizes and directions. A typical region can be embodied by position/orientation vector of the upper platform at the beginning, designated by , its length designated by , and its direction as shown in Figure 4. For the sake of simplicity the upper platform is assumed to have the same orientation as all along the region.

To study the effect of and on the curvature, different levels are chosen for them as is presented in Table 1. For the sake of simplicity, the position and orientation of the upper platform, both of which are included in , are separated and designated by and , respectively.

The maximum curvature is obtained for any permutation of , , and levels as illustrated Figure 5.

It is apparent that has the greatest impact on the curvature. As it increases the curvature also increases. However there is a clear interaction between the position, orientation, and .

Bates and Watts suggested comparing the maximum parameters-effect curvature with the curvature of % confidence region obtained by . Here the data in Figure 5 are determined for and . Therefore, which suggests that linearity assumption should be rejected at 0.05 level of significance, if the curvature in Figure 5 exceed 0.5923.

To elaborate effects of , , and on the curvature, plots of main effect and interaction effects are illustrated in Figure 6. Main effect plot of is shown in Figure 7.

Figure 7 illustrates the mean values of the curvature for levels of , which can be an indicator of the mean effect of on the curvature. As it can be seen from this figure, curvature increases rapidly as the grows, especially for  mm. To check the Bates and Watts measure of nonlinearity, Figure 7 is zoomed around the value of the radius of standard sphere as illustrated in Figure 7.

Figure 8 reveals the fact that for  mm, the curvature is less than the radius of standard sphere which correspondingly implies that nonlinearity becomes significant for (mm) the mechanism exhibits nonlinear behavior. Whereas for it can be roughly stated that the mechanism behaves linearly. Interaction plot of location and orientation with is shown as follows.

Figure 9 indicates that for  mm the nonlinear behavior of the mechanism can be overlooked for all levels of location and orientation based on Bates and Watts measure of nonlinearity.

The above discussion leads to the following statement as a rule of thumb that for values of  mm the mechanism, shown in Figure 1, exhibits linear behavior.

#### 4. Conclusion

Nonlinearity analysis of GSPM forward and inverse kinematics was presented and considered in this investigation. To quantitatively consider the nonlinearity of the mechanism Bates and Watts measure of nonlinearity was employed. Bates and Watts formulation was developed for the forward kinematics of the mechanism. It was implied that the most significant effect on the nonlinearity of the mechanism is that of the size of the region in the solution locus and it was shown that the nonlinearity of the mechanism is negligible if this size does not exceed 0.5 (mm). Such a conclusion is of significant importance in the interpolation of curves in hexapod machine tool. It was demonstrated that the nonlinear behavior of the mechanism is attributed to the parameter-effect curvature as Bates and Watts classified.

#### Bates and Watts Measures of Nonlinearity

Bates et al. proposed a new algorithm for calculation of intrinsic and parameter-effects curvatures [25, 27]. This algorithm [25] is adopted here as the basis for the nonlinearity analysis of GSPM’s forward kinematics. They demonstrated that reparametrization of the model using an orthogonal matrix obtained by the decomposition of matrix reduces the formula which is summarized in the following: where and is the standard deviation of the sample points. Superscript indicates the tangential direction in the present analysis. is the parameter-effects curvature in the direction of . Bates and Watts suggested an algorithm to maximize with respect to , which is briefly presented as follows.

According to this algorithm, and are calculated. Then, is arranged in symmetric storage mode (ssm), which includes the nonredundant elements. It should be noted that The matrix is defined as follows: which is subsequently rescaled by dividing each element by . decomposition of matrix and pivoting in reduces to an upper triangular form. The components of the matrix, and matrices are calculated as follows: where is permutation matrix. Then is calculated and , and are formed as follows: Finally, , which is obtained by maximizing with respect to the directional vector, is calculated as follows: where d0 is the unit vector in the direction of which is maximized. is calculated as follows:

In order to find and maximize with respect to in (A.6), Seber and Wild suggested the following algorithm [25]. For an initial value arbitrarily chosen for , is calculated as follows: If then is calculated as follows: And the procedure is repeated; otherwise is used to calculate .