1 Introduction

Compared with traditional rigid mechanisms, compliant mechanisms have the characteristics of less parts, light weight and fewer joints, which result in reduced friction, wear, impact, vibration and noise in the movement of mechanisms, and the utility mechanism can improve the precision of the mechanisms, increase the reliability, and reduce the maintenance cost [1]. In the past two decades, the important components of a compliant mechanism, such as a flexible beam, flexure hinge and structural synthesis composited by these components, have become the focus of research [2,3,4,5]. In order to establish a mathematic model of a compliant mechanism composed of these components, an equivalent stiffness method called pseudo-rigid-body method had been proposed. For example, Yu and Zhu [6] proposed a 5R pseudo-rigid-body model for inflection beams in compliant mechanisms, and Zhu and Yu [7] proposed two types of pseudo-rigid-body models to simulate the large deflection of a flexible beam with an inflection point in different configurations. Based on finite elements analysis and on the principle of minimum potential energy, Jin et al. [8] presented a numerical method for analyzing the pseudo-rigid-body model of compliant mechanisms consisting of the finite elements and springs. The pseudo-rigid-body method has been widely used to design and analyze the process of compliant mechanisms [9,10,11,12,13].

Due to large deformation, a large-deflection slender beam is usually used for the structure synthesis of compliant mechanisms. However, it is difficult to construct the spatial multiple degrees of freedom (multi-DOF) compliant mechanism with complex geometric constraint conditions. How to realize multi-DOF for micro-displacement movement in micro-/nano-manufacturing fields is a problem that needs to be solved urgently. To solve this problem, the topology optimization method is proposed and applied to the structure synthesis of compliant mechanisms. The main advantage of topology optimization is that the optimal design is automatically suggested for prescribed design domains, boundary conditions and functional specifications. There is no need to pre-determine the number of links or the location of the flexural joints in the device [14]. In the past decades, many different techniques, such as the homogenization method [15], solid isotropic material with penalization (SIMP) method [16,17,18], level set method [19, 20], evolutionary structural optimization (ESO) method [21, 22] and others [23,24,25], have been developed. To a great extent, structure synthesis methods of spatial compliant mechanisms are faced with many complicated factors, especially the following two main issues.

  1. (1)

    As the topology optimization methods are adapted to the structure synthesis of multi-DOF spatial compliant mechanisms, the topological results show that the topological structure is a hingeless configuration. The pseudo-rigid-body modeling method for a traditional flexible beam is not applicable to the spatial compliant mechanism derived by the topology optimization method.

  2. (2)

    The kinematic characteristics of spatial compliant mechanisms are very complex because we need to consider the three-dimensional (3D) constraints, forces and displacements simultaneously.

The structure synthesis of parallel mechanisms brings inspiration to the solution to the topology optimization problems for spatial compliant mechanisms. This approach can achieve the topology optimization theory, shape and dimension of spatial compliant mechanisms from the design specification directly, without using a known rigid-body mechanism. In other words, this approach adapts the Jacobian matrix of a parallel mechanism which has the mapping relationship between the operation space and the joint space, and it may be applied during the topology optimization process.

The Gough–Stewart platform with 6-DOF has been widely used in different mechatronic devices since 1965 [26]. Due to the square matrix with 6 × 6 dimensions, the forward/backward matrices of the Gough–Stewart platform can be calculated conveniently. Therefore, compared with the spatial structure of the Gough–Stewart platform, researchers have tried to use the flexible hinge replacement method to reconstruct a spatial compliant mechanism with the same kinematic characteristics as the Gough–Stewart platform [27, 28]. In furtherance of this research, Zhao et al. [29] proposed a parallel compliant mechanism with six universal-prismatic-universal-revolute (UPUR) flexible joints to achieve a long-range, six-axis force sensor; the force Jacobian matrix is obtained by using screw theory in two cases of the ideal state, and the state of flexibility of each flexible joint is considered. However, the structure design method with hinge replacement cannot fundamentally solve the problem of overall structural stiffness reduction caused by the accumulation of flexible hinges. Furthermore, it is difficult to establish the equivalent mapping relationship by using the pseudo-rigid-body method between the rigid-elastic model composed of flexible hinges and the rigid-body model.

To overcome these shortcomings, a novel structure synthesis method considering the topology performance for 6-DOF compliant mechanisms is presented in this paper. Firstly, a new extension of the topology optimization technique with a six-inputs-six-outputs conditions is proposed using the SIMP method. Secondly, as a supplement to the traditional topology optimization method, the Jacobian matrix of the Gough–Stewart platform [30,31,32,33] is used as the isomorphic mapping matrix between the 6-DOF compliant mechanism and conventional Gough–Stewart platform, and then, this mapping matrix is applied to the topological process. By using this method, the kinematic characteristics of 6-DOF compliant mechanism are consistent with the conventional Gough–Stewart platform.

In the present paper, the main aim is to introduce the topology optimization theory combining the isomorphic mapping matrix with the SIMP method as an effectiveness design method for structure synthesis of spatial compliant mechanisms. The rest of this paper is organized as follows. The basic idea of the proposed method is firstly introduced in Sect. 2. Section 3 illustrates the Jacobian matrix of the conventional Gough–Stewart platform. Section 4 describes how to formulate, build and solve the model of topology optimization with the Jacobian matrix. Section 5 gives the experiment results and simulations to verify the proposed method. In addition, the vibration modal analysis with three orders is conducted. Finally, discussions and conclusions are presented in Sect. 6.

2 Basic idea of the proposed method

The general Stewart–Gough parallel manipulator consists of a base platform, a moving platform, and six limbs connected at six distinct points on the base platform and the moving platform respectively, as shown in Fig. 1a, and it is used to implement ultra-high-precision tasks under large external loads (e.g., flight simulator) mainly due to their high stiffness and high load carrying capacity. However, the backlash or joint clearance of the rigid hinge may reduce the accuracy. To overcome this shortcoming, the flexure hinge replacement method is used to reconstruct the structure of the Gough–Stewart platform, as shown in Fig. 1b.

Fig. 1
figure 1

Different structures of the Gough–Stewart platform. a Gough–Stewart platform with rigid hinges, b Gough–Stewart platform with flexure hinges

The stiffness of the mechanism obtained by the flexure hinge replacement method is obviously lower than that of the conventional parallel mechanism with rigid hinges, which is related to the vibration of the mechanism during movement. On the other hand, topology optimization is a kind of optimization method based on the minimization of mechanism flexibility, and the configuration of a mechanism derived by this method can improve the overall stiffness of the mechanism. This idea has been confirmed by our previous research [34]. Based on the relationship between the constraints and the motion characteristics of a parallel mechanism given by Ref. [35], there are no constraints on the moving platform. In order to avoid a driver configuration singularity, the multi-inputs in topology optimization should be presented according to the conventional driver configuration of the Gough–Stewart parallel mechanism. A design domain of a 6-DOF spatial compliant mechanism is shown in Fig. 2.

Fig. 2
figure 2

Driver configuration of the Gough–Stewart platform used for the driver installation location during the topology optimization process. a Multi-inputs positions of topology optimization in according with the driver configuration of the Gough–Stewart platform, b top view

A cube structure with \( 200\; {\text{mm}} \times 200\; {\text{mm}} \times 200\; {\text{mm}} \) is selected as the design domain of topology optimization, and the multi-inputs are set according to the driver configuration form of conventional Gough–Stewart platform.

The objective of the minimum compliance problem is to find a material element density distribution \( \rho_{e} \) that maximizes the structural deformation under the prescribed support and loading conditions. The driver configurations of the Gough–Stewart platform are placed inside the design domain as the piezoelectric PbZrTiO3 (PZT) actuator installation locations. According to the screw theory, the number of constraints on the outputs of the topological optimization domain equals zero, so we give three ranges of translation and three ranges of rotations according to the actual expected output values of the 6-DOF compliant mechanism, respectively. It is shown in Fig. 2.

Another problem we have to solve is how to build the kinematic model of a 6-DOF compliant mechanism. The premise of a kinematic model established by using the pseudo-rigid-body method can be described by flexible joints. However, the hinge (or joint) and beam form does not exist in the topological structure, so the pseudo-rigid-body method is not suitable for the topological kinematic modeling. On the other hand, as we know, the Jacobian matrix represents the mapping relationship between the operation space and the joint space. Therefore, if we can use the Jacobian matrix of the corresponding parallel prototype mechanism in the design process of topology optimization, then the kinematics model of the parallel prototype mechanism can be used as the kinematics model of the compliant mechanism. This novel method can also be extended to the topology optimization design for a compliant mechanism with an arbitrary DOF.

3 Kinematics Jacobian matrix of the Gough–Stewart platform

Consider a 6-DOF conventional Gough–Stewart platform, as shown in Fig. 2a. Each link has a prismatic actuator (driver). The links are joined at the ends to the base platform (BP) and moving platform (MP) by a universal and a spherical joint, respectively. Let the connection points of the i-th link on the BP and MP be denoted by \( A_{i} \) and \( C_{i} \), respectively. Also, let the two coordinate frames \( \left\{ {o - xyz} \right\} \) and \( \left\{ {o^{\prime} - uvw} \right\} \) be attached to the BP and MP at the points \( o \) and \( o^{\prime} \), respectively. The kinematics design problem involves determination of coordinates of the connection point for each link. Hence, six design parameters are associated with each link. Thus, a 6-links, non-redundant, parallel mechanism has 36 design parameters, which are required to be evaluated so that the design criterion is satisfied. But, since the number of these design parameters is quite large and governing equations are nonlinear, their values must be determined numerically.

3.1 Traditional solution method for a kinematics Jacobian matrix of the Gough–Stewart platform

The Gough–Stewart platform is a fully parallel kinematic linkage system that has major mechanical differences from typical serial link robots. Its closed kinematic chain and parallel linkage structure give it great rigidity and a high force-to-weight ratio. However, due to the lack of efficient algorithms for solving the kinematics equations, its potential application as a robotic manipulator is difficult to realize. In this paper, as the motion characteristics with a micro-/nano-scale of the 6-DOF compliant mechanism, we focus on the Jacobian matrix with displacement. A simplified algorithm was proposed by Liu et al. [36] to solve the forward kinematics of the Gough–Stewart platform by solving only three nonlinear simultaneous equations. Assuming that the output position vector of the Gough–Stewart platform is defined as \( \varvec{u} = \left( {\begin{array}{*{20}c} \alpha & \beta & \gamma & {d_{x} } & {d_{y} } & {d_{z} } \\ \end{array} } \right)^{\text{T}}, \) and the coordinate transformation homogeneous equation is presented by using the Denavit–Hartenberg (D–H) method as shown below

$$ \begin{aligned} \varvec{T}_{B}^{M} & = \varvec{Rot}\left( {x,\alpha } \right)\varvec{Rot}\left( {y,\beta } \right)\varvec{Rot}\left( {z,\gamma } \right)\varvec{Trans}\left( {x,d_{x} } \right)\varvec{Trans}\left( {y,d_{y} } \right)\varvec{Trans}\left( {z,d_{z} } \right) \\ & = \left[ {\begin{array}{*{20}c} {\text{cos}\beta \text{cos}\alpha } & { - \text{cos}\beta \text{sin}\gamma } & {\text{sin}\beta } & {d_{x} } \\ {\text{sin}\alpha \text{sin}\beta \text{cos}\gamma + \text{cos}\alpha \text{sin}\gamma } & { - \text{sin}\alpha \text{sin}\beta \text{sin}\gamma + \text{cos}\alpha \text{cos}\gamma } & { - \text{sin}\alpha \text{cos}\beta } & {d_{y} } \\ { - \text{cos}\alpha \text{sin}\beta \text{cos}\gamma + \text{sin}\alpha \text{cos}\gamma } & {\text{cos}\alpha \text{sin}\beta \text{sin}\gamma + \text{sin}\alpha \text{cos}\gamma } & {\text{cos}\alpha \text{cos}\beta } & {d_{z} } \\ 0 & 0 & 0 & 1 \\ \end{array} } \right]. \\ \end{aligned}$$
(1)

From the loop formed with the position vector \( \overrightarrow {{{oo}^{\prime }}} \) and the position vectors of link \( i \), we have

$$ \overrightarrow {{{oo}^{\prime }}} = \overrightarrow {{{oA}_{i} }} { + }\overrightarrow {{{A}_{i} {C}_{i} }} { + }\overrightarrow {{{o}^{\prime }{C}_{i} }} $$
(2)

or

$$ \varvec{p} = \varvec{R}_{i} + \varvec{l}_{i} - \varvec{r}_{i} , $$
(3)

where \( \varvec{R}_{i} \), \( \varvec{l}_{i} \) and \( \varvec{r}_{i} \) denote the position vector \( \overrightarrow {{{oA}_{i} }} \) from the point \( o \) to the point \( A_{i} \), the position vector \( \overrightarrow {{{A}_{i} {C}_{i} }} \) from the point \( A_{i} \) to the point \( C_{i} \) and the position vector \( \overrightarrow {{{o}^{\prime }{C}_{i} }} \) from the point \( C_{i} \) to the point \( o^{\prime} \), respectively.

Applying the dot product of \( l_{i} \) to both sides, Eq. (3) can be arranged with respect to \( l_{i} \) as below

$$ l_{i}^{2} = \left( {\varvec{p} + \varvec{r}_{i} - \varvec{R}_{i} } \right) \cdot \left( {\varvec{p} + \varvec{r}_{i} - \varvec{R}_{i} } \right), $$
(4)

where \( \varvec{p} \) is the displacement vector from the center of the base platform to the center of the moving platform. Assuming that the initial frame parameters are represented by superscript 0 yields

$$ p^{2} = \left| {\left( {\begin{array}{*{20}c} {x_{{o^{\prime}}}^{0} } & {y_{{o^{\prime}}}^{0} } & {z_{{o^{\prime}}}^{0} } \\ \end{array} } \right)^{\text{T}} \varvec{T}_{B}^{M} } \right|^{2} ,\quad r_{i}^{2} = \left| {\left( {\begin{array}{*{20}c} {x_{{C_{i} }}^{0} } & {y_{{C_{i} }}^{0} } & {z_{{C_{i} }}^{0} } \\ \end{array} } \right)^{\text{T}} \varvec{T}_{B}^{M} } \right|^{2} ,\quad R_{i}^{2} = \left| {\left( {\begin{array}{*{20}c} {x_{{A_{i} }}^{0} } & {y_{{A_{i} }}^{0} } & {z_{{A_{i} }}^{0} } \\ \end{array} } \right)^{\text{T}} } \right|^{2} . $$
(5)

Following the same procedure for the other five kinematics links, the constraint function for the entire system can be derived as

$$ \left[ {\begin{array}{*{20}c} {\Delta l_{1}^{2} } \\ {\Delta l_{2}^{2} } \\ {\Delta l_{3}^{2} } \\ {\Delta l_{4}^{2} } \\ {\Delta l_{5}^{2} } \\ {\Delta l_{6}^{2} } \\ \end{array} } \right] = \left[ {\begin{array}{*{20}c} {l_{1}^{2} - \left( {l_{1}^{0} } \right)^{2} } \\ {l_{2}^{2} - \left( {l_{2}^{0} } \right)^{2} } \\ {l_{3}^{2} - \left( {l_{3}^{0} } \right)^{2} } \\ {l_{4}^{2} - \left( {l_{4}^{0} } \right)^{2} } \\ {l_{5}^{2} - \left( {l_{5}^{0} } \right)^{2} } \\ {l_{6}^{2} - \left( {l_{6}^{0} } \right)^{2} } \\ \end{array} } \right] = \left[ {\begin{array}{*{20}c} {f_{1} \left( {\alpha ,\beta ,\gamma ,d_{x} ,d_{y} ,d_{z} } \right)} \\ {f_{2} \left( {\alpha ,\beta ,\gamma ,d_{x} ,d_{y} ,d_{z} } \right)} \\ {f_{3} \left( {\alpha ,\beta ,\gamma ,d_{x} ,d_{y} ,d_{z} } \right)} \\ {f_{4} \left( {\alpha ,\beta ,\gamma ,d_{x} ,d_{y} ,d_{z} } \right)} \\ {f_{5} \left( {\alpha ,\beta ,\gamma ,d_{x} ,d_{y} ,d_{z} } \right)} \\ {f_{6} \left( {\alpha ,\beta ,\gamma ,d_{x} ,d_{y} ,d_{z} } \right)} \\ \end{array} } \right]. $$
(6)

To solve these equations, Tang et al. [37] proposed a numerical method based on an equivalent model for the Gough–Stewart platform forward kinematics problem by using the iteration method. In this method, the critical values of the allowable errors \( \varepsilon_{i} \) of \( \alpha ,\beta ,\gamma ,d_{x} ,d_{y} ,d_{z} \) are given, respectively. The iterations terminate when the posed difference \( \Delta l_{i} \) is smaller than \( \varepsilon_{i} \) for all \( i = 1,2, \ldots ,6 \).

3.2 Differential equivalent analysis method for a kinematics Jacobian matrix of the Gough–Stewart platform

The conditions of displacement output are set with the rotation value of the angle being [0, 1 × 10−7] rad and the translation value of the displacement being [0, 1 × 10−8] mm. Taking into account the differential kinematics characteristics of the conventional Gough–Stewart platform with rigid hinges, without loss of generality, the coordinate transformation homogeneous Eq. (1) can be rewritten by

$$ \varvec{T^{\prime}}_{B}^{M} = \varvec{Rot}\left( {x,\alpha } \right)\varvec{Rot}\left( {y,\beta } \right)\varvec{Rot}\left( {z,\gamma } \right)\varvec{Trans}\left( {x,d_{x} } \right)\varvec{Trans}\left( {y,d_{y} } \right)\varvec{Trans}\left( {z,d_{z} } \right) = \left[ {\begin{array}{*{20}c} 1 & { - \gamma } & \beta & {d_{x} } \\ \gamma & 1 & { - \alpha } & {d_{y} } \\ { - \beta } & \alpha & 1 & {d_{z} } \\ 0 & 0 & 0 & 1 \\ \end{array} } \right]. $$
(7)

Substituting the initial coordinate parameters of \( C_{i} \) into Eq. (7) yields

$$ \left( {\begin{array}{*{20}c} {C_{\prime }{x}^{i} } & {C_{\prime }{y}^{i} } & {C_{\prime }{z}^{i} } \\ \end{array} } \right)^{\text{T}} = \left( {\begin{array}{*{20}c} {C_{x}^{i} } & {C_{y}^{i} } & {C_{z}^{i} } \\ \end{array} } \right)^{\text{T}} \varvec{T^{\prime}}_{B}^{M} = \left( {\begin{array}{*{20}c} {C_{x}^{i} - \gamma C_{y}^{i} + \beta C_{z}^{i} + d_{x} } & {\gamma C_{x}^{i} + C_{y}^{i} - \alpha C_{z}^{i} + d_{y} } & { - \beta C_{x}^{i} + \alpha C_{y}^{i} + C_{z}^{i} + d_{z} } \\ \end{array} } \right)^{\text{T}} . $$
(8)

As \( \Delta l_{i} = l_{i}^{\prime} - l_{i} \) and \( l_{i}^{\prime} = \overrightarrow {{\varvec{C}_{i}^{\prime} \varvec{A}_{i} }} = \left[ {\left( {C_{i}^{\prime x} - A_{i}^{x} } \right)^{2} + \left( {C_{i}^{\prime y} - A_{i}^{y} } \right)^{2} + \left( {C_{i}^{\prime z} - A_{i}^{z} } \right)^{2} } \right]^{{\frac{1}{2}}}, \) the differential equivalent method is adapted as follows

$$ l_{i}^{\prime} = l_{i} + \Delta l_{i} \Rightarrow l_{i}^{\prime}{2} = l^{2}_{i} + 2\Delta l_{i} \cdot l_{i} + \Delta l_{i}^{2} ,\quad \text{assumed}\quad \Delta l_{i}^{2} \to 0,\quad \text{then}\quad \Delta l_{i} = \frac{1}{{2l_{i} }}\left( {l_{i}^{\prime 2} - l^{2}_{i} } \right), $$
(9)

where \( l_{i} \) are the initial lengths of links; according to Fig. 1, they are equal to each other. Substituting Eq. (8) with the initial vector coordinate parameters into Eq. (9) yields

$$ \Delta l_{i} = \frac{1}{2l}\left\{ {\left( {C_{x}^{i} - \gamma C_{y}^{i} + \beta C_{z}^{i} + d_{x} - A_{x}^{i} } \right)^{2} + \left( {\gamma C_{x}^{i} + C_{y}^{i} - \alpha C_{z}^{i} + d_{y} - A_{y}^{i} } \right)^{2} { + }\left( {{ - }\beta C_{x}^{i} + \alpha C_{y}^{i} { + }C_{z}^{i} + d_{z} - A_{z}^{i} } \right)^{2} { - }\left[ {\left( {C_{x}^{i} - A_{x}^{i} } \right)^{2} + \left( {C_{y}^{i} - A_{y}^{i} } \right)^{2} + \left( {C_{z}^{i} - A_{z}^{i} } \right)^{2} } \right]} \right\}. $$
(10)

Simplifying Eq. (10), we obtain

$$ \Delta l_{i} = \frac{1}{2l}\left[ {\alpha \left( {C_{z}^{i} A_{y}^{i} - C_{y}^{i} A_{z}^{i} } \right) + \beta \left( {C_{x}^{i} A_{z}^{i} - C_{z}^{i} A_{x}^{i} } \right) + \gamma \left( {C_{y}^{i} A_{x}^{i} - C_{x}^{i} A_{y}^{i} } \right) + d_{x} \left( {C_{x}^{i} - A_{x}^{i} } \right) + d_{y} \left( {C_{y}^{i} - A_{y}^{i} } \right) + d_{z} \left( {C_{z}^{i} - A_{z}^{i} } \right)} \right]. $$
(11)

Equation (11) can be rewritten as a matrix form

$$ \left[ {\begin{array}{*{20}c} {\Delta l_{1} } \\ {\Delta l_{2} } \\ {\Delta l_{3} } \\ {\Delta l_{4} } \\ {\Delta l_{5} } \\ {\Delta l_{6} } \\ \end{array} } \right] = \frac{1}{2l}\left[ {\begin{array}{*{20}c} {C_{z}^{1} A_{y}^{1} - C_{y}^{1} A_{z}^{1} } & {C_{x}^{1} A_{z}^{1} - C_{z}^{1} A_{x}^{1} } & {C_{y}^{1} A_{x}^{1} - C_{x}^{1} A_{y}^{1} } & {C_{x}^{1} - A_{x}^{1} } & {C_{y}^{1} - A_{y}^{1} } & {C_{z}^{1} - A_{z}^{1} } \\ {C_{z}^{2} A_{y}^{2} - C_{y}^{2} A_{z}^{2} } & {C_{x}^{2} A_{z}^{2} - C_{z}^{2} A_{x}^{2} } & {C_{y}^{2} A_{x}^{2} - C_{x}^{2} A_{y}^{2} } & {C_{x}^{2} - A_{x}^{2} } & {C_{y}^{2} - A_{y}^{2} } & {C_{z}^{2} - A_{z}^{2} } \\ {C_{z}^{3} A_{y}^{3} - C_{y}^{3} A_{z}^{3} } & {C_{x}^{3} A_{z}^{3} - C_{z}^{3} A_{x}^{3} } & {C_{y}^{3} A_{x}^{3} - C_{x}^{3} A_{y}^{3} } & {C_{x}^{3} - A_{x}^{3} } & {C_{y}^{3} - A_{y}^{3} } & {C_{z}^{3} - A_{z}^{3} } \\ {C_{z}^{4} A_{y}^{4} - C_{y}^{4} A_{z}^{4} } & {C_{x}^{4} A_{z}^{4} - C_{z}^{4} A_{x}^{4} } & {C_{y}^{4} A_{x}^{4} - C_{x}^{4} A_{y}^{4} } & {C_{x}^{4} - A_{x}^{4} } & {C_{y}^{4} - A_{y}^{4} } & {C_{z}^{4} - A_{z}^{4} } \\ {C_{z}^{5} A_{y}^{5} - C_{y}^{5} A_{z}^{5} } & {C_{x}^{5} A_{z}^{5} - C_{z}^{5} A_{x}^{5} } & {C_{y}^{5} A_{x}^{5} - C_{x}^{5} A_{y}^{5} } & {C_{x}^{5} - A_{x}^{5} } & {C_{y}^{5} - A_{y}^{5} } & {C_{z}^{5} - A_{z}^{5} } \\ {C_{z}^{6} A_{y}^{6} - C_{y}^{6} A_{z}^{6} } & {C_{x}^{6} A_{z}^{6} - C_{z}^{6} A_{x}^{6} } & {C_{y}^{6} A_{x}^{6} - C_{x}^{6} A_{y}^{6} } & {C_{x}^{6} - A_{x}^{6} } & {C_{y}^{6} - A_{y}^{6} } & {C_{z}^{6} - A_{z}^{6} } \\ \end{array} } \right]\left[ {\begin{array}{*{20}c} \alpha \\ \beta \\ \gamma \\ {d_{x} } \\ {d_{y} } \\ {d_{z} } \\ \end{array} } \right] = {\varvec J}\left[ {\begin{array}{*{20}c} \alpha \\ \beta \\ \gamma \\ {d_{x} } \\ {d_{y} } \\ {d_{z} } \\ \end{array} } \right]. $$
(12)

Based on Fig. 2, the initial coordinates are shown in Table 1.

Table 1 Initial coordinate of each point connected with a moving and base platform

By substituting the parameters given by Table 1, the Jacobian matrix can be derived as

$$ \varvec{J} = \left[ {\begin{array}{*{20}c} {49.03} & 0 & 0 & 0 & { - 0.098} & {0.49} \\ {24.52} & { - 42.49} & {0.0052} & { - 0.085} & { - 0.049} & {0.49} \\ { - 24.52} & { - 42.49} & { - 0.0052} & { - 0.085} & {0.049} & {0.49} \\ { - 49.03} & 0 & 0 & 0 & {0.098} & {0.49} \\ { - 24.52} & {42.49} & {0.0052} & {0.085} & {0.049} & {0.49} \\ {24.52} & {42.49} & { - 0.0052} & {0.085} & { - 0.049} & {0.49} \\ \end{array} } \right]. $$
(13)

To ensure the homogeneity and decoupling of the Jacobian matrix, the orthogonal and right matrix deformation method (QR) is used to derive the orthogonal matrix, eigenvalues and eigenvectors.

The orthogonal matrix can be calculated by Matlab software, which yields

$$ \varvec{Q} = \left[ {\begin{array}{*{20}c} { - 0.5773} & 0 & 0 & { - 0.4083} & { - 0.7071} & { - 0.0014} \\ { - 0.2887} & { - 0.5} & {0.5} & {0.6324} & { - 0.1294} & { - 0.0003} \\ {0.2887} & { - 0.5} & { - 0.5} & {0.0747} & { - 0.2777} & { - 0.5779} \\ {0.5773} & 0 & 0 & {0.1494} & { - 0.5588} & {0.5763} \\ {0.2887} & {0.5} & {0.5} & {0.0747} & { - 0.2777} & { - 0.5779} \\ { - 0.2887} & {0.5} & { - 0.5} & {0.6324} & { - 0.1294} & { - 0.0003} \\ \end{array} } \right]. $$
(14)

And the eigenvalues Evalue and eigenvectors Evector are also calculated as

$$ \varvec{E_{{\text{value}}}} = \left[ {\begin{array}{*{20}c} { - 84.9282} & 0 & 0 & 0 & 0 & 0 \\ 0 & {84.98} & 0 & 0 & 0 & 0 \\ 0 & 0 & {0.0104} & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & { - 0.0057} & 0 \\ 0 & 0 & 0 & 0 & 0 & { - 0.2849} \\ \end{array} } \right], $$
(15)
$$ \varvec{E}_{{\text{vector}}} = \left[ {\begin{array}{*{20}c} 1 & 0 & 0 & 0 & {0.0004} & {0.0015} \\ 0 & 1 & 0 & { - 0.002} & {0.0018} & {0.0008} \\ 0 & 0 & 1 & 0 & {0.2645} & {0.0611} \\ 0 & 0 & 0 & 1 & { - 0.9448} & { - 0.5256} \\ 0 & 0 & 0 & 0 & {0.1932} & {0.8184} \\ 0 & 0 & 0 & 0 & 0 & {0.2242} \\ \end{array} } \right]. $$
(16)

4 Topology optimization model of the 6-DOF spatial compliant mechanism

In this paper, a cube optimization design domain is selected as Fig. 2, and the Gough–Stewart prototype platform is placed inside this cube in order to determine the placement position of the six PZT actuators. During the topology optimization process, there are two key problems that need to be solved, that is, one is the how to integrate the Jacobian matrix with the topology optimization method, and the other is how to put the PZT actuators inside the topological structure when 3D printing technology is used to manufacture the topological structure. Our solution to the second problem is to put the PZT actuators in the slot when the reserved actuator slot is about to be closed, and the SIMP method to integrate the Jacobian matrix of the 6-DOF Gough–Stewart prototype platform will be used to solve the first problem.

4.1 Finite element method based on transfer characteristic between force/macro and strain/micro

The isomorphic Jacobian mapping matrix proposed as previously can be used to express the mapping relationship between macro inputs and outputs, that is, it can be ensured that the topological configuration after topology optimization can be consistent with the Gough–Stewart prototype platform, and then the model of the 6-DOF spatial compliant mechanism can be established. To realize macro/micro unification during the topology optimization process, three steps need to be considered as follows.

Kinematic characteristics of the topological structure of 6-DOF complaint mechanisms can be consistent with the Stewart prototype platform. To realize macro/micro unification during the topology optimization process, three steps need to be considered as follows:

Step 1: The stress and strain generated by the six driving forces provided by the PZT actuators need to be solved, and they are the initial conditions for solving the stress and strain between the element meshes.

Step 2: The finite element method is adapted during the topology optimization process, and the SIMP method will be used in this paper.

Step 3: The final stress/strain results of element meshes should correspond to the output displacements to achieve unified micro and macro motion characteristics, and the convergence condition is satisfied by the given Jacobian mapping matrix between the input forces and output displacements.

4.1.1 Transfer from the driving forces to stress/strain of element meshes

Under the action of external force, the object will produce deformation and internal force at the same time, and the deformation will be stopped when the internal force and the external force are kept in balance. Without loss of generality, according to the mesh grid with a hexahedral element in the topology optimization method, we assume that the driving force acts on a micro element with a hexahedral. The \( i \)-th driving force can be denoted as \( \varvec{F}_{i} = \left( {\begin{array}{*{20}c} {f_{ix} } & {f_{iy} } & {f_{iz} } \\ \end{array} } \right)^{\text{T}} \), \( i = 1,2, \ldots ,6 \) and the macro expression between the driving force and displacement is satisfied as follows

$$ \varvec{F}_{i} = \left( {\begin{array}{*{20}c} {f_{ix} } & {f_{iy} } & {f_{iz} } \\ \end{array} } \right)^{\text{T}} = \left[ {\begin{array}{*{20}c} {k_{ix} } & 0 & 0 \\ 0 & {k_{iy} } & 0 \\ 0 & 0 & {k_{iz} } \\ \end{array} } \right]\left[ {\begin{array}{*{20}c} {{d}_x} \\ {{d}_y} \\ {{d}_z} \\ \end{array} } \right] = \varvec{K} \cdot \left( {\begin{array}{*{20}c} u & v & w \\ \end{array} } \right)^{\text{T}} , $$
(17)

where \( \left( {\begin{array}{*{20}c} u & v & w \\ \end{array} } \right)^{\text{T}} \) is the function of displacement with 3D space; \( \varvec{K} = \left[ {\begin{array}{*{20}c} {k_{ix} } & 0 & 0 \\ 0 & {k_{iy} } & 0 \\ 0 & 0 & {k_{iz} } \\ \end{array} } \right] \) is the whole elastic matrix.

And then, the micro-deformation in element meshes will be studied in order to connect with macro-displacement caused by driving forces. The coordinate transformation can deduce to locate a point into the evenly shaped triangle network. The projection plane and micro-deformation are shown in Fig. 3a, b, respectively.

Fig. 3
figure 3

Relationship between the macro-displacement caused by driving force and the infinitesimal micro-deformation using the projective plane method. a Projective plane, b deformation with stress and strain

By using the Taylor series expansion formula and neglecting the higher-order small quantity, the deformation coordinates values for the points projected on the XY plane are given by

$$ \begin{array}{*{20}c} {A^{\prime}\left( {x + \varvec{u},y + \varvec{v}} \right),}\, & {B^{\prime}\left( {x + \text{d}x + \varvec{u} + \frac{{\partial \varvec{u}}}{\partial x}\text{d}x,y + \varvec{v} + \frac{{\partial \varvec{v}}}{\partial x}\text{d}x} \right),} & {C^{\prime}\left( {x + \varvec{u} + \frac{{\partial \varvec{u}}}{\partial y}\text{d}y,y + \text{d}y + \varvec{v} + \frac{{\partial \varvec{v}}}{\partial y}\text{d}y} \right)} \\ \end{array} . $$
(18)

So, the length of line segment \( AB \) projected on the \( x \) axis is calculated, yielding

$$ \delta \left( {\text{d}x} \right) = \overrightarrow {{A^{\prime}B^{\prime}}} - \overrightarrow {{AB}} = \varvec{u}\left( {x + \text{d}x,y} \right) - \varvec{u}\left( {x,y} \right) = \frac{{\partial \varvec{u}}}{\partial x}\text{d}x. $$
(19)

Similarly, we have

$$ \delta \left( {\text{d}y} \right) = \frac{{\partial \varvec{v}}}{\partial y}\text{d}y,\quad \delta \left( {\text{d}z} \right) = \frac{{\partial \varvec{w}}}{\partial z}\text{d}z. $$
(20)

4.1.2 Stress/strain transfer between element meshes

The basic idea of the finite element method is to divide the continuum into finite elements connected at the nodes, and then approximate the unknown field functions on the whole solution domain by approximating the assumed functions in each element. Therefore, the stress and strain transfer between the elements becomes an important factor during the topology optimization process. The equilibrium equation expressed by displacement is given by

$$ \frac{E}{{1 - \nu^{2} }}\left( {\frac{{\partial^{2} \varvec{u}_{i} }}{{\partial \varvec{x}^{2} }} + \frac{1 - \nu }{2}\frac{{\partial^{2} \varvec{u}_{i} }}{{\partial \varvec{y}^{2} }} + \frac{1 + \nu }{2}\frac{{\partial^{2} \varvec{v}_{i} }}{{\partial \varvec{x}\partial \varvec{y}}}} \right) = - \varvec{f}_{i} = - \varvec{k}_{i} \left( {\begin{array}{*{20}c} {u_{i} } & {v_{i} } & {w_{i} } \\ \end{array} } \right)^{\text{T}} . $$
(21)

Compared with Eq. (17), the initial displacement caused by external force \( {\varvec F}_{i} \) can be transferred by stress and strain inside of element meshes.

4.2 Topological model of the 6-DOF spatial compliant mechanism

In the initial stage of topology optimization, a reference domain \( {\it\Omega} \) in \( R^{3} \) should be chosen to allow by definition the applied loads and boundary conditions. In the topological design domain, the material distribution problem is formulated with optimal shape, design formula, and solved according to the load or support constraints. The reference domain \( {\it\Omega} \) is discredited into \( n \) elements, and the relative density \( \rho_{e} \) of material corresponding to the e-th element is a design variable. The objective function of these design variables is used for modifying the stiffness matrix so that it can be interpreted as a density of material. The penalized proportional stiffness model is given by

$$ \varvec{E}_{ijkl} \left( \varvec{x} \right) = \rho \left( \varvec{x} \right)^{p} \varvec{E}_{ijkl}^{0} ,\quad p > 1,\quad \begin{array}{*{20}c} {\int_{V} {\rho \left( x \right)\text{d}V \leqslant \varOmega ,} } \quad {0 \leqslant \rho \left( x \right) \le 1,}\quad {x \in V} \\ \end{array} , $$
(22)

where \( \rho \left( x \right) \) is the density of the design function, \( \varvec{E}_{ijkl}^{0} \) represents the material properties of a given isotropic material, and \( \varvec{E}_{ijkl} \left( x \right) \) is the stiffness tensor which is a variable over all the design domain and is modified by the optimal algorithm; it is equivalent to the left side of Eq. (20) in the projective plane. \( V \) denotes the design domain which is satisfied with \( V \in \varOmega \), the design volume (not including the non-design area or fixed domain) is evaluated as \( \int_{V} {\rho \left( x \right)\text{d}V} \), and \( \varvec{E}_{ijkl} \left( x \right) \) is given by the density interpolates with constraint conditions, yielding

$$ \varvec{E}_{ijkl} \left( {\rho = 0} \right) = \bf{0},\quad \varvec{E}_{ijkl} \left( {\rho = 1} \right) = \varvec{E}_{ijkl}^{0} . $$
(23)

According to the isotopic material properties and 3D topology optimization admissible, the power of \( p \) satisfies that

$$ p \ge \text{max}\left\{ {\begin{array}{*{20}c} {15\frac{{1 - \nu^{0} }}{{7 - 5\nu^{0} }},} & {\frac{3}{2}\frac{{1 - \nu^{0} }}{{1 - 2\nu^{0} }}} \\ \end{array} } \right\}, $$
(24)

where \( \nu^{0} \) is the Poisson ratio with the given stiffness tensor of the isotopic material. Generally, it is chosen to be greater than 3.

The important problem is that the 6-DOF compliant mechanism includes the multiple force inputs and displacement outputs. The couple between each force input and displacement output should be considered at the initial condition of the topology optimization process as Eq. (15). The model of the 6-DOF spatial compliant mechanism can be given by two cases as following.

Case one. The Jacobian matrix is not considered during the topology optimization process

$$\begin{aligned} \begin{array}{lll} {\text{min}} & \varvec{c} \left( {\rho_{e} } \right) = \left( {\begin{array}{*{20}c} {u_{i} } & {v_{i} } & {w_{i} } \\\end{array} } \right)\varvec{f}_{i} \left( {\begin{array}{*{20}c} {u_{i} } & {v_{i} } & {w_{i} } \\ \end{array} } \right)^{{\rm T}} = \varvec{Bf}_{i} \varvec{B}^{{\rm T,}} \hfill \\ \text{s.t.} & {\varvec{F} = \left( {\sum\limits_{i = 1}^{6} {\sum\limits_{e = 1}^{n} {\rho_{e}^{p} \varvec{k}_{e} } } } \right)\varvec{u} = \varvec{KU}\text{,}} \quad {e = 1,2, \ldots ,n,} \\ & {\int_{V} {\rho_{e} \left( x \right)\text{d}V \leqslant \varOmega } },\begin{array}{*{20}c} {0 < \rho_{\hbox{min} } < \rho_{e} < 1} \\ \end{array} ,\end{array} \hfill \\ \end{aligned} $$
(25)

where the design domain is divided into \( n \) elements by using a hexahedral structure, and \( \varvec{K} \) is the global stiffness matrix and satisfies \( \varvec{K} = \left( {\sum\nolimits_{i = 1}^{6} {\sum\nolimits_{e = 1}^{n} {k_{e} } } } \right) \). \( \rho_{\hbox{min} } \) is a lower bound of the density in order to prevent the possible singularity; generally, it is set \( \rho_{\hbox{min} } = 1 \times 10^{ - 3} \).

By using the projective plane and the adjoint method, the function \( \varvec{c}\left( {\rho_{e} } \right) \) is rewritten by adding the zero function

$$ \varvec{c}\left( {\rho_{e} } \right) = \varvec{f}^{\text{T}} \varvec{u} - \tilde{\varvec{u}}^{\text{T}} \left( {\varvec{ku} - \varvec{f}} \right). $$
(26)

Because of the symmetry and consistency of the design structure, we do not use a subscript to represent the different force inputs and displacement outputs, and \( \tilde{\varvec{u}} \) is any arbitrary fixed real vector.

Derivative \( \varvec{c}\left( {\rho_{e} } \right) \) with to respect \( \rho_{e} \), we obtain that

$$ \frac{{\partial \varvec{c}\left( {\rho_{e} } \right)}}{{\partial \rho_{e} }} = \left( {\varvec{f}^{\text{T}} - \tilde{\varvec{u}}^{\text{T}} \varvec{k}} \right)\frac{{\partial \varvec{u}}}{{\partial \rho_{e} }} - \tilde{\varvec{u}}^{\text{T}} \frac{{\partial \varvec{k}}}{{\partial \rho_{e} }}\varvec{u}\varvec{.} $$
(27)

It can be rearranged as

$$ \frac{{\partial \varvec{c}\left( {\rho_{e} } \right)}}{{\partial \rho_{e} }} = - \tilde{\varvec{u}}^{\text{T}} \frac{{\partial \varvec{k}}}{{\partial \rho_{e} }}\varvec{u,} $$
(28)

where \( \tilde{\varvec{u}} \) satisfies the adjoint equation \( \left( {\varvec{f}^{\text{T}} - \tilde{\varvec{u}}^{\text{T}} \varvec{k}} \right) = {\mathbf{0}} \).

Assuming that \( \tilde{\varvec{u}} \) is equal to \( \varvec{u} \), the differentiating of compliance \( \varvec{c}\left( {\rho_{e} } \right) \) is simple as

$$ \frac{{\partial \varvec{c}\left( {\rho_{e} } \right)}}{{\partial \rho_{e} }} = - p\rho_{e}^{p - 1} \varvec{u}^{\text{T}} \frac{{\partial \varvec{k}}}{{\partial \rho_{e} }}\varvec{u}\text{.} $$
(29)

Obviously, the sensitivity of density is negative for all elements.

Case two. Multiple-force inputs-displacement outputs with a Jacobian matrix are considered.

In case two, maximization of the fundamental eigenvalue is used as design functions for dynamic loads, yielding

$$ \begin{array}{*{20}l} {\text{min}} \hfill & {\varvec{c}\left({\tilde{x}} \right) = \varvec{F}^{\text{T}} \varvec{U}\left({\tilde{x}} \right) = \sum\limits_{i = 1}^{6} {\sum\limits_{j =1}^{6} {\tilde{\varvec{U}}_{j}^{{\rm T}} \left( {\tilde{x}}\right)\varvec{KU}_{i} \left( {\tilde{x}} \right) = \sum\limits_{e =1}^{n} {\sum\limits_{i = 1}^{3} {\sum\limits_{j = 1}^{3}{\tilde{\varvec{U}}_{ej}^{{\rm T}} \left( {\tilde{x}_{j} }\right)\rho_{e}^{p} \varvec{k}_{e} \varvec{U}_{ei} } } } ,} } }\hfill \\ {\mathop {\text{max}}\limits_{\rho } } \hfill &{\left\{ {\eta_{\hbox{min} } = \mathop {\text{min}}\limits_{i = 1, 2, ..., 6} \eta_{i} } \right\},} \hfill \\{\text{s.t.}} \hfill & {\left( {\varvec{K} - \eta_{i}\varvec{M}} \right)\varvec{\varphi_{i} } = {\mathbf{0,}} } \hfill \\{\text{s.t.}} \hfill & {\varvec{x} = \left( {x_{1} ,x_{2} ,\ldots , x_{n} } \right)^{\text{T}} ,\quad \varvec{x} \in R^{n} ,0 \leqslant\varvec{x} \leqslant 1,} \hfill \\ {} \hfill & {\varvec{v}\left({\tilde{x}} \right) = \tilde{\varvec{x}}^{\text{T}} \cdot \varvec{v}- \varvec{\bar{v},}} \hfill \\ {} \hfill & {\varvec{F} =\varvec{J}_{D} \cdot \varvec{U},\varvec{F} = \left( {f_{1} ,f_{2} ,\ldots ,f_{6} } \right)^{\text{T}} ,\quad \varvec{U} = \left({d_x,d_y,d_z,\alpha ,\beta ,\gamma } \right)^{\text{T}} ,} \hfill \\ {}\hfill & {\int_{V} {\rho_{e} \left( x \right)\text{d}V \leqslant\varOmega },0 < \rho_{\hbox{min} } < \rho_{e} < 1,} \hfill \\\end{array} $$
(30)

where \( \tilde{\varvec{x}} \) is the design variable denoting the density filter function and given by \( \tilde{x}_{i} = \frac{{\sum\nolimits_{j \in n} {H_{ij} v_{j} x_{j} } }}{{\sum\nolimits_{j \in n} {H_{ij} v_{j} } }} \), \( H_{ij} \) is a weight factor, \( \varvec{K} \) is the global stiffness matrix and \( \varvec{k}_{e} \) is the element stiffness matrix. \( \varvec{v} = \left[ {v_{1} ,v_{2} \ldots v_{n} } \right]^{\text{T}} \) is element volume, \( \bar{\varvec{v}} \) is the iterative convergence objective respect to the design volume \( V \), \( \eta_{i} \) is the eigenvalue given by Eq. (16) according to the Stewart prototype platform and \( \varvec{\varphi }_{i} \) is the eigenvector given by Eq. (15); \( \varvec{M} \) is the mass matrix.

With derivative \( \eta_{i} \) with respect to \( \rho_{e} \), the sensitivity of the eigenvalue can be derived

$$ \frac{{\partial \eta_{i} }}{{\partial \rho_{e} }} = \varvec{\varphi }_{i}^{\text{T}} \left( {\frac{{\partial \varvec{K}}}{{\partial \rho_{e} }} - \eta_{i} \frac{{\partial \varvec{M}}}{{\partial \rho_{e} }}} \right)\varvec{\varphi }_{i} . $$
(31)

The eigenvector has been normalized with respect to the kinetic energy and satisfies \( \varvec{\varphi }_{i}^{\text{T}} \varvec{M\varphi }_{i} = 1 \), and the sensitivities of eigenvalues opposed to the sensitivities of the compliance objective may take negative as well as positive values.

The sensitivity of the volume constraint \( \varvec{v}\left( {\tilde{x}} \right) \) and compliance are given by derivation with respect to the design variable \( x_{e} \), yielding

$$ \frac{{\partial \varvec{v}\left( {\tilde{x}} \right)}}{{\partial x_{e} }} = \sum\limits_{i = 1}^{n} {\frac{{\partial \varvec{v}\left( {\tilde{x}} \right)}}{{\partial \tilde{x}_{i} }}} \frac{{\partial \tilde{x}_{i} }}{{\partial x_{e} }},\quad \frac{{\partial \varvec{c}\left( {\tilde{x}} \right)}}{{\partial \tilde{x}_{i} }} = \varvec{F}^{\text{T}} \frac{{\partial \varvec{U}\left( {\tilde{x}} \right)}}{{\partial \tilde{x}_{i} }} = \varvec{U}\left( {\tilde{x}} \right)^{\text{T}} \varvec{K}\left( {\tilde{x}} \right)\frac{{\partial \varvec{U}\left( {\tilde{x}} \right)}}{{\partial \tilde{x}_{i} }}, $$
(32)

where \( \varvec{F}^{\text{T}} - \varvec{U}\left( {\tilde{x}} \right)^{\text{T}} \varvec{K} = {\mathbf{0}} \) satisfies the adjoint equation, and \( \frac{{\partial \varvec{K}\left( {\tilde{x}} \right)}}{{\partial \tilde{x}_{i} }} + \varvec{K}\left( {\tilde{x}} \right)\frac{{\partial \varvec{U}\left( {\tilde{x}} \right)}}{{\partial \tilde{x}_{i} }} = {\mathbf{0}} \) when the derivative is with respect to \( \tilde{x}_{i} \).

And then Eq. (32) can be rewritten by

$$ \frac{{\partial \varvec{c}\left( {\tilde{x}} \right)}}{{\partial \tilde{x}_{i} }} = - \,\varvec{U}\left( {\tilde{x}} \right)^{\text{T}} p\tilde{x}_{i}^{p - 1} E_{0} \varvec{K}_{i}^{0} \varvec{U}\left( {\tilde{x}} \right), $$
(33)

where \( u_{i} \) is the nodal displacement of the i-th element, and \( k_{i}^{0} \) is definitely positive.

$$ \frac{{\partial \varvec{c}\left( {\tilde{x}} \right)}}{{\partial \tilde{x}_{i} }} <\, 0. $$
(34)

The sensitivity of the objective function is given by

$$ \begin{aligned} \frac{{\partial \varvec{c}\left( {\tilde{x}} \right)}}{{\partial \rho_{e} }} & = \frac{{\partial \left( {\sum\limits_{i = 1}^{6} {\sum\limits_{j = 1}^{6} {\tilde{\varvec{U}}_{j}^{\text{T}} \left( {\tilde{x}} \right)} } \varvec{KU}_{i} \left( {\tilde{x}} \right)} \right)}}{{\partial \rho_{e} }} \\ & = \left( {\frac{{\partial \sum\limits_{j = 1}^{6} {\tilde{\varvec{U}}_{j}^{\text{T}} \left( {\tilde{x}} \right)} }}{{\partial \rho_{e} }}\varvec{K} + \sum\limits_{j = 1}^{6} {\tilde{\varvec{U}}_{j}^{\text{T}} \left( {\tilde{x}} \right)} \frac{{\partial \varvec{K}}}{{\partial \rho_{e} }}} \right)\sum\limits_{i = 1}^{6} {\varvec{U}_{i} \left( {\tilde{x}} \right)} \\ & \quad + \sum\limits_{j = 1}^{6} {\tilde{\varvec{U}}_{j}^{\text{T}} \left( {\tilde{x}} \right)} \left( {\frac{{\partial \varvec{K}}}{{\partial \rho_{e} }}\sum\limits_{i = 1}^{6} {\varvec{U}_{i} \left( {\tilde{x}} \right)} + \varvec{K}\frac{{\partial \sum\limits_{i = 1}^{6} {\varvec{U}_{i} \left( {\tilde{x}} \right)} }}{{\partial \rho_{e} }}} \right) - \sum\limits_{j = 1}^{6} {\tilde{\varvec{U}}_{j}^{\text{T}} \left( {\tilde{x}} \right)} \frac{{\partial \varvec{K}}}{{\partial \rho_{e} }}\sum\limits_{i = 1}^{6} {\varvec{U}_{i} \left( {\tilde{x}} \right)} . \\ \end{aligned} $$
(35)

According to the Jacobian matrix \( \varvec{J}_{D} \) derived by QR decomposition of the Stewart prototype platform, without loss of generality, the force inputs are assumed independent from the design variables, which yields

$$ \frac{{\partial \varvec{K}}}{{\partial \rho_{e} }}\sum\limits_{j = 1}^{6} {\tilde{\varvec{U}}_{j}^{\text{T}} \left( {\tilde{x}} \right)} + \varvec{K}\frac{{\partial \sum\limits_{j = 1}^{6} {\tilde{\varvec{U}}_{j}^{\text{T}} \left( {\tilde{x}} \right)} }}{{\partial \rho_{e} }} = 0,\quad \frac{{\partial \varvec{K}}}{{\partial \rho_{e} }}\sum\limits_{i = 1}^{6} {\varvec{U}_{i}^{\text{T}} \left( {\tilde{x}} \right)} + \varvec{K}\frac{{\partial \sum\limits_{i = 1}^{6} {\varvec{U}_{i}^{\text{T}} \left( {\tilde{x}} \right)} }}{{\partial \rho_{e} }} = 0 $$
(36)

with \( \varvec{K} = \sum\limits_{e = 1}^{n} {\rho_{e}^{p} \varvec{k}_{e} } \), the sensitivity of the objective function is derived as follows

$$ \frac{{\partial \varvec{c}\left( {\tilde{x}} \right)}}{{\partial \rho_{e} }} = - \sum\limits_{e = 1}^{n} {\sum\limits_{i = 1}^{6} {\sum\limits_{j = 1}^{6} {p\tilde{\varvec{U}}_{j}^{\text{T}} \left( {\tilde{x}} \right)\rho_{e}^{p - 1} \varvec{k}_{e} \varvec{U}_{i} \left( {\tilde{x}} \right)} } } . $$
(37)

4.3 Solution of the topology optimization model

By using Lagrange multipliers, the updated iteration of the multi-inputs-multi-outputs in 3D space can be built by

$$ \rho_{e}^{(k + 1)} = \left\{ {\begin{array}{*{20}l} {\hbox{min} \{ (m + 1)\rho_{e}^{(k)} ,1\} ,} \hfill & {\text{if}\quad \min\{ (1 + m)\rho_{e}^{(k)} ,1\} \le (D_{e}^{(k)} )^{\varsigma } \rho_{e}^{(k)} } \hfill \\ {(D_{e}^{(k)} )^{\varsigma } \rho_{e}^{(k)} {\kern 1pt} ,} \hfill & {\text{if}\quad \hbox{max} \{ (1 - m)\rho_{e}^{(k)} ,\rho_{\hbox{min} } \} < (D_{e}^{(k)} )^{\varsigma } \rho_{e}^{(k)} } \hfill \\ {\hbox{max} \{ (1 - m)\rho_{e}^{(k)} ,\rho_{\hbox{min} } \} ,} \hfill & {\text{if}\quad (D_{e}^{(k)} )^{\varsigma } \rho_{e}^{(k)} \le \hbox{max} \{ (1 - m)\rho_{e}^{(k)} ,\rho_{\hbox{min} } \} {\kern 1pt} ,} \hfill \\ \end{array} } \right. $$
(38)

where m is the constant value with moving constraint, and \( m = 0.1{-}0.3 \). \( \varsigma \) is the damping factor, and \( \varsigma = 0.4{-}0.5 \).

\( D_{e}^{(k)} \) is given by the expression

$$ D_{e}^{(k)} = \max \left(0, - \frac{{\partial \varvec{c}\left( {\tilde{x}} \right)}}{{\partial \rho_{e} }}\right)/(\varLambda^{(k)} V_{e}), $$
(39)

where \( \varLambda^{\left( k \right)} \) is the Lagrange multiplier with the volume constraint at the k-th step iteration, and Ve is the element volume of k-th step iteration.

The iteration procedure is shown in Fig. 4.

Fig. 4
figure 4

Flowchart of the iteration procedure

5 Topological structure of the 6-DOF spatial compliant mechanism

In this section, the configuration of the actuators in 3D space will be considered for manufacture, and then the way that the six actuators are embedded in the topological structure will be determined. The prototype structure of the Gough–Stewart platform is adapted and shown as Fig. 2, and the six directions according to the prototype structure are accepted as six force inputs. Six holes along the direction of the installation of piezoelectric actuators are set to the non-design area. When the height of the 3D printing process is parallel to the piezoelectric actuator, the 3D printing process will be terminated, and the PZT actuator is packaged in a topological structure simultaneously.

The design domain is a cube of dimension 200 mm × 200 mm × 200 mm discredited with 2000 eight-node elements with a hexahedral structure. The composition material of the 6-DOF spatial compliant mechanism is defined with a Young’s modulus of 2.06 × 10−5 F/mm2 and Poisson’s ratio of 0.3. The 6 force inputs are assumed as \( F_{in1} = F_{in2} = \cdots = F_{in6} = 180 \) N, the volume restriction is 20% of the given design domain, and for the elastic workpiece, a value of \( 2 \times 10^{6} \) mN/m is assigned to the spring constant.

5.1 Topological structure of case study one

In case one, we only consider the multiple force inputs and displacement outputs using the SIMP topology optimization method, and the constraints of the displacement outputs are limited in \( 1 \times 10^{ - 5} \) mm or \( 1 \times 10^{ - 6} \) rad scope. The six PZT actuators are installed along the same directions with the drivers of the Stewart prototype platform in order to avoid singularity.

The optimization results for the 6-DOF spatial compliant mechanism are presented below. Figure 5 includes the optimal topologies. Figure 6 displays the convergence process, and the stress nephogram is shown in Fig. 7.

Fig. 5
figure 5

Topologies for the 6-DOF spatial compliant mechanism under different iterative steps and the topological structure (case one). a Topological structure at the iteration 1 step. b Topological structure at the iteration 8 step. c Topological structure at the iteration 12 step. d Topological structure of the 6-DOF spatial compliant mechanism

Fig. 6
figure 6

Typical convergence history for the 6-DOF spatial compliant mechanism (case one)

Fig. 7
figure 7

Stress nephogram of the topological structure of the 6-DOF spatial compliant mechanism with a maximum stress of 0.4254 and minimum stress of 7.728 × 10−6 (case one)

Extracting displacement data from each iterative step, the displacement values of the moving platform caused by the overall elastic deformation of the material are shown as Table 2.

Table 2 Displacement values of the moving platform of the 6-DOF spatial complaint mechanism caused by the overall deformation of the material (case one)

5.2 Topological structure of case two

In case two, we also only consider the multiple force inputs and displacement outputs using the SIMP topology optimization method, and the constraints of the displacement outputs are limited in \( 1 \times 10^{ - 5} \) mm or \( 1 \times 10^{ - 6} \) rad scope. The six PZT actuators are installed along the same directions with the drivers of the Stewart prototype platform in order to avoid singularity.

The optimization results for the 6-DOF spatial compliant mechanism of case two are presented below. Figure 8 includes the optimal topologies. Figure 9 displays the convergence process, and the stress nephogram is shown as Fig. 10.

Fig. 8
figure 8

Topologies for the 6-DOF spatial compliant mechanism under the different iterative steps and the topological structure (case two). a Topological structure at the iteration 1 step. b Topological structure at the iteration 8 step. c Topological structure at the iteration 12 step. d Topological structure of the 6-DOF spatial compliant mechanism

Fig. 9
figure 9

Typical convergence history for 6-DOF spatial compliant mechanism (case two)

Fig. 10
figure 10

Stress nephogram of the topological structure of 6-DOF spatial compliant mechanism with the maximum stress 0.3739, and minimum stress 4.780 × 10−5, respectively (case two)

By extracting displacement data from each iterative step, the displacement values of the moving platform caused by the overall elastic deformation of the material with case two are shown as Table 3.

Table 3 Displacement values of the moving platform of 6-DOF spatial complaint mechanism caused by the overall deformation of the material (case two)

Compared the displacement and rotational values between case one and two, we can find that the displacements and rotational angles order of magnitude are close to each other in two cases, and it is decided by the initial convergence conditions of the topology optimization process, and the values of the displacements and rotational angles are consistent with the given parallel prototype manipulator with Jacobian mapping matrix.

5.3 Vibration modal analysis with the first four orders

The vibration modal is the most important factor in precision manufacturing, and it can provide accurate information for the location of sensors. By using the Optistruct software, the first four orders of the vibration modal are proposed with the same load input conditions and boundary constraint conditions. The first four orders of the vibration modal of case one and case two are shown as Figs. 11 and 12, respectively.

Fig. 11
figure 11

Four orders of vibration modal for the topological structure of case one. a First order with a maximum of 15.83, b second order with a maximum of 16.66, c third order with a maximum of 19.86, d fourth order with a maximum of 25.79

Fig. 12
figure 12

Four orders of vibration modal for the topological structure of case two. a First order with a maximum of 17.37, b second order with a maximum of 17.27, c third order with a maximum of 19.58, d fourth order with a maximum of 15.49

The results shows that the natural frequency between case one and case two is almost close to each other. This highly natural frequency can suppress the vibration of the proposed spatial compliant mechanism and reduce the uncertainty of the precision positioning.

6 Discussions

In this paper, an isomorphic Jacobain mapping matrix derived by the differential kinematic method with the Gough–Stewart prototype platform is proposed. Compared with the Gough–Stewart prototype platform, a differential approximation method is adapted to calculate and construct the Jacobian matrix of the Gough–Stewart prototype platform. Its eigenvalues and eigenvectors are derived to build the topological model of 6-DOF spatial compliant mechanisms. By using this isomorphic mapping matrix combined with the topology optimization method, we can easily establish the kinematic/dynamic model of 6-DOF spatial compliant mechanisms with topological structure which cannot be realized by the pseudo-rigid-body method. Piezoelectric actuators are mounted inside the topological structure during the 3D printing manufacture process, and its driving directions are in accordance with the driver directions of the Gough–Stewart prototype platform. The SIMP method is used for the solving topological model which combined the multiple force inputs and multiple displacement outputs with the isomorphic mapping Jacobian matrix. The sensitivity of volume, penalty and compliance with respect to the design function are proposed. In summary, we can draw the following conclusions.

  1. (1)

    The topological model of a 6-DOF spatial compliant mechanism is constructed by the combination of a SIMP optimization model and the Jacobian isomorphic mapping matrix of the Gough–Stewart prototype platform, and the topological structures in two cases are derived in this paper.

  2. (2)

    The differential kinematics, including displacements and rotational angles of the moving platform, are calculated with the two cases, and simulation results are given to analyze the isomorphic kinematic characteristic between the topological structures of a 6-DOF spatial compliant mechanism with the Gough–Stewart prototype platform. Simulation results show that the topology optimization method proposed in this paper is effective.

  3. (3)

    The topological structure of the 6-DOF spatial compliant mechanism with isotropic material is repaired and imported by using Hypermesh@ software for executing finite element static analysis, and then the sign and order of magnitude are consistent in all directions. It is validated that the integer part of the experimental results are sufficiently accurate to represent the design method of topology optimization with a Jacobian isomorphic mapping matrix derived from the prototype parallel mechanism for the structure synthesis of spatial compliant mechanisms.