Department of Control and Instrumentation Engineering, Korea University, Sejong-City 339-700, South Korea
Department of Mechanical and Aerospace Engineering, University of California, San Diego, CA 92122, USA
a r t i c l e
i n f o
Article history:
Received 31 May 2013
Received in revised form 9 January 2014
Accepted 28 January 2014
Available online 10 February 2014
a b s t r a c t
This paper provides a numerical correction algorithm for implementation of the dynamics of tensegrity systems described by non-minimal coordinates. This correction algorithm corrects any numerical
error that would violate the fixed-length bar constraints. A recursive form of the correction algorithm is
proposed, and simulation results support the validity of the proposed scheme.
2014 Elsevier Ltd. All rights reserved.
Keywords:
Tensegrity
Numerical correction
Dynamics
Non-minimal coordinates
Constraints
1. Introduction
The lack of efficient dynamic models hindered the acceptance
of tensegrity systems in engineering applications. During the last
decade both minimal and non-minimal dynamics models have
been proposed. The advantage of minimal realizations is that the
smallest number of variables is computed (generalized coordinates). The disadvantage of minimal realizations is the complexity
of the structure of the equations, requiring many transcendental
functions to be computed at every time step, where the mass
matrix is nonlinear and must be inverted at every computational
step.
Motro et al. (1986) performed experimental studies on the
dynamics of a simple tensegrity with 3 bars and 9 cables. Sultan
(1999) derived a nonlinear dynamics of tensegrity systems using a
minimal set of coordinates. Oppenheim and Williams (2001) investigated the vibratory behavior by geometric stiffness and damping
for a simple 3-bar tensegrity in an analytic way. Murakami (2001)
derived minimal nonlinear dynamics of tensegrity, analyzing initial
prestress and modal behavior.
Non-minimal coordinate approaches are more recent, e.g., by
Skelton (2005, 2010). The advantage of non-minimal approaches
is the simpler structure of the equations, leading to more exact
computations via a proper method of implementation to correct
47
n6
w5
s1
n3 , n2
n5
b2
n4
w3
s2
w2
w6
b1
n1
(1)
(5)
R2nc
R2(2nc )
where U
U1
and U 2
are defined
from the singular value decomposition (SVD) over P such that
T
P = UV = [U 1 U 2 ]
1
0
[ V T ],
(6)
NP = NUV = [$1 $2 ]
1
0
[ V T ] = D,
(7)
yields
1
$1 = DV 1 ; $ 1 = 0;
and $ 1 = 0.
(8)
&,
& + $2 K
&=W
$ 2 M
(9)
& ! U T2 MU 2 ,
M
& ! U T2 KU 2 ,
K
& ! W U 2 $1 U T1 KU 2 .
and W
Along with above, the condition in (8) produces an additional algebraic equation:
T
$1 U T1 KM1 U 1 + $2 U T2 KM1 U 1 = W M1 U 1 + !V 1 U T1 M1 U 1 ,
(10)
(2)
otherwise
||soi ||
where
b,
s C Tb #C
and K := C Ts "C
o
" ||si || ||si || if||s || > ||so ||
i
i
i
||s
||
!i =
i = 1, 2, . . .,
i
R3nc
R22 ,
This section briefly introduces the dynamics of general (classk) tensegrity systems, expressed in a matrix differential equation,
using non-minimal coordinates. Readers refer to Skelton (2010) for
the details. Throughout this paper, the following assumptions on
the bars and cables are made: (i) bars are uniform in their cross
sections, (ii) the moment of inertia about the bar axis is negligible
(thin-bar assumption), and (iii) cables are uniform and massless.
The general form of dynamics for tensegrity systems with bars
and cables, as depicted in Fig. 1, can be written by the following
form:
NM
+ NK = W + !P T ,
R2nc
$ = [$1 $2 ] ! NU = [NU 1 NU 2 ],
(4)
NP = D,
1 T
1
b + C Tr mC
r
C mC
12 b
4
(3)
M :=
1 2
T
B B&,
l m
12
where % & denotes the diagonal operator which collects only the
diagonal part, l = diag[l1 , l2 , . . ., l ] is the bar-length matrix where
w1
w4
s W !P T )C Tb
BT (S "C
(11)
Ultimately, (9) and (11) form a matrix differential algebraic equation (DAE) that represents the reduced dynamics of the general
48
(13)
(14)
$2 = (li hi bi )+
+ Z i (I 2nc i +
)
i
i
1
(15)
where +
! (Ti i ) Ti is the MoorePenrose inverse of i , hi R3
i
is a unit vector, and Z i R3(2nc ) is arbitrary. We take that
hi := bi /||bi ||,
(0)
(0)
where $2
2
T
b i bi + b i b i = 0 (second-order form), i = 1, 2, . . ., .
(12)
corrected through the length constraint of the first bar. From (15),
(0)
$2 is
(0)
$2 = (l1 h1 b1 )+
+ Z1H1,
1
(16)
(0)
(0)
(1)
(1)
$2 = $2 + $2 = $2 + (l1 h1 b1 )+
+ Z 1 H 1 = $2 + $2 , (17)
1
where
(1)
(0)
$2 := $2 + (l1 h1 b1 )+
1
(1)
and $2 := Z 1 H 1 .
By plugging (17) into the length constraint of the second bar in (13),
we obtain
T
(18)
(1)
Z 1 = (l2 h2 b2 )('2 ) + Z 2 H 2 ,
(19)
(I 2nc '2 ('2 )+ ).
(1)
(2)
(20)
$2 = $2 + (l2 h2 b2 )('2 )+ H 1 + Z 2 H 2 H 1 = $2 + $2 ,
(2)
(1)
(2)
Z 1 = (l h b )(' ) + Z H ,
where
(bi + $2 i ) (bi + $2 i ) =
(0)
$2 = $2 + $2
from which the first term in the right side of (15) becomes the
minimum-norm correction to yield the true length. The second
term in the right side of (15), i.e., the left null-space projection of
i , will work as the correction term to satisfy the length constraints
of the rest of bars.
To recursively carry out the bar length correction, we intro(i)
duce superscript (i) as $2 , denoting the corrected result of $2
after imposing the length constraints from the first i bars. Prior
(0)
to any correction, it is that $2 := $2 . Thus, we can write that
h = b /||b ||,
' (' )+ ).
Note that
finally obtain
(1)
$2 = $2
(21)
' ! ($i=1 H i ) ,
1
$i=1 H i
and
H = (I 2nc
! H 1 H 2 . . .H 2 H 1 . From this, we
1
()
()
where
()
(1)
$2 := $2
()
(23)
49
implying the orthogonality between a bar-vector and its barvelocity. However, the orthogonality is easily violated during the
numerical computation. Assuming that the bar-vector, bi , is errorfree after the previous length correction, the violation of the
orthogonality is entirely attributed to the incorrect bar-velocity,
b , which must be corrected.
i
So, let us define the required correction for the ith bar-velocity,
b i ! b i b i , satisfying
bTi (b i + b i ) = 0,
(24)
+
i
+ Y i (I 2nc i +
),
i
(25)
2
(0)
$ 2
2
(0)
+ $ 2 .
From
$ 2 =
b1 bT1 b 1
l12
+
+ Y 1H1,
1
(26)
where H 1 = (I 2nc 1 +
) is defined in (16). (Note that H i , i = 1, 2,
1
. . ., , in this subsection are the same as those defined previously.)
Then,
(0)
(0)
(0)
$ 2 = $ 2 + $ 2 = $ 2
b1 bT1 b 1
l12
(1)
(1)
+
+ Y 1 H 1 = $ 2 + $ 2 ,
1
(27)
where
(1)
(0)
b1 bT1 b 1 +
1
$ 2 := $ 2
l12
(1)
and $ 2 := Y 1 H 1 .
For the second bar to meet the orthogonality constraint, the needed
minimal correction of bar-velocity is
(1)
b 2 = $ 2 2 = Y 1 '2 =
b2 bT2 b 2
l22
(1)
where '2 = H 1 2 and b 2 = $ 2 2 . (Note that 'i , i = 2, 3, . . ., , in
this subsection are the same as those previously defined.) Thus,
Y1 =
b2 bT2 b 2
l22
('2 ) + Y 2 H 2 ,
(28)
where
(2)
(1)
b2 bT2 b 2 ' +
(2 ) H 1 ,
$ 2 := $ 2
l22
b bT b
l2
(1)
where b = $ 2
. Therefore,
b bT b
l2
(' ) + Y H .
(30)
+
bi bTi b i
b i = (bTi ) bTi b i =
.
li2
$ 2 =
b = Y 1 ' =
Y 1 =
bi bTi b i
By continuing the same procedure, we arrive at the required correction for the last bar (i = ) as
(2)
$ 2 := Y 2 H 2 H 1 .
(1)
(1)
(1)
$ 2 = $ 2
+ $ 2
= $ 2
b bT b
l2
(' ) ($i=1 H i )
()
()
+ Y ($i=1 H i ) = $ 2 + $ 2 ,
(31)
where
()
(1)
$ 2 := $ 2
b bT b
l2
(' ) $i=1 H i
()
and $ 2 := Y $i=1 H i .
the velocities, like the procedure to correct the positions, turns out
to be the successive GramSchmidt orthogonal projections such
that any correction of velocity occurs in the orthogonal direction to
the previous correction so that it does not affect the previous result.
4. Numerical study
Numerical examples in this section demonstrate the validity and
efficacy of the proposed numerical correction scheme. The tensegrity systems used in the numerical study were two-stage tensegrity
prism and icosahedron whose bottoms were fixed to the ground,
as shown in Fig. 2. These were the initial configurations under nonzero pretensions.
The first tensegrity model, a two-stage prism, belongs to class
2 tensegrity, having common nodes of, at most, two rigid bars. We
assumed that the masses of bars are identically to be m = 1[kg] and
that the stiffness coefficient in the cable is uniform
as " = 500[N/m].
The height of each stage was set to be 1/2 + 3/6[m], and three
nodes in each horizontal face formed an equilateral triangle with
unity side
length. This corresponded to the length of each bar equal
to (1 + 3)/2[m]. Once we defined the connectivity and constraint
matrices of the system ( C s , C b , P, etc.), it became straightforward to formulate the reduced dynamic Eq. (9) with algebraic
constraint (11). Using the proposed dynamics formulation with
physical parameters, we obtained the simulated response under the
sinusoidal excitation, sin(%t)[ 1, 0, 0]T [N], applied on each node
at the top face. We applied the numerical correction algorithm during the simulation. The simulation was implemented using Matlab
software (MathWorks, Inc., Natick, MA) with time step of 0.001[s].
Fig. 3 shows the responses of node n4 and n8 and tensions
in s4 and s13 . In the responses of nodes, the low frequency component came from the external sinusoidal load whereas the high
frequency component seemed to be due to the natural frequency
(about 10 Hz) at the current configuration. Tensions at t = 0[s] did
not start from zero because of the pretensions. To verify the correctness of our simulation, the same dynamics simulation was carried
out by using a commercial package, ADAMS (MSC Software, Newport Beach, CA), and the results were overlapped with those from
ours. Fig. 4 illustrates how accurately the constraints (the length
and orthogonality requirements) were preserved by the proposed
50
s10
s11
s12
n9
n7
b6
s1
b5
b4
n5
s5
s6
z
s7
s8
b2
b1
s5
s13
s9
n4
b3
n2
s1
s2
s3
n1
n3
b4
s7
s14
s2
n5
s15
n9
b 5 s9
s3
s18
n 10 b 2
s20
s8
s23
n 11
n6
s4
s6
n1
s15
s4
n4
n2
s14
s13
n8
s24
b1
n 12 s22
b3
s19
n6
s10
n3
s16
b6
s11
n7
s21
s12
s17
n8
Origin
Fig. 2. Tensegrity systems. (a) tensegrity prism (class 2); (b) tensegrity icosahedron (class 1).
0.08
0.09
2
3
Time [s]
Proposed
ADAMS
0.58
0.575
2
3
Time [s]
1.62
1.6
2
3
Time [s]
2
3
Time [s]
2
3
Time [s]
30
2
3
Time [s]
Elongation [mm]
25
Proposed
ADAMS
20
Elongation [mm]
15
10
Tension [N]
10
0.94
0
Proposed
ADAMS
15
1.56
25
20
1.58
0.57
Proposed
ADAMS
0.96
0.77
Zcoordinate [m]
Ycoordinate [m]
E 0.585
Proposed
ADAMS
0.98
0.78
1.04
1.02
0.8
0.79
0.29
0.285
Proposed
ADAMS
0.81
Xcoordinate [m]
Ycoordinate [m]
0.295
0.07
Proposed
ADAMS
Xcoordinate [m]
Proposed
ADAMS
Zcoordinate [m]
A 0.06
2
3
Time [s]
Tension [N]
0
0
2
3
Time [s]
Fig. 3. Simulation results of the tensegrity prism. Results from the proposed numerical approach and ADAMS package are compared. (a) n4,x ; (b) n4,y ; (c) n4,z ; (d) n8,x ; (e) n8,y ;
(f) n8,z ; (g) || t 4 || and ||s4 || |so4 ||; (h) || t 13 and ||s13 || |so13 ||.
divergence occurred (Fig. 5(c) and (d)), but then they were very
much separated afterward. From these results, we could verify
that the proposed numerical correction algorithm plays an important role in implementing the non-minimal dynamics of tensegrity
systems.
The second example of tensegrity system was an icosaherdon
in Fig. 6(b). Here, the length and mass of each bar were 1[m] and
1[kg], respectively, and the stiffness coefficient in each cable was
" = 500[N/m], same as previous. Since the non-minimal dynamics
16
16
x 10
Length [m]
Length [m]
4
2
0
4
1
2
3
Time [s]
6
0
x 10
2
17
x 10
Orthogonality
2
3
Time [s]
16
x 10
0.5
0
0.5
4
1
Orthogonality
2
3
Time [s]
1
0
2
3
Time [s]
Fig. 4. Preservation of constraints via numerical correction algorithm. (a) length error at b2 ; (b) length error at t 5 ; (c) orthogonality b2 b 2 ; (d) orthogonality b5 b 5 .
T
51
15
Corrected
Uncorrected
2
1
0
4
6
Time [s]
2
0
10
D 1.5
Corrected
Uncorrected
0.1
0.05
4
6
Time [s]
0.1
0
10
0.5
0.05
2
0
0.2
0.15
Zcoordinate [m]
x 10
3
Xcoordinate [m]
Corrected
Uncorrected
Orthogonality
A2
4
6
Time [s]
10
Corrected
Uncorrected
4
6
Time [s]
10
Fig. 5. Comparison of responses with and without numerical correction algorithm. (a) length error at b2 (b) orthogonality b5 b 5 (c) n4,x (d) n8,x .
T
0.45
2
3
Time [s]
0.1
Zcoordinate [m]
1
0.892
2
3
Time [s]
0.89
0
0.25
0.25
0.25
2
3
Time [s]
2
3
Time [s]
9
8
7
6
2
3
Time [s]
10
Elongation [mm]
Proposed
ADMAS
Tension [N]
5
4
0
0.25
0
H 11
10
0.894
Proposed
ADMAS
0.25
G 11
Proposed
ADMAS
0.896
0.115
0.125
0
0.9
0.898
0.11
0.12
2
3
Time [s]
Proposed
ADMAS
0.25
0.89
1
0.25
0.435
0
0.9
0.895
0.44
Proposed
ADMAS
D
Proposed
ADMAS
Xcoordinate [m]
0.46
0.445
0.105
Ycoordinate [m]
Proposed
ADMAS
0.455
4
0
0.465
Zcoordinate [m]
x 10
Ycoordinate [m]
Xcoordinate [m]
2
3
Time [s]
9
8
7
6
Elongation [mm]
Proposed
ADMAS
Tension [N]
5
4
0
2
3
Time [s]
Fig. 6. Simulation results of the tensegrity icosahedron. Results from the proposed numerical approach and ADAMS package are compared. (a) n2,x ; (b) n2,y ; (c) n2,z ; (d) n5,x ;
(e) n5,y ; (f) n5,z ; (g) || t 1 || and ||s1 || |so1 ||; (h) || t 13 and ||s13 || |so13 ||.
5. Concluding remarks
In this paper, we proposed a numerical correction algorithm
for implementing the dynamics of tensegrity systems described
by non-minimal coordinates. The proposed algorithm computes
and compensates for the exact amount of numerical computational
errors that cause the violation of the bar-length constraints, ensuring a correct computation of dynamics. A recursive form of error
compensation makes the algorithm convenient and effective. The
52
Murakami, H., 2001. Static and dynamic analyses of tensegrity structures. Part 1.
Nonlinear equations of motion. Int. J. Solids Struct. 38, 35993613.
Oppenheim, I.J., Williams, W.O., 2001. Vibration of an elastic tensegrity structure.
Eur. J. Mech. Solids 20, 10231031.
Schek, H.-J., 1974. The force density method for form finding and computation of
general networks. Comput. Methods Appl. Mech. Eng. 3, 115134.
Skelton, R.E., 2005. Dynamics and control of tensegrity systems. In: Proceedings
of the IUTAM Symposium on Vibration Control of Nonlinear Mechanisms and
Structures, pp. 309318.
Skelton, R.E., 2010. Efficient models of multi-body dynamics. In: Blockley, R., Shyy,
W. (Eds.), Encyclopedia of Aerospace Engineering. John Wiley & Sons, New York.
Skelton, R.E., Iwasaki, T., Grigoriadis, K., 1998. A Unified Algebraic Approach to Linear
Control Design. Taylor & Francis, London.
Sultan, C., (Ph.D. thesis) 1999. Modeling, design, and control of tensegrity structures
with applications. Purdue University.
Von Schwerin, R., 1999. MultiBody System Simulation. Numerical Methods, Algorithms, and Software. Springer, New York.