Skip to content
• Original Article
• Open Access

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

Chinese Journal of Mechanical Engineering201831:55

https://doi.org/10.1186/s10033-018-0256-z

• Received: 3 March 2016
• Accepted: 13 June 2018
• Published:

## 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.

## Keywords

• Parallel manipulator
• Hybrid mechanisms
• Actuation redundancy
• Flight simulator
• Kinematics
• Screw theory
• Jacobian matrix

## 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 . 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.  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  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. Figure 1 Flight simulator of fighter-aircraft called “Twins”. 1. Spherical joint (substituted with one Hook joint and one R joint); 2. R joint; 3. Fixed platform; 4. Motor; 5. Moving platform; 6. Connecting rod; 7. Flange-Bearing-Gear reducer; 8. Gear reducer; 9. Leg; 10. Cabin
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. Figure 2 Configurational parameters of the “Twins”

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. Figure 3 Flange-bearing-gear reducer

## 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. Figure 4 Fixed Cartesian coordinate frames of the “Twins”
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). Figure 5 Yaw, pitch, and roll angles

### 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. Figure 6 Screws in $$limb_{{A_{1} B_{1} C_{1} }}$$
\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  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}$$. Figure 7 Position of θ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). Figure 8 Posture of column 1 in 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.

## Declarations

### 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.

Open AccessThis article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.

## Authors’ Affiliations

(1)
Robot Research Center, Beijing Jiaotong University, Beijing, 100044, China

## References

Advertisement 