1 Introduction

Tensegrities are self-stressed pin-jointed flexible structures which are composing of continuous tensile cables and interval compressive struts. The tensioned cables of the structure are self-stressed such that the entire system could be provided stable equilibrium in absence of external forces, including gravitational. Because prestress stiffens the system and all members are axially loaded, tensegrity is characterized by its tunable stiffness and light weight (Skelton et al. 2014; Fraternali et al. 2015; Carpentieri et al. 2017). The concept of “tensegrity” has attracted considerable attention in a wide diversity of fields since it appeared in early 1950s, e.g. mathematics (Connelly and Back 1998), architecture (Fu 2005), aerospace (Tibert and Pellgrino 2002), civil engineering (Kebiche and Kazi 1999; Rhode 2009; Rhode-Barbarigos et al. 2010; Feng and Guo 2017; Cai et al. 2017; Montuori and Skelton 2017), robotics (Paul et al. 2006; Rovira and Tur 2009; Caluwaerts et al. 2014) to biology (Ingber 2003; Lazopoulos and Lazopoulou 2006; Simmel et al. 2014).

The tensegrity system would not maintain a certain shape before appropriate initial prestress are assigned since the structural rigidity is the result of a self-stressed equilibrium between cables and struts (Shekastehband 2017). The difficulties in initial self-stress design of tensegrities are to find the self-equilibrated configuration that satisfies specific properties required by designers. Therefore, to rationally and effectively determine the relationship of initial shape and the feasible prestress distribution is the key issues in designing of a tensegrity structure. Typically, after the initial configuration is determined, the morphological analysis of a tensegrity structure is to find a feasible initial prestress distribution, which is known as force-finding (form-finding). Over the past few decades, large amounts of approaches have been developed to design and optimize the initial configurations of tensegrities with various topology and geometry (Motro et al. 1987; Zhang et al. 2006; Estrada et al. 2006; Zhang and Ohsaki 2006; Tran and Lee 2010a; Koohestani and Guest 2013; Lee and Lee 2014; Zhang et al. 2014). Most recently, Feng and Guo (2015) proposed a numerical method to determine the sole configuration of tensegrities with specified nodes. Cai and Feng (2015) achieved the feasible force densities of tensegrity structures using an optimization method. Yuan et al. (2017) developed a versatile form-finding method for large-scale regular and irregular tensegrites which is on the base of solving nonlinear equilibrium equations. Lee et al. (2017) generalized form-finding procedure for truncated polyhedral tensegrities by using force density method combined with a genetic algorithm.

Although there have been plenty of methods developed for form-finding of tensegrity structures, most of the existing methods may not be efficient enough in analyzing complicated structures, particularly in the field of designing tensegrity grid structures. Normally, tensegrity grids are structures with multiple states of self-stress, i.e., they usually have several independent self-stress modes. The force densities of all members can then be defined as the linear combination of these self-stress modes. Nevertheless, it is difficult to exploit the results produced from the computation of the vectorial bases associated with these self-stress modes. As a consequence, the determination of feasible initial stresses distribution and intensity is a key point in designing a tensegrity grid structure. Once the distribution and intensity of the initial stresses have been chosen, the mechanical behavior of the structure is investigated as the next step (Cai et al. 2016).

So far only few researches have been carried out in determining the stress distribution to appropriately stabilize the structure with specified shape considering stress unilateral propertity, i.e., cables and struts must be in tension and compression, respectively. Yuan and Dong (2003) achieved the integral feasible prestress state of cable domes based on a specific equilibrium state. Quirant (2007) introduced a linear programmation to find the feasible self-stress modes of tensegrity grids which constitute a convex polyhedral cone without considering the structural stability. Following this track, Sánchez et al. (2007) proposed a more pertinent strategy to identify and localize initial set of force densities in a modular tensegrity grid. Xu and Luo (2010) performed force finding procedure of a multi-modular tensegrity using simulated annealing algorithm. Tran and Lee (2010b, c, 2011a, b) introduced a series of numerical methods for form-finding of tensegrities, including but not limited to tensegrity grids. Cai et al. (2018) developed a form-finding method for multi-mode tensegrity structures using extended force density method by grouping elements. It is worth noting that, although initial self-stress design of typical tensegrity grids can be performed by part of the aforementioned methods, some intractable questions need to be further investigated, particularly in designing of optimal initial prestress according to the specified functions or performances of an actual project.

In this paper, an efficient process is presented for optimal initial self-stress design of tensegrity grid structures by consecutively solving two linear homogeneous systems in conjunction with a minimization problem. To achieve the feasible force density vector of a given geometry configuration tensegrity grid structure, the form-finding procedure is firstly performed by consecutively solving two linear homogeneous systems. The first one is about the nominal self-equilibrium system, and the other one is the combination of the nominal independent self-stress modes and constraints on force densities deriving from symmetric property of tensegrity grids. In order to make the structural components withstand the pre-stress as uniform as possible, the form-finding problem is then formulated as a minimization problem by directly controlling the smallest standard deviation of h independent member groups. The nonlinear constrained optimization algorithm, known as the Interior-Point Method (I-PM), is utilized to achieve the minimal solution, leading to a set of force densities which guarantee the non-degeneracy condition of the force density matrix. Finally, three numerical examples, including planar and spatial tensegrity grid structures, are investigated comprehensively to demonstrate the capability of the proposed method in optimal initial self-stress design of tensegrities. Furthermore, division of number of member group has been discussed in detail for the purpose of demonstrating the efficiency of the proposed method in seeking optimal initial force densities of tensegrity grid structures.

2 Formulation of Equilibrium Equations

2.1 Basic Assumptions

  • Members are connected by pin joints.

  • No external load is applied and the self-weight of the structure is neglected.

  • Buckling of the strut is not considered during the form-finding procedure.

  • The structure is free-standing without any support; i.e., there are no dissipative forces acting on the system.

2.2 Force Density Method

For a d-dimensional (d = 2 or 3) tensegrity structure with b members, n free nodes and nf fixed nodes, its topology can be described by a connectivity matrix \({\mathbf{C}}_{S} \in R^{{b \times (n + n_{f} )}}\) as defined in Motro (2003). If member k connects nodes i and j (\(i < j\)), then the ith and jth elements of the kth row of CS are set to 1 and \(- 1\), respectively,

$${\mathbf{C}}_{S(k,p)} = \left\{ {\begin{array}{*{20}l} 1 \hfill & {\begin{array}{*{20}c} {\text{for}} & {p = i} \\ \end{array} } \hfill \\ { - 1} \hfill & {\begin{array}{*{20}c} {\text{for}} & {p = j} \\ \end{array} } \hfill \\ 0 \hfill & {\text{otherwise}} \hfill \\ \end{array} } \right..$$
(1)

The fixed nodes are preceded by the free nodes in the numbering sequence, then CS can be divided into two parts as

$${\mathbf{C}}_{S} = \left[ {{\mathbf{C}}\;\;{\mathbf{C}}_{f} } \right]$$
(2)

where \({\mathbf{C}} \in R^{b \times n}\) and \({\mathbf{C}}_{f} \in R^{{b \times n_{f} }}\) describe the connectivities of the members to the free and fixed nodes, respectively.

Let x, y, z (\(\in R^{n}\)) and xf, yf, zf (\(\in R^{{n_{f} }}\)) denote the nodal coordinate vectors of the free and fixed nodes in x-, y- and z-directions, respectively. The force density coefficients vector is denoted by \({\mathbf{q}} = \left\{ {q_{1} ,q_{2} , \ldots ,q_{b} } \right\}^{T} \in R^{b}\), in which each component of this vector is the force fk to length lk ratio qk =  fk /lk (k = 1, 2,…, b) known as the force density or self-stressed coefficient (Vassart and Motro 1999). The force density matrix \({\mathbf{Q}} \in R^{b \times b}\) is given as

$${\mathbf{Q}} = {\text{diag(}}{\mathbf{q}} )$$
(3)

The equilibrium equations of the free nodes in each direction of a general pin-jointed structure can be written as

$$\begin{aligned} {\mathbf{C}}^{T} {\mathbf{QCx}} + {\mathbf{C}}^{T} {\mathbf{QC}}_{f} {\mathbf{x}}_{f} = {\mathbf{p}}_{x} \hfill \\ {\mathbf{C}}^{T} {\mathbf{QCy}} + {\mathbf{C}}^{T} {\mathbf{QC}}_{f} {\mathbf{y}}_{f} = {\mathbf{p}}_{y} \hfill \\ {\mathbf{C}}^{T} {\mathbf{QCz}} + {\mathbf{C}}^{T} {\mathbf{QC}}_{f} {\mathbf{z}}_{f} = {\mathbf{p}}_{z} \hfill \\ \end{aligned}$$
(4)

where px, py, pz (\(\in R^{n}\)) are the vectors of external loads applied at the free nodes in x-, y- and z- directions, respectively.

For simplicity, matrices \({\mathbf{E}} \in R^{n \times n}\) and \({\mathbf{E}}_{f} \in R^{{n \times n_{f} }}\) are defined as

$${\mathbf{E}} = {\mathbf{C}}^{T} {\mathbf{QC}}$$
(5)
$${\mathbf{E}}_{f} = {\mathbf{C}}^{T} {\mathbf{QC}}_{f}$$
(6)

where E is known as the force density matrix, note that E and Ef are constant when the force density matrix Q is given.

2.3 Non-degeneracy Condition

From Eq. (5), E is always square, symmetric and singular with a nullity of at least one since the sum of all its components in any row or column is zero for any tensegrity structure (Motro 2003). Without external loading, Eq. (4) can be rewritten as

$$\begin{aligned} {\mathbf{Ex}} & = - {\mathbf{E}}_{f} {\mathbf{x}}_{f} \\ {\mathbf{Ey}} & = - {\mathbf{E}}_{f} {\mathbf{y}}_{f} \\ {\mathbf{Ez}} & = - {\mathbf{E}}_{f} {\mathbf{z}}_{f} . \\ \end{aligned}$$
(7)

When external load and self-weight are ignored, the tensegrity systems does not require any fixed nodes. Its geometry can be defined by the relative positions of the nodes. Thus, the system can be considered as a free-standing rigid-body in space. Eqs. (46) becomes

$$\begin{aligned} {\mathbf{Ex}} & = {\mathbf{0}} \\ {\mathbf{Ey}} & = {\mathbf{0}} \\ {\mathbf{Ez}} & = {\mathbf{0}}. \\ \end{aligned}$$
(8)

For simplicity, Eq. (8) can be reorganized as

$${\mathbf{E}}\left[ {\begin{array}{*{20}c} {\mathbf{x}} & {\mathbf{y}} & {\mathbf{z}} \\ \end{array} } \right] = {\mathbf{C}}^{T} {\mathbf{QC}}\left[ {\begin{array}{*{20}c} {\mathbf{x}} & {\mathbf{y}} & {\mathbf{z}} \\ \end{array} } \right] = \left[ {\begin{array}{*{20}c} {\mathbf{0}} & {\mathbf{0}} & {\mathbf{0}} \\ \end{array} } \right]$$
(9)

where \(\left[ {\begin{array}{*{20}c} {\mathbf{x}} & {\mathbf{y}} & {\mathbf{z}} \\ \end{array} } \right]\)(\(\in R^{n \times d}\)) is a matrix of nodal coordinates for a d-dimensional (d = 2 or 3) tensegrity structure.

As can be seen, Eq. (9) presents the relation between the force densities and the nodal coordinates.

For simplicity, matrices \({\mathbf{D}}_{x}\), \({\mathbf{D}}_{y}\), \({\mathbf{D}}_{z}\) (\(\in R^{b \times b}\)) are defined as

$$\begin{aligned} {\mathbf{D}}_{x} & = {\text{diag}}({\mathbf{Cx}}) \\ {\mathbf{D}}_{y} & = {\text{diag}}({\mathbf{Cy}}) \\ {\mathbf{D}}_{z} & = {\text{diag}}({\mathbf{Cz}}) \\ \end{aligned}$$
(10)

Thus, by substituting Eqs. (5) into (8), the self-equilibrium equations of the tensegrity structures can be reorganized as

$${\mathbf{Aq}} = \left( {\begin{array}{*{20}c} {{\mathbf{C}}^{T} {\mathbf{D}}_{x} } \\ {{\mathbf{C}}^{T} {\mathbf{D}}_{y} } \\ {{\mathbf{C}}^{T} {\mathbf{D}}_{z} } \\ \end{array} } \right){\mathbf{q}} = {\mathbf{0}}$$
(11)

where A (\(\in R^{dn \times b}\)) is known as the self-equilibrium matrix.

Both Eqs. (9) and (11) are linear homogeneous systems of the self-equilibrium equations with respect to the nodal coordinates and the force densities, respectively.

Define rank deficiency nE of E as

$$n_{{\mathbf{E}}} = n - r_{{\mathbf{E}}} = n - {\text{rank}}({\mathbf{E}}).$$
(12)

Equation (9) indicates that the solution space of the self-equilibrium equation in each direction is spanned by nE independent vectors. If a structure lies in a space with fewer dimension than d, then the structure is said to be degenerated in the d-dimensional space. If a tensegrity structure is non-degenerate in d-dimensional space, two necessary but not sufficient rank deficiency conditions need to be satisfied.

The first-rank deficiency condition related to the semi-definite matrix E of Eq. (9) is defined by

$$n_{{\mathbf{E}}} \ge d + 1.$$
(13)

The second one related to matrix A of Eq. (11) is

$$r_{{\mathbf{A}}} = {\text{rank}}({\mathbf{A}}) < b$$
(14)

which is necessary for a non-trivial solution of Eq. (9). This rank deficiency condition provides the number of independent state of self-stress \(s = b - r_{{\mathbf{A}}} \ge 1\).

It should be noticed that, tensegrities are free-standing systems, the number of inextensional mechanisms \(m = dn - r_{{\mathbf{A}}}\), as is discussed in (Pellegrino and Calladine 1986), is composed of two types of mechanisms: rigid-body mechanisms and infinitesimal mechanisms. The number of infinitesimal mechanisms mim is determined by excluding rb in m inextensional mechanisms above, where rb represents the number of independent rigid-body mechanisms defined by

$$r_{b} = \frac{d(d + 1)}{2}.$$
(15)

3 Form-Finding Process

3.1 Singular Value Decomposition of the Nominal Self-Equilibrium Matrix \({\tilde{\mathbf{A}}}\)

Define sign vector \({\mathbf{e}}_{0} \in R^{b}\) as

$${\mathbf{e}}_{0} = \left\{ {\begin{array}{*{20}c} {\underbrace {{\begin{array}{*{20}c} { + 1} & { + 1} & {\begin{array}{*{20}c} \cdots & { + 1} \\ \end{array} } \\ \end{array} }}_{{\begin{array}{*{20}c} {\text{cables}} & {\text{in}} & {\text{tension}} \\ \end{array} }}} & {\underbrace {{\begin{array}{*{20}c} { - 1} & { - 1} & {\begin{array}{*{20}c} \cdots & { - 1} \\ \end{array} } \\ \end{array} }}_{{\begin{array}{*{20}c} {\text{struts}} & {\text{in}} & {\text{compression}} \\ \end{array} }}} \\ \end{array} } \right\}^{T} .$$
(16)

Then the diagonal version of the sign vector \({\mathbf{e}}_{0}\) can be given as

$${\mathbf{E}}_{0} = {\text{diag}}({\mathbf{e}}_{0} )\;\;\left( { \in R^{b \times b} } \right).$$
(17)

Thus, the force density coefficients vector \({\mathbf{q}}\) can be rewritten as

$${\mathbf{q}} = {\mathbf{E}}_{0} {\tilde{\mathbf{q}}}$$
(18)

where \({\tilde{\mathbf{q}}} = \left\{ {\left| {q_{1} } \right|,\left| {q_{2} } \right|, \ldots ,\left| {q_{b} } \right|} \right\}^{T} \in R^{b}\) is defined as the nominal force density coefficients vector, in which the value of each component is the absolute value corresponding to that of force density coefficients vector \({\mathbf{q}}\), and therefore is larger than zero. Equation (18) is also known as the unilateral behavior of the elements, i.e., cables in tension and struts in compression.

Substituting Eqs. (18) into (11) gives

$${\mathbf{Aq}} = {\mathbf{A}}\left( {{\mathbf{E}}_{0} {\tilde{\mathbf{q}}}} \right) = \left( {{\mathbf{AE}}_{0} } \right){\tilde{\mathbf{q}}} = {\mathbf{\tilde{A}\tilde{q}}} = {\mathbf{0}}$$
(19)

where \({\tilde{\mathbf{A}}}\) is defined as the nominal equilibrium matrix. Note that rank deficiencies of matrices A and \({\tilde{\mathbf{A}}}\) are equal, i.e., \(r_{{\mathbf{A}}} = r_{{{\tilde{\mathbf{A}}}}}\).

To solve Eq. (19), the singular value decomposition is carried out on the nominal self-equilibrium matrix \({\tilde{\mathbf{A}}}\)

$${\tilde{\mathbf{A}}} = {\mathbf{UVW}}^{T}$$
(20)

where \({\mathbf{U}} \in R^{dn \times dn}\) and \({\mathbf{W}} \in R^{b \times b}\) are the orthogonal matrices, that can be written as the following form

$${\mathbf{U}} = \left[ {\begin{array}{*{20}c} {{\mathbf{u}}_{1} } & {{\mathbf{u}}_{2} } & \cdots & {{\mathbf{u}}_{dn} } \\ \end{array} } \right]$$
(21)

and,

$${\mathbf{W}} = \left[ {\begin{array}{*{20}c} {{\mathbf{w}}_{1} } & {{\mathbf{w}}_{2} } & \cdots & {{\mathbf{w}}_{b} } \\ \end{array} } \right]$$
(22)

\({\mathbf{V}} \in R^{dn \times dn}\) is a diagonal matrix with non-negative singular values of \({\tilde{\mathbf{A}}}\). The singular values are in decreasing order as

$$\mu_{1} \ge \mu_{2} \ge \cdots \ge \mu_{b} \ge 0.$$
((23))

According to the value of s, there are two cases during the form-finding procedure.

Case 1 \(s = 1\)

It is known that the bases of vector spaces of force densities and mechanism of any tensegrities are computed from the null space of the self-equilibrium matrix A (Pellegrino 1993). That is to say, the bases of vector spaces of nominal force densities and mechanism of tensegrities can be obtained from the null space of the nominal self-equilibrium matrix \({\tilde{\mathbf{A}}}\). In this case, the matrices U and W have the following null spaces

$${\mathbf{U}} = \left[ {\begin{array}{*{20}c} {{\mathbf{u}}_{1} } & {{\mathbf{u}}_{2} } & {\begin{array}{*{20}c} \cdots & {{\mathbf{u}}_{{r_{{{\tilde{\mathbf{A}}}}} }} |{\mathbf{m}}_{1} } & \cdots \\ \end{array} } & {{\mathbf{m}}_{{dn - r_{{{\tilde{\mathbf{A}}}}} }} } \\ \end{array} } \right]$$
(24)

and,

$${\mathbf{W}} = \left[ {\begin{array}{*{20}c} {\begin{array}{*{20}c} {\begin{array}{*{20}c} {{\mathbf{w}}_{1} } & {{\mathbf{w}}_{2} } \\ \end{array} } & \cdots & {{\mathbf{w}}_{{r_{{{\tilde{\mathbf{A}}}}} }} |{\mathbf{n}}_{1} } \\ \end{array} } & \cdots & {{\mathbf{n}}_{{b - r_{{{\tilde{\mathbf{A}}}}} }} } \\ \end{array} } \right]$$
(25)

where the vector m \(\in R^{dn}\) denotes the \(m\;( = dn - r_{{{\tilde{\mathbf{A}}}}} )\) infinitesimal mechanisms.

Define \({\mathbf{M}} \in R^{{dn \times (dn - r_{{{\tilde{\mathbf{A}}}}} )}}\) as the matrix of mechanisms by the following form

$${\mathbf{M}} = \left[ {\begin{array}{*{20}c} {{\mathbf{m}}_{1} } & {{\mathbf{m}}_{2} } & \cdots & {{\mathbf{m}}_{{dn - r_{{{\tilde{\mathbf{A}}}}} }} } \\ \end{array} } \right]$$
(26)

note that \(s = b - r_{{{\tilde{\mathbf{A}}}}} = 1\), Eq. (25) can be changed into the form as

$${\mathbf{W}} = \left[ {\begin{array}{*{20}c} {{\mathbf{w}}_{1} } & {{\mathbf{w}}_{2} } & \cdots & {{\mathbf{w}}_{b - 1} } \\ \end{array} |{\mathbf{n}}_{1} } \right]$$
(27)

and vector \({\mathbf{n}}_{1} \in R^{b}\) which automatically satisfies the linear homogeneous Eq. (19) is indeed the single nominal force density coefficients vector. Hence, the single integral feasible self-stress mode, which satisfies not only the linear homogeneous Eq. (11) but also the condition that matching in signs with e0, can be calculated from Eq. (18).

Case 2 \(s \ge 2\)

Tensegrities falling into this case are known as multiple states of self-stress, for a given tensegrity grid structure assembled from elementary module, s is usually larger than one, and the nominal integral feasible self-stress mode \({\tilde{\mathbf{q}}}\) can then be described from Eq. (25) as a linear combination of \(s( = b - r_{{{\tilde{\mathbf{A}}}}} )\) independent nominal self-stress modes

$${\tilde{\mathbf{q}}} = \alpha_{1} {\mathbf{n}}_{1} + \alpha_{2} {\mathbf{n}}_{2} + \cdots + \alpha_{{b - r_{{{\tilde{\mathbf{A}}}}} }} {\mathbf{n}}_{{b - r_{{{\tilde{\mathbf{A}}}}} }} .$$
(28)

Let \({\varvec{\upalpha}} = \left[ {\alpha_{1} \;\alpha_{2} \; \cdots \;\alpha_{{b - r_{{{\tilde{\mathbf{A}}}}} }} } \right]^{T} \in R^{{b - r_{{{\tilde{\mathbf{A}}}}} }}\) represents the coefficient vector of \(s( = b - r_{{{\tilde{\mathbf{A}}}}} )\) independent nominal self-stress modes. Thus, Eq. (28) can be rewritten as

$${\tilde{\mathbf{q}}} = {\mathbf{N\alpha }}$$
(29)

where \({\mathbf{N}} \in R^{{b \times (b - r_{{{\tilde{\mathbf{A}}}}} )}}\) is the matrix of nominal self-stress basis modes given as

$${\mathbf{N}} = \left[ {{\mathbf{n}}_{1} \;{\mathbf{n}}_{2} \cdots \;{\mathbf{n}}_{{b - r_{{{\tilde{\mathbf{A}}}}} }} } \right].$$
(30)

As the nominal self-equilibrium matrix \({\tilde{\mathbf{A}}}\) does not take into account structural member characteristics, the nominal self-stress basis modes N computing form the null space of the nominal self-equilibrium matrix \({\tilde{\mathbf{A}}}\) cannot be employed directly since every independent mode itself does not satisfy the sign condition, i.e., not all the values of the components of any independent mode are large than zero. To solve this problem, the geometric symmetry of a tensegrity grid needs to be considered, members at similar positions are considered to belong to the same group and thus have the same force density. The nominal self-stress basis modes N can then be obtained according to this supplemental condition.

Let h denotes the group number of members in tensegrity grid structure, the nominal force density coefficient vector \({\tilde{\mathbf{q}}}\) can then be re-described as

$${\tilde{\mathbf{q}}} = \left\{ {\underbrace {{\left| {q_{1} } \right|\left| {q_{1} } \right|\left| {q_{1} } \right|\; \cdots \;\left| {q_{i} } \right|\left| {q_{i} } \right|\left| {q_{i} } \right|}}_{cables}\; \cdots \underbrace {{\left| {q_{j} } \right|\left| {q_{j} } \right|\left| {q_{j} } \right| \cdots \;\left| {q_{h} } \right|\left| {q_{h} } \right|\left| {q_{h} } \right|}}_{struts}} \right\}^{T} = \left[ {\begin{array}{*{20}c} 1 & 0 & 0 & 0 & 0 & 0 & 0 \\ \vdots & 1 & 0 & 0 & 0 & 0 & 0 \\ 0 & \vdots & 1 & 0 & 0 & 0 & 0 \\ 0 & 0 & \vdots & 1 & 0 & 0 & 0 \\ 0 & 0 & 0 & \vdots & {{ - }1} & 0 & 0 \\ 0 & 0 & 0 & 0 & \vdots & {{ - }1} & \vdots \\ 0 & 0 & 0 & 0 & 0 & \vdots & {{ - }1} \\ \end{array} } \right]_{(b \times h)} \left\{ {\begin{array}{*{20}c} {q_{1} } \\ \vdots \\ {q_{i} } \\ \vdots \\ {q_{j} } \\ \vdots \\ {q_{h} } \\ \end{array} } \right\}_{(h \times 1)}$$
(31)

where \(q_{i}\) is the force density of members in the ith group; \(\left\{ {q_{1} \; \cdots \;q_{i} \; \cdots \;q_{j} \cdots \;q_{h} } \right\}^{T} \left( { \in R^{h} } \right)\) is the force density vector of h groups.

Equation (31) can be rewritten as the following form

$${\tilde{\mathbf{q}}} = \left[ {\underbrace {{e_{1} \; \cdots \;e_{i} }}_{cables} \cdots \;\underbrace {{ - e_{j} \; \cdots - \;e_{h} }}_{struts}} \right]\left\{ {\underbrace {{q_{1} \; \cdots \;q_{i} \;}}_{cables} \cdots \;\underbrace {{q_{j} \cdots \;q_{h} }}_{struts}} \right\}^{T}$$
(32)

where \(e_{i} \in R^{b}\) is the basis vector composed of a unit in the ith and zero in the other \((h - 1)\) groups.

Substituting Eqs. (32) into (28) gives

$$\alpha_{1} {\mathbf{n}}_{1} + \alpha_{2} {\mathbf{n}}_{2} + \cdots + \alpha_{{b - r_{{{\tilde{\mathbf{A}}}}} }} {\mathbf{n}}_{{b - r_{{{\tilde{\mathbf{A}}}}} }} + (- e_{1} q_{1} )+ \cdots + (- e_{i} q_{i} )+ \cdots + (- e_{j} \left| {q_{j} } \right| )+ \cdots + (- e_{h} \left| {q_{h} } \right| )= 0.$$
(33)

Define matrix \({\bar{\mathbf{N}}} \in R^{b \times (s + h)}\) as

$${\bar{\mathbf{N}}} = \left[ {{\mathbf{n}}_{1} \;{\mathbf{n}}_{2} \cdots \;{\mathbf{n}}_{{b - r_{{{\tilde{\mathbf{A}}}}} }} \; - e_{1} \cdots - e_{i} \cdots - e_{j} \cdots - e_{h} } \right].$$
(34)

Let \({\varvec{\upzeta}}\) be the vector of the coefficients of s independent nominal self-stress modes and the nominal force density coefficients of h groups, denoting as

$${\varvec{\upzeta}} = \left\{ {\alpha_{1} ,\alpha_{2} , \cdots \alpha_{{b - r_{{{\tilde{\mathbf{A}}}}} }} ,q_{1} , \cdots q_{i} , \cdots \left| {q_{j} } \right|, \cdots \left| {q_{h} } \right|} \right\}^{T} .$$
(35)

Hence, Eq. (33) can be simplified as a matrix form by integrating Eqs. (3335)

$${\mathbf{\bar{N}\zeta }} = {\mathbf{0}}.$$
(36)

The set of all solutions to the linear homogeneous system of Eq. (36) depends on the null space of the matrix \({\bar{\mathbf{N}}}\). The dimension of null space of matrix \({\bar{\mathbf{N}}}\) can be calculated by

$$n_{{{\bar{\mathbf{N}}}}} = (s + h) - r_{{{\bar{\mathbf{N}}}}}$$
(37)

where \(r_{{{\bar{\mathbf{N}}}}} = {\text{rank(}}{\bar{\mathbf{N}}} )\).

To solve Eq. (36), the singular value decomposition (SVD) technic is secondly employed on matrix \({\bar{\mathbf{N}}}\):

$${\bar{\mathbf{N}}} = {\mathbf{\bar{U}\bar{V}\bar{W}}}^{T}$$
(38)

where matrices \({\bar{\mathbf{U}}}\), \({\bar{\mathbf{V}}}\) and \({\bar{\mathbf{W}}}\) are similarly defined with the matrices \({\mathbf{U}}\),\({\mathbf{V}}\) and \({\mathbf{W}}\) described in Eq. (20). Thus, matrix \({\bar{\mathbf{W}}}\) from Eq. (38) can be expressed as

$${\bar{\mathbf{W}}} = \left[ {\begin{array}{*{20}c} {\begin{array}{*{20}c} {\begin{array}{*{20}c} {{\bar{\mathbf{w}}}_{1} } & {{\bar{\mathbf{w}}}_{2} } \\ \end{array} } & \cdots & {{\bar{\mathbf{w}}}_{{r_{{{\bar{\mathbf{N}}}}} }} |{\varvec{\upzeta}}_{{r_{{{\bar{\mathbf{N}}}}} { + }1}} } \\ \end{array} } & \cdots & {{\varvec{\upzeta}}_{s + h} } \\ \end{array} } \right].$$
(39)

In other words, if the null space of matrix \({\bar{\mathbf{N}}}\) exists, i.e., \(n_{{{\bar{\mathbf{N}}}}} \ge 1\), the following equation is valid

$${\mathbf{\bar{N}\zeta }}_{i} = 0,\;\;(i = r_{{{\bar{\mathbf{N}}}}} + 1, \cdots ,s + h).$$
(40)

Equation (40) also implies \({\varvec{\upzeta}}_{i} (i = r_{{{\bar{\mathbf{N}}}}} { + }1, \cdots ,s + h)\) are the solution of \({\varvec{\upzeta}}\). It should be noted that the number of integral self-stress modes of the tensegrity grid structure which satisfies the condition of geometric symmetric is \(\bar{s} = n_{{{\bar{\mathbf{N}}}}}\), and the \((s + 1){\text{th}}\) to \((s + h){\text{th}}\) component of \({\varvec{\upzeta}}\) are the nominal force densities of h groups which satisfy the condition (i.e., the members in the same group have the same nominal force densities). Once \({\varvec{\upzeta}}\) is determined, the integral feasible nominal self-stress force density vector \({\tilde{\mathbf{q}}}\) can be obtained from the last h variables of \({\varvec{\upzeta}}\) or from Eq. (28), and finally the feasible self-stress force density vector \({\mathbf{q}}\) is calculated by Eq. (18).

3.2 Form-Finding of Tensegrity Grid Structures with Different Cases

For a given nodal coordinates tensegrity grid structure, generally, the group number h is dependent on symmetric properties. To the author’s knowledge, this symmetric property is the characteristic of the structure itself. However, it can be divided by designers to meet the needs of an actual project under certain conditions. Similarly, depending on the value of \(n_{{{\bar{\mathbf{N}}}}}\), there are three cases as follows:

Case 2-A \(n_{{{\bar{\mathbf{N}}}}} = 0\)

For \(n_{{{\bar{\mathbf{N}}}}} = 0\), Eq. (36) has no non-trivial solution, which indicates that group division for members does not consists with the configuration of the structure. That is to say, the tensegrity grid is not in self-equilibrium with such geometric symmetry condition. In order to get a feasible solution, one needs to correctly increase the number groups until Case 2-B or Case 2-C occurs.

Case 2-B \(n_{{{\bar{\mathbf{N}}}}} = 1\)

For \(n_{{{\bar{\mathbf{N}}}}} = 1\), Eq. (36) for linear homogeneous system has the single solution. It implies tensegrity grid possesses a single nominal self-stress mode, which not only satisfies the self-equilibrium condition [Eq. (19)] but also the condition of geometric symmetry [Eq. (31)]. Hence, the obtained single feasible self-stress mode resulting from Eq. (18) automatically satisfies the condition of cables under tension and struts under compression. For this case, readers can refer to literature (Tran and Lee 2010c).

Case 2-C \(n_{{{\bar{\mathbf{N}}}}} \ge 2\)

For \(n_{{{\bar{\mathbf{N}}}}} \ge 2\), Eq. (36) for linear homogeneous system has more than one nontrivial solution, i.e., there are multiple integral self-stress modes for tensegrity grid structure. When a tensegrity grid structure falls into this case, Tran and Lee (2010c) suggested the designer to divide the structure into Case 2-B. However, it should be pointed out that, such operation will cost large amount of time and thus reduce the work efficiency. More importantly, for Case 2-C, the structure can be divided (according to geometric symmetry) in order to meet engineering requirements and help guide construction. Hence, in this paper, Case 2-C is mainly discussed.

Let \({\mathbf{x}} = \left[ {x_{1} \;x_{2} \; \cdots \;x_{h} } \right]^{T} \in R^{h}\) represents the coefficient vector of h groups independent nominal self-stress modes, the nominal h groups integral feasible self-stress mode \({\tilde{\mathbf{q}}}_{h}\) can then be described from Eq. (39) as a linear combination of nominal force densities of h groups

$${\tilde{\mathbf{q}}}_{h} = \left\{ {\underbrace {{q_{1} , \cdots q_{i} }}_{cables}, \cdots ,\underbrace {{\left| {q_{j} } \right|, \cdots ,\left| {q_{h} } \right|}}_{struts}} \right\}^{T} = x_{1} {\bar{\mathbf{q}}}_{1} + x_{2} {\bar{\mathbf{q}}}_{2} + \cdots + x_{h} {\bar{\mathbf{q}}}_{h}$$
(41)

where \({\bar{\mathbf{q}}}_{i} (i = 1, \cdots ,h)\) refer to the \((s + 1){\text{th}}\) to \((s + h){\text{th}}\) component of \({\varvec{\upzeta}}_{i} (i = r_{{{\bar{\mathbf{N}}}}} { + }1, \cdots ,s + h)\) obtained from Eq. (39).

In order to make the structural components withstand the pre-stress as uniform as possible, standard deviation is herein set as the objective function to assess the degree of dispersion between the independent nominal self-stress modes of h groups, and thus, a generalized form of the constrained nonlinear programming is employed as follows:

$$\begin{aligned} {\text{Minimize}}\;f\left( x \right) & = \sqrt {\frac{1}{h}\sum\limits_{i = 1}^{h} {\left( {\left| {q_{i} } \right| - \frac{1}{h}\sum\limits_{i = 1}^{h} {\left| {q_{i} } \right|} } \right)^{2} } } \\ {\text{Subject}}\;{\text{to}}\;g\left( x \right) & = \left| {q_{i} } \right| - p_{i} \ge 0\;(i = 1, \cdots ,h) \\ \end{aligned}$$
(42)

where \(p_{i} \;(i = 1, \cdots ,h)\) are all random numbers distributed in the interval (0, 1).

The formulated Eq. (41) is further solved using the Interior-Point Method (I-PM) with a computer program made in the Matlab (R2017a, version 9.2.0) environment. The capability of I-PM to solve the nonlinear optimization problem with inequality constraints has been explored earlier (Albuquerque et al. 1997). The goal is to approximate Eq. (42) as an unconstrained optimization problem and apply Newton’s method for the search direction.

The Lagrangian function of the barrier problem can be written as

$$L\left( {x,\;\mu } \right) = f\left( x \right) - \mu \sum\limits_{i = 1}^{h} {\ln g\left( {x_{i} } \right)}$$
(43)

where \(\mu > 0\) is called the barrier parameter.

Thus, the perturbed Karush–Kuhn–Tucker (KKT) conditions can be formulated as follows:

$$\begin{aligned} \nabla_{x} f\left( x \right) + \nabla_{x} g\left( x \right)\mu & = 0 \\ g\left( x \right)\mu & = 0. \\ \end{aligned}$$
(44)

In this way the optimization problem was transformed to a system of nonlinear equations. The main idea behind the barrier methods is that Eq. (44) is solved iteratively by the Newton method, while \(\mu\) is decreased simultaneously to zero. In this section, we present the essential aspects of the I-PM for the purposes of this paper and omit details that can be found in the literature, see for instance (Lukšan et al. 2005; Mészáros 2012; Wächter and Biegler 2006). It should be pointed out that the I-PM employed in the illustrative examples produces good quality solutions in reasonable time.

3.3 Evaluation of the Design Error

As is known that the tensegrity structure should satisfy the self-equilibrium conditions, the vector of unbalanced forces \({\varvec{\upupsilon}}_{f} \in R^{dn}\) defined as follows can be employed for evaluating the accuracy of the results

$${\varvec{\upupsilon}}_{f} = {\mathbf{Aq}}.$$
(45)

The vectors of unbalanced internal forces \({\varvec{\upupsilon}}_{x}\),\({\varvec{\upupsilon}}_{y}\),\({\varvec{\upupsilon}}_{z} \in R^{n}\) in x-, y-, and z-directions, respectively, defined as follows can also be utilized for checking the accuracy of the results

$$\begin{aligned} {\varvec{\upupsilon}}_{x} & = {\mathbf{Ex}} \\ {\varvec{\upupsilon}}_{y} & = {\mathbf{Ey}} \\ {\varvec{\upupsilon}}_{z} & = {\mathbf{Ez}}. \\ \end{aligned}$$
(46)

Here, the Euclidean norm is used to defined the design error \(\kappa\) as

$$\kappa = \sqrt {({\varvec{\upupsilon}}_{f} )^{T} {\varvec{\upupsilon}}_{f} } = \sqrt {\left( {{\varvec{\upupsilon}}_{x} } \right)^{T} {\varvec{\upupsilon}}_{x} + \left( {{\varvec{\upupsilon}}_{y} } \right)^{T} {\varvec{\upupsilon}}_{y} + \left( {{\varvec{\upupsilon}}_{z} } \right)^{T} {\varvec{\upupsilon}}_{z} } \le Tol = 10^{ - 12} .$$
(47)

The design error \(\kappa\) must be smaller than the preset tolerance Tol which is set as 10−10 in the present study.

3.4 Evaluation of the Geometric Stability

The presented form-finding procedure will estimate the tangent stiffness matrix \({\mathbf{K}}_{T}\) of a tensegrity grid structure for evaluation of geometric stable or super-stable as follows (Guest 2006; Murakami 2001; Ohsaki and Zhang 2006)

$${\mathbf{K}}_{T} = {\mathbf{K}}_{E} + {\mathbf{K}}_{G} = {\mathbf{A}}{\text{diag}}\left( {\frac{{{\mathbf{ea}}}}{{{\mathbf{l}}^{k} }}} \right){\mathbf{A}}^{T} + {\mathbf{I}} \otimes {\mathbf{E}}.$$
(48)

Here \({\mathbf{K}}_{E}\) represents the linear stiffness matrix, \({\mathbf{K}}_{G}\) is the geometrical stiffness matrix induced by self-stress state. e, a and lk \(\in R^{b}\) denote the vectors of Young’s moduli, cross-sectional areas and pre-stressed lengths of b members of the structure, respectively; \({\mathbf{I}} \in R^{3 \times 3}\) and \(\otimes\) are the identity matrix and the tensor product, respectively.

It can be observed that the linear stiffness matrix \({\mathbf{K}}_{E}\) is independent of the initial lengths l0 of the members but dependent on the current lengths lk after deformation by prestress. In the case that the structure has no prestress, the geometrical stiffness matrix will vanish, and we will have \({\mathbf{l}}^{0} = {\mathbf{l}}^{k}\) since no prestress is introduced so that there is no extension in any member. That is to say, if one apply the infinitesimal and inextensional mechanism \({\mathbf{m}} \in {\mathbf{M}}\), as described in Eq. (31), to the tangent stiffness matrix \({\mathbf{K}}_{T}\), the linear stiffness matrix \({\mathbf{K}}_{E}\) vanishes (i.e., \({\mathbf{A}}^{T} {\mathbf{m}} = {\mathbf{0}}\)). Hence, the stability of this initial state, or initial stiffness of a structure only involves the geometric stiffness \({\mathbf{K}}_{G}\). Accordingly, one can access the stability of a pin-jointed structure in d-dimensions, with the quadratic form of \({\mathbf{K}}_{G}\) with respect to any non-trivial motion M

$${\varvec{\Gamma}} = {\mathbf{M}}^{T} ({\mathbf{K}}_{G} ){\mathbf{M}} = {\mathbf{M}}^{T} ({\mathbf{I}} \otimes {\mathbf{E}}){\mathbf{M}}$$
(49)

or

$$eig({\mathbf{K}}_{T} ) = eig({\mathbf{K}}_{G} ) = \left[ {\begin{array}{*{20}c} {\underbrace {{\lambda_{1} = \lambda_{2} = \cdots = \lambda_{{r_{b} }} = 0}}_{{{\text{rigid - body}}\begin{array}{*{20}c} {} \\ \end{array} \begin{array}{*{20}c} {\text{motions}} \\ \end{array} }}} & {\underbrace {{\lambda_{1} \le \lambda_{2} \le \cdots \le \lambda_{{dn - r_{b} }} }}_{{{\text{positive}}\begin{array}{*{20}c} {} \\ \end{array} \begin{array}{*{20}c} {\text{stiffness}} \\ \end{array} }}} \\ \end{array} } \right]$$
(50)

where rb is the number of independent rigid-body mechanisms calculated from Eq. (12).

Note that \({\varvec{\Gamma}}\) is positive semi-definite if and only if E is positive semi-definite, for all \({\mathbf{m}} \in R^{dn}\). By using this criterion, the geometric stability of any pre-stressed or tensegrity structure can be controlled by checking eigenvalues of tangent stiffness matrix of the structure.

4 Numerical Examples

In this section, three numerical examples are presented for optimal form-finding of tensegrity grid structures using Matlab (R2017a, version 9.2.0) platform. Both planar and spatial tensegrity grid structures are considered. The illustrative examples indicate that the proposed form-finding process works remarkably well for tensegrity grid structures. Additionally, the efficiency of the form-finding procedure is also demonstrated in seeking optimal initial force densities according to the requirements of an actual project.

4.1 A Planar Tensegrity Grid Beam

A planar three module tensegrity grid beam assembled from basic Snelson’s X unit which consists of 8 nodes, 6 struts and 10 cables (Fig. 1) which was investigated by Tran and Lee (2010c) is herein used for expansion research. There exist 3 independent nominal self-stress modes (\({\mathbf{n}}_{1} \sim{\mathbf{n}}_{3}\)) from the SVD of the nominal self-equilibrium matrix \({\tilde{\mathbf{A}}}\). However, they do not satisfy the characteristic of the nominal self-stress modes as defined in Eq. (18).

Fig. 1
figure 1

A planar three module tensegrity grid beam

Table 1 generally displays a relationship between the value of \(n_{{{\bar{\mathbf{N}}}}}\)(the dimension of null space of matrix \({\bar{\mathbf{N}}}\)) and the group number (h) which is determined by designers according to the geometric symmetry of this tensegrity grid beam. For \(h = 2\), i.e., all struts and cables belong to their own group, respectively. For \(h = 16\), geometric symmetry is not considered in this case, and thus each member is regarded as an independent group. For \(2 < h < 6\), the members are grouped via the symmetric property of the given beam. Table 1 indicates that the single feasible nominal self-stress mode exists only if the structure is divided into 3, 4 or 5 groups. That is to say, if the number of member groups is between 3 and 5, the correspondingly obtained force density coefficients vector satisfies not only the self-equilibrium condition but also the characteristic of the nominal self-stress mode. For \(6 \le h < 16\), i.e., in most cases, the structure probably needs to be divided into more groups to match the actual level of demand.

Table 1 A relationship between the value of \(n_{{{\bar{\mathbf{N}}}}}\) and the group number (h) in the 2-D three module Snelson’s X tensegrity grid beam

According to geometric symmetry of this tensegrity grid beam, the members can be appropriately divided into 5 groups as presented in Fig. 2a, members shown in the same color are assumed to have equivalent force densities. The obtained single feasible nominal self-stress mode with design error \(\kappa = 1. 9 5 2 7\times 10^{ - 14}\), listed in Table 2, agrees well with the result from Tran and Lee (2010c), which demonstrates the validity and accuracy of the proposed method.

Fig. 2
figure 2

Member group of force density assumptions. a \(h = 5\), b \(h = 6\)

Table 2 Results of the planar three module tensegrity grid beam (\(h = 5\))

If the members are divided into 6 groups as depicted in Fig. 2b, the structure will be falling into Case 2-C \((n_{{{\bar{\mathbf{N}}}}} \ge 2)\), where the method proposed by Tran and Lee (2010c) is invalid. Thus, such case is mainly investigated in this paper. Accordingly, the vector of the coefficients of three independent self-stress modes and nominal force densities of six groups \({\varvec{\upzeta}}\) can be determined from Eq. (36) by utilizing SVD of matrix \({\bar{\mathbf{N}}}\)[Eq. (38)] as follows:

$${\mathbf{\bar{N}\zeta }} = \left[ {\begin{array}{*{20}c} {0.3859} & { - 0. 1 1 5 5} & { 0. 0 9 6 5} & { - 1} & 0 & 0 & 0 & 0 & 0 \\ {0.3859} & { - 0. 1 1 5 5} & { 0. 0 9 6 5} & { - 1} & 0 & 0 & 0 & 0 & 0 \\ {0.0686} & { 0. 3 5 5 3} & { 0. 2 0 1 6} & { - 1} & 0 & 0 & 0 & 0 & 0 \\ {0.0686} & { 0. 3 5 5 3} & { 0. 2 0 1 6} & { - 1} & 0 & 0 & 0 & 0 & 0 \\ { - 0.2128} & { - 0. 2 0 9 4} & { 0. 2 9 5 6} & 0 & { - 1} & 0 & 0 & 0 & 0 \\ { - 0.2128} & { - 0. 2 0 9 4} & { 0. 2 9 5 6} & 0 & { - 1} & 0 & 0 & 0 & 0 \\ {0.3859} & { - 0. 1 1 5 5} & { 0. 0 9 6 5} & 0 & 0 & { - 1} & 0 & 0 & 0 \\ {0.0686} & { 0. 3 5 5 3} & { 0. 2 0 1 6} & 0 & 0 & { - 1} & 0 & 0 & 0 \\ {0.1731} & { - 0. 3 2 4 8} & { 0. 3 9 2 1} & 0 & 0 & 0 & { - 1} & 0 & 0 \\ { - 0.1442} & { 0. 1 4 5 9} & { 0. 4 9 7 1} & 0 & 0 & 0 & { - 1} & 0 & 0 \\ { - 0.3859} & { 0. 1 1 5 5} & { - 0. 0 9 6 5} & 0 & 0 & 0 & 0 & { - 1} & 0 \\ { - 0.3859} & { 0. 1 1 5 5} & { - 0. 0 9 6 5} & 0 & 0 & 0 & 0 & { - 1} & 0 \\ { - 0.0686} & { - 0. 3 5 5 3} & { - 0. 2 0 1 6} & 0 & 0 & 0 & 0 & { - 1} & 0 \\ { - 0.0686} & { - 0. 3 5 5 3} & { - 0. 2 0 1 6} & 0 & 0 & 0 & 0 & { - 1} & 0 \\ {0.2128} & { 0. 2 0 9 4} & { - 0. 2 9 5 6} & 0 & 0 & 0 & 0 & 0 & { - 1} \\ {0.2128} & { 0. 2 0 9 4} & { - 0. 2 9 5 6} & 0 & 0 & 0 & 0 & 0 & { - 1} \\ \end{array} } \right] \times \left\{ {\begin{array}{*{20}c} {\alpha_{1} } \\ {\alpha_{2} } \\ {\alpha_{3} } \\ {q_{1} } \\ {q_{2} } \\ {q_{3} } \\ {q_{4} } \\ {\left| {q_{5} } \right|} \\ {\left| {q_{6} } \right|} \\ \end{array} } \right\} = {\mathbf{0}}.$$
(51)

The optimization method given in Sect. 3.2 is employed to achieve the feasible nominal force densities of six groups, and the feasible force density vector \({\mathbf{q}}\) is finally calculated by Eq. (18). The obtained force density of each member group is listed in Table 3. It is the integral feasible self-stress mode of the tensegrity grid beam structure since it satisfies the condition of unilateral behavior of the elements. For the given example above, the design error \(\kappa = 2. 5 3 6 0\times 10^{ - 14}\) obtained by Eq. (47) is within 10−12 and 10−15, which confirms the accuracy of the proposed method.

Table 3 Results of the planar three module tensegrity grid beam (\(h = 6\))

The convergence process of the target function is shown in Fig. 3. It can be found that the value of the first order optimality is close to zero after 15 iterations with the obtained objective function value equals to 0.2802, which not only satisfies the necessary convergence condition but also confirms the efficiency of the proposed method. Additionally, the eigenvalues of the force density matrix E are [0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.7816, 3.3629, 4.8232]T. This satisfies the non-degeneracy condition. Moreover, the set of eigenvalues clearly verifies the force density matrix E is positive semi-definite, indicating the structure is certainly geometric super stable regardless of materials and pre-stress levels. The structure has no infinitesimal mechanism after constraining its three rigid-body motions indicating it is statically indeterminate and kinematically determinate (Pellegrino and Calladine 1986).

Fig. 3
figure 3

Convergence curve for the planar tensegrity grid beam (\(h = 6\)). a Convergence condition, b objective function

4.2 Double Layer Tensegrity Grid

A spatial double layer tensegrity grid structure comprising of 21 nodes, 16 struts and 44 cables (Fig. 4) is herein utilized for verification purpose. To intuitively observe the geometric symmetry of this structure, the grid is divided into four parts (Fig. 5). As can be seen from Fig. 5a–d, division of elements, including lower cables, upper cables, bracing cables and struts are the same with Xu and Luo (2010). Similarly, for each part depicted in Fig. 5, members in the same group are shown in the same color, therefore they are assumed to have equivalent force densities.

Fig. 4
figure 4

A spatial double layer quadruplex tensegrity grid structure. a Top view, b perspective view

Fig. 5
figure 5

Member division of the double layer tensegrity grid structure. a Lower cables, b upper cables, c bracing cables, d struts

For this case, members are divided into twenty groups, i.e., \(h = 20\;(n_{{{\bar{\mathbf{N}}}}} = 4)\). Accordingly, the vector of the coefficients of four independent self-stress modes and nominal force densities of four groups \({\varvec{\upzeta}}\) can be determined from Eq. (36) by using SVD of matrix \({\bar{\mathbf{N}}}\). The optimization method given in Sect. 3.2 is employed to obtain the feasible nominal force densities of 20 groups, and the optimal self-stress force density vector q is finally calculated by Eq. (18). For the given example above, the design error \(\kappa = 4. 2 8 8 0\times 10^{ - 14}\) obtained by Eq. (47) is within 10−12 and 10−15, which confirms the accuracy of the proposed method. The convergence process of the target function is shown in Fig. 6. It can be found that the value of the first order optimality is close to zero after 44 iterations with the obtained objective function value equals to 0.1810. The obtained optimized force density of each member group is shown in Table 4. It is the integral feasible self-stress mode of the double layer tensegrity grid structure since it satisfies the condition of unilateral behavior of the elements. As can been seen, the standard deviation achieved from the proposed approach and the simulated annealing algorithm developed by Xu and Luo (2010) is 0.1810 and 0.2040, respectively. It indicates that the uniformity of the force densities obtained in this paper is better than that of Xu and Luo (2010), which is what expected in an actual engineering. Apart from that, the computational time listed in Table 4 also confirms the efficiency of the presented method.

Fig. 6
figure 6

Convergence curve for the double layer tensegrity grid structure. a Convergence condition, b objective function

Table 4 The optimized prestress of each member group for the double layer tensegrity grid structure

4.3 A Spatial Three Way Tensegrity Grid Structure

Consider a spatial three way tensegrity grid structure composed of 38 nodes, 40 struts and 93 cables (Fig. 7). To intuitively observe the geometric symmetry of this structure, the grid is divided into four components (Fig. 8): upper cables, bracing cables (including vertical and oblique cables), lower cables and struts. Nineteen independent nominal self-stress modes (\({\mathbf{n}}_{1} \sim{\mathbf{n}}_{19}\)) are available from the SVD of the nominal self-equilibrium matrix \({\tilde{\mathbf{A}}}\). According to the structural geometric symmetry, two different divisions of the grid structure are displayed in Fig. 8. As can be seen from Fig. 8a–c, division of cables, including upper cables, bracing cables and lower cables, are the same for both divisions A & B. The difference between these two division occur in struts: for division A, struts are divided into 7 groups (Fig. 8d), which are numbered by (19–25); while for division B, struts are only divided into 4 groups (Fig. 8e), which are numbered by (19–22). Similarly, for each component depicted in Fig. 8, members in the same group are plotted in the same color, therefore they are thought to have equivalent force densities.

Fig. 7
figure 7

A spatial three way tensegrity grid structure. a Top view, b perspective view

Fig. 8
figure 8

Two different divisions of the spatial three way tensegrity grid structure. a Upper cables, b bracing cables, c lower cables, d division A of struts, e division B of struts

For division A, members are divided into twenty-five groups, i.e., \(h = 25\;(n_{{{\bar{\mathbf{N}}}}} = 6)\). Accordingly, the vector of the coefficients of nineteen independent self-stress modes and nominal force densities of six groups \({\varvec{\upzeta}}\) can be determined from Eq. (36) by utilizing SVD of matrix \({\bar{\mathbf{N}}}\). The optimization method given in Sect. 3.2 is employed to achieve the feasible nominal force densities of 25 groups, and the optimal self-stress force density vector q is finally computed by Eq. (18). The obtained optimized force density of each member group is listed in Table 5. It is the integral feasible self-stress mode of the four way tensegrity grid structure since it satisfies the condition of unilateral behavior of the elements. For the given example above, the design error \(\kappa = 1. 4 0 2 1\times 10^{ - 12}\) obtained by Eq. (47) is within 10−12 and 10−15, which demonstrates the accuracy of the proposed method. The convergence process of the target function is shown in Fig. 9. It can be found that the value of the first order optimality is close to zero after 42 iterations with the obtained objective function value equals to 1.5131. It should be pointed out that, however, the proposed optimal form-finding method does not require the force density matrix E positive semi-definite. Particularly in this problem, the force density matrix, which possesses seven negative eigenvalues, is negative semi-definite. It implies that the structure is not super stable. Thus, one needs to check if the state of self-stress stiffens all the infinitesimal mechanisms. Accordingly, tangent stiffness of the structure has been investigated utilizing Eq. (48). The force density of each member group is particularly set 50 times each value as presented in Table 5, and all cables and struts are assumed to have the same axial stiffness \(e_{i}^{c} a_{i}^{c} = 125kN\) and \(e_{i}^{s} a_{i}^{s} = 1200kN\), respectively. The nonzero eigenvalues of the tangent stiffness matrix \({\mathbf{K}}_{T}\) after neglecting first six zero ones corresponding to six rigid-body motions are listed in Table 6. It can be observed that the smallest one is 105.7874, which indicating this grid structure is definitely geometric stable.

Table 5 Results of division A (\(h = 25\)) for the spatial three way tensegrity grid structure
Fig. 9
figure 9

Convergence curve for the spatial three way tensegrity grid structure (division A). a Convergence condition, b objective function

Table 6 Eigenvalues of the tangent stiffness matrix of the spatial three way tensegrity grid structure (division A)

For division B, members are divided into twenty groups, i.e.,\(h = 22\;(n_{{{\bar{\mathbf{N}}}}} = 5)\). Figure 10 plots the convergence process of the target function during iterations. As can be seen that the first order optimality is close to zero after 40 iterations, and the resulting objective function value is 1.1561. The achieved force density of each member group is listed in Table 7. The design error calculated by Eq. (44) is \(\kappa = 3. 9 4 6 0\times 10^{ - 13}\), which confirms the accuracy of the proposed method. The force density of each member group is particularly set 50 times each value as presented in Table 7, and all cables and struts are assumed to have the same axial stiffness \(e_{i}^{c} a_{i}^{c} = 125kN\) and \(e_{i}^{s} a_{i}^{s} = 1200kN\), respectively. The nonzero eigenvalues of the tangent stiffness matrix \({\mathbf{K}}_{T}\) after neglecting first six zero ones corresponding to six rigid-body motions are listed in Table 8. It can be observed that the smallest one is 97.1079, which indicating the grid structure is definitely stable.

Fig. 10
figure 10

Convergence curve for the spatial three way tensegrity grid structure (division B). a Convergence condition, b objective function

Table 7 Results of division B (\(h = 20\)) for the spatial three way tensegrity grid structure
Table 8 Eigenvalues of the tangent stiffness matrix of the spatial three way tensegrity grid structure (division B)

For both divisions A & B, the structure achieved has no infinitesimal mechanism when its six rigid-body motions are neglected indicating it is statically indeterminate and kinematically determinate (Pellegrino and Calladine 1986). It is worth noting that, although divisions of cable members (Fig. 8a–c) are the same for both divisions A & B, the correspondingly obtained initial force density coefficients of groups (1–13), which are listed in Tables 5 and 7, are not the same. More importantly, as is presented in this example, different optimal self-stress modes of the tensegrity grid can be achieved conveniently concerning two different divisions. It indicates that the proposed form-finding method is efficient in seeking optimal initial force densities which meet the requirements of an actual engineering.

5 Conclusions

An efficient procedure is presented for optimal form-finding of tensegrity grid structures by consecutively solving two linear homogeneous systems in conjunction with a minimization problem. To achieve the optimal self-stress mode of a given geometry configuration tensegrity grid structure, the form-finding procedure is firstly performed by consecutively solving two linear homogeneous systems. The first one is about the nominal self-equilibrium system, and the other one is the combination of the nominal independent self-stress modes and constraints on force densities deriving from symmetric property of tensegrity grids. In order to make the structural components withstand the pre-stress as uniform as possible, the form-finding problem is then formulated as a minimization problem by directly controlling the smallest standard deviation of h independent member groups under the constraint conditions: each nominal force density coefficient is assumed to be larger than a random number distributed in the interval (0, 1). The Interior-Point Method is utilized to solve the minimum of the problem, leading to a set of force densities which guarantee the non-degeneracy condition for the force density matrix. The evaluation of the eigenvalues of tangent stiffness matrix is also taken into account to check the geometric stability of tensegrity grid structures. Both planar and spatial tensegrity grid structures are investigated comprehensively in this paper to demonstrate the capability of the proposed method in optimal initial self-stress design of tensegrities satisfying either stability or super stability. Moreover, in order to meet the requirements of an actual project, division of number of member group has been discussed in detail for the purpose of demonstrating the efficiency of the proposed method in seeking optimal initial force densities of tensegrity grid structures.

It is worth noting that, although the I-PM utilized in the illustrative examples produces good quality solutions in reasonable time, the optimum initial self-stress modes achieved are local optimum not global optimum, and are valid only in presence of suitable symmetry conditions. In order to overcome these discrepancies, some advanced optimization methods that have advantages in global search, e.g. ant colony algorithm, genetic algorithm and the Monte Carlo optimization, will be probably employed to seek the global optimal initial self-stress modes of more complicated asymmetric tensegrity grid structures. Apart from that, for an actual engineering, a tensegrity grid structure is often subjected to boundary constraints. The concept of dummy member, which was proposed by Tran and Lee (2010b) might be employed to overcome this technical difficulty. These are some directions for future work.