1 INTRODUCTION

Tensegrity structures have received several definitions since their origin; however, they can be described as a special kind of spatial system, composed of compressive and tensile elements, in self-equilibrium. The unique arrangement of the members, where the compressive elements are not in contact between them, distributes the internal forces only along the axes of the elements thus removing the forces such as torque or bending from the design process. Thanks to their advantages of efficient force distribution, lightweight, and the possibility to apply control systems to some of its members, the use of tensegrity structures for soft robotics and smart structures has become an important research topic in recent years; some examples of these applications are the robotic icosahedrons (^{Bruce et al., 2014}) (^{Ushigome et al., 2010}) and snake-like crawling structures (^{Friesen et al., 2016}).

The use of tensegrities in the robotics field has motivated an increase in the study of how to find reliable methods for reshaping the tensegrity structures while maintaining the self-equilibrium. While several methods have been proposed for solving the form-finding and dynamics problems of these structures, the shape control remains an open research area. Different approaches have been presented, some of them using advanced computational techniques. Monte Carlo control policies for multiagent learning (^{Lessard et al., 2015}), coevolutionary algorithms for generating evaluation functions (^{Iscen et al., 2015}), optimization methods based on the null space of the equilibrium matrix (^{Caluwaerts and Carbajal, 2015}) or algorithms that calculate the required tension for driving structures between two positions (^{Henrickson et al., 2015}) are some examples of the different methods that have been proposed. Some of these methods have already been successfully proven in real life applications (^{Geng et al., 2017}).

Another solution for the reconfiguration problem of tensegrity structures is the use of the infinitesimal mechanisms. ^{Williams (2007}) gave a mathematical approach by using the graph theory to characterize tensegrity structures and proposed a marching procedure that generates paths tangent to the infinitesimal mechanisms to obtain new stable configurations of the structure; this marching procedure was later studied from an engineering approach by combining the graph theory with rigidity theory by ^{Micheletti and Williams (2007}). ^{Sultan (2014}) demonstrated that the motions along the infinitesimal mechanisms of tensegrity structures present a zero-energy dissipation by linearly kinetic tendon damping; through the paper, he proposed a deployment algorithm that follows paths tangent to these mechanisms using the Lagrange equations of motion. ^{Koohestani (2015}) developed an iterative method for reshaping free standing and restrained tensegrity structures. ^{Porta and Hernández-Juan (2016}) proposed a method based on differential geometry for obtaining an equilibrium manifold from the infinitesimal mechanisms. However, there is no literature referring to these methods having been used in real applications.

Amongst these methods, the marching procedure presents a more straightforward approach. The solution to the kinematic problem of tensegrity structures involves simpler and faster computations than the dynamic equations. At the same time, because the kinematics are only related to changes in position and speed, the physical properties of the materials, such as mass or elasticity, are omitted from the calculations. However, the mathematical approach from which it was first proposed makes some of its formulations time consuming.

The purpose of this paper is twofold: first, to reformulate a marching procedure by using the force density method to obtain the static and kinematic expressions; second, to demonstrate, by simulations, that this procedure can effectively reconfigure a multi-stage tensegrity structure with fixed nodes from a stable initial position to another stable position, along different directions. The proposed method can represent an alternative for applications such as positioning, manipulation or simulation of human mechanics (^{Lessard et al., 2016}). The structure of this paper is the following. First, the equilibrium expressions of tensegrity systems using the force density are reviewed. Next, the reconfiguration method is described, and the required algebraic equations are explained. Finally, three examples are given to verify the method; each example includes a simulation and an experimental result.

2 MATHEMATICAL FORMULATIONS

As described before, tensegrity structures are spatial systems composed of compressive elements (bars or struts) connected only by tensile elements (strings or cables). An important characteristic of these structures is that they are stable in the absence of external forces, known as self-equilibrium; the set of prestresses in the members that allows this condition is known as state of self-stress.

The simplest tensegrity structure in three dimensions is the one shown in Figure 1a, composed of three bars and nine cables. In this kind of structure, known as tensegrity *unit*, the bottom endings of the bars are connected by cables, forming a regular polygon (a triangle for the case of the example shown above); the top endings of the bars are connected in the same way. Vertical cables connect the top plane with the bottom plane by linking bar endings. The geographical place where cables and bars are connected is known as *node*.

Complex tensegrity structures can be constructed by assembling two or more tensegrity units; multi-stage tensegrities are tensegrity units stacked along their *Z* axis. However, these units require modifications to allow their interconnection. As shown in Figure 1b, some cables are removed, while others, dashed lines in Figure 1c, are added to allow the new structure to be stable. The two structures shown in Figure 1b receive the name of *stages* because, since some cables were removed, they are not in equilibrium anymore and thus cannot be called units.

The topology of tensegrity structures in three dimensions, composed of *m* members and *n* nodes, is determined by two main parameters: the nodal coordinates and the connectivity between nodes. While the connectivity scheme can be determined in an arbitrary way, the location of the nodes should be defined through a form-finding process that can resolve a stable configuration. The problem of the form finding for tensegrity structures has been extensively studied over the recent decades, using different methods; in this paper, the approach for tensegrity masts by ^{Tibert (2002}) is used.

The connectivity between nodes is described by the *m*×*n* connectivity matrix **C**, with zero entries in all its cells, except in those representing the initial and final nodes of the corresponding element. ^{Zhang and Ohsaki (2015}) described that if nodes *i* and *j* (*i* < *j*) represent the extreme nodes of a member *m*
_{k}, the entries *i* and *j* of the *k-*th row of **C** will be -1 or 1, respectively if

By using the force density method, the non-linear system of equilibrium equations that describes a tensegrity structure is transformed into a linear system by using a force-to-length ratio (^{Motro, 2003}). These values, or force densities, are arranged as the force density vector **q** (
*m* members. Using this vector, and assuming no external forces, the equilibrium system of a tensegrity structure is represented by the relationship between the projected lengths of the members and the force densities

where **A** (
**N** (
**x y z**]^{T}, ^{Gómez Estrada et al. (2006}) define **A** as

The rows of the matrix **A** correspond to the projections, along *X*, *Y* or *Z* axes, of the lengths *l*
_{ij} of all the members that coincide at any node *n*
_{i} (^{Tran and Lee, 2010}). Each column **a**
_{m} of **A**, or the rows of **A**
^{T}, known as the compatibility matrix by ^{Pellegrino (1993}), represent the magnitude and direction of the projected distances between the *n*
_{i} and *n*
_{j}, *i* < *j*, nodes that compose each *m* member. In this paper, only tensegrity structures with the bottom nodes fixed to the ground are considered. When this condition is present, the rows of **A** corresponding to these nodes might be omitted from the matrix. In the same way, any column corresponding to a member consisting of two fixed nodes will also be removed from the matrix **A**. If *n* represents the total number of nodes of the structure, the number of free nodes will receive the name of *n*
_{f}; the coordinates of these *n*
_{f} nodes are arranged in the positions vector **p** (

The self-balanced condition of tensegrity structures is reflected in the incompleteness of the rank rA of the equilibrium matrix A (^{Zhang and Ohsaki, 2007}). The rank deficiency rD = rA - m ≥ 1, where m ≤ 3n, corresponds to the number of states of self-stress, or sets of force densities, that satisfy the equation (2). As explained in previous work of the authors (^{González and Luo, 2018}), the null space of the transpose of A contains the 3n-rA affine motions of the structure. These motions correspond to the 2×d rigid body motions (rotations and translations along X, Y and Z axes, and their combinations) and the vector of infinitesimal mechanisms v (

The force densities of the members and the nodes of the structure can be related through the force density matrix D (
^{Gómez Estrada et al., 2006})

^{Connelly and Whiteley (1996}) refer to this matrix as the reduced stress matrix; the expanded force density matrix DE

As defined by ^{Pellegrino and Calladine (1986}), the kinematics of tensegrity structures are described by the relationship between the displacement **d** of the nodes and the resulting elongations **e** of some of the elements as

It is evident that the coordinates of the free nodes in an actuated structure vary over time, it is then convenient to express **p** as a function of time *t* as **p**(*t*). By substituting **d** for **p**(*t*) in equation (6) and taking the derivative with respect to *t*, the expression becomes

where **ṗ**(*t*) (
**δ** (
*δ*
_{m}. For an infinitesimally displaced configuration, the matrix **A**
^{
T
} can be substituted by the matrix **B**, formed by the vectors

where **w**
_{i} represents the product forces vector of the structure (^{Pellegrino and Calladine, 1984}) related to the **v**
_{i} infinitesimal mechanism, given by the expression

For the case where only one state of self-stress is present, and only the lengthening of one member is defined, if equation (8) is input into equation (7), the simplest expression for the kinematic equation is stated as

The solution to the system of differential equations brings the vector of nodal positions **p**(*t*) (
**A**.

3 RECONFIGURATION ALGORITHM FOR TENSEGRITY STRUCTURES

As explained in the previous section, not every configuration brings a stable tensegrity. If the length of just one of the members in a stable position is changed, a new location for the nodes must be calculated in order to obtain a new stable configuration for the structure. The reconfiguration method hereafter presented is based on the following assumptions: it is limited to tensegrity structures with only one state of self-stress and one affine motion, corresponding to the infinitesimal mechanism; the initial configuration must be a stable position. In this paper, the compressive elements are assumed to be rigid bars, and the actuation of the structure is carried out by changing the length of some of the cables only.

3.1 Differential system of equations

The main idea of the proposed method is that all the nodal distances must remain constant at any moment *t*, except those corresponding to the members that are being actuated; these conditions are represented by the rows of the equation (10). It is clear from this equation that the lengthening rate *δ*
_{i} of only *m-*1 members can be defined in the vector **δ**. To assure their final configuration, it is required that all the members with constant length, or *δ*
_{i} = 0, and the lengthening of one of the actuated members, are defined in these equations. The solution to the system of differential equations will bring a stable set of nodal coordinates that complies with these conditions and determines the lengthening of the non-defined members, that results in a stable configuration.

For simplification purposes, the three-bar tensegrity unit in Figure 2 will be used as a reference; however, the equations can be extended to a multistage tensegrity without loss of generality. It will be assumed that the top cables 4, 5 and 6 don’t change their length, while the actuated cables are the vertical cables 1, 2 and 3. The first step is to define which members will change their length, and the rate at which they will change. An arbitrary cable is chosen, and it is assigned a value of lengthening *δ*
_{i} given by

that is determined by the integration of the equation *l*
_{i}
*l̇*
_{i} = *δ*
_{i} (^{Micheletti and Williams, 2007}); where *l*
_{i,fin} and *l*
_{i,in} refer to the initial and final length, respectively, of the chosen element. The next step is to setup the system of equations, composed of five different groups of equations corresponding to: the cables with independent lengthening, the cables with dependent lengthening, the cables that remain constant, the bars and the product forces. The first equation corresponds to the cable, called here cable 1, whose lengthening *δ*
_{1} is independent

while the cable whose final length is unknown will be the cable 2.

The next equations of the system correspond to the cables whose change of length is dependent. This lengthening is called dependent because its value is unknown and depends on the solution of the differential equations. If it is known that the cables 1 (independent) and 2 (dependent) change their lengths in opposite way, the change rate of the other actuated cables can be described as proportional to any of these two as

where *μ* is an arbitrary proportional constant and **a**
_{
i
} is either 1 or 2, and **a**
_{
j
} is any *j* desired cable (*j* ≠ 1, 2). In the case of the unit shown in Figure 2, the change rate of cable 3 can be defined as proportional to 1 or 2, or to remain unchanged. If *μ* = 1, it is possible to assign the same lengthening rate to several cables, this can be useful for applications where symmetry is needed, such as the deployment of tensegrity masts. The next equations of the system correspond to the tensile members whose length is defined as constant

The following *b* equations correspond to the bars, whose elongation rate, as expected, is defined as zero

with *i* = 1, …, *b*. The final equation is obtained from solving the equation (9) using the information corresponding to the initial configuration of the structure.

3.2 Implementation in MATLAB

The solution to the system of differential equations that conform the reconfiguration method is obtained using the MATLAB function *ode45*, a tool that uses the Runge-Kutta method to solve nonstiff ODEs in the form of **M**(*t*, *y*) **ẏ** = **f**(*t*, *y*). If it is considered **M** as **B** and **f** as **Δ**, it is clear that the matrix **B** must be updated after every step, by calculating its components using the **v** and **q** for each new position **p**(*t*). Because *δ*
_{i} is independent of **p**(*t*), **Δ** remains constant.

The rank and null spaces of **A** and **A**
^{T} are obtained using the function SVD, it allows to compute the force density vector **q** and the infinitesimal mechanisms **v**. Because of the tolerance defined by the software, the MATLAB function rank considers these matrices as full rank in some cases, with no null space. For this reason, in this paper the SVD is used to inspect the singular values and determine an acceptable ratio between the two smallest singular values of 1×10^{-6} or lower. The reconfiguration algorithm is resumed as the diagram shown in the Figure 3.

4 NUMERICAL EXAMPLES

Numerical examples are presented for the reconfiguration of a two-stage tensegrity structure with three-bars per stage, using the software package MATLAB. Then, each of these examples is compared with an actuated two stage tensegrity mast built in the laboratory. Assuming the length of the top cables, saddle cables and bars as constant, the proposed algorithm is applied to reconfigure the tensegrity structure by changing the length of the vertical cables. The geometrical parameters are based on ^{Tibert (2002}) for a two-stage tensegrity structure with a bottom and top radius of 75 mm, and a total height of 200 mm per stage; for these parameters, the vertical cables have an initial length of 200 mm.

Figure 4 presents a main schematic of the structure, where the assignment of the nodes and the orientation of the axes can be observed. The notation used for the members in this paper, and the connection between these elements is resumed in Table 1.

Cable | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
---|---|---|---|---|---|---|---|---|---|---|---|

Initial node | 1 | 2 | 3 | 7 | 8 | 9 | 1 | 2 | 3 | 4 | 5 |

Final node | 6 | 4 | 5 | 11 | 12 | 10 | 7 | 8 | 9 | 11 | 12 |

Cable | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | |

Initial node | 6 | 4 | 5 | 5 | 6 | 6 | 4 | 10 | 11 | 10 | |

Final node | 10 | 8 | 8 | 9 | 9 | 7 | 7 | 11 | 12 | 12 | |

Bar | 1 | 2 | 3 | 4 | 5 | 6 | |||||

Initial node | 1 | 2 | 3 | 7 | 8 | 9 | |||||

Final node | 4 | 5 | 6 | 10 | 11 | 12 |

For the three examples here presented, the cable 1 is chosen as the one with an independent lengthening rate. Also, the cables 13 to 21 correspond to the ones with a fixed length, as described previously.

4.1 Motion of both stages in the same direction

The first example considers the case when both stages present motion in the same direction, by rotating around the *Y-*axis towards *X*
^{-}; this is achieved by lengthening the cables whose initial and final nodes are located in *X*
^{+}, and shortening the cables whose initial and final nodes are located in *X*
^{-}. By dividing the tensile members into three groups, a different length change rate can be assigned to each group. A lengthening rate of *δ*
_{1} = 1.95×10^{3} is assigned to the cable 1 and the rest of the cables in group *S*
_{1} = {1, 4, 6, 7, 9, 12}. The cables that will reduce their length, at an unknown rate, are grouped into *S*
_{2} = {2, 3, 5, 8, 10, 11}; cables 9 and 10 are assigned to groups S1 and S2, respectively, by observation of Figure 4. The cables whose length remain constant are grouped into *S*
_{3} = {13, 14, 15, 16, 17, 18, 19, 20, 21}.

The solution to this example is determined by the solution of the 27×27 system of equations

The parameters of the function *ode45* in MATLAB are defined as an interval of 1 second and 10 steps; after this period, the ratio between the two smallest singular values is 1.89×10^{-9}, that is lower than the tolerance defined for this experiment. Experimentally it was determined that longer intervals affect the convergence of the solution.

Figure 5 shows the reconfiguration from the initial position (a) to the final position (b). It confirms that the cable 1, and the rest of members of the group *S*
_{1}, increased their length, while the members of *S*
_{2} shortened; it is also noticed that there is no collision between elements. The coordinates given by the solution vector **p**(*t*) are used to calculate the changes of length of the actuated cables and to derive the corresponding rotations of the stepper motors for the reconfiguration of the tensegrity mast, as shown in Figure 6.

The evaluation of the force density vector for the final configuration confirms that all the members present forces with the correct sign, positive for tension and negative for compression. An inversion of a sign means that the corresponding member is under a wrong stress, and so the position is not obtainable. Figure 7 shows how the force in the different members changes for both positions.

4.2 Motion of both stages in different direction

The case where both stages are assigned a motion with different direction is also evaluated. Specifically, it is considered the situation where one stage compensates the motion of the adjacent stage, to keep the top surface horizontal. This is done by rotating the bottom stage around *Y*-axis towards *X*
^{-}, while rotating the upper stage towards *X*
^{+}. As in the previous example, a lengthening rate of *δ*
_{1} = 1.95×10^{3} is assigned to the cable 1. The cables defined to lengthen are assigned to group *S*
_{1} = {1, 5, 7, 9, 10, 11}, for the cables belonging to the lower stage located in *X*
^{+}, and the cables of the top stage located in *X*
^{-}. The cables that will reduce their length, at an unknown rate, are grouped into *S*
_{2} = {2, 3, 4, 6, 8, 12}, corresponding to the remaining cables. The cables whose length remain constant are grouped into *S*
_{3} = {13, 14, 15, 16, 17, 18, 19, 20, 21}. The cables corresponding to this numbering can be observed from Table 1. The 27×27 system of equations is given by

The solution parameters of the function ode45 are kept identical as the previous example, with an interval of 1 second and 10 steps. This setup, and the desired δ bring a solution that presents a ratio between the two smallest singular values of 9.38×10^{-9}, that is of the acceptable order of magnitude. Simulations with an interval of up to 2.5 seconds converged to a solution, but the ratio between singular values was of the order of 10^{-1}, making it unacceptable.

The Figure 8 confirms that the top plane of the structure remains horizontal, with just a small change in the overall height of the structure between the initial position (a) and the final position (b); however, the changes in length of the different cables are evident. When the data of the vector **p**(*t*) is applied to control the actuated tensegrity mast, the behavior of the system is analogous to the simulated graphic. Figure 9 shows how the top surface displaces from the original position (a) to the left (b) but continues in a horizontal position.

It is important to notice the changes in the force distribution from Figure 10. While the tension in most of the cables decreased, the force in four of the members presents an increase of 194%. This value was of interest during the design process of the actuated system for the selection of the stepper motor and springs that compose it. The correct sign of the axial forces, and the absence of slack cables are also confirmed from this diagram.

4.3 Collapsing motion

The symmetrical reconfiguration is also considered, as is the case of the deployment and collapsing motion. A lengthening of *δ*
_{1} = 1.95×10^{3} is assigned to the cable 1; the same value as the previous examples is assigned to allow a proper comparison between situations. Thanks to the symmetry of the original structure, the grouping of the cables is simple. The vertical cables of each stage, as seen in Figure 1b, are grouped into *S*
_{1} = {1, 2, 3, 4, 5, 6} and defined to shorten at the same rate *δ*
_{1}, while the remaining cables are grouped into *S*
_{2} = {7, 8, 9, 10, 11, 12} and will reduce their length, at a similar unknown rate. The cables whose length remain constant are grouped into *S*
_{3} = {13, 14, 15, 16, 17, 18, 19, 20, 21}. The 27×27 system of equations for the collapsing motion has the form

The values for the setup of the function *ode45* are determined as the same values as before, an interval of 1 second and 10 steps. For this configuration, the ratio between the two smallest singular values of is 8.77×10^{-9}. The selected *δ*
_{1} corresponds to a decrease in length of 35 mm, representing a 17.5%; during the simulations, it was found that the process can converge to a solution when the actuated vertical cables are shortened up to 20%.

The collapsing symmetrical motion is clearly observed from Figure 11, where the structure reduced its height from 300 mm (a) to 265 mm (b), by shortening the actuated cables 35 mm; this linear relationship is explained by the topological design of the current model. The experimental test also showed a smooth reconfiguration, from the top position, Figure 12a, to the desired compressed position, Figure 12b.

Besides the correct sign of the axial forces, and the absence of slack cables in the final position of the reconfiguration, Figure 13 also brings two important results. First, the symmetry of the structure is maintained, confirmed by the fact that the different groups of members maintain the same force density values. At the same time, the forces in the members don’t present a significative change; however, the increase in the tension in the actuated cables represents a decisive factor for the selection of the stepper motor.

5 CONCLUSIONS

In this paper, a reconfiguration strategy for actuated multistage tensegrity structures has been presented. By using the force density method, the equilibrium and compatibility matrices are derived, and their vector spaces are obtained. The infinitesimal mechanism of the structure is then used for creating a kinematic expression composed of a system of differential equations. The solution to this system brings a set of stable positions over time that conform a reconfiguration path for the structure.

Numerical examples are given to verify the reliability of the proposed reconfiguration method, and these are compared to experimental runs in an actuated tensegrity mast. It is proven that this method can effectively modify the shape of a two-stage tensegrity structure and achieve a new stable position by actuating some of its cables. The examples prove that different reconfiguration strategies can be adopted, by assigning different lengthening rates to the groups of cables. However, the simulations showed that the effectiveness of this method depends on the correct selection of two parameters: lengthening rate and time interval. It was determined that intervals of less than 1.5 seconds produce acceptable results.

The advantage of this reconfiguration method is its simplicity, that it is independent of the material of the structure, and that can be used for asymmetric motion. Further work should consider the application of this method to more complex tensegrity structures.