1 Introduction

Due to the features of high precision, great stiffness, and low moving inertia, parallel mechanisms have been widely used. Parallel mechanisms with 3 DOF (degree of freedom) have been receiving more and more attention because of several advantages such as fewer drive components, lower cost, and more compact bodies. In last two decades, many research efforts have been made to investigate kinematics characteristics of parallel mechanisms. Huang and Fang (1996) introduced the kinematic characteristics of the 3-DOF parallel actuated pyramid mechanisms using reciprocal screw theory. Xu et al. (2003) studied the working space of 3-PTT parallel micromanipulator, in which constraint factors, such as the maximum extension of actuators and maximum revolving range of flexure hinges, are discussed. Zhao and Tieshi (2001) analyzed kinematic characteristics of a three-dimension translational parallel platform mechanism. These works would be more interesting if the results were verified by simulation.

In addition, inverse kinematics analysis had become an important technique for investigating parallel mechanism. Lee and Kim (1993) introduced inverse kinematics of serial-parallel mechanism based on a 3-DOF serial mechanism, the applicability of the work was limited. Kong and Zhen (1999) proposed an efficient algorithm for inverse kinematics of 3-RPS parallel manipulators. And Yukhimets and Filaretov (2003) applied neural network method to inverse kinematics analysis of spherical parallel mechanism. Nevertheless, few works have been done to apply inverse kinematics analysis on motion planning. Attempts have been made for motion planning of parallel mechanism. For example, Fan et al. (2003) proposed a new method trajectory planning for a novel parallel mechanism, in which trajectory is planned first in parameter space and then mapped it into joint space. The method is limited by its mathematical complexity. Hiller et al. (2005) also did trajectory planning based on working space analysis and direct kinematics analysis but the process was also very complicated.

Surprisingly, few researchers had performed simulation for their analytical works. Borubakis and Kydonas (1998) introduced a novel parallel mechanism, and proposed its motion simulation. Nevertheless, neither the simulation process nor the motion equations were disclosed in the paper. In addition, few researchers used simulation to verify their works.

Coupling analysis is an important aspect of the parallel mechanism, but the conventional approach is very complicated for mathematical derivation. Without any shortcut or simplification, coupling analysis proved to be tedious work.

In this paper, a new approach of motion planning based on the planned trajectory is proposed and demonstrated on parallel mechanism 3-RRR(4R). Based on the structure analysis and inverse kinematics analysis of the parallel mechanism, the law of motors can be derived from the equations of the planned trajectory. The approach is verified by simulation results, which are consistent with the planned trajectory. Coupling analysis is performed for the output–input of the parallel mechanism and is significantly simplified by using the simulation software relative to the conventional method.

This paper is organized as follows: in Sect. 2, the 3-RRR(4R) parallel mechanism is introduced; next, the structure analysis is performed on the parallel mechanism in Sect. 3; the inverse kinematics analysis of the parallel mechanism is then presented in Sect. 4; Sect. 5 introduces the trajectory planning example and verifies the approach by simulation. In Sect. 6, coupling analysis of the parallel mechanism is accomplished with the help of simulation software; the paper is concluded in Sect. 7.

2 Introductions for 3-RRR(4R) parallel mechanism

Figure 1 is a schematic diagram of a 3-RRR(4R) parallel mechanism under study, where the lower plane is a fixed platform, and the upper plane is a movable platform, both of which are of square shape. The lower and upper platforms are connected by three asymmetric branched chains. Each branched chain consists of seven revolute pairs, four of which form a parallelogram.

Fig. 1
figure 1

Schematics of 3-RRR(4R) parallel mechanism

The branched chain A is perpendicular to the branched chain B. Point A 1 and B 1 are two mid-points of corresponding edges of fixed platform respectively. Point A 2 and B 2 are two mid-points of corresponding edges of 4R mechanism respectively; the branched chain C and B are parallel. 4R mechanism of the branched chain C is located in the middle of the chain. And the line connecting point B 1 and C 1 is parallel to axis Y.

3 Structure analysis of parallel mechanism

As shown in Fig. 1, the fixed coordinate system O-XYZ is established at the lower right corner of the fixed platform with axis X parallel to the three revolute pairs of the branched chain B, axis Y parallel to the three revolute pairs of the branched chain A, and axis Z perpendicular to the fixed platform. θ1 is the angle between axis Y and the edge a 2 of 4R mechanism of the branched chain A; θ 2 is the angle between axis X and the edge b 2 of 4R mechanism of the branched chain B; θ 3 is the angle between axis X and the edge l 2 of 4R mechanism of the branched chain C; θ 1 , θ 2 , θ 3 are the angles between axis Z and line A 2 A 3, B 2 B 3 and C 1 C 2 respectively; θ ′′1 is the angle between the extension line A 2 A 3 and line A 3 A 4; θ ′′2 is the angle between the extension line B 2 B 3 and line B 3 B 4; θ ′′3 is the angle between the extension line C 1 C 2 and line C 3 C 4. According to convention, θ1, θ2, θ 3 are selected to be the input revolute pairs.

The edges of the above-mentioned angles are determined as follows:

  1. 1.

    All the movable edges are acted by the poles;

  2. 2.

    The fixed edges are acted by either the axis of fixed coordinate system or the extension lines poles;

In addition, the direction of the angles complies with the right-hand rule. While the direction of the angle has the same direction with an axis of fixed coordinate system O-XYZ, the angle is defined as positive; otherwise, it is negative.

Figure 2 shows two views of the branched chain A, where the branched chain A is projected to plane XZ and YZ respectively.

Fig. 2
figure 2

Two views of the branched chain A

In the fixed coordinate system O-XYZ, the coordinates of point A 4 in movable platform are expressed as below:

$$ X_{{A}_{4}} =a_3\,\hbox{sin} \theta _1^{\prime} +a_4\,\hbox{sin} (\theta _1^{\prime} +\theta _1^{\prime\prime})=X_p, $$
(1)
$$ Y_{{A}_{4}} =a_1 +a_2\,\hbox{cos} \theta _1 =Y_p +a_5, $$
(2)
$$ Z_{{A}_{4}} =a_2\,\hbox{sin} \theta _1 +a_3\,\hbox{cos} \theta _1^{\prime} +a_4\,\hbox{cos} (\theta _1^{\prime} +\theta _1^{\prime\prime})=Z_p, $$
(3)

Figure 3 shows two views of the branched chain B, where the branched chain B is projected to plane XZ and YZ respectively

Fig. 3
figure 3

Two views of the branched chain B

In the fixed coordinate system O-XYZ, the coordinates of point B 4 in movable platform are expressed as below:

$$ X_{{B}_{4}} =b_1 +b_2\,\hbox{cos} \theta _2 =X_p +b_5, $$
(4)
$$ Y_{{B}_{4}} =-b_3\,\hbox{sin} \theta _2^{\prime} +b_4\,\hbox{sin} (\theta _2^{\prime\prime}-\theta _2^{\prime} )=Y_p, $$
(5)
$$ Z_{{B}_{4}} =-b_2\,\hbox{sin} \theta _2 +b_3\,\hbox{cos} \theta _2^{\prime} +b_4\,\hbox{cos} (\theta _2^{\prime\prime}-\theta _2^{\prime} )=Z_p, $$
(6)

Figure 4 shows two views of the branched chain C, where the branched chain B is projected to plane XZ and YZ respectively.

Fig. 4
figure 4

Two views of the branched chain C

In the fixed coordinate system O-XYZ, the coordinates of point C 4 in movable platform are expressed as below:

$$ X_{{C}_{4}} =b_1 +l_2\,\hbox{cos} \theta _3 =X_p +b_5, $$
(7)
$$ Y_{{C}_{4}} =l_1 -(l_3 -l_2\,\hbox{sin} \theta _3)\,\hbox{sin} \theta _3^{\prime} -l_4\,\hbox{sin} (\theta _3^{\prime} +\theta _3^{\prime\prime})=Y_p +l_5, $$
(8)
$$ Z_{{C}_{4}} =(l_3 -l_2\,\hbox{sin} \theta _3)\,\hbox{cos} \theta _3^{\prime} +l_4\,\hbox{cos} (\theta _3^{\prime} +\theta _3^{\prime\prime})=Z_p, $$
(9)

4 Inverse kinematics analysis

The inverse kinematics analysis intends to find the input variables (θ1, θ2, θ 3 ) corresponding to the specified positions of p(X p , Y p , Z p in the fixed coordinate system) in the movable platform.

From Eq. 2, it is found that

$$ \theta _1 =\hbox{arccos} ((Y_p +a_5 -a_1 )/a_2 ), \quad \theta _1 \in [{0,\pi}] $$
(10)

From Eq. 4, it is found that

$$ \theta _2 = \hbox{arccos} ((X_p +b_5 -b_1 )/b_2), \quad \theta _2 \in [{0, \pi}] $$
(11)

From Eqs. 4 and 7, it is found that

$$ \theta _3 = \hbox{arccos} (b_2\,\hbox{cos} \theta _2 /l_2), \quad \theta _3 \in [{0, \pi }] $$
(12)

Set

$$ \begin{aligned} Y&=Y_p +l_5 -l_1\\ L&=l_3 -l_2\,\hbox{sin} \theta _3\\ \end{aligned} $$

From Eqs. 8 and 9, it is found that

$$ (Y-L\,\hbox{sin} \theta _3^{\prime})^{2}+(Z_p -L\,\hbox{cos} \theta _3^{\prime})^{2}=l_4^2 . $$
(13)

Set

$$ D=(Y^{2}+Z_p^2 +L^{2}-l_4^2)/(2L). $$

So

$$ \theta _3^{\prime}=2\hbox{arctan} \left(\left(Y\pm \sqrt{Y^{2}-D^{2}+Z_p^2}\right)/(D+Z_p)\right). $$
(14)

The two solutions of θ 3 are a pair of conjugate solutions, both of which are the solutions of this parallel mechanism.

From the above derivation, it can be seen that, if the trajectory of one point on the movable platform is given, based on Eqs. 10, 11 and 14, the three driving motor movement laws can be found.

5 Trajectory planning and testing

The software ADAMS is widely used for the mechanical system dynamics simulation. In this study, the ADAMS is used to verify the analysis derived above. First, the parallel mechanism model is built using Pro/E software. Then the model is imported into the ADAMS software by adding various constraints. Figure 5 shows the ADAMS model for the 3-RRR (4R) parallel mechanism.

Fig. 5
figure 5

3-RRR(4R) parallel mechanism simulation model

It is assumed that the center of mass of the movable platform follows a spiral trajectory. A mathematical description of this assumed trajectory is expressed as below:

$$ \left\{ {{\begin{array}{l} X_M =X_p +b_5 +r\cos \frac{2\pi }{T}t \\ Y_M =Y_p +a_5 +r\sin \frac{2\pi }{T}t \\ Z_M =Z_p +\frac{S}{T}t \\ \end{array}} }\right., $$
(15)

The other structure parameters are listed as below:

  • X p  = 2904, Y p  = 1475.4, Z p  = 11435.5, a 1 = 4064, a 2 = 4318, a 3 = 4318, a 4 = 5334, a 5 = 2794, b 1 = 4064, b 2 = 4318, b 3 = 4318, b 4 = 5334, b 5 = 2794, l 1 = 7239, l 2 = 5080, l 3 = 4572, l 4 = 4318, l 5 = 5588

Substituting X M , Y M , and Z M defined by Eq. 15) into Eqs. 10, 11 and 14, gives the movement law of the three input revolute pairs. Using the software Matlab, we can calculate the movement data and the spline curves B (Fig. 6), and then put the data to three motors, their driving functions as below:

$$ \begin{aligned} &motion1-AKISPL(time,0,spline\_1,0),\\ &motion2-AKISPL(time,0,spline\_2,0),\\ &motion3-AKISPL(time,0,spline\_3,0).\\ \end{aligned} $$
Fig. 6
figure 6

Three driving spline curves:

1—spline_1; 2—spline_2; 3—spline_3

Put the above three driving functions into the three motors respectively, we can get the parallel mechanism simulation trajectory, shown as Fig. 7.

Fig. 7
figure 7

3-RRR(4R) parallel mechanism trajectory planning simulation

From above Fig. 7, we can see that, the simulation trajectory is consistent with the planned one, which proves the correctness and feasibility of this method. This method is suitable for the motion planning of parallel mechanism machine tool in the industrial field.

6 Output–input coupling analysis

If each output variable (x, y, z, α, β, γ) is the function of all input variables (θ 1 ∼ θ m ), it is called a strong output–input coupling variable indicated by Eq. 16

$$ \left\{ {{\begin{array}{l} {x=x\left( {\theta _1, \theta _2, \ldots ,\theta _m } \right)} \\ {y=y\left( {\theta _1,\theta _2, \ldots ,\theta _m } \right)} \\ {z=z\left( {\theta _1,\theta _2, \ldots , \theta _m } \right)} \\ {\alpha =\alpha \left( {\theta _1,\theta _2, \ldots , \theta _m } \right)} \\ {\beta =\beta \left( {\theta _1,\theta _2, \ldots ,\theta _m } \right)} \\ {\gamma =\gamma \left( {\theta _1,\theta _2, \ldots ,\theta _m } \right)} \\ \end{array} }} \right. . $$
(16)

When each output variable (x, y, z, α, β, γ) is a function of part of the input variables (θ 1 ∼ θ r (r < m )), it is called a partial output–input decoupling variable, when there is a one to one correspondence between one output variable and one input variable, it is called a full decoupling variable indicated as Eq. 17. In addition, the output–input relation also may become a trapezoid or triangle relation. Triangulation decoupling is corresponding to full decoupling and trapezoidal decoupling is corresponding to partial decoupling.

$$ \left\{ {{\begin{array}{l} {x=x({\theta_1})} \\ {y=y({\theta _2})} \\ {z=z({\theta_3})} \\ {\alpha =\alpha ({\theta _4 })} \\ {\beta =\beta ({\theta _5})} \\ {\gamma =\gamma ({\theta _6})} \\ \end{array} }} \right. . $$
(17)

A higher degree decoupling relationship means an easier analysis for kinematics and dynamics. A full decoupling relationship can greatly simplify the control and trajectory planning of parallel mechanisms.

It is a challenging task to evaluate the decoupling degree for a parallel mechanism. However, the use of the ADAMS software greatly facilitate the evaluation of the decoupling degree for parallel mechanisms. In follows, we analyze the decoupling of the 3-RRR(4R) parallel mechanism using the ADAMS.

In the model of Fig. 5, when all input motors do the movement (ω1 = 4d/s, ω2 = 0, ω3 = 0, t = 4s), the displacement output curves of movable platform is given in Fig. 8. When they follow the movement (ω1 = 0, ω2 = 4d/s, ω3 = 0, t = 4s and ω1 = 0, ω2 = 0, ω3 = 4d/s, t = 4s), the displacement output curves of movable platform are given in Figs. 9 and 10.

Fig. 8
figure 8

Displacement output curves of movable platform cased by motor 1

Fig. 9
figure 9

Displacement output curves of movable platform cased by motor 2

Fig. 10
figure 10

Displacement output curves of movable platform cased by motor 3

From Fig. 8, it is found that

$$ \left\{ {{\begin{array}{l} {x=c_1 } \\ {y=y({\omega _1 })} \\ {z=z({\omega _1 })} \\ \end{array} }} \right. . $$
(18)

From Fig. 9, it is found that

$$ \left\{ {{\begin{array}{l} {x=x({\omega _2 })} \\ {y=c_2 } \\ {z=z ({\omega _2})} \\ \end{array} }} \right. . $$
(19)

From Fig. 10, it is found that

$$ \left\{ {{\begin{array}{l} {x=c_3 } \\ {y=y({\omega _3 })} \\ {z=z({\omega _3})} \\ \end{array} }} \right. . $$
(20)

When the three input motors work simultaneously, the output–input relation could be gotten from Eqs. 18, 19 and 20.

$$ \left\{ {{\begin{array}{l} {x=x ({\omega _2 })} \\ {y=y ({\omega _1,\omega _3 })} \\ {z=z ({\omega _1 ,\omega _2 ,\omega _3 })} \\ \end{array} }} \right. . $$
(21)

From Eq. 21, we can see that, the output–input of this parallel mechanism is called trapezoid decoupling relation.

The above simulation has shown that, using this method, it is easy to evaluate the output–input decoupling relation of parallel mechanisms; the result is easy to understand and a complex kinematics analysis can be avoided.

7 Conclusions

This paper focuses on kinematics analysis for a 3-RRR(4R) parallel mechanism. The explicit forward and inverse kinematics relationships have been derived. With the results, motion planning for the parallel mechanism based on planned trajectory becomes possible. The ADAMS software has been used to verify the analytical results. A spiral trajectory has been assumed for the center of mass of the movable platform. The simulation has shown that with the derived kinematics equations, the planned trajectory can be generated. The study has indicated that the method used is simple and practical and a complex computation is avoided.

Another important contribution of our work is the discovery that simulation software may be used to simplify the otherwise complicated decoupling analysis. Further efforts should be made to investigate whether simulation software could be used to simplify decoupling analysis in other aspects of parallel mechanism.