# Design and Analysis for a Three-Rotational-DOF Flight Simulator of Fighter-Aircraft

## Abstract

Most of researchers focused on traditional six degrees of freedom (DOF) Stewart flight simulator, which can not be adaptive in fighter-aircraft flight simulator. A three rotational DOF flight simulator of fighter-aircraft based on double parallel manipulator and hybrid structure is presented. The flight simulator is composed of two identical 3-RRS (revolute-revolute-spherical) spherical parallel manipulators and one cabin, called Twins. The cabin has an additional independent DOF for 360° continuous rotation, so it can be applied as a flight simulator for a fighter-aircraft to achieve spin maneuvering. Because of the introduction of the hybrid structure and double parallel manipulator of the mechanism, the redundancy exists with respect to both kinematics and actuation. Kinematics is carried out and Jacobian matrix is established by means of screw theory. The inverse kinematics is given out by the analytical method. 64 groups inverse solutions are showed in a table by permutation. Forward kinematics is solved by an effectively numerical method. The forward numerical method is realized based on the analytically inverse kinematics and Jacobian matrix. The numerical examples show that the forward numerical method can be used in real-time control. The rolling motion is considered in forward kinematics and a numerical example is given out. The proposed flight simulator can spin and there are three rotational DOF with a hybrid structure so that the novel flight simulator can be used in the field of the fighter-aircraft for pilots to train.

## 1 Introduction

Flight simulators are devices in which air crews and pilots can train without the use of an actual aircraft . In flight training, they are used mainly to reduce costs and increase safety. In their most sophisticated form, they simulate an aircraft’s vehicular motion, instrumentation and sounds, gravitational forces, radar and electro-optical sensor displays, and out-the-window views. According to the USA’s Federal Aviation Administration (FAA) regulations, any device called a Flight Simulator must have at least one motion platform, otherwise it can only be termed a Flight Training Device . Therefore, the vehicular motion platform in flight simulator is one of the most important parts.

Since Stewart’s initial use of a 6-DOF parallel manipulator as a flight simulator in 1965 , this approach has become standard. Over the past five decades, the Stewart parallel manipulator has been used to make significant contributions to aeronautical research [4,5,6,7]. Even so, there is still the disadvantage of the Stewart-type flight simulator in that its posture rotation range is less than 30°. The limitation of the posture range of a Stewart parallel manipulator hinders its ability to serve as a flight simulator of a fighter-aircraft. The motion of a fighter-aircraft involves continuous 360° rolling frequently. In order to achieve continuous 360° rolling, Kim et al.  presented an innovative motion base as a flight simulator, based on a 6-DOF parallel mechanism, called Eclipse-II. The Eclipse-II allows continuous 360° rotation in A, B, and C-axes as well as translational motions in X, Y, and Z-axes. However, the rotations of the Eclipse-II parallel manipulator are achieved by two circular guide rails, which severely affect the dynamical performance. As a matter of fact, in both the Stewart and Eclipse-II simulators, translational movements are nearly inoperative. Low-cost flight simulator with a reduced-DOF (less than six) platform was proposed by Pouliot and Gosselin , which revealed result comparable to those of a 6-DOF Stewart platform. Subsequently, Shui et al.  proposed a more advanced and innovative reconfigurable spherical motion generator to enable continuous spherical motion of the flight simulator. The mechanism enables unlimited workspace with respect to 3-DOF spherical motion with rapid, continuous, and precise motion capabilities. However, it is actuated by an electromagnetic motor with a highly complicated configuration that causes the volume of manipulator to be huge. So far, no parallel manipulator can be used as a flight simulator to accomplish a 360° continuous rotation in practice.

Although it is not necessary to be able to continuously rotate in all orientations, a flight simulator of a fighter-aircraft needs to be able to roll in an additional 360° to perform most motions of a fighter-aircraft. Therefore, the purpose of this study is to achieve continuous 360° rotation of a fighter-aircraft flight simulator.

Many researchers have focused on hybrid platforms such as the famous Tricept by Neumann  and Trivariant by Huang et al.  that provide a good workspace volume. They are typically a combination of a parallel manipulator and a serial manipulator. As a hybrid alternative, a double parallel manipulator was proposed for enlarging the workspace by Lee et al. [13, 14]. Tsai et al.  used a double parallel manipulator to enlarge the workspace of the manipulator and analyzed its kinematic properties. Furthermore, many researchers have noted that the redundancy of a double parallel manipulator can improve its abilities and performance, for example, enlarging the volume of the workspace. There are two main types of redundancy for the parallel manipulator: (a) kinematic redundancy and (b) actuation redundancy [16, 17]. Zanganeh and Wang et al. [18,19,20] studied the kinematic redundancy of a parallel manipulator by analyzing its kinematics, and pointed out that the extra DOF not only allow for execution of the original output task, but also additional tasks such as increasing the workspace. It is notable that the Eclipse-II is a redundant actuation parallel manipulator. Redundant actuation has been proven to be a good method to enhance performance of parallel manipulators. Nokleby et al.  proved that redundant actuation can improve force capabilities. Kim et al.  investigated the redundantly actuated parallel manipulator and proved that redundant actuation of a parallel manipulator not only can improve force capabilities, but can also enhance the stiffness of a manipulator. Li et al.  derived the conclusion that redundant actuation has little effect on the stiffness when the actuators are on prismatic joints and enhances stiffness value greatly when the actuators are on revolute joints.

Although the novel mechanisms are proposed one by one, they don’t adapt for the flight simulator. Regarding existing parallel manipulators, the 3-DOF spherical parallel manipulator is a compact configuration with large rotational posture . Therefore, given the above conclusions, a flight simulator of a fighter-aircraft based on a double and hybrid 3-RRS [25,26,27,28] spherical parallel manipulator was chosen for this study.

The remainder of this paper is organized as follows. In Section 2, the structure of the Twins flight simulator is described. In Section 3, the kinematic properties of the Twins are discussed, including the development of the direction-cosine matrixes in Section 3.1 with analytical spherical theory, the analysis of DOF in Section 3.2, and the development of the Jacobian matrix via screw theory in Section 3.3. Inverse kinematics and forward kinematics are conducted in Sections 4 and 5. Numerical examples are provided in Section 6. Lastly, the conclusions are discussed.

## 2 Architectural Description

As shown in Figure 1, the flight simulator is a hybrid manipulator developed on the basis of two identical 3-RRS spherical parallel mechanisms and one cabin with an independent DOF. Therefore, it has kinematic redundancy and a redundantly actuated manipulator as well. The basic makeup of the whole platform consists of two fixed platforms, one cabin, six RRS legs, two flange-bearing-gear decelerators, and eight motors.

As shown in Figure 2, all joints are located on spherical surface and all joint axes intersect at a single point O (center of the sphere). The active joints are Ci and Ci′, and the passive joints are Bi, Bi′, Ai and Ai′, i = 1, 2, 3. A fixed Cartesian coordinate frame O – xyz and a moving Cartesian coordinate frame O ′– uvw are positioned at the center of the sphere. In the fixed coordinate frame, the x-axis is normal to plane C1ON, and extends outwards. The z-axis superposes on line MN, and extends upwards. The y-axis is defined by the right hand rule. In the moving coordinate frame, the u-axis is normal to plane A1ON, the w-axis superposes on line QV (the points Q and V are the geometrical center of triangles ∆A1A2A3′ and ∆A1A2A3), and extends outwards. The v-axis is defined by right hand rule.

Looking at Figure 2, based on the symmetrical rule , γ1 = 120°, γ2 = 120°, γ3 = 120°, γ1′ = 120°, γ2′ = 120°, γ3′ = 120°. α1 is the angle between the Bi-axis and Ci-axis, and similarly α 1 is the angle between the Bi′ axis and Ci′ axis. α2 is the angle between the Bi-axis and Ai-axis, α2′ is the angle between the Bi′ axis and Ai′ axis. β1 is the angle between line MN and line OCi. β2 is the angle between line QV and OAi. 0° < α1 = α1′ < 90°, 0° < α2 = α2′ < 90°, 0° < β1  < 90°, 0° < β2 < 90°.

Looking at Figure 3, to achieve 360° rotation of the cabin, two flange-bearing-gear reducers are used. The outer flange is fixed to the moving platform by bolts, and the inner flange is fixed to the cabin by bolts as well. Together, the outer flange and inner flange serve as a bearing. Three axis-fixed gears are fixed to the moving platform via shafts, and the center gear is linked to a motor.

## 3 Degrees of Freedom and Jacobian Matrix

### 3.1 Development of Direction-cosine Matrices

The direction cosines of a vector are the cosines of the angles between the vector and the three coordinate axes. Deriving direction cosines are required in this paper to perform inverse kinematics and obtain the Jacobian matrix. A 3-RRS spherical parallel manipulator and its mirror image are shown in Figure 4.

On the basis of analytical theory of spherical space , the direction cosines matrices of Bi, Bi′ are built first. The fixed Cartesian coordinate frame of the two 3-RRS spherical parallel manipulators is shown in Figure 4, where the x-axis and x′-axis are inverses of each other, as are the z-axis and z′-axis and the y-axis and y′-axis. The direction cosines matrices of oBi and oBi′ in the fixed Cartesian coordinate frame O-xyz are as follows:

$${}^{o}\varvec{B}_{i} = \varvec{R}(\varvec{z},\phi_{i} )\left( {\begin{array}{*{20}c} {\sin \alpha_{1} \sin \theta_{i} } \\ { - \left( {\sin (\uppi - \beta_{1} )\cos \alpha_{1} + \cos (\uppi - \beta_{1} )\sin \alpha_{1} \cos \theta_{i} } \right)} \\ {\cos (\uppi - \beta_{1} )\cos \alpha_{1} - \sin (\uppi - \beta_{1} )\sin \alpha_{1} \cos \theta_{i} } \\ \end{array} } \right),$$
(1)
$$^{o} \varvec{B^{\prime}}_{i} = \varvec{R}(\varvec{z},\phi_{i} )\left( {\begin{array}{*{20}c} { - \sin \alpha^{\prime}_{1} \sin \theta^{\prime}_{i} } \\ { - (\sin (\uppi - \beta_{1} )\cos \alpha^{\prime}_{1} + \cos (\uppi - \beta_{1} )\sin \alpha^{\prime}_{1} \cos \theta^{\prime}_{1} )} \\ { - \cos (\uppi - \beta_{1} )\cos \alpha^{\prime}_{1} + \sin (\uppi - \beta_{1} )\sin \alpha^{\prime}_{1} \cos \theta^{\prime}_{1} } \\ \end{array} } \right),$$
(2)

where θi and θi′ are input angles of the Ci-axis and Ci′-axis, and where φ1 = 0°, φ2 = γ1 = 120°, and φ3 = γ1+γ2 = 240°.

The rotation matrix R(z, φi) with reference to the z-axis is as follows:

$$\varvec{R}(\varvec{z},\varphi_{i} ) = \left( {\begin{array}{*{20}c} {\cos \varphi_{i} } & { - \sin \varphi_{i} } & 0 \\ {\sin \varphi_{i} } & {\cos \varphi_{i} } & 0 \\ 0 & 0 & 1 \\ \end{array} } \right).$$
(3)

In the fixed Cartesian coordinate frame, the direction cosines matrices of °Ci and °Ci′ can be given directly as follows:

$$^{o} \varvec{C}_{1} = \varvec{R}(\varvec{z},\varphi_{1} )\left( {0\quad - \sin \beta_{1} \quad - \cos \beta_{1} } \right)^{\text{T}} ,$$
(4)
$$^{o} \varvec{C}_{2} = \varvec{R}(\varvec{z},\varphi_{2} )^{o} \varvec{C}_{1} ,$$
(5)
$$^{o} \varvec{C}_{3} = \varvec{R}(\varvec{z},\varphi_{3} )^{o} \varvec{C}_{1} ,$$
(6)
$$^{o} \varvec{C^{\prime}}_{1} = \varvec{R}(\varvec{z^{\prime}},\varphi_{1} )\left( {0\quad - \sin \beta_{1} \quad \cos \beta_{1} } \right)^{\text{T}} ,$$
(7)
$$^{o} \varvec{C^{\prime}}_{2} = \varvec{R}(\varvec{z},\varphi_{2} )^{o} \varvec{C^{\prime}}_{1} ,$$
(8)
$$^{o} \varvec{C^{\prime}}_{3} = \varvec{R}(\varvec{z},\varphi_{3} )^{o} \varvec{C^{\prime}}_{1} .$$
(9)

In the moving coordinate frame, the direction cosines matrices of Ai and Ai′ are expressed as follows:

$$\varvec{A}_{1} = \varvec{R}(\varvec{z},\varphi_{1} )\left( {\begin{array}{*{20}c} 0 & { - \sin \beta_{2} } & {\cos \beta_{2} } \\ \end{array} } \right)^{\text{T}} ,$$
(10)
$$^{o} \varvec{A}_{2} = \varvec{R}(\varvec{z},\varphi_{2} )^{o} \varvec{A}_{1} ,$$
(11)
$$^{o} \varvec{A}_{3} = \varvec{R}(\varvec{z},\varphi_{2} )^{o} \varvec{A}_{3} ,$$
(12)
$$\varvec{A^{\prime}}_{1} = \varvec{R}(\varvec{z^{\prime}},\varphi_{1} )\left( {\begin{array}{*{20}c} 0 & { - \sin \beta_{2} } & { - \cos \beta_{2} } \\ \end{array} } \right)^{\text{T}} ,$$
(13)
$$\varvec{A^{\prime}}_{2} = \varvec{R}(\varvec{z},\varphi_{2} )\varvec{A^{\prime}}_{1} ,$$
(14)
$$\varvec{A^{\prime}}_{3} = \varvec{R}(\varvec{z},\varphi_{3} )\varvec{A^{\prime}}_{1} .$$
(15)

In the fixed coordinate frame, oAi and oAi′ can be depicted as follows:

$${}^{o}\varvec{A}_{i} = \varvec{TA}_{i} ,\,i = 1,2,3,$$
(16)
$${}^{o}\varvec{A^{\prime}}_{i} = \varvec{TA^{\prime}}_{i} ,\,i = 1,2,3,$$
(17)

where T is the Euler angle rotation matrix with regard to the moving coordinate frame $$O^{\prime} - \varvec{uvw}$$, and is depicted as follows:

\begin{aligned} \varvec{T} & { = }\left( {\begin{array}{*{20}c} 1 & 0 & 0 \\ 0 & {{ \cos }\lambda } & { - { \sin }\lambda } \\ 0 & {{ \sin }\lambda } & {{ \cos }\lambda } \\ \end{array} } \right)\left( {\begin{array}{*{20}c} {{ \cos }\varepsilon } & 0 & {{ \sin }\varepsilon } \\ 0 & 1 & 0 \\ { - { \sin }\varepsilon } & 0 & {{ \cos }\varepsilon } \\ \end{array} } \right) \times \\ & \quad \quad \quad \quad \left( {\begin{array}{*{20}c} {{ \cos }\upsilon } & { - { \sin }\upsilon } & 0 \\ {{ \sin }\upsilon } & {{ \cos }\upsilon } & 0 \\ 0 & 0 & 1 \\ \end{array} } \right), \\ \end{aligned}
(18)

where λ, ε, υ are the yaw, pitch, and roll angles (see Figure 5).

### 3.2 Degrees of Freedom Analysis

When the cabin is fixed, the degrees of freedom of the mechanism can be obtained by using the modified formula of Grübler–Kutzbach:

$$M = d(n - g - 1) + \sum\limits_{{i{ = }1}}^{g} {f_{i} } + \eta ,$$
(19)

where M is the number of degrees of freedom, d is the number of common order, d = 6 – χ (χ is a common constraint), fi is the number of degrees of freedom of the ith joint, g is the number of joints, n is the number of bodies in the mechanism, and η is the number of over-constraints. The screw theory is used to analyze the number of over-constraints η, and the screws in $$limb_{{A_{1} B_{1} C_{1} }}$$ are shown in Figure 6.

\varvec{\ }_{1} = \left\{ \begin{aligned} & \varvec{\hat{\ }}_{11} :\left( {a_{11} \quad b_{11} \quad c_{11} ;0\quad 0\quad 0\quad } \right), \hfill \\ & \varvec{\hat{\ }}_{12} :\left( {a_{21} \quad b_{21} \quad c_{21} \quad ;0\quad 0\quad 0} \right), \hfill \\ & \varvec{\hat{\ }}_{13} :\left( {1\quad 0\quad 0\quad ;0\quad z_{1} \quad - y_{1} } \right), \hfill \\ & \varvec{\hat{\ }}_{14} :\left( {0\quad 1\quad 0\quad ; - z_{1} \quad 0\quad x_{1} } \right), \hfill \\ & \varvec{\hat{\ }}_{15} :\left( {0\quad 0\quad 1;y_{1} \quad - x_{1} \quad 0} \right). \hfill \\ \end{aligned} \right.
(20)

$$\varvec{\ }_{1}^{r}$$ is defined as the reciprocal of screw $$\varvec{\ }_{1}$$ such that

$$\varvec{\ }_{1}^{r} \circ \varvec{\ }_{1} = 0 .$$
(21)

The reciprocal screw $$\varvec{\ }_{1}^{r}$$ of $$limb_{{A_{1} B_{1} C_{1} }}$$is derived using Eqs. (20) and (21):

$$\varvec{\ }_{1}^{r} :\left( {\frac{{x_{1} }}{{z_{1} }}\quad \frac{{y_{1} }}{{z_{1} }}\quad 1;0\quad 0\quad 0} \right),$$
(22)

where

\left\{ \begin{aligned} \varvec{i}_{1} = \left( {x_{1} \quad y_{1} \quad z_{1} } \right),\,\varvec{i^{\prime}}_{1} = \left( {x^{\prime}_{1} \quad y^{\prime}_{1} \quad {\kern 1pt} z^{\prime}_{1} } \right); \hfill \\ \varvec{i}_{2} = \left( {x_{2} \quad y_{2} \quad {\kern 1pt} z_{2} } \right),\,\varvec{i^{\prime}}_{2} = \left( {x^{\prime}_{2} \quad y^{\prime}_{2} \quad z^{\prime}_{2} } \right); \hfill \\ \varvec{i}_{3} = \left( {x_{3} {\kern 1pt} \quad y_{3} \quad {\kern 1pt} z_{3} } \right),\,\varvec{i^{\prime}}_{3} = \left( {x^{\prime}_{3} \quad {\kern 1pt} y^{\prime}_{3} \quad z^{\prime}_{3} } \right). \hfill \\ \end{aligned} \right.
(23)
\left\{ \begin{aligned} &\varvec{i}_{1} = \left( {x_{1} {\kern 1pt} \quad y_{1} \quad {\kern 1pt} z_{1} } \right) = \left( {^{o} \varvec{A}_{11} \quad^{o} \varvec{A}_{12} \quad^{o} \varvec{A}_{13} } \right), \hfill \\ & \varvec{j}_{1} = \left( {a_{21} {\kern 1pt} \quad b_{21} \quad {\kern 1pt} c_{21} } \right) = \left( {^{o} \varvec{B}_{11} \quad^{o} \varvec{B}_{12} \quad^{o} \varvec{B}_{13} } \right), \hfill \\ & \varvec{k}_{1} = \left( {a_{11} \quad b_{11} \quad c_{11} } \right) = \left( {^{o} \varvec{C}_{11} \quad^{o} \varvec{C}_{12} \quad^{o} \varvec{C}_{13} } \right). \hfill \\ \end{aligned} \right.
(24)

The same method is used to obtain the reciprocal screws. $$\varvec{\ }_{2}^{r} ,\,\varvec{\ }_{3}^{r} ,\,\varvec{\ }_{1}^{r\prime } ,\,\varvec{\ }_{2}^{r\prime } ,\,\varvec{\ }_{3}^{r\prime }$$ of $$limb_{{A_{2} B_{2} C_{2} }} ,\,limb_{{A_{3} B_{3} C_{3} }} ,\,limb_{{A_{1}^{'} B_{1}^{'} C_{1}^{'} }} ,\,limb_{{A_{2}^{'} B_{2}^{'} C_{2}^{'} }} ,\,limb_{{A_{3}^{'} B_{3}^{'} C_{3}^{'} }}$$$$limb_{{A_{3} B_{3} C_{3} }}$$$$limb_{{A_{1}^{'} B_{1}^{'} C_{1}^{'} }}$$$$limb_{{A_{2}^{'} B_{2}^{'} C_{2}^{'} }}$$$$limb_{{A_{3}^{'} B_{3}^{'} C_{3}^{'} }}$$ as follows:

\varvec{\ }^{r} = \left\{ \begin{aligned} & \varvec{\ }_{1}^{r} :\left( {\begin{array}{*{20}c} {\frac{{x_{1} }}{{z_{1} }}} & {\frac{{y_{1} }}{{z_{1} }}} & 1 \\ \end{array} ;\begin{array}{*{20}l} 0 & 0 & 0 \\ \end{array} } \right), \hfill \\ & \varvec{\ }_{2}^{r} :\left( {\begin{array}{*{20}c} {\frac{{x_{2} }}{{z_{2} }}} & {\frac{{y_{2} }}{{z_{2} }}} & 1 \\ \end{array} ;\begin{array}{*{20}c} 0 & 0 & 0 \\ \end{array} } \right), \hfill \\ & \varvec{\ }_{3}^{r} :\left( {\begin{array}{*{20}c} {\frac{{x_{3} }}{{z_{3} }}} & {\frac{{y_{3} }}{{z_{3} }}} & 1 \\ \end{array} ;\begin{array}{*{20}c} 0 & 0 & 0 \\ \end{array} } \right), \hfill \\ & \varvec{\ }_{1}^{r\prime } :\left( {\begin{array}{*{20}c} {\frac{{x_{1} \prime }}{{z_{1} \prime }}} & {\frac{{y_{1} \prime }}{{z_{1} \prime }}} & 1 \\ \end{array} ;\begin{array}{*{20}c} 0 & 0 & 0 \\ \end{array} } \right), \hfill \\ & \varvec{\ }_{2}^{r\prime } :\left( {\begin{array}{*{20}c} {\frac{{x_{2} \prime }}{{z_{2} \prime }}} & {\frac{{y_{2} \prime }}{{z_{2} \prime }}} & 1 \\ \end{array} ;\begin{array}{*{20}c} 0 & 0 & 0 \\ \end{array} } \right), \hfill \\& \varvec{\ }_{3}^{r\prime } :\left( {\begin{array}{*{20}c} {\frac{{x_{3} \prime }}{{z_{3} \prime }}} & {\frac{{y_{3} \prime }}{{z_{3} \prime }}} & 1 \\ \end{array} ;\begin{array}{*{20}c} 0 & 0 & 0 \\ \end{array} } \right). \hfill \\ \end{aligned} \right.
(25)

$$\text{Rank(}\varvec{\ }^{r} \text{)}$$ = 3, so the number of over-constraints η = 3, $$\varvec{\ }_{1}^{r} ,\,\varvec{\ }_{2}^{r} ,\,\varvec{\ }_{3}^{r} ,\,\varvec{\ }_{1}^{r\prime } ,\,\varvec{\ }_{2}^{r\prime } ,\,\varvec{\ }_{3}^{r\prime }$$ are nonlinear relative to each other, and χ = 0, and n = 14, g = 18, d = 6, $$\sum\limits_{{i{ = }1}}^{g} {f_{i} }$$ = 30; thus

$$M=6(14 - 18 - 1) + 30 + 3{ = }3.$$
(26)

Therefore, the mechanism has three degrees of freedom, and the cabin’s spin becomes a redundant degree of freedom with regard to the w-axis.

### 3.3 Jacobian Matrix

A Jacobian matrix is a mapping relationship between the angular velocity of active joints and the angular velocity of the moving platform. The establishment of a Jacobian matrix is fundamental to the analysis of forward kinematics in this paper. There are many methods for establishing a Jacobian matrix. In general, a Jacobian matrix is obtained by virtue of derivations of constraining equations. It is troublesome to obtain a Jacobian matrix by virtue of derivations if the constraining equations are too many. For simplicity, in this paper, screw theory is used to build a Jacobian matrix [31,32,33] for which the moving platform angle velocity $$\varvec{\ }_{\text{p}}$$ is derived as follows:

$$\varvec{\ }_{\text{p}} = \varvec{\hat{\ }}_{11} \xi_{1} + \varvec{\hat{\ }}_{12} \xi_{2} + \varvec{\hat{\ }}_{13} \xi_{3} + \varvec{\hat{\ }}_{14} \xi_{4} + \varvec{\hat{\ }}_{15} \xi_{5} ,$$
(27)

where

$$\varvec{\ }_{\text{p}} :(\dot{\lambda }\quad \dot{\varepsilon }\quad \dot{\upsilon };0\quad 0\quad 0),$$
(28)

and where $$\xi_{1} ,\;\xi_{2} ,\;\xi_{3} ,\;\xi_{4} ,\;\xi_{5}$$ are angular velocities associated with unit screws $$\varvec{\hat{\ }}_{11} ,\;\varvec{\hat{\ }}_{12} ,\;\varvec{\hat{\ }}_{13} ,\;\varvec{\hat{\ }}_{14} ,\;\varvec{\hat{\ }}_{15} .$$

The next step is to establish a relationship between $$\xi_{1}$$ and $$\varvec{\ }_{\text{p}}$$ while eliminating $$\xi_{2} ,\;\xi_{3} ,\;\xi_{4} ,\;\xi_{5} .$$ $$^{r} \varvec{\ }_{1}$$ denotes a reciprocal screw and is derived by means of the following rules:

1. (1)

$$^{r} \varvec{\ }_{1}$$ is through the center of the spherical joint of the A1-axis and B1-axis;

2. (2)

$$^{r} \varvec{\ }_{1}$$ does not intersect with the C1-axis.

Figure 6 shows the position of $$^{r} \varvec{\ }_{1}$$,

$$^{r} \varvec{\ }_{1} = [(\varvec{i} - \varvec{j});\varvec{i} \times (\varvec{i} - \varvec{k})],$$
(29)

and from derivation of the rules, the reciprocal product is

$${}^{r}\varvec{\ }_{1} \circ \varvec{\hat{\ }}_{1i} = 0,i = 2,3,4,5.$$
(30)

Substituting Eq. (29) into Eq. (27),

$${}^{r}\varvec{\ }_{1} \circ \varvec{\ }_{\text{P}} = {}^{r}\varvec{\ }_{1} \circ \varvec{\hat{\ }}_{11} \xi_{1} .$$
(31)

Substituting Eq. (20) and Eq. (26) into Eq. (31) results in

$$[\varvec{i} \times (\varvec{i} - \varvec{j})]\left( {\begin{array}{*{20}c} {\dot{\lambda }} \\ {\dot{\varepsilon }} \\ {\dot{\upsilon }} \\ \end{array} } \right) = [\varvec{i} \times (\varvec{i} - \varvec{j}) \cdot \varvec{k}]\xi_{1} ,$$
(32)

where $$\xi_{1} = \dot{\theta }_{1}$$. The next step is to establish the equations of the other limbs of Eq. (26) by the same means.

The following equation is associated with all of the limbs.

$$\varvec{J}_{\text{q}} \dot{\varvec{\omega }} = \varvec{J}_{\text{p}} \varvec{\dot{\theta },}$$
(33)

where $$\dot{\varvec{\omega }} = (\dot{\lambda }{\kern 1pt} \quad \dot{\varepsilon }\quad \dot{\upsilon })^{\text{T}} ,\,\dot{\varvec{\theta }} = \left( {\dot{\theta }_{1} \quad {\kern 1pt} \dot{\theta }_{2} \quad \dot{\theta }_{3} \quad \dot{\theta }_{1}^{'} \quad \dot{\theta }_{2}^{'} \quad \dot{\theta }_{3}^{'} } \right)^{\text{T}} ,$$

$$\varvec{J}_{\text{p}} = \left( {\begin{array}{*{20}c} {\varvec{i}_{1} \times \varvec{j}_{1} { \cdot }\varvec{k}_{1} } & 0 & 0 & 0 & 0 & 0 \\ 0 & {\varvec{i}_{2} \times \varvec{j}_{2} { \cdot }\varvec{k}_{2} } & 0 & 0 & 0 & 0 \\ 0 & 0 & {\varvec{i}_{3} \times \varvec{j}_{3} { \cdot }\varvec{k}_{3} } & 0 & 0 & 0 \\ 0 & 0 & 0 & {\varvec{i^{\prime}}_{1} \times \varvec{j^{\prime}}_{1} { \cdot }\varvec{k^{\prime}}_{1} } & 0 & 0 \\ 0 & 0 & 0 & 0 & {\varvec{i^{\prime}}_{2} \times \varvec{j^{\prime}}_{2} { \cdot }\varvec{k^{\prime}}_{2} } & 0 \\ 0 & 0 & 0 & 0 & 0 & {\varvec{i^{\prime}}_{3} \times \varvec{j^{\prime}}_{3} { \cdot }\varvec{k^{\prime}}_{3} } \\ \end{array} } \right),$$
(34)
$$\varvec{J}_{\text{q}} = \left( {\begin{array}{*{20}c} {\varvec{i}_{1} \times \varvec{j}_{1} } & {\varvec{i}_{2} \times \varvec{j}_{2} } & {\varvec{i}_{3} \times \varvec{j}_{3} } & {\varvec{i^{\prime}}_{1} \times \varvec{j^{\prime}}_{1} } & {\varvec{i^{\prime}}_{2} \times \varvec{j^{\prime}}_{2} } & {\varvec{i^{\prime}}_{3} \times \varvec{j^{\prime}}_{3} } \\ \end{array} } \right)^{\text{T}} ,$$
(35)

$$\varvec{J}_{\text{q}}$$ is not a square matrix, so herein, the Jacobian matrix is defined as

$$\varvec{J}=\varvec{J}_{\text{p}}^{ - 1} \varvec{J}_{\text{q}} .$$
(36)

Rewriting Eq. (32) yields

$$\varvec{J\dot{\omega }} = \dot{\varvec{\theta }}\varvec{.}$$
(37)

## 4 Inverse Kinematics

In the equations of inverse kinematics, the posture parameters $$(\lambda ,\varepsilon ,\upsilon )$$ of the moving platform are given. The objective is to calculate the input angle $$\theta_{i}$$ and $$\theta^{\prime}_{1}$$, i = 1, 2, 3. In the inverse kinematic analysis, the kinematic equations of the 3-RRS spherical parallel manipulator are the same as those of the 3-RRR spherical parallel manipulator, but the 3-RRR spherical parallel manipulator is an over-constrained mechanism that is difficult to practically assemble. That is why we chose a flight simulator model based on 3-RRS spherical parallel manipulators.

When considering the independently redundant DOF of the cabin, because there are three outputs and eight inputs, it is innumerable about the inverse solutions. If we ignore the independently redundant DOF of the cabin, and fix the independent DOF of cabin, the analysis of the inverse kinematics is as follows.

The angle $$\alpha_{2}$$ between Ai-axis and Bi-axis is invariable, according to GOSSELIN’s method 

$$\varvec{j}_{i} \cdot \varvec{i}_{i} = \cos \alpha_{2} ,i = 1,2,3.$$
(38)

Substituting Eq. (1) and Eq. (16) into Eq. (38), yields

$$E_{i} \sin \theta_{i} + F_{i} \cos \theta_{i} = G_{i} ,i = 1,2,3,$$
(39)
\left\{ \begin{aligned} & E_{i} = ({ \cos }\phi_{i} { \sin }\alpha_{1} \varvec{i}_{i1} + { \sin }\alpha_{1} { \sin }\phi_{i} \varvec{i}_{i2} ), \hfill \\ & F_{i} = ( - { \cos }\beta_{1} { \sin }\phi_{i} { \sin }\alpha_{1} \varvec{i}_{i1} + { \cos }\beta_{1} { \cos }\phi_{i} { \sin }\alpha_{1} \varvec{i}_{i2} \hfill \\ & \qquad - { \sin }\alpha_{1} { \sin }\beta_{1} \varvec{i}_{i3} ), \hfill \\ & G_{i} { = } - ({ \cos }\alpha_{1} { \sin }\beta_{1} { \sin }\phi_{i} \varvec{i}_{i1} - { \cos }\alpha_{1} { \cos }\phi_{i} { \sin }\beta_{1} \varvec{i}_{i2} \hfill \\ & \quad \quad - { \cos }\alpha_{1} { \cos }\beta_{1} \varvec{i}_{i3} - { \cos }\alpha_{2} ). \hfill \\ \end{aligned} \right.
(40)
$$\varvec{i}_{i} = \left( {^{o} \varvec{A}_{i1} \quad^{o} \varvec{A}_{i2} \quad^{o} \varvec{A}_{i3} } \right)^{\text{T}} ,i = 1,2,3.$$
(41)

$$x_{i}$$ is defined as Eq. (42) as

$$x_{i} = \tan (\theta_{i} /2),i = 1,2,3.$$
(42)

Then Eq. (38) is transformed into Eq. (43)

$$(G_{i} - F_{i} )x_{i}^{2} - 2E_{i} x_{i} + G_{i} + F_{i} = 0,i = 1,2,3.$$
(43)

Simplifying Eq. (43) yields Eq. (44)

$$L_{i} x_{i}^{2} + M_{i} x_{i} + N_{i} = 0,i = 1,2,3,$$
(44)

where $$L_{i} = G_{i} - F_{i} ,M_{i} { = } - 2E_{i} ,G_{i} + F_{i} = N_{i} .$$

Then

$$x_{i} = \left( { - M_{i} \pm \sqrt {M_{i}^{2} - 4L_{i} N_{i} } } \right)/2L_{i} ,i = 1,2,3.$$
(45)

Finally

$$\theta_{i} = 2\arctan \left( {x_{i} } \right),i = 1,2,3.$$
(46)

By repeating Eqs. (38)–(45), $$\theta^{\prime}_{i}$$ is derived by the same method:

$$\theta^{\prime}_{i} = 2\arctan \left( {x^{\prime}_{i} } \right),\;i = 1,\;2,\;3.$$
(47)

All forms of the combination according to Eq. (46) and Eq. (47) are shown in the Table 5 of Appendix 1.

## 5 Forward Kinematics

For the forward kinematics, without considering the independently redundant DOF of the cabin, the angles of the input $$\theta_{i}$$ and $$\theta^{\prime}_{i} ,i = 1,{ 2},{ 3}$$ are given, and the posture $$(\lambda ,\varepsilon ,\upsilon )$$ of the moving platform is determined. However, considering the redundant actuation, the DOF of the moving platform of the flight simulator is three; thus, it can only choose three angles of the input at one time. Herein, we choose $$\theta_{i}$$($$0 < \theta_{i} <\uppi,i = 1,{ 2},{ 3}.$$) as the inputs, and the remaining three angles of the input $$\theta^{\prime}_{i}$$($$0 < \theta_{i}^{\prime } < \pi ,i = 1,{ 2},{ 3}$$) are obtained via inverse kinematics. In general, the forward kinematics of a parallel manipulator is fairly complicated when using the analytical method, and many solutions are derived. Moreover, in practical application, the configuration of a manipulator is just one of the forward solutions. The motion of the flight simulator is continuous and the control system is based on a dynamical model of MIMO (multiple input multiple out) that needs to obtain the posture of the moving platform in real-time using the forward equations. Thus, an effective numerical method is employed to solve the forward equations. The numerical method was first used in Stewart’s parallel manipulator .

The basic idea is to assume initial posture angles $$\varvec{\omega}_{0} = \left( {\lambda_{0} ,\varepsilon_{0} ,\upsilon_{0} } \right)^{\text{T}}$$ of the moving platform, and the corresponding input angles $$\varvec{p}_{0} = \left( {\theta_{1}^{0} ,\theta_{2}^{0} ,\theta_{3}^{0} } \right)^{\text{T}}$$ are obtained according to the initial posture $$\varvec{\omega}_{0} = \left( {\lambda_{0} ,\varepsilon_{0} ,\upsilon_{0} } \right)^{\text{T}}$$ by inverse kinematics. At the same time, giving three initial input angles chosen from the six input angles, assuming that $$\varvec{'p}_{0} = \left( {'\theta_{1} ,'\theta_{2} ,'\theta_{3} } \right)^{\text{T}}$$ then

$$\Delta \varvec{p}^{(1)} = '\varvec{p}_{0} - \varvec{p}_{0} ,$$
(48)

defining

\left\{ \begin{aligned}\Delta \varvec{p}^{(1)} = \left( {\Delta \theta_{1}^{(1)} ,\;\Delta \theta_{2}^{(1)} ,\;\Delta \theta_{3}^{(1)} } \right), \hfill \\ \Delta\varvec{\omega}^{(1)} = \left( {\Delta \lambda_{1}^{(1)} ,\;\Delta \varepsilon_{2}^{(1)} ,\;\Delta \upsilon_{3}^{(1)} } \right). \hfill \\ \end{aligned} \right.
(49)

Then

$$\Delta\varvec{\omega}^{(1)} = \varvec{J}_{\text{s}}\Delta \varvec{p}^{(1)} ,$$
(50)

The initial posture becomes

$$\varvec{\omega}_{1} =\varvec{\omega}_{0} +\Delta\varvec{\omega}^{(1)} = \left( {\lambda_{0} + \Delta \lambda^{(1)} ,\varepsilon_{0} + \Delta \varepsilon^{(1)} ,\upsilon_{0} + \Delta \upsilon^{(1)} } \right),$$
(51)

$$\varvec{J}_{\text{s}}$$ is $$3 \times 3$$ dimensional sub Jacobian matrix of $$\varvec{J}$$, where

$$\varvec{J}_{\text{s}} = \left( {\begin{array}{*{20}c} {\varvec{i}_{1} \times \varvec{j}_{1} \cdot \varvec{k}_{1} } & 0 & 0 \\ 0 & {\varvec{i}_{2} \times \varvec{j}_{2} \cdot \varvec{k}_{2} } & 0 \\ 0 & 0 & {\varvec{i}_{3} \times \varvec{j}_{3} \cdot \varvec{k}_{3} } \\ \end{array} } \right)^{ - 1} \left( {\begin{array}{*{20}c} {\varvec{i}_{1} \times \varvec{j}_{1} } \\ {\varvec{i}_{2} \times \varvec{j}_{2} } \\ {\varvec{i}_{3} \times \varvec{j}_{3} } \\ \end{array} } \right).$$
(52)

The above process is repeated, and the iterative equation is

$$\varvec{\omega}_{k + 1} =\varvec{\omega}_{k} + \varvec{J}_{\text{s}}^{ - 1} (\varvec{\omega}_{k} )(\varvec{p^{\prime}}_{0} - \varvec{p}_{k} ).$$
(53)

The iteration is stopped by the constraint condition $$max\left| {\Delta \theta_{i}^{k} } \right| < \delta ,i = 1,2,3$$. $$\Delta \theta_{i}^{k}$$ is an element of $$\Delta \varvec{p}^{(k)}$$, and $$\delta$$ is the permissible error. $$\varvec{J}_{\text{s}}$$ must be nonsingular when the manipulator performs a continuous motion and the iteration must converge to a unique solution. Eq. (53) is similar to the Newton-Raphson iteration, but the physical and geometrical meanings are more significant, and the whole process of the algorithm is different. Appendix 2 shows a flow chart of the algorithm.

## 6 Numerical Examples

The parameters of the manipulator are set in Table 1. For initial values $$\varvec{\omega}_{0} = (0,0,0)^{\text{T}}$$and $$\varvec{\omega}_{0} = (0.1,0.1,0.1)^{\text{T}}$$, the inverse kinematical solutions are $$\theta_{1}^{0} = 1.89417,$$ $$\theta_{2}^{0} = 1.89417,$$ $$\theta_{3}^{0} = 1.89417,$$ and $$\theta_{1}^{0} = 1.74548,$$ $$\theta_{2}^{0} = 2.29808,$$ $$\theta_{3}^{0} = 2.05784$$ according to the first row of Table 1. Because the spherical analytical method is employed, $$\theta_{i}^{0}$$ is not zero when $$\varvec{\omega}_{0} = (0,0,0)^{\text{T}}$$. Figure 7 contains a schematic chart showing the position of $$\theta_{i}$$.

For initial values $$\varvec{'p}_{0} = (1.89417,\;1.89417,\;1.89417)^{\text{T}}$$ and $$\varvec{p}_{0} = (1.74548,\;2.29808,\;2.05784)^{\text{T}}$$ along with $$\varvec{\omega}_{0} = (0.2,0.2,0.2)^{\text{T}}$$ and $$\varvec{\omega}_{0} = ( - 0.025, - 0.025, - 0.025)^{\text{T}}$$then the forward solutions converge to $$\varvec{\omega}= \left( {0,0,0} \right)^{\text{T}}$$ and $$\varvec{\omega}= \left( {0.1,0.1,0.1} \right)^{\text{T}}$$, thus proving that the algorithm is correct. Herein, we must point out that as long as $$\varvec{\omega}_{0}$$ is less than the range of the workspace, the result must converge to the correct solution, and the solution must be unique. However, the algorithm is like the Newton-Rapshon algorithm in that it is sensitive to the initial values. The results listed in Tables 2 and 3 show that the algorithm is correct. For $$\theta^{\prime}_{i}$$, i = 1, 2, 3, obtained via the inverse equations, the posture of $$\varvec{\omega}_{0} = (0.1,0.1,0.1)^{\text{T}}$$ is shown in Figure 8 when the inverse solution is determined by the first row of Table 1 (identical to column 1 of Table 3).

As shown in Tables 2 and 3, the results are obtained numerically by the forward algorithm and analytically by the inverse equations. The time costs of the numerical forward algorithm are less than 3 ms using MATLAB software by Intel Core i7-3.2G CPU, thus proving that the algorithm of the iteration meets the typical real-time control requirement of less than 6 ms.

To consider the independent DOF of cabin, the forward solution is obtained in two steps. The first step is to obtain the posture $$(\lambda ,\varepsilon ,\upsilon )^{\text{T}}$$ by the numerical method. Then the posture $$(\lambda ,\varepsilon ,\upsilon )^{\text{T}}$$ is changed by the cabin’s spin with reference to the w-axis of the moving coordinate.

Defining $$\phi$$ as the angle of the cabin’s spin with reference to the w-axis, the rotation matrix with reference to the w-axis of the moving coordinate is

$$\varvec{R}(\varvec{w},\phi ) = \left( {\begin{array}{*{20}c} {\cos \phi } & { - \sin \phi } & 0 \\ {\sin \phi } & {\cos \phi } & 0 \\ 0 & 0 & 1 \\ \end{array} } \right),$$
(54)

Defining $$(\lambda^{\prime},\;\varepsilon^{\prime},\;\upsilon^{\prime})^{\text{T}}$$ as the final posture by virtue of the spin of cabin, then

$$(\lambda^{\prime},\;\varepsilon^{\prime},\;\upsilon^{\prime})^{\text{T}} = \varvec{R}(\varvec{w},\;\phi )(\lambda ,\;\varepsilon ,\;\upsilon )^{\text{T}} ,$$
(55)

the results of the numerical example are shown in Table 4.

## 7 Conclusions

1. (1)

The flight simulator for a fighter-aircraft with a hybrid configuration of symmetrically double parallel manipulators named Twins is presented.

2. (2)

Twins is a multi-functional flight simulator. It can be used as a normal flight simulator like Stewart mechanism. And when the cabin spins that will be a flight simulator of fighter-aircraft.

3. (3)

Screw theory is used to establish the Jacobian matrix that simplifies the process of establishing the Jacobian by the means of closed equations.

4. (4)

A numerically forward kinematics is adopted by the inverse kinematics and Jacobian matrix and the method is more simple.

## References

1. E N Johnson, S Mishra. Flight simulation for the development of an experimental UAV. Clays & Caly Minerals, 2002, 44(6): 825–834.

2. D S Wu, H Du. Adaptive sliding control of six-DOF flight simulator motion platform. Chinese Journal of Aeronautics, 2007, 20(5): 425–433.

3. D Stewart. A platform with six degrees of freedom. Proceeding of the Institution of Mechanical Engineers, 1965, 180(1): 1615–1622.

4. M Nahon, R Richard, C M Gosselin. A comparison of flight simulator motion-base architectures. Proceedings of the CEAS Symposium on Simulation Technology, 2003: 1–16.

5. A Karger, M Husty. Classification of all self-motions of the original Stewart-Gough platform. Computer-Aided Design, 1998, 30(3): 205–215.

6. B L Aponso, S D Beard, J A Schroeder. The NASA ames vertical motion simulator—a facility engineered for realism. Proceeding of the Royal Aeronautical Society Spring Flight Simulation Conference, 2009: 4.

7. H Gu, D Wu, H Liu. Development of a novel low-cost flight simulator for pilot training. World Academy of Science, Engineering and Technology, 2009, 60: 685–689.

8. J Kim, J C Hwang, S K Jin, et al. Eclipse II: a new parallel mechanism enabling continuous 360-degree spinning plus three-axis translational motions. IEEE Transactions on Robotics & Automation, 2002, 18(3): 367–373.

9. N A Pouliot, C M Gosselin, M A Nahon. Motion simulation capabilities of three-degree-of-freedom flight simulators. Journal of Aircraft, 1998, 11(2): 9–17.

10. H Shui, C Chen, D Oetomo. 7 DOF arm type haptic interface for teleoperation and virtual reality system. Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems, Victoria, Canada, October 14–19, 1998: 1266–1231.

11. K E Neumann. Next generation tricept: a true revolution in parallel kinematics. Proceedings of the 4th Chemnitz Parallel kinematics Seminar, Zwickau, Germany, December 12–15, 2004: 591–594.

12. T Huang, M Li, X Zhao, et al. Conceptual design and dimensional synthesis for a 3-dof module of the trivariant—a novel 5-DOF reconfigurable hybrid robot. IEEE Transactions on Robotics, 2005, 21(3): 449–456.

13. M K Lee, K W Park. Kinematic and dynamic analysis of a double parallel manipulator for enlarging workspace and avoiding singularities. IEEE Transactions on Robotics and Automation, 1999, 15(6): 1024–1034.

14. M K Lee, K W Park. Workspace and singularity analysis of a double parallel manipulator. IEEE Transactions on Mechatronics, 2000, 5(4): 367–375.

15. L W Tsai, S Joshi. Kinematic analysis of 3-DOF position mechanisms for use in hybrid kinematic machines. Journal of Mechanical Design, 2004, 124(2): 245–253.

16. Y J Zhao, F Gao, W Li, et al. Development of 6-DOF parallel seismic simulator with novel redundant actuation. Mechatronics, 2009, 19(3): 422–427.

17. M G Mohamed, C M Gosselin. Design and analysis of kinematically redundant parallel manipulators with configurable platforms. IEEE Transactions on Robotics, 2005, 21(3): 277– 287.

18. K E Zanganeh, J Angeles. Instantaneous kinematics and design of a novel redundant parallel manipulator. Proceedings of the IEEE International Conference on Robotics & Automation, San Diego, USA, May 8–13, 1994: 3043–3048.

19. K E Zanganeh, J Angeles. Mobility and position analyses of a novel redundant parallel manipulator. Proceedings of the IEEE International Conference on Robotics & Automation, San Diego, USA, May 8–13, 1994: 3049–3054.

20. J Wang, C M Gosselin. Kinematic analysis of 3-DOF position mechanisms for use in hybrid kinematic machines. Journal of Design, 2004, 126(1): 109–118.

21. S Nokleby, R Fisher, R Podhorodeski, et al. Force capabilities of redundantly-actuated parallel manipulators. Mechanism and Machine Theory, 2005, 40(5): 578–599.

22. J Kim, F C Park, S J Ryu, et al. Design and analysis of a redundantly actuated parallel mechanism for rapid machining. IEEE Transactions on Robotics and Automation, 2001, 17(4): 423–434.

23. J F Li, R Fei, J Fan. Effects of actuator disposition and redundant actuation on performance of the tricept parallel mechanism. Chinese Journal of Mechanical Engineering. 2008, 44(1): 31–40.

24. C M Gosselin, E Lavoie. On the kinematic design of spherical three-degree-of-freedom parallel manipulators. Journal of Robotics Research, 1993, 12(4): 394–402.

25. Y F Fang, L W Tsai. Structure synthesis of a class of 3-DOF rotational parallel manipulators. IEEE Transactions on Robotics and Automation, 2004, 20(1): 117–121.

26. R D Gregorio, The 3-RRS wrist: a new, simple and non-overconstrained spherical parallel manipulator. Journal of Mechanical Design, 2004, 126(5): 850–855.

27. X W Kong, C M Gosselin. Type synthesis of three-degree- of-freedom spherical parallel manipulators. Journal of Robotics Research, 2004, 23(3): 237–245.

28. M Karouia, J M Herve. A family of novel orientational 3-DOF parallel robots. International Centre for Mechanical Sciences, 2002: 359–368.

29. C M Gosselin, J Angeles. The optimum kinematic design of a spherical three-degree-of-freedom parallel manipulator. Journal of Mechanical Design, 1989, 111(2): 202–207.

30. Z Huang, L F Kong, Y F Fang. The mechanism and control theory of the parallel robot. Beijing: China Machine Press, 1997. (in Chinese)

31. J S Dai. Geometrical foundations and screw algebra for mechanisms and robotics. Beijing: Higher Education Press, 2014. (in Chinese)

32. T Zhao, M Geng, Y Chen, et al. Kinematics and dynamics Hessian matrices of manipulators based on screw theory. Chinese Journal of Mechanical Engineering, 2015, 28(2): 226–235.

33. Z Huang, X W Kong, T S Zhao. Advanced spatial mechanism. Beijing: Higher Education Press, 2006. (in Chinese)

34. C M Gosselin, J Angeles. A global performance index for the kinematic optimization of robotic manipulators. Journal of Mechanical Design, 1991, 113(3): 220–226.

35. H Jiang, K P Zheng, X CH Wang, et al. Effective method of forward displacement analysis for virtual axis machine tool. Journal of Xi’an Jiaotong University, 2002, 36(11): 1185–1189.

## Authors’ Contributions

Y-FF was in charge of the whole trial; C-CZ wrote the manuscript; C-CZ assisted with sampling and laboratory analyses. All authors have read and approved the final manuscript.

### Authors’ Information

Chang-Chun Zhou, born in 1981, is currently a PhD candidate at Robot Research Center, Beijing Jiaotong University, China. His research interests include robotics and dynamics.

Yue-Fa Fang, born in 1958, is currently a professor at Beijing Jiaotong University, China. He received his PhD degree from Staffordshire University, UK, in 1994. His research interest is parallel manipulator.

### Competing Interests

The authors declare no competing financial interests.

### Funding

Supported by National Natural Science Foundation of China (Grant No. 51675037).

### Publisher’s Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

## Author information

Authors

### Corresponding author

Correspondence to Yue-Fa Fang.

See Table 5.

## Rights and permissions 