Abstract
This paper provides a single matrix-second-order nonlinear differential equation to simulate the dynamics of tensegrity systems with rigid bars and massive strings. The paper allows one to distribute the string mass into any specified number of point masses along the string while preserving the exact rigid bar dynamics. This formulation also allows modeling of skins and surfaces as a finite set of strings in the tensegrity dynamics. To reduce the complexity of the model, non-minimal coordinates (6 degrees of freedom for each bar instead of 5) were chosen. This is the key to give more accurate results in computer simulations since the mathematical structure of the model is simplified and exploited during numerical computations. A bar length correction algorithm is also provided for both class-1 and class-\(k\) tensegrity systems to correct the erroneous change in bar length because of computational errors during numerical integration. We characterize the control variable as the force density in each string. This allows control laws to be developed independently of the material chosen for the structural elements. A nonlinear transformation back to the physical control variables involves the material properties.
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.Avoid common mistakes on your manuscript.
1 Introduction
The field of multi-body dynamics includes rigid and elastic bodies connected in arbitrary ways. Most approaches use a minimal coordinate representation, eliminating redundant variables as the body connections are exploited one at a time until all the bodies are included into the system. One disadvantage of such methods is topology constraints, such as limiting the configuration of the rigid body connections to a topological tree. (See the TREETOPS software developed by company DYNACS [1].) Another computational disadvantage of these approaches is the reliance on transcendental functions to describe the positions of elements. Tensegrity systems [2] dynamics is a subset of the class of multibody dynamics which does not treat (thus far) rigid bodies of arbitrary shape and inertia, but they allow any stabilizable topology of members. Tensegrity is a name coined by Buckminister Fuller [3] for the artform created by Ioganson (1921) and Snelson (1948) [4]. Tensegrity is a network of compressive and tensile members, where the compressive members are connected together by tension members (strings, cables, tendons) forming a stable system. We describe “Class-1” tensegrity when no compressive members touch each other, and a “Class-\(k\)” when \(k\) compressive members join at a node [2]. As all the strings are connected to the node center of the bars, there would be no torque along the axis of the bar and therefore no rotation along the bar axis. Moreover, bars are connected by frictionless ball joints, or their mathematical equivalents, to constraint all members to be “axially loaded” only.
The topology of bar/string networks provides a minimal mass solution to at least five fundamental problems in engineering mechanics. What is the minimal mass material topology to take? (i) Compressive loads? (ii) Torsional loads? (iii) Simply supported bending loads? (iv) Cantilevered bending loads? (v) Tension loads? Tensegrity structures provide the answer to these five questions [2]. These elementary results guide the way toward the choice of elementary building blocks to build more complex structures [2, 5]. The Michell truss is proven to provide the minimum mass solution for cantilevered bending loads [2]. Tensegrity T-bar provides the minimum mass solution to compressive structure assuming no global buckling and D-bar provides minimum mass considering global buckling [2]. Recently, D-bar structure was studied for its use as a sensor or actuator [6]. D-bar shows significant potential in robotics because of its minimum mass and easy deployability [7]. The “tensegrity ball” has been extensively studied for its use as a lander [8, 9], and various impact structures [10]. Easy deployability and less mass are the main motivations for its use in robotics applications [11,12,13], deployable bridges [14, 15], and space applications like deployable masts [16] and artificial gravity space habitats [17, 18]. Various tensegrity architectures also appear in many biological systems, ranging from bone and muscle networks to fibrous structural components in living cells [19] and to the molecular structure of spider fiber [5]. See also tensegrity models for the bio-mechanics of the human skeleton [20, 21].
The dynamics of the tensegrity structures has been explored in the past by various researchers. Murakami [22] developed the equations of motion for tensegrity structures using the Eulerian and Lagrangian approach which basically represent spatial and material formulations. These equations were then linearized about a reference configuration to perform the modal analysis. In part two of [23] quasi-static analyses were performed which concluded that prestress and infinitesimal mechanism modes characterize the dynamics and statics of tensegrity structures. The linearized dynamics models for the different class of tensegrity structures were developed by Sultan et al. [24] and these models were further used by Masic and Skelton [25] to select the prestress for optimal dynamic/control performance. Ali and Smith [26] also wrote a linearized dynamic model around an equilibrium configuration to study the dynamic behavior of an active tensegrity structure. These linearized models are approximations and do not capture the correct dynamics of the structure. Tan and Pellegrino [27] studied the nonlinear vibration of cable-stiffened pantographic deployable structures and showed that cable prestress is correlated with the natural frequencies of the system. Skelton and Nagase [28, 29] developed the nonlinear tensegrity dynamics in vector form for a network of rods and strings neglecting the masses in the strings. Recently, Joono and Skelton [30] developed a second order matrix differential equation to describe the nonlinear dynamics of any tensegrity structure. They used non-minimal coordinates and assumed the compressive elements to have no inertia about the longitudinal axis. The masses in the tension elements (strings) were also neglected in the formulation. In the present study, each compressive member can be a bar of certain radius i.e. can have some inertia about its longitudinal axis and masses in the strings is also incorporated.
At a fundamental level, the dynamics of these structures is straightforward since it relies simply on the dynamics of rigid bars and elastic models for strings. However, a rigorous and scalable approach to describing these structures is highly desirable. The nonlinear dynamic model developed here captures both the translational motion of the mass center of each bar and each cable, and the rotational dynamics of each bar, using Newton’s second law. Therefore, the model allows for the simulation of any tensegrity network with elastic massive string members and rigid bars. Certainly, there are many applications such as cable-stayed bridges in which the mass of the cables is as important as the mass of the bars. Furthermore, applications exist in which a membrane covering the surface of the structure is required. This dynamic model assumed the bars to be rigid and the length constraints are incorporated at the second derivative level in the formulation. This can lead to violations in length constraint during the numerical integration procedure. In the appendix of this paper, we provide an algorithm to correct the bar and time derivative of the bar vector to satisfy the length constraints (Appendix C). The author believes that the other benefits of this formulation outweigh this shortcoming of the paper. Finally, this paper makes the following contributions to the theory and mathematical modeling of tensegrity systems: (i) It adds mass to tensile elements. (ii) It adds string-to-string nodes. (iii) It maintains a matrix-second-order nonlinear differential equation without any transcendental functions. (iv) It provides a novel algorithm to correct the violations in bar length due to computational errors. Moreover, the absence of trigonometric functions leads to improved efficiency and accuracy of the dynamics simulation and control design. These equations are suitable for the design of control algorithms to control shape or other requirements of the system as the control variables (force density in each string) are linear in the dynamics formulation. These force densities can easily be converted into a physical quantity (tensions or rest-lengths of tensile elements) using a nonlinear transformation.
2 Notation
2.1 Vector notation
We distinguish a three-dimensional object that has magnitude and direction by bold letters. These are called Gibbs vectors in honor of the inventor of vector concepts in three-dimensional space [31]. In linear algebra, an \(n\times 1\) matrix is called an \(n\)-dimensional vector, and obviously a \(3\times 1\) matrix would be called a 3-dimensional vector. But these are not Gibbs vectors and will not be bold here. For example, a vector \(\mathbf{v}\) can be expressed in any specified frame of reference. Let the components of vector \(\mathbf{v}\) in a specified set of coordinates be described by the \(3\times 1\) matrix \(v\). The components of the Gibbs vector \(\mathbf{v}\) can be written simply as \(v\), without bold. Scalars are also not bold, so the distinction between scalars and \(3\times 1\) matrices are made clear by the context.
Define a right-handed dextral set of unit vectors by these dot and cross product properties:
-
(a)
\(\boldsymbol{e}_{i} \cdot \boldsymbol{e}_{j} = \delta _{ij}\)
-
(b)
\(\boldsymbol{e}_{i} \times \boldsymbol{e}_{j} = \boldsymbol{e}_{k}\) if \((i,j,k) = (1,2,3)\) or \((3,1,2)\) or \((2,3,1)\)
Then define a vectrix\(\boldsymbol{\mathcal{E}}\) [32] by
-
(c)
,
-
(d)
\(\boldsymbol{\mathcal{E}}^{\mathsf{T}}\cdot \boldsymbol{\mathcal{E}} = I\) (due to (a) and (c))
Hence for two vectors expressed in the same frame (\(\boldsymbol{b} = \boldsymbol{\mathcal{E}} b^{\mathcal{E}}\) and \(\boldsymbol{a} = \boldsymbol{\mathcal{E}} a^{\mathcal{E}}\)), it follows that:
-
(e)
\(\boldsymbol{a} \cdot \boldsymbol{b} = (\boldsymbol{\mathcal{E}} a^{\mathcal{E}})^{T} \cdot (\boldsymbol{\mathcal{E}} b^{\mathcal{E}}) = a^{\mathcal{E}^{\mathsf{T}}}(\boldsymbol{\mathcal{E}}^{\mathsf{T}} \cdot \boldsymbol{\mathcal{E}})b^{\mathcal{E}} = a^{\mathcal{E}^{ \mathsf{T}}}b^{\mathcal{E}}\)
-
(f)
\(\boldsymbol{a} \times \boldsymbol{b} = (\boldsymbol{\mathcal{E}} a^{\mathcal{E}}) \times (\boldsymbol{\mathcal{E}} b^{\mathcal{E}}) = \boldsymbol{\mathcal{E}} \tilde{a}^{\mathcal{E}} b^{\mathcal{E}}\),
where \(\tilde{a}^{\mathcal{E}}\) is a skew-symmetric matrix composed of the 3 elements of \(a^{\mathcal{E}}\), the vector \(\boldsymbol{a}=( \boldsymbol{\mathcal{E}} a^{\mathcal{E}})\).
2.2 Kinematics
Consider a vector \(\boldsymbol{v}\) described in two different reference frames. Let the vectrix denote the dextral set of unit vectors \(\boldsymbol{e}_{i}\) that are inertially fixed. Let the vectrix be the body-fixed dextral set of \(\boldsymbol{b}_{i}\) fixed in the coordinates of the rigid body. Then, the unitary coordinate transformation \(\boldsymbol{\mathcal{B}} = \boldsymbol{\mathcal{E}} \varTheta \) and \(\varTheta ^{\mathsf{T}}\varTheta = I\) leads to
where \(\varTheta \) represents the Direction Cosine Matrix (always unitary) and \(v^{\mathcal{E}}\), \(v^{\mathcal{B}}\) represent the components of the vector \(\boldsymbol{v}\) as viewed, respectively, in coordinate frame \(\boldsymbol{\mathcal{E}}\) and \(\boldsymbol{\mathcal{B}}\). Then \(\boldsymbol{v}\) and \(\dot{\boldsymbol{v}}\) are simply:
where from Eq. (1)
and the angular velocity of frame \(\boldsymbol{\mathcal{B}}\) relative to frame \(\boldsymbol{\mathcal{E}}\) is
3 Dynamics of a single bar
3.1 Rotational dynamics
Consider a vector \(\boldsymbol{r}\) locating the center of mass of the bar of length \(l = \|\boldsymbol{b}\|\), where \(\boldsymbol{b}\) is the vector along the bar. Let the vectrix\(\boldsymbol{\mathcal{E}}\) denote the dextral set of unit vectors \(\boldsymbol{e}_{i}\) which are inertially fixed. Let the vectrix\(\boldsymbol{\mathcal{B}}\) be the body-fixed dextral set of unit vectors \(\boldsymbol{b}_{i}\) fixed in the body of the bar, with \(\boldsymbol{b}_{3}\) pointing along the bar.
The bar vector \(\boldsymbol{b}\) of length \(l\), described in body coordinates \(\boldsymbol{\mathcal{B}}\) is:
and the time rate of change of the vector \(\boldsymbol{b}\) is
It is useful to compute \(\boldsymbol{b} \times \dot{\boldsymbol{b}}\) as
Now, using the identity
Eq. (11) becomes
For our case, . Therefore
Hence, the relationship between \(\boldsymbol{\omega }_{b}\), the angular velocity of bar \(\boldsymbol{b}\), and vectors \(\boldsymbol{b}\) and \(\dot{\boldsymbol{b}}\) (shown also in [29]) is
Using Eq. (16), the angular momentum of bar \(\boldsymbol{b}\) about its mass center is:
where \(r_{b}\) is the radius of the bar and \(J = \frac{m_{b}}{12}+\frac{m _{b}r_{b}^{2}}{4l^{2}}\). The derivative with respect to time of the angular momentum of a bar member can then be formulated in terms of \(\boldsymbol{b}\) and \(\dot{\boldsymbol{b}}\) as follows:
The time rate of change of the angular momentum vector \(\boldsymbol{h}\) is equal to the sum of torques \(\boldsymbol{\tau }\) acting on the bar member about its center of mass. The forces acting on the two opposite ends of the bar member are \(\boldsymbol{f}_{1}\) and \(\boldsymbol{f}_{2}\) as illustrated in Fig. 1. The resulting torques are described here in terms of \(\boldsymbol{b}\) as
Equation (24) can be written in any coordinates, but we choose inertial coordinates for simpler forms of final equations. This development to represent the rotational dynamics of truss elements is well known and can be checked in any standard dynamics book [33, 34]. To simplify notation hereafter we define \(b=b^{\mathcal{E}}\) where \(\boldsymbol{b} = \boldsymbol{\mathcal{B}}b^{\mathcal{B}} = \boldsymbol{\mathcal{E}}b ^{\mathcal{E}}\). Writing Eq. (24) in inertial coordinates yields
An additional constraint must be added here to ensure that the bar vector \(b\) remains constant with length \(l\). This constraint is described as follows:
Differentiating the constant length constraint of Eq. (26), a length constraint in terms of \(\ddot{b}\) is obtained:
The length constraint (Eq. (29)) and rotational dynamics (Eq. (25)), both in terms of \(\ddot{b}\) can be re-expressed in matrix form as
This is a simple linear algebra equality that can be solved for \(\ddot{b}\). One can easily verify the existence condition for the solution and the full column rank of the matrix multiplying \(\ddot{b}\). Therefore, denoting a matrix pseudoinverse by the superscript “+”, the unique solution for \(\ddot{b}\) is
We have \(\tilde{b} \tilde{b} = -l^{2} I + bb^{\mathsf{T}}\). Rearranging Eq. (34) gives the final form of the vector equations for rotational dynamics:
The final equation represents the bar rotational dynamics including influences from the length constraint. Now we must address the translational dynamics.
3.2 Translational dynamics
For a single bar in a tensegrity structure such as that illustrated in the free-body diagram of Fig. 1, the inertial position of the bar center of mass is described by \(\boldsymbol{r}\), the vector along the bar member is described by the vector \(\boldsymbol{b}\), and the sum of the internal forces from the strings and the external forces, acting on the two ends of the bar, is described by \(\boldsymbol{f_{1}}\) and \(\boldsymbol{f_{2}}\), where \(\boldsymbol{r}=\boldsymbol{\mathcal{E}} r^{\mathcal{E}}\), \(\boldsymbol{f}_{i}= \boldsymbol{\mathcal{E}} f_{i}^{\mathcal{E}}\). For simplification, we write \(r=r^{\mathcal{E}}\) and \(f_{i}=f_{i}^{ \mathcal{E}}\). We have
which can be written in inertial coordinates as
4 Matrix formulation of tensegrity dynamics
Equations (35) and (37) can be used to describe the dynamics of any given bar member in a tensegrity structure. Describing a full tensegrity structure would consequently yield \(2\beta \) vector equations for a system containing \(\beta \) bar members. The classical approach to formulate the dynamics of a multibody system is to arrange all these vectors in a single vector form [33]. However, we will assemble these equations in a matrix form to simplify the structure of the final equations.
Connectivity matrices are now introduced to relate the matrix of nodes, \(N\), to the matrix of string vectors, \(S\), and the matrix of bar vectors \(B\). The \(i\)th column of matrices \(N\), \(S\), and \(B\) are, respectively the inertial components of the vectors, \(\mathbf{n}_{i}\), \(\mathbf{s} _{i}\), and \(\mathbf{b}_{i}\). We write these as \(n_{i}\), \(s_{i}\), and \(b_{i}\). Define the string connectivity matrix by \(C_{s}^{\mathsf{T}}\), and the bar connectivity matrix by \(C_{b}^{\mathsf{T}}\). Then, by inspection of the network, labeled with bar and string vectors, one can immediately write matrices (with entries of 0, 1, −1) to satisfy the definitions \(S=NC_{s}^{\mathsf{T}}\) and \(B=NC_{b}^{\mathsf{T}}\).
By convention, we choose to name the nodes at the base of bar vectors as and we choose to name the terminal ends of the bar vectors as . Defining each bar end point as a node, a tensegrity consisting of \(n = 2\beta \) nodes leads to a \(3\times n\) node matrix, , in which each column is the inertial position of a node. Also, for a network of \(\beta \) bars, define the \(3\times \beta \) matrix .
The convention mentioned above yields . In general, \(C_{b}\) is a \(\beta \times n\) matrix in which each row describes the node connectivity of a bar member. That is, the row of \(C_{b}\) for a bar member connecting \({n}_{i}\) to \({n}_{j}\) will consist of a “\(+1\)” at the \(j\)th column, a “−1” at the \(i\)th column, and zeros elsewhere. Now, vectors locating the mass centers of the bars is defined as (\(r_{i}\) is the \(i\)th column of matrix \(R\)):
For any \(n\)-dimensional column vector, we define the “hat” operator over a vector to form a diagonal matrix from the elements of the vector. Then, the dynamic equations of the \(i\)th bar \(b_{i}\) from Eq. (35) are placed in the \(i\)th column of the matrix \(\ddot{B} \hat{J}\):
This process can be performed for the remaining three terms in Eq. (35), as summarized below. Forces acting on the endpoints of each bar are described with the force matrix \(F\), whose \(i\)th column is the total force vector acting on the \(i\)th node \(n_{i}\) from both internal (string and bar forces) and external sources. Hence, for the \(i\)th bar, the first and second terms give
where we introduce the \(\lfloor \circ \rfloor \) operator, which sets every off-diagonal element of the square matrix operand to zero. Now, the last term can be written as
Combining the four matrix expressions for the four original terms in Eq. (35) gives a full matrix expression for \(\ddot{B}\). This describes the rotational motion of every bar member in the system while including a constant length constraint.
This expression can be simplified with the following definition of \(\hat{\lambda }\):
Following the same process as that of the rotational dynamics, the translational dynamics must similarly be converted into a matrix expression. In this case, \(R\) is a \(3\times \beta \) matrix in which the \(i\)th column describes the inertial position of center of mass of the \(i\)th bar member. Using Eq. (40):
The matrix expressions for the rotational and translational dynamics of the full tensegrity system can be re-expressed as follows:
Recognizing that [30], Eq. (50) is rewritten as follows:
The definitions of the bar and center of mass connectivity matrices, \(B = N C_{b}^{\mathsf{T}}\), and \(R = N C_{r}^{\mathsf{T}}\), can be re-expressed in matrix form and substituted into Eq. (52):
Expanding this gives
The force matrix \(F\) has been described as containing the sum of forces acting on each node in the system. This can be subdivided into two elements: external forces and internal forces. Let \(w_{i}\) be the \(i\)th column of the matrix \(W\), where \(w_{i}\) is the external force acting on the node \(n_{i}\). Internal forces, caused by tension in the string members, require knowledge of string member connectivity. The string connectivity matrix \(C_{s}\) is defined as \(S = NC_{s}^{ \mathsf{T}}\), where \(S\) is the string member matrix. For a tensegrity system consisting of \(\alpha \) string members, \(S\) is of dimension \(3\times \alpha \), and \(C_{s}\) is of dimension \(\alpha \times n\). The internal node forces caused by string tensions \(T\) can be described with \(T C_{s}\).
In this work, string tension is described in terms of a “force density” \(\gamma \). The tension vector in a string can be found as \(\textbf{t}_{i} = \textbf{s}_{i} \gamma _{i}\) where \(\textbf{s}_{i}\) is the string vector or the \(i\)th column of matrix \(S\) (modeling of elastic string is given in Appendix A). Then, the matrix of string tensions \(T\) equals \(S \hat{\gamma }\), which equals \(N C_{s}^{\mathsf{T}}\hat{\gamma }\). Based on this, the internal forces acting on nodes caused by string tensions is \(N C_{s}^{\mathsf{T}} \hat{\gamma } C_{s}\). The full force matrix expression can then be written and substituted into Eq. (55):
By defining matrices \(M\), \(K\), and \(W\), a compact matrix form for the full nonlinear translational and rotational dynamics of a full tensegrity system can be written as
5 String-to-string point mass nodes
The model derived in Sect. 4 assumes massless strings. It is important to develop a method that includes string masses. This is achieved by dividing the string into several small strings and connecting them with point masses. The added point mass node will connect only to strings and no bars (string-to-string nodes). Using this approach, a string member is modeled by subdividing the original string into \(n\) connected string members with \(n-1\) connection point masses. The positions of the point masses along the string can be chosen based on the respective length of the connected strings which in turn can be chosen to match the extensional stiffness of the original string.
We describe the process of modeling string masses by denoting two types of nodes: bar nodes, which are the endpoints of bars, and string nodes, which are the locations of string-to-string connections that have a point mass associated with them. The full node matrix can consequently be split as . Here, \(N_{b}\) is a \(3\times 2\beta \) matrix in which each column is the position of a bar node \({n}_{b}\), and \(N_{s}\) is a \(3 \times \sigma \) matrix in which each column is the position of a string node \({n}_{s}\). Variables \(\beta \) and \(\sigma \) represent the number of bars and number of string nodes, respectively. Note that the bar and string nodes can be extracted from the node matrix \(N\) with the definition of two new connectivity matrices, \(C_{nb}\) and \(C_{ns}\):
where \(I_{2\beta }\) and \(I_{\sigma }\) are identity matrices of size \(2\beta \) and \(\sigma \), respectively. The matrix representing the positions of center of mass, \(R\), can similarly be broken into two components: \(R_{b}\), which describes the center of mass locations for each bar member, and \(R_{s}\), which describes the location of each string point mass:
Similarly, the expression for the bar member matrix \(B\) can be rewritten as
Note that the bar connectivity matrix remains unchanged from its original definition preceding Eq. (42). The original string connectivity matrix \(C_{s}\) must be redefined as new string members are being added to the model. Here, \(C_{s}\) is divided into two parts: the first, \(C_{sb}\), describing bar-to-string joints and the second, \(C_{ss}\), describing string-to-string joints:
The force matrix \(F\) is augmented to include both the sum of forces acting on bar nodes, \(F_{b}\), as well as string nodes, \(F_{s}\):
Now, we need to write the translational dynamics of the newly defined string nodes which are modeled as point masses. We define \(m_{si}\) as the mass of the \(i\)th string node, \(r_{si}\) as the position of that node and \(f_{si}\) as the total force acting on that node. Their translational dynamics in both vector and matrix form can simply be written as
The dynamics of the bar members (Eqs. (46), (47) and (49)) must be slightly modified to incorporate the subdivision of the force matrix \(F\) as .
Equations (69), (71), and (72) can be written in matrix form as follows:
Because the force matrix \(F\) has been defined as , the force term is rewritten in terms of \(F\) as
Using , it can also be shown that:
The previous expression allows us to rewrite Eq. (74) as follows:
Having previously defined \(B\), \(R_{b}\), and \(R_{s}\) in terms of \(N\) and connectivity matrices, the following expression can be substituted into the matrix expression for the full system dynamics:
Multiplying this out, substituting Eq. (67) for \(F\), and rearranging yields the following expression for the full system dynamics:
Following the example set in Eq. (58), a compact matrix form for the full system dynamics including string masses can be obtained with the following definitions of \(M_{s}\) and \(K_{s}\).
where substituting the value of \(F_{b}\) in Eq. (70) gives \(\hat{\lambda }\) as
6 Class-\(k\) tensegrity systems
A simple modification of the derived dynamics allows for handling of Class-\(k\) tensegrity structures (\(k\) bars connected to a node through a ball joint). Here, “Class” denotes the maximum number of bar members present at a given node in the definition of the structure topology. If there are no bar-to-bar joints, the structure is said to be of Class 1. If there is at least one node in which two bars are connected, it is said to be of Class 2, and so on.
In this model, Class-\(k\) structures (where \(k > 1\)) are handled by converting each Class-\(k\) joint into \(k\) Class-1 nodes constrained to coincide at all times with a constraint matrix and Lagrange multipliers.
The linear constraint equation is written as
where \(P\) is a \(n \times c\) and \(D\) is a \(3 \times c\) matrix specified such that constrained nodes are set equal to one another where \(c\) is the number of constraints required. For example, if nodes 1 and 2 must coincide at all times, a column of \(P\) and \(D\) would be specified such that \(NP = D\) gives \(n_{1} - n_{2} = 0\). Adding this linear constraint will introduce some constraint forces written as \(\varOmega P^{ \mathsf{T}}\) and will lead to the new dynamics:
where
and \(\varOmega \) is the \(3 \times c\) matrix of Lagrange multipliers satisfying the dynamics and constraints at all time-steps. The Lagrange multipliers required to maintain these constraints can be thought of as contact forces at the Class-\(k\) nodes [30].
6.1 Reduced-order dynamics
Adding the linear constraints into the dynamics will restrict the motion in certain dimensions, thus reducing the order of the dynamics to a span a smaller space. The dynamics equation (85) can be reduced into a smaller dimensional equation by augmenting it with the constraint equation (84). To this end, we use the singular value decomposition (SVD) of the matrix \(P\) as
where \(U\in \mathbb{R}^{n\times n}\) and \(V\in \mathbb{R}^{c\times c}\) are both unitary matrices, \(U_{1}\in \mathbb{R}^{n\times c}\) and \(U_{2}\in \mathbb{R}^{n\times (n-c)}\) are submatrices of \(U\), and \(\varSigma _{1}\in \mathbb{R}^{c\times c}\) is a diagonal matrix of positive singular values. By defining
the constraint equation (84) can be modified as
which implies
Here, \(\eta _{1}\) represents the no-motion space in transformed coordinates. Moreover, \(\eta _{2}\) will evolve according to the constrained dynamics in new coordinate system. Using Eqs. (88)–(91), the dynamics equation (85) can be rewritten as
Post-multiplying the above equation by a non-singular matrix will yield two parts, where first part gives the second order differential equation for the reduced dynamics:
with \(M_{2} = U_{2}^{\mathsf{T}}{M_{s}}U_{2}\) and \(K_{2} = U_{2}^{\mathsf{T}}{K_{s}}U_{2}\), and the second part gives an algebraic equation that is used to solve for the Lagrange multiplier:
Notice that \(K_{s}\) is also a function of \(\varOmega \) from Eqs. (86)–(87), making it a linear algebra problem. The analytical expression to solve the Lagrange multiplier (\(\varOmega \)) is given in Appendix B.
7 Examples of the implemented model
All the dynamic simulations are performed using a Matlab-based software developed using this formulation. The numerical integration package used in this software is of fourth-order Runge–Kutta type. Bar length correction was used only for class-\(k\) structure simulation. There was no significant violation (around machine precision \(10^{-16}\)) in bar length constraint during simulations of other examples. Therefore, the bar length correction algorithm was not used for those examples. It is also advisable to use the bar length correction algorithm only if necessary (Appendix C).
7.1 Example 1: influence of string subdivision on tensegrity prism dynamics
First, the dynamic simulation of a Class-1 triangular tensegrity prism with massive strings is shown in Fig. 3. To demonstrate the modeling of flexible string members with mass, each string member in the prism is subdivided into 5 members by inserting 4 string-to-string nodes (point masses) along the original string member. Initial conditions are specified to simulate the dynamics. In the absence of external forces, tensegrity prism has a known equilibrium solution of \(\gamma _{v} = \sqrt{3} \gamma _{t} = \sqrt{3} \gamma _{b}\), where \(\gamma _{v}\), \(\gamma _{t}\) and \(\gamma _{b}\) represent the force density in vertical, top and bottom string, respectively [2].
For demonstration purposes, bar masses are specified as \(m_{b} = 1~\mbox{kg}\), and point masses are specified as \(m_{s} = 0.01~\mbox{kg}\). Bar lengths, based on specified initial node positions, are \(l_{b} = 1.4142~\mbox{m}\) long and all string members are given stiffness values of \(k = 100~\mbox{N/m}\). Initial force density values are deliberately specified as \(\gamma _{t} = \gamma _{b} = \gamma _{v} = 30~\mbox{N/m}\) to induce motion.
Second, we demonstrate that when modeling the string mass, the systems dynamics converge as the number of segments used in modeling the string members increases. In this case, the string members of the prism structure are modeled with 1 to 10 string segments. Figure 4 shows the prism structure string segments modeled with 1, 5, and 10 “child” string segments.
The case in which each string member is modeled with a single string segment represents the case in which string mass is neglected. For the remaining cases, the stiffness values of the original 9 “parent” string members are converted into equivalent stiffness values for their “children” string segments. Similarly, a specified parent string mass is specified and distributed across the generated child point mass nodes. The same initial condition is applied to each case to allow direct comparison of the resulting dynamical response. Figure 5 shows the node 1 y-coordinate time histories for a number of these simulation cases. It is evident here that, as the number of string segments used increases, the dynamical response converges.
To get better insight, one can compare all cases with the final simulation case, which uses 10 string segments as per the original string member. Computing the spatial distance between node 1 in each case vs. node 1 in the final case at each time step gives a time history representing the discrepancy between the given and final cases. The square sum of this spatial discrepancy over the simulation time-span i.e. the \(\mathcal{L}_{2}\) norm of the spatial distance between the node 1 position with respect to the node 1 position in the final case, can then be used to quantify the total error between the given and final cases. The difference in the dynamic response decreases rapidly as the number of string segments is increased. For this example, the error was found to be less than 0.5% for the last 9th to 10th division.
7.2 Example 2: dynamics of a D-bar structure with one node inertially fixed
This example will demonstrate the dynamics of a Class-\(k\) structure. The structure we simulate here is a D-bar structure. A complexity-1 D-bar structure consists of 4 compressive members connected in a diamond shape with 2 tensile members along the diagonal [2]. As the maximum number of bars connected at any node is 2, it is a “Class 2” structure.
Here, we simulate the dynamics of the structure with one node (shown in black) fixed to the ground i.e. inertial position of the node remains constant. For demonstration purposes, each bar is \(l_{b} = 1~\mbox{m}\) long and has a mass of \(m_{b} = 1~\mbox{kg}\). Both string members are given a stiffness value of \(k = 100~\mbox{N/m}\) and different prestress (force density) to induce motion. Figure 6 shows three time-lapse images of the simulation. Simulation results show that both, fixed position constraint and pin joint constraints (bar to bar connection) are satisfied all the time (up to machine precision) as shown in Fig. 7b. Figure 7a shows that the length of all the bars also remains constant throughout the simulation verifying the efficacy of the results.
7.3 Example 3: dynamics of a flexible membrane having only tensile members
In this example, we demonstrate the dynamics of a “Class 0” structure consisting solely of string members—a cylindrical string mesh membrane. The configuration of the strings in this membrane has been chosen to be derived from a double helix tensegrity (DHT) structure with all the bars removed. Figure 8a shows the typical structure of this configuration. We define the complexity of the structure by \(p\) and \(q\) where \(p\) is defined as the number of nodes on the circular ring and \(q\) is the number of circular rings in longitudinal direction [35]. It can be better approximated to a continuous membrane by increasing the complexity of the structure as shown in Fig. 8b.
To demonstrate the dynamics of this membrane, we start from the equilibrium position of the structure with 1 atm pressure difference from inside to the outside of the cylinder. The stiffness in the string was calculated such that the length ratio (unstretched string length to current string length) is 0.975 at the equilibrium position. The mass of individual string has been used from the minimum mass calculation, required to take 1 atmospheric pressure. The material properties used for this simulation are of UHMWPE (spectra). Damping is also added in the strings to get the \(\eta \) (damping coefficient) value of 0.1. Appendix A shows the formulation to add damping in the strings. Figures 9a and 9b show the radial motion of the center nodes (shown as blue dots) of two membranes (low and high complexity) in the presence of 5% instantaneous change in pressure. Notice the attenuation in the vibration response along the radial direction, depicting the effect of damping included in the dynamics. No motion in the vertical direction was observed as the membrane will elongate equally in the upward and downward direction with respect to the center node.
7.4 Example 4: dynamic simulation of a six bars tensegrity ball as planetary lander
The example demonstrates the capability of the formulation to perform the dynamic simulation with inputs from the external environment. A dynamic simulation result was shown when a tensegrity lander [8] with 6 bars and 24 strings was dropped from a height of 3.5 m. For this simulation, the ground was modeled as a spring–damper system of stiffness \(k_{g} = 10^{4}~\mbox{N/m}\) and damping \(c_{g} = 10~\mbox{N-s/m}\). An initial prestress value of \(\gamma = 1000~\mbox{N/m}\) was used for all the strings which result in self-equilibrium for the structure. The mass of each bar was assumed to be \(m_{b} = 1~\mbox{kg}\) and string mass was assumed to be \(m_{s} = 0.1~\mbox{kg}\). The stiffness value of each string was assumed to be \(k = 5000~\mbox{N/m}\) with a damping coefficient value \(c = 10~\mbox{N-s/m}\).
Figure 10 shows the time-lapse images of the lander as it hits the ground. Figure 11a shows the vertical distance of the center of mass of the lander from the ground. Notice that, as we model both ground and strings with some damping, the vertical distance keeps decreasing. Figure 11b shows the error in the bar length of one of the bars during the simulation.
8 Conclusions
This paper develops the nonlinear dynamic models of any multibody system composed of a network of bars in compression and cables in tension. This is accomplished by having any connection between bars or strings that behave mathematically as frictionless ball joints. The capability to have string-to-string connections allow the approximations of membranes or nets. Such surfaces allow a mathematical treatment to integrate advantages of tensegrity and origami structures. The capability to have bar-to-bar connections removes previous criticism of tensegrity as “only soft structures”. The approach to Class-\(k\) tensegrity (bar-to-bar connections) is to add Lagrange multipliers to accommodate the constraint forces due to bar-to-bar connections, and then reduce the dynamic model by using the constraint equation. The Lagrange multipliers appear linearly and are computed from a linear algebra problem. Writing the dynamics in non-minimal coordinates avoids the use of transcendental functions, providing a very simple second order matrix differential equation. The nonlinear dynamics is linear in control variables (force densities in the strings), which allows control laws to be written independently of the material properties of the strings. A bar length correction algorithm is also provided to satisfy the bar length constraints at both zero and first-order derivative. The algorithm should be used only if necessary.
References
VanderVoort, R.J., Singh, R.P., Likins, P.W.: Dynamics of flexible bodies in tree topology—a computer oriented approach. J. Guid. Control Dyn. 8, 584–590 (1985)
Skelton, R.E., de Oliveira, M.: Tensegrity Systems. Springer, Berlin (2009)
Fuller, R.B., Applewhite, E.J., Loeb, A.L.: Synergetics: Explorations in the Geometry of Thinking. Macmillan, New York (1975)
Lalvani, H.: Origins of tensegrity: views of Emmerich, Fuller and Snelson. Int. J. Space Struct. 11(1–2), 27 (1996)
Skelton, R.E., de Oliveira, M.C.: Optimal complexity of deployable compressive structures. J. Franklin Inst. 347(1), 228–256 (2010)
Boz, U., Goyal, R., Skelton, R.E.: Actuators and sensors based on tensegrity D-bar structures. Front. Astron. Space Sci. 5, 41 (2018)
Karnan, H., Goyal, R., Majji, M., Skelton, R.E., Singla, P.: Visual feedback control of tensegrity robotic systems. In: 2017 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), pp. 2048–2053 (2017)
SunSpiral, V., Gorospe, G., Bruce, J., Iscen, A., Korbel, G., Milam, S., Agogino, A., Atkinson, D.: Tensegrity based probes for planetary exploration: entry, descent and landing (EDL) and surface mobility analysis. International Journal of Planetary Probes 7 (2013)
Rimoli, J.J.: On the impact tolerance of tensegrity-based planetary landers. In: 57th AIAA/ASCE/AHS/ASC Structures, Structural Dynamics, and Materials Conference, p. 1511 (2016)
Goyal, R., Peraza Hernandez, E.A., Skelton, R.E.: Analytical study of tensegrity lattices for mass-efficient mechanical energy absorption. International Journal of Space Structures (2018)
Caluwaerts, K., Despraz, J., Işçen, A., Sabelhaus, A.P., Bruce, J., Schrauwen, B., SunSpiral, V.: Design and control of compliant tensegrity robots through simulation and hardware validation. J. R. Soc. Interface 11(98), 20140520 (2014)
Djouadi, S., Motro, R., Pons, J.C., Crosnier, B.: Active control of tensegrity systems. J. Aerosp. Eng. 11(2), 37–44 (1998)
Paul, C., Valero-Cuevas, F.J., Lipson, H.: Design and control of tensegrity robots for locomotion. IEEE Trans. Robot. 22(5), 944–957 (2006)
Carpentieri, G., Skelton, R.E., Fraternali, F.: Minimum mass and optimal complexity of planar tensegrity bridges. Int. J. Space Struct. 30(3–4), 221–243 (2015)
Carpentieri, G., Skelton, R.E., Fraternali, F.: A minimal mass deployable structure for solar energy harvesting on water canals. Struct. Multidiscip. Optim. 55(2), 449–458 (2017)
Tibert, A.G., Pellegrino, S.: Deployable tensegrity mast. In: 44th AIAA/ASME/ASCE/AHS/ASC, Structures, Structural Dynamics and Materials Conference and Exhibit, Norfolk, VA, USA, p. 1978 (2003)
Skelton, R., Longman, A.: Growth capable tensegrity structures as an enabler of space colonization. In: AIAA Space 2014 Conference and Exposition, p. 4370 (2014)
Goyal, R., Bryant, T., Majji, M., Skelton, R.E., Longman, A.: Design and control of growth adaptable artificial gravity space habitat. In: AIAA SPACE and Astronautics Forum and Exposition, p. 5141 (2017)
Ingber, D.E.: The architecture of life. Sci. Am. 278(1), 48–57 (1998)
De Oliveira, M., Vera, C., Valdez, P., Sharma, Y., Skelton, R., Sung, L.A.: Nanomechanics of multiple units in the erythrocyte membrane skeletal network. Ann. Biomed. Eng. 38(9), 2956–2967 (2010)
Vera, C., Skelton, R., Bossens, F., Sung, L.A.: 3-D nanomechanics of an erythrocyte junctional complex in equibiaxial and anisotropic deformations. Ann. Biomed. Eng. 33(10), 1387–1404 (2005)
Murakami, H.: Static and dynamic analyses of tensegrity structures. Part 1. Nonlinear equations of motion. Int. J. Solids Struct. 38(20), 3599–3613 (2001)
Murakami, H.: Static and dynamic analyses of tensegrity structures. Part II. Quasi-static analysis. Int. J. Solids Struct. 38(20), 3615–3629 (2001)
Sultan, C., Corless, M., Skelton, R.E.: Linear dynamics of tensegrity structures. Eng. Struct. 24(6), 671–685 (2002)
Masic, M., Skelton, R.E.: Selection of prestress for optimal dynamic/control performance of tensegrity structures. Int. J. Solids Struct. 43(7), 2110–2125 (2006)
Ali, N.B.H., Smith, I.F.C.: Dynamic behavior and vibration control of a tensegrity structure. Int. J. Solids Struct. 47, 1285–1296 (2010)
Tan, G.E.B., Pellegrino, S.: Nonlinear vibration of cable-stiffened pantographic deployable structures. J. Sound Vib. 314(3), 783–802 (2008)
Skelton, R.: Dynamics and control of tensegrity systems. In: IUTAM Symposium on Vibration Control of Nonlinear Mechanisms and Structures, pp. 309–318. Springer, Berlin (2005)
Nagase, K., Skelton, R.E.: Network and vector forms of tensegrity system dynamics. Mech. Res. Commun. 59, 14–25 (2014)
Cheong, J., Skelton, R.E.: Nonminimal dynamics of general class \(k\) tensegrity systems. Int. J. Struct. Stab. Dyn. 15(2), 1450042 (2015). 22 pages
Gibbs, J.W.: In: Elements of Vector Analysis, p. 67 (1884)
Hughes, P.C.: Spacecraft Attitude Dynamics. Wiley & Sons, New York (1986)
Shabana, A.A.: Dynamics of Multibody Systems. Cambridge University Press, Cambridge (2005)
Hibbeler, R.C.: Engineering Mechanics: Statics and Dynamics, 14/e. Prentice Hall, Upper Saddle River (2012)
Nagase, K., Skelton, R.E.: Double-helix tensegrity structures. AIAA J. 53(4), 847–862 (2014)
Acknowledgement
The authors thank Mr. James V. Henrickson for assisting in writing the software for the dynamic simulations.
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher’s Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Appendices
Appendix A: Stiffness and damping in strings
Tension in the strings is produced by stretching them beyond their rest length. Let the rest length of the \(i\)th string be denoted by \(\rho _{i}\), extensional stiffness by \(k_{i}\), damping constant by \(c_{i}\), and string vector by \(s_{i}\). Assuming that strings follow Hooke’s law and the viscous friction damping model, the tension in a string is written as
Note that if \(\rho _{i} > \|s_{i}\|\), although above equation gives a negative value, tension in the string should be substituted to zero as a string can never push along its length. Similarly, the final value of the tension \(t_{i}\) or force density \(\gamma _{i}\) can also never be negative for any string. Now, we write these equations in matrix form as
where \(i\)th column in matrix \(T\) represents the vector of string tension in the \(i\)th string. This equation can again be written as
where \(S_{0} = S\lfloor S^{\mathsf{T}}S\rfloor ^{-\frac{1}{2}} \hat{\rho }\) represents the matrix containing the rest length vectors. Therefore, Eqs. (99)–(101) provide the required tension model for elastic strings used in the dynamic simulation of tensegrity systems.
Appendix B: Analytical solution for Lagrange multiplier
The aim here is to write an analytical solution for the Lagrange multiplier \(\varOmega \). Notice that \(\varOmega \) appears linearly in two terms in Eq. (97). We solve this by substituting \(K_{s}\) and \(\hat{\lambda }\) to write the equation in terms of \(\varOmega \) and known variables only. Then we combine all the coefficients of \(\varOmega \) to the left-hand side and all the known variables on the right-hand side to write it in a simple linear algebra problem.
Lemma 1
The Lagrange multiplier that satisfies Eq. (97) can be computed as
where\(\omega _{i}\)is the\(i\)th column of\(\varOmega \), \(\mathcal{C}=P ^{\mathsf{T}}C_{nb}^{\mathsf{T}}C_{b}^{\mathsf{T}}\), \(\mathcal{D}=C _{b} C_{nb}M_{s}^{-1}U_{1}\), \(\mathcal{E}=P^{\mathsf{T}}M_{s}^{-1}U _{1}\), and\(\mathcal{A} = -S\hat{\gamma }C_{s}M_{s}^{-1}U_{1}+B\lfloor \frac{1}{2}\hat{l}^{-2}B^{\mathsf{T}}(S\hat{\gamma }C_{s}-W)C_{nb} ^{\mathsf{T}}C_{b}^{\mathsf{T}}-\hat{l}^{-2}\hat{J}\dot{B}^{ \mathsf{T}}\dot{B}\rfloor C_{b}C_{nb}M_{s}^{-1}U_{1}+WM_{s}^{-1}U_{1} \in \mathbb{R}^{3\times c}\).
Proof
Let us start by substituting for \(K_{s}\) from Eq. (86) in Eq. (97):
Now, we substitute for \(C_{nb}= [I\ \ 0]\) and \(C_{s} = [C_{sb} \ \ C_{ss}]\) from Eq. (61) and Eq. (66), respectively:
Further substituting \(\hat{\lambda }\) from Eq. (87) here gives
where \(\mathcal{C}=P^{\mathsf{T}}C_{nb}^{\mathsf{T}}C_{b}^{\mathsf{T}}\), \(\mathcal{D}=C_{b} C_{nb} M_{s}^{-1}U_{1}\), \(\mathcal{E}=P^{\mathsf{T}}M_{s}^{-1}U_{1}\), and . Notice that Eq. (108) is only written in terms of \(\varOmega \) and known variables. Now, we combine the coefficients of \(\varOmega \) by first breaking it as as
Therefore, the element on the \(m\)th row and \(n\)th column of the matrix \(\mathcal{G}{=}\frac{1}{2}B\lfloor \hat{l}^{-2}B^{\mathsf{T}} \varOmega \mathcal{C}\rfloor \mathcal{D}\), for \(m\in \{1,2,3\}\) and \(n\in \{1,2,\ldots ,c\}\), is equal to
The second term in Eq. (108) is also written in terms of the Lagrange multiplier as
Similarly, the element on the \(m\)th row and \(n\)th column of this matrix is equal to
Substituting the \(m,n\)th element from Eq. (110) and Eq. (112) into Eq. (108) gives
This can be rearranged to shape a matrix equation:
The above equation represents \(3c\) equations for \(3c\) unknowns and taking the inverse will give us Eq. (103). □
Appendix C: Bar length correction algorithm
In order to compensate the error accumulated during the integration of dynamics equations, the vector of each rod \(b\), the center of mass vector \(r\) and their time derivatives \(\dot{b}\) and \(\dot{r}\) have to be modified. In the following section, first we will correct the bar vector \(b\) and its derivative \(\dot{b}\) in such a way that the resulting rod vector preserves its length and its velocity vector is orthogonal to it. After correcting \(b\) and \(\dot{b}\), we will find \(r\) and \(\dot{r}\) such that the Class-\(k\) constraints are satisfied.
3.1 C.1 Class 1 bar length correction
Let us denote the corrupted value of bar vector and its derivative after integration as \(\bar{b}\) and \(\dot{\bar{b}}\), respectively. Let the additive vectors \(p\) and \(r\) be added to \(\bar{b}\) and \(\dot{\bar{b}}\) in such a way that the resulting rod vector preserves its length and its velocity vector is orthogonal to it. Among infinite pairs satisfying the constraints above, one reasonable choice can be selected by the following statement.
Theorem 1
For any given\(\bar{b}\)and\(\dot{\bar{b}}\), the corrective vectors\(p\)and\(r\)minimizing:
subject to constraints\(\|\bar{b}+ p\|=l\)and\((\bar{b}+ p)^{ \mathsf{T}}(\dot{\bar{b}}+ r)=0\)are calculated as
where\(v=[xI+\dot{\bar{b}}\dot{\bar{b}}^{\mathsf{T}}]^{-1}ql\bar{b}\), and\(x\)is a real root of the following polynomial:
and
Proof
The corrected rod vector and its corrected time derivative satisfy
Note that Eqs. (124) and (125) implied that
for any arbitrary \(z\), since \((v^{\mathsf{T}})^{+}=v\) and \(v^{ \mathsf{T}}V_{v}=0\), where \(V_{v}\) is the left null space of \(v\). Now, one can solve the minimization problem of Eq. (119), with \(p\) and \(r\) given by Eq. (126) and Eq. (127), subject to constraint \(v^{\mathsf{T}}v=1\):
Since \(V_{v}^{\mathsf{T}}V_{v}=I\). Note that Eq. (129) is minimized with respect to \(z\) when \(z=0\). Moreover, in order to minimize Eq. (129) with respect to \(v\), one can write
where \(x=ql^{2}+\lambda \). Using the matrix equivalence \((A+BCD)^{-1}=A ^{-1}-A^{-1}B(C^{-1}+DA^{-1}B)^{-1}DA^{-1}\) to express \(v\) in terms of \(x\) yields
Finally, substituting Eq. (133) in \(v^{\mathsf{T}}v=1\) and after some algebraic manipulations, one can obtain the polynomial equation (121). Therefore, any real root of this polynomial can be substituted in Eq. (133) to generate \(v\), which in turn gives the pair \(p\) and \(r\) using Eq. (120). □
3.2 C.2 Class-\(k\) bar length correction
From the above polynomial algorithm, we get \(b\) and \(\dot{b}\) which can be arranged in matrix form to give \(B\) and \(\dot{B}\). Now, we should update \(R\) and \(\dot{R}\) such that the Class-\(k\) constraints are satisfied.
Theorem 2
For any given\(B\), \(\dot{B}\)and corrupted matrix of center of mass vectors and its derivatives, \(\bar{R}\)and\(\dot{\bar{R}}\), we can find corrected\(R\)and\(\dot{R}\)using
where\(NP = D\)comes from Class-\(k\)constraints and\(U_{1}, U_{2}, \varSigma , V_{1}\)and\(V_{2}\)come from the SVD of matrix\(C_{r} P\)as
Proof
From our dynamics derivation, we define
We use the class-\(k\) constraint equation
The singular value decomposition of matrix \((C_{r} P)\) can be written as
Using the SVD of matrix \(C_{r} P\), the existence condition can be written as
where \(V_{2}\) represents the right null space of matrix \(C_{r} P\). Moreover, all the solutions can be written as
where \(U_{2}\) represents the left null space of matrix \(C_{r} P\) and \(Z_{2}\) is an arbitrary matrix.
We minimize the 2 norm of difference between previous center of position matrix (\(\bar{R}\)) and updated center of position matrix (\(R\)) i.e. \(\|R-\bar{R}\|_{2}\), to find the arbitrary matrix \(Z_{2}\):
Using the known result that \(X = A^{+}CB^{+}\) minimizes the \(\| AXB-C\|\), the arbitrary matrix \(Z_{2}\) can be found:
as \(U_{1}^{\mathsf{T}}U_{2}=0\). Putting it back in Eq. (145), we get Eq. (134) and similar procedure can be used to get Eq. (135) using \(\dot{N}P = 0\). □
Finally, with updated \(B\) and \(\dot{B}\) from Sect. 1 and updated \(R\) and \(\dot{R}\) from the above section, we get
Rights and permissions
About this article
Cite this article
Goyal, R., Skelton, R.E. Tensegrity system dynamics with rigid bars and massive strings. Multibody Syst Dyn 46, 203–228 (2019). https://doi.org/10.1007/s11044-019-09666-4
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11044-019-09666-4