You are on page 1of 127

CLASSIFICATION, ANALYSIS, AND CONTROL OF

PLANAR TENSEGRITY STRUCTURES FOR ROBOTIC


APPLICATIONS

by
Andrew Peter Schmalz

A thesis submitted to the Faculty of the University of Delaware in partial


fulfillment of the requirements for the degree of Master of Science in Mechanical
Engineering

Fall 2006

c 2006 Andrew Peter Schmalz



All Rights Reserved
CLASSIFICATION, ANALYSIS, AND CONTROL OF
PLANAR TENSEGRITY STRUCTURES FOR ROBOTIC
APPLICATIONS

by
Andrew Peter Schmalz

Approved:
Sunil K. Agrawal, Ph.D.
Professor in charge of thesis on behalf of the Advisory Committee

Approved:
Thomas S. Buchanan, Ph.D.
Chair, Department of Mechanical Engineering

Approved:
Eric W. Kaler, Ph.D.
Dean, College of Engineering

Approved:
Daniel Rich, Ph.D.
Provost
ACKNOWLEDGEMENTS

I would like to thank my advisor, Dr. Sunil Agrawal, for all his support
and guidance throughout this project, as well as Dr. Michael Greenberg and Dr.
Xin-Yan Deng for serving on my thesis committee. I would also like to thank the
Delaware Space Grant Consortium for awarding me the NASA/DESGC Graduate
Fellowship to help fund my research. Thanks to all the members of the Mechanical
Systems Laboratory, especially John Fader and Sean McIntosh, whose friendship
and laugher have made life in a drab, windowless lab a little more bearable. Special
thanks also to John Barbour for dedicating countless hours of his time to assisting
me with adjustments to the experimental setup. Finally, I would like to thank my
parents for their many years of love and encouragement that have taught me the
importance of challenging myself and persevering through to the end.

iii
TABLE OF CONTENTS

LIST OF FIGURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii


LIST OF TABLES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi
ABSTRACT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xii

Chapter

1 INTRODUCTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.1 Background and History . . . . . . . . . . . . . . . . . . . . . . . . . 1


1.2 A Shift Toward Robotics . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3 Problem Statement and Scope of the Thesis . . . . . . . . . . . . . . 8

2 TAXONOMY, NOMENCLATURE, AND STRUCTURAL


ANALYSIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.2 Taxonomy and Nomenclature . . . . . . . . . . . . . . . . . . . . . . 11

2.2.1 Assumptions and Restrictions . . . . . . . . . . . . . . . . . . 11


2.2.2 Numbering Convention . . . . . . . . . . . . . . . . . . . . . . 13
2.2.3 Naming Scheme . . . . . . . . . . . . . . . . . . . . . . . . . . 15

2.3 Structural Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16


2.4 General Procedure for Dynamic Analysis . . . . . . . . . . . . . . . . 19

2.4.1 Class 1 Dynamics . . . . . . . . . . . . . . . . . . . . . . . . . 20


2.4.2 Class 2 Dynamics . . . . . . . . . . . . . . . . . . . . . . . . . 29

2.5 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

iv
3 SYSTEM CONTROL . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.2 Negative Tension Problem . . . . . . . . . . . . . . . . . . . . . . . . 39
3.3 Feedback Linearization . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.4 Null-Space Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.5 Simulations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

3.5.1 T1 R4 C12D12,34 Simulation . . . . . . . . . . . . . . . . . . . . 46


3.5.2 T1 R4 C14D12,23,34 Simulation . . . . . . . . . . . . . . . . . . . 53
3.5.3 T2 R4 C7V2 Simulation . . . . . . . . . . . . . . . . . . . . . . . 55

3.6 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

4 SYSTEM WORKSPACE DETERMINATION . . . . . . . . . . . . 60

4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
4.2 Analytical Error Solution . . . . . . . . . . . . . . . . . . . . . . . . . 61
4.3 Dynamic Workspace Generation Techniques . . . . . . . . . . . . . . 62
4.4 Three-Degree-of-Freedom Tensegrity Structure . . . . . . . . . . . . . 64

4.4.1 Physical Description . . . . . . . . . . . . . . . . . . . . . . . 64


4.4.2 Kinematic Model . . . . . . . . . . . . . . . . . . . . . . . . . 64
4.4.3 Dynamic Model . . . . . . . . . . . . . . . . . . . . . . . . . . 66
4.4.4 Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

4.4.4.1 One-Dimensional Motion . . . . . . . . . . . . . . . . 68


4.4.4.2 Multi-Dimensional Workspace . . . . . . . . . . . . . 79
4.4.4.3 Static Workspace Comparison . . . . . . . . . . . . . 84

4.5 Overactuated System Comparison . . . . . . . . . . . . . . . . . . . . 86


4.6 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

5 EXPERIMENTATION . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
5.2 System Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

v
5.3 Experiments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98

5.3.1 Dynamic Workspace . . . . . . . . . . . . . . . . . . . . . . . 98


5.3.2 Maintaining Fixed Configuration . . . . . . . . . . . . . . . . 100
5.3.3 Motion to x = .35 m, y = .05 m . . . . . . . . . . . . . . . . . 100
5.3.4 Motion to x = .25 m, y = −.07 m, θ = 100◦ . . . . . . . . . . 105

5.4 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105

6 CONCLUSION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108

6.1 Summary of Results and Contributions . . . . . . . . . . . . . . . . . 108


6.2 Recommendations for Future Work . . . . . . . . . . . . . . . . . . . 111

BIBLIOGRAPHY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113

vi
LIST OF FIGURES

1.1 Snelson’s Tensegrity Sculptures . . . . . . . . . . . . . . . . . 2

1.2 Fuller’s Tensegrity Structures . . . . . . . . . . . . . . . . . . . 3

1.3 Class 2 Tensegrity Boom . . . . . . . . . . . . . . . . . . . . . 6

1.4 Tensegrity Pipe Crawler . . . . . . . . . . . . . . . . . . . . . . 6

1.5 Walking Tensegrity Robot . . . . . . . . . . . . . . . . . . . . . 7

1.6 Load-Handling Tensegrity Structure . . . . . . . . . . . . . . 7

2.1 Class 1 vs. Class 2 Tensegrity Structures . . . . . . . . . . . 12

2.2 Numbering Convention . . . . . . . . . . . . . . . . . . . . . . . 14

2.3 Numbering Convention Used by de Jager and Skelton . . . 15

2.4 T2 R6C10 V23 Planar Tensegrity Structure . . . . . . . . . . . . . 16

2.5 Basic Rod Characterization . . . . . . . . . . . . . . . . . . . . 18

2.6 T1 R4C12 D12,34 Structure . . . . . . . . . . . . . . . . . . . . . . . 21

2.7 T1 R4C12 D12,34 Imposed Constraints . . . . . . . . . . . . . . . . 22

2.8 Free-Body Diagrams of Individual T1R4 C12 D12,34 Rods . . . . 26

2.9 T2 R4C7 V2 Structure . . . . . . . . . . . . . . . . . . . . . . . . . . 29

2.10 Free-Body Diagrams of Individual T2R4 C7 V2 Rods . . . . . . 33

3.1 Feasible Regions . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

vii
3.2 T1 R4C12 D12,34 Configuration . . . . . . . . . . . . . . . . . . . . 47

3.3 Initial and Final System Configurations . . . . . . . . . . . . 49

3.4 System Variable Motion vs. Time . . . . . . . . . . . . . . . . 50

3.5 T1 R4C12 D12,34 Tensions vs. Time with Passive Cables 3, 4,


and 8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

3.6 T1 R4C12 D12,34 Tensions vs. Time with Passive Cables 9, 10,
and 12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

3.7 T1 R4C12 D12,34 Tensions vs. Time with All Cables Actuated . 53

3.8 T1 R4C14 D12,23,34 Configuration . . . . . . . . . . . . . . . . . . . 54

3.9 T1 R4C14 D12,23,34 Tensions vs. Time with Passive Cables 9, 10,
13, 14 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

3.10 T2 R4C7 V2 Configuration . . . . . . . . . . . . . . . . . . . . . . . 56

3.11 Initial and Final System Configurations . . . . . . . . . . . . 57

3.12 T2 R4C7 V2 Tensions vs. Time with Passive Cables 5 and 7 . . 58

3.13 T2 R4C7 V2 Tensions vs. Time with All Cables Actuated . . . 58

3.14 System Variable Tracking vs. Time . . . . . . . . . . . . . . . 59

4.1 Planar Tensegrity Structure with One Fixed Rod and One
Free Rod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

4.2 Initial Configuration . . . . . . . . . . . . . . . . . . . . . . . . 69

4.3 Surface Plots of Input Tension Values for Varying xd . . . . 69

4.4 Feasible Areas for Choice of xd . . . . . . . . . . . . . . . . . . 71

4.5 x-Position versus Time . . . . . . . . . . . . . . . . . . . . . . . 72

4.6 Cable Tensions During x-Motion . . . . . . . . . . . . . . . . . 72

viii
4.7 Initial Configuration for y-Motion . . . . . . . . . . . . . . . . 73

4.8 Surface Plots of Input Tension Values for Varying yd . . . . 73

4.9 Feasible Areas for Choice of yd . . . . . . . . . . . . . . . . . . 74

4.10 y-Position versus Time . . . . . . . . . . . . . . . . . . . . . . . 75

4.11 Cable Tensions During y-Motion . . . . . . . . . . . . . . . . . 75

4.12 Initial Configuration for θ-Motion . . . . . . . . . . . . . . . . 76

4.13 Surface Plots of Input Tension Values for Varying θd . . . . 76

4.14 Feasible Areas for Choice of θd . . . . . . . . . . . . . . . . . . 77

4.15 θ-Orientation versus Time . . . . . . . . . . . . . . . . . . . . . 78

4.16 Cable Tensions During θ-Motion . . . . . . . . . . . . . . . . . 78

4.17 Final System Configuration . . . . . . . . . . . . . . . . . . . . 79

4.18 Dynamic Workspace at Successive Time Samples . . . . . . 81

4.19 Time-Independent Dynamic Workspace . . . . . . . . . . . . 82

4.20 Cable Tensions During Combined x-y-θ Motion . . . . . . . 83

4.21 Tracking of Each System Variable versus Time . . . . . . . . 83

4.22 Comparison of Dynamic and Static Workspaces . . . . . . . 84

4.23 Cable Tensions During Infeasible Motion . . . . . . . . . . . 85

4.24 Static Equilibrium Configuration . . . . . . . . . . . . . . . . . 85

4.25 Time-Independent Dynamic Workspace for Overactuated


System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88

4.26 Portion of Feasible Volume Added by Using Overactuation 89

ix
4.27 Geometrically Constrained Time-Independent Dynamic
Workspace for Overactuated System . . . . . . . . . . . . . . 91

4.28 Portion of Feasible Volume Added by Using Overactuation


and Geometric Constraints . . . . . . . . . . . . . . . . . . . . 91

4.29 Cable Tensions for Overactuated System Motion . . . . . . 92

5.1 Experimental Setup . . . . . . . . . . . . . . . . . . . . . . . . . 96

5.2 Time-Independent Dynamic Workspace for Experimental


System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98

5.3 Length-Restricted Time-Independent Dynamic Workspace 99

5.4 Position and Orientation Tracking for Fixed Configuration


Experiment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100

5.5 Tension Values for Fixed Configuration Experiment . . . . . 101

5.6 Position and Orientation Tracking for x-y Translation


Experiment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102

5.7 Tension Values for x-y Translation Experiment . . . . . . . . 103

5.8 Early Portion of Position and Orientation Tracking for x-y


Translation Experiment . . . . . . . . . . . . . . . . . . . . . . 104

5.9 Early Portion of Tension Values for x-y Translation


Experiment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104

5.10 Position and Orientation Tracking for Translation-Rotation


Experiment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106

5.11 Tension Values for Translation-Rotation Experiment . . . . 106

x
LIST OF TABLES

2.1 Numerical Relations Among Structural Elements . . . . . . 12

3.1 T1 R4C12 D12,34 Simulation Parameters . . . . . . . . . . . . . . . 47

3.2 T2 R4C7 V2 Simulation Parameters . . . . . . . . . . . . . . . . . 55

4.1 Simulation Parameters . . . . . . . . . . . . . . . . . . . . . . . 68

5.1 Experimental Parameters . . . . . . . . . . . . . . . . . . . . . 97

xi
ABSTRACT

Tensegrity is a structural concept in which a set of compressive components


(rods) interacts with a network of tensile components (cables), defining a stable
volume in space. For years this idea was applied to static structures in fields such as
architecture and art. Recently, however, there has been a movement toward using
tensegrity for robotic applications. By modifying the tensions in the cables within
a structure, movement can be achieved. If actuation is performed in a coordinated
manner, useful motions and changes to the overall shape of a structure are possible.
The primary issue in the control of such structures is the need to maintain positive
tensions in the cables. If cables become slack, the desired control inputs cannot be
delivered to the system, causing a degradation in performance, or worse, instability.
Tensegrity systems may be used for such applications as deployable or collapsible
structures, locomotor devices, and even robotic manipulators.
This thesis addresses the use of planar tensegrity structures for robotic appli-
cations. A systematic classification and naming scheme is established which enables
determination of the configuration of a particular tensegrity structure simply given
its assigned name. A procedure for performing the dynamic analysis of two separate
classes of planar structures is then developed. Next a null-space controller based on
feedback linearization is presented, which governs system motion while maintaining
positive tensions. Simulations verify the effectiveness of such a controller. Addition-
ally, methods for generating the dynamic workspace for such devices is developed,
which specifies configurations that are achievable while obeying imposed tension
constraints. Finally, experimental results are presented for an actual physical de-
vice that incorporates the theories developed throughout the thesis.

xii
Chapter 1

INTRODUCTION

Tensegrity is not a new idea. In fact, it is a concept that has been around for
over fifty years. It has, however, experienced a recent revival, as an idea that was
purely structural has evolved into one that has promising applications in the areas
of robotics and control. This thesis explores several of these aspects, particularly the
dynamics and control issues involved in governing the movement and shape change
of planar tensegrity structures.

1.1 Background and History


The concept of tensegrity was first developed in the late 1940s by Kenneth
Snelson, a structural artist, and R. Buckminster Fuller, an architect and designer.
Fuller is credited with coining the term “tensegrity” as a contraction of tensional
integrity. In his book An Introduction to Tensegrity, Anthony Pugh [19] defines a
tensegrity structure as being “established when a set of discontinuous compressive
components interacts with a set of continuous tensile components to define a stable
volume in space.” Many variations to this definition have been proposed, however.
For example, René Motro [7] suggests the definition be modified to incorporate
the ideas that the compressive elements are inside the set of tensile elements and
that the system is in a state of “self-equilibrium stability.” Essentially, a tensegrity
structure is formed by rods whose ends are connected with cables. The rods are
in compression and the cables are in tension such that the entire structure is in a
state of stable equilibrium. Applying an external force to the structure may cause

1
it to deform, but when this force is removed, the structure will return to its natural
equilibrium state. The integrity of such a structure relies on prestress in the cables
such that they remain in tension when connected to the rods within a structure.
Snelson has viewed tensegrity strictly as an artistic expression. He does not
incorporate math or physics into his designs other than to ensure they maintain
structural integrity. His main concerns are aesthetic in creating a work that is
attractive as an art piece. Several of Snelson’s sculptures are shown in Figure 1.1
[27].

Figure 1.1: Snelson’s Tensegrity Sculptures. QuinTetRow, 2002 (top), Vortex


Study, 1967 (bottom left), Rainbow Arch, 2002 (bottom right).

2
In contrast, Fuller concentrated more on tensegrity as an architectural idea.
His interest in a variety of structural forms, in particular geodesic domes, motivated
his pursuit of a way to incorporate tensegrity into his work. Fuller patented several
of his tensegrity ideas, including a tensegrity dome and tensegrity truss, shown in
Figure 1.2 [5]. Many of his ideas are still used in architecture today.

Figure 1.2: Fuller’s Tensegrity Structures. Tensegrity dome (left), tensegrity


truss (right).

1.2 A Shift Toward Robotics


For many years, tensegrity was thought of as a idea only applicable for fixed,
static structures. In applications such as sculpture and architecture, it was desirable
for structures to maintain their intended shape. Recently, however, there has been a
shift in thinking, where it has been realized that tensegrity concepts can also be used
to achieve motion and shape change in structures. By actuating the cables or rods
within a tensegrity structure, it is possible to produce movement. This is achievable

3
using motors to alter cable lengths or with telescopic struts. If this actuation is
done in a coordinated manner, useful motions and changes to the overall shape of a
structure are possible.
Several characteristics of tensegrity structures make them appealing for robotic
applications. First, these types of structures typically have very little mass but are
considerably strong, possessing an exceptional strength-to-weight ratio. Further-
more, with low mass, rapid motions are feasible, as inertial effects are less prob-
lematic. In addition to being lightweight, these structures also offer space-saving
capabilities, as they can be designed to be collapsed or folded to occupy less volume
while not in use [7]. Also, due to the isolation of rigid elements with a flexible ten-
sile network, tensegrity structures are effective at absorbing shocks. Finally, since
tensegrity systems are parallel mechanisms, individual actuators affect multiple de-
grees of freedom. This fact can be exploited in certain applications to provide fault
tolerance in compensating for a defective actuator [14].
Applications for tensegrity systems continue to emerge. Perhaps the greatest
contributor to the field of tensegrity in robotics is Robert Skelton at the Univer-
sity of California, San Diego. In the last decade, Skelton has explored numerous
tensegrity applications in addition to teaching and writing on the subject. Skelton
has developed his own tensegrity definitions, which allow for two different structural
classes [24]. He describes a tensegrity structure as a “stable system of axially loaded
members” and then goes on to differentiate two classes. A structure is defined as
Class 1 “if the members in tension form a continuous network, and the members
in compression form a discontinuous set of members.” This description matches
the traditional definition of a tensegrity structure. However, Skelton then defines
a Class 2 structure as one in which “the members in tension form a continuous
set of members, and there are at most two members in compression connected to
each node.” This effectively expands the definition of tensegrity structures to allow

4
rods to connect to other rods, a characteristic prohibited in the conventional defi-
nition. Furthermore, it incorporates a whole new class of structures for tensegrity
applications.
Recent work by Skelton’s group includes development of a wrist-mimic robot,
a two-stage Class 1 tensegrity structure that is reconfigurable for deployment and
non-symmetric applications [17]. A similar Class 2 device [18] aimed at lifting
applications is shown in Figure 1.3. Other projects include a tensegrity “Stewart
Platform-like” structure in which rod lengths are pneumatically actuated [22] and
a planar tensegrity locomotor device capable of crawling along a pipe (pictured in
Figure 1.4) [23]. Another appealing application is in the area of robotic arms and
manipulators. Often these devices require rapid motions for applications such as
pick-and-place, where large inertial forces become an issue. Skelton’s group has
begun exploring the use of tensegrity-based devices as robotic manipulators [1]. Be-
cause tensegrity systems have low mass and a high strength-to-weight ratio, they of-
fer an exciting alternative to standard rigid-link robotic manipulators. Furthermore,
tensegrity structures are more flexible and can provide more agility in positioning
objects.
Many others have also conducted research on robotic tensegrity applications.
Chandana Paul et al at Cornell University have concentrated on locomotor tenseg-
rity devices, using genetic algorithms to find actuation cycles which produce favor-
able gaits [14, 15, 16]. In this case, the robot is underactuated but the cycling of
actuation patterns allows the device to create a net forward motion. Paul has also
studied the issue of fault tolerance in her devices. A prototype of one of the walking
robots is shown in Figure 1.5. Etienne Fest et al at the Swiss Federal Institute
of Technology have developed and built a full-scale tensegrity structure capable of
compensating for external loads and maintaining its desired shape through the use
of a predictive model and search algorithm [4]. Such a device (pictured in Figure 1.6)

5
Figure 1.3: Class 2 Tensegrity Boom. Skelton’s Class 2 device deploying.

Figure 1.4: Tensegrity Pipe Crawler. A CAD model of Skelton’s pipe-crawling


device.

could be used in building applications where structures must contend with external
conditions such as wind or snowfall accumulation. Matthew Marshall at the Uni-
versity of Florida has developed a tensegrity-based parallel platform in which both
rod and cable lengths are adjustable [6]. It has even been suggested that tensegrity

6
structures may have a place in the medical field, including use in minimally inva-
sive surgical instruments, as well as in space applications for deployable antennas
or radio telescopes [29].

Figure 1.5: Walking Tensegrity Robot. A device built by Chandanda Paul at


Cornell University.

Figure 1.6: Load-Handling Tensegrity Structure. Tensegrity structure capa-


ble of maintaining its shape under external loadings built at the Swiss
Federal Institute of Technology.

7
1.3 Problem Statement and Scope of the Thesis
In moving from tensegrity as a strictly static, structural idea to one in which
a system must be movable and controllable, certain issues arise. The most important
of these is the fact that typically, the actuated members of a tensegrity structure are
cables, which are effective in tension but cannot supply a compressive force. If one
tries to push on the ends of a cable, it simply collapses. In a typical robotic device,
rigid links are capable of supplying both tensile and compressive forces, so control
is relatively straightforward using well-established control methods. In the case of
tensegrity devices, however, in addition to achieving the desired system motion, a
controller must be developed which maintains positive tensions in the cables.
Planar tensegrity structures are generally simpler to analyze than their spa-
tial counterparts because they are limited to two dimensions. Therefore, individual
rods may possess at most three degrees of freedom (two translational, one rotational)
compared to six for a spatial structure (three translational, three rotational). Dy-
namic analysis in this case is also considerably simpler, especially in deriving inertial
expressions. Nonetheless, planar structures are very useful in providing insight into
the functioning of tensegrity concepts and can still serve as useful practical devices.
Two areas of particular interest are robotic arms or manipulators and deployable
structures. Both of these areas look to be promising arenas for tensegrity devices,
both planar and spatial. With this in mind, investigation of a subclass of planar
tensegrity structures suited for these applications is pursued here. Though only
planar mechanisms are addressed in this thesis, the ideas are extendable to similar
spatial structures as well.
The thesis is organized as follows. Chapter 2 discusses the subclass of planar
tensegrity structures under investigation. A systematic classification and naming
scheme is developed which enables the determination of a particular tensegrity’s
structure simply given its assigned name. A method for uniform numbering of

8
individual structural elements is also established. Then a framework for performing
the structural analysis of such devices is discussed. This section includes physical
assumptions, force modeling, constraint management, and a general procedure for
the derivation of system dynamics.
Chapter 3 develops aspects of control for tensegrity systems. This subject
is crucial due to the additional requirement that positive tensions be maintained
in all cables. A basic discussion of feedback linearization is followed by the de-
velopment of a null-space controller which maintains positive cable tensions while
governing system motion. Results from several simulations are then presented, ver-
ifying the performance of the feedback-linearizing controller for various tensegrity
arrangements.
In chapter 4, a procedure for determining the dynamic workspace of planar
tensegrity structures is detailed. This workspace is composed of configurations a
tensegrity structure may reach from a given initial state while maintaining tensions
which are within a specified range. The process is based on the ability to predict
future system behavior by analytically solving for the error between actual and
desired system states for a given controller. This information is used to find the
necessary tension inputs over all time and, thus, determine which configurations
are dynamically reachable. Two workspace generation techniques are analyzed and
simulations are presented which verify their utility.
Chapter 5 presents experimental results for a planar tensegrity device. Con-
struction of the device is detailed, as well as the instrumentation used for its control.
The dynamic workspace for the mechanism is derived and used to choose feasible
configurations for the device to assume. Results such as system behavior and sources
of error are then discussed.
Finally, the thesis is concluded with chapter 6, which summarizes the work

9
and results presented throughout the previous chapters. A discussion of the con-
tributions of this thesis are also included, followed by suggestions for supplemental
study and future research.

10
Chapter 2

TAXONOMY, NOMENCLATURE, AND STRUCTURAL


ANALYSIS

2.1 Introduction
Planar tensegrity structures can be constructed in a variety of different con-
figurations. In order to accommodate this diversity, it is useful to introduce a
generalized classification and naming scheme that enables the determination of the
arrangement of a certain structure simply given its name. This naming scheme is
based on a systematic convention for the numbering of individual elements within
a structure, established to maintain consistency among different examples. After
the naming and numbering procedures are established, the rest of this chapter de-
tails a framework for performing structural analysis for planar tensegrity systems,
including force modeling, constraint management, and derivation of the dynamic
equations of motion.

2.2 Taxonomy and Nomenclature


2.2.1 Assumptions and Restrictions
Several preliminary assumptions are made to limit the extent of possible two-
dimensional tensegrity structures. Only those structures containing an even number
of rods are considered. Rods are grouped in crossing pairs that form an X shape, and
these fundamental units form a horizontal chain comprising the structure. There are
two classes of tensegrity structures that are considered. Class 1 structures contain

11
rods whose endpoints connect only to cables. In Class 2 structures, rods connect
to other rods through pivots at their endpoints in addition to cables [18]. Thus, in
Class 1 structures, the X components overlap and are connected by cables, whereas
in Class 2 structures, the X shapes are connected at pivoting endpoints. Figure 2.1
shows an example of each class of tensegrity structure.

Figure 2.1: Class 1 vs. Class 2 Tensegrity Structures. Sample Class 1


(left) and Class 2 (right) planar tensegrity structures.

Additionally, it is assumed that in any planar structure, the outer perimeter


is bound by cables. In a Class 1 structure with n rods, there are 2n outer cables
surrounding the structure. In a Class 2 structure with n rods, there are n + 2 outer
cables. A node is defined at each junction of two or more structural elements. These
always occur at rod endpoints. A Class 1 structure with n rods contains 2n nodes,
while a Class 2 structure has n + 2 nodes. A summary of the standard numeric
relations among the fundamental structural elements is given in Table 2.1.

Table 2.1: Numerical Relations Among Structural Elements.

Class 1 Class 2
Rods n n
Outer Cables 2n n+2
Nodes 2n n+2

12
The quantity and placement of cables lying within the perimeter of the tenseg-
rity structure may vary. Given a basic structure configured symmetrically about its
horizontal midline, the nodes of the structure will line up vertically in pairs. Each
pair is given an identifying number (explained in more detail in section 2.2.2). Inner
cables may be arranged either vertically or diagonally between nodes. It is assumed
that diagonal cables are always placed in crossing couples between two nodal pairs,
never individually. Though not necessarily essential to the integrity of a structure,
this premise helps restrict the number of configurational permutations while main-
taining vertical symmetry in the structure.
At this point it is worth reemphasizing that the range of structures considered
here is only a subclass of the multitude of achievable planar tensegrity structures.
For example, a planar structure could be composed of repeating crossed rods in
the vertical dimension or both vertically and horizontally, creating a “matrix” of
crossed pairs rather than just a one-dimensional chain. Or rods could be grouped
in configurations other than crossed X’s. However, this subclass was chosen to
facilitate a systematic numbering convention and naming scheme for a group of
structures that could be useful as robotic manipulators, deployable structures, or
other similar devices.

2.2.2 Numbering Convention


A systematic convention for the numbering of individual structural elements
was developed. All rods, cables, and nodes are numbered under this protocol accord-
ing to their position within the structure in a basic lower-upper, left-right fashion.
Rods are numbered based on the position of their leftmost endpoint. Beginning
at the lower left corner of a structure, rods are numbered in sequential order in a
repeating lower-upper pattern from left to right across the structure.
Outer and inner cables are not distinguished in the numbering scheme. Rather

13
horizontal, vertical, and diagonal cables are designated. Horizontal cables are num-
bered first, again in a repeating lower-upper sequence from left to right. Next,
vertical cables are numbered from left to right, continuing the numerical sequence.
Finally, the diagonal cables are numbered in the same pattern used for the rods.
Nodes are denoted by a column number and a row letter. The lower row
of nodes in a structure is denoted A and the upper row is denoted B. Columns
of paired nodes are numbered from left to right. Numbering nodes in pairs helps
simplify the naming scheme described in the next section. So, for example, the lower
leftmost node is labeled n1A and the upper leftmost node is labeled n1B . Figure 2.2
illustrates the numbering convention for a Class 1 planar tensegrity structure.

Figure 2.2: Numbering Convention. Rods, cables, and nodes are numbered as
illustrated.

De Jager and Skelton have developed a different numbering convention for


similar tensegrity systems, shown in Figure 2.3 [3]. Their system has several draw-
backs, however, which is why it was not used here. First, in their model, all possible
cables are numbered in a fixed pattern regardless of whether they actually appear
in the final structure. If cables are omitted, then gaps appear in the cable number-
ing. Also, because the model is based on repeating elementary rod-and-cable units
assumed to be identical, a problem occurs at the fixed end of the structure. There,

14
certain numbered cables must connect to different nodes than would be expected
because the typical connecting rods are absent. Finally, the convention does not
accommodate Class 2 structures. These problems are avoided in the convention
developed in this chapter, which also lends itself to the naming scheme discussed
next.

Figure 2.3: Numbering Convention Used by de Jager and Skelton. Ca-


ble connections for ti4 and ti5 must be altered to accommodate the
structure’s fixed end.

2.2.3 Naming Scheme


A naming scheme was established to aid in classifying and uniquely identify-
ing various planar tensegrity structures. The name given to each structure is based
on its class, number of rods, and number and location of its cables. Each name con-
tains five letters, or “identifiers,” with subscripts: T (for type, identifying its class),
R (for rods), C (for cables), V (for vertical placement), and D (for diagonal place-
ment). T is the class identifier. The subscript for T is either 1 or 2, denoting whether
the structure is Class 1 or Class 2. R and C are quantity identifiers. The subscripts

15
for R and C denote the total number of rods and cables, respectively, comprising
the structure. V and D are location identifiers of internal cables. Their subscripts
relate the placement of vertical and diagonal cables based on node numbers. For
instance, V23 means that there are internal vertical cables between nodal pairs 2 and
3, while D12,34 means that their are crossed diagonal cables between nodal pairs 1
and 2, and 3 and 4. If a certain structure contains no internal vertical or diagonal
cables, that placement identifier is omitted. Using this scheme, the name for the
structure in Figure 2.2 is T1R4 C14V23 D12,34. Another example is given in Figure 2.4,
showing a numbered Class 2 structure with the designation T2R6 C10V23 .

Figure 2.4: T2 R6 C10V23 Planar Tensegrity Structure.

2.3 Structural Model


Kinematic and dynamic modeling of planar tensegrity structures can be gen-
eralized, as described by de Jager and Skelton [3]. A similar approach is taken
here. Under the current scheme, each rod within a structure is treated as an inde-
pendent body of fixed length 2l and mass m. For simplicity all rods are assumed
to be identical. Cables are assumed massless and elastic, each having an identical
spring constant, but their individual lengths may vary. Furthermore, cables can only
handle tensile loads, so it is important to maintain positive forces within cables.

16
Each rod is characterized by three variables: the (x, y) coordinates corre-
sponding to a position vector c of its center of mass with respect to a fixed coordi-
nate frame and an orientation angle θ about this center. These variables represent
the three degrees of freedom possessed by an unconstrained rod. The subscript on
each of these variables corresponds to the number of the rod being described, so
rod i is denoted by center of mass position ci = [xi yi ]T and angle θi . The end-
point positions of rod i are denoted by ai and bi , corresponding to the nodal row
to which each endpoint belongs. The orientation angle is always measured from
the horizontal, counterclockwise towards the b end. It is important to distinguish
here that nodal positions in the structure (used for classification and naming) are
denoted by a number followed by a capital A or B, while the endpoints specific to
individual rods (used for dynamic analysis) are denoted by a lower-case a or b with
a subscript corresponding to the rod number. Although nodes and rod endpoints
coincide, they are treated and referenced differently when referring to the structure
in a global sense or to rods as individual bodies. Figure 2.5 shows the description
of a typical rod in a planar tensegrity structure. The endpoint positions are found
from the equations
   
cos θi cos θi
ai = ci − l  , bi = ci + l  . (2.1)
sin θi sin θi

Because each rod is treated as an independent body, the Newton-Euler for-


mulation of the dynamic equations is used. Forces acting on the rods consist of
gravity, cable tensions, and in the case of Class 2 structures, forces from connecting
adjacent rods. Gravity acts in the negative y-direction through the center of mass.
All other forces act at nodal points at the ends of rods. Because nodal forces act at
common points, they can be combined into a single resultant force at each rod end.
These forces are denoted fa = [fax fay ]T and fb = [fbx fby ]T . Generally, this type

17
Figure 2.5: Basic Rod Characterization.

of structure is attached to a rigid surface at one end. End nodes are typically con-
strained to pivot about a fixed point or slide in a single direction. These constraints
introduce additional reaction forces and reduce the number of degrees of freedom of
the affected rods.
Three dynamic equations are used to describe the motion of a single rod i.
These equations are

mẍi = Fxi (2.2)

mÿi = Fyi (2.3)

I θ̈i = Mzi (2.4)

where m is the rod mass and I is the moment of inertia of the rod about its center
1

of mass I = 12 m(2l)2 . Fxi and Fyi are the total sum of x and y force components
acting on rod i, while Mzi is the sum of moments acting on rod i about its center.
These values are found using the equations

Fxi = faix + fb ix (2.5)

Fyi = fa iy + fb iy − mg (2.6)

Mzi = l(fa ix sin θi − fa iy cos θi ) + l(−fbix sin θi + fb iy cos θi ) (2.7)

18
where g is the acceleration due to gravity.
Individual cable tensions are determined based on an elastic constant k of
their material and the initial rest lengths and stretched lengths of the cables. If
cables are modeled as simple springs, this k is the spring constant. Alternatively,
cables may be modeled as a solid material with a uniform circular cross section. In
this case, k = EA/L0 , where E is Young’s modulus for the cable material, A is the
nominal cross-sectional area of the cable, and L0 is the unstretched cable length. Tj
is the magnitude of the force in cable j. It is determined from the equation

Tj = k(Lj − Lj0 ) (2.8)

where Lj is the stretched length of cable j and Lj 0 is the initial unstretched length of
the cable. The vector representing the tension of cable j acting on rod i is denoted
Tj i and is found by combining the magnitude of the cable force and the unit direction
vector of that force acting axially along the cable away from the connection point at
the rod. The direction of cable tension is determined by calculating the difference
between the two connection point positions, obtained using equation (2.1). The
direction vector of the force is denoted dj i . It is then necessary to scale this vector
by the cable’s length, yielding a unit direction vector d̂j i . Thus, the overall tension
vector for cable j acting on rod i is given as

dj i
Tj i = Tj = Tj d̂j i . (2.9)
Lj

2.4 General Procedure for Dynamic Analysis


Assuming an n-rod structure, the overall system dynamics can be grouped
and written in the combined form

Aq̈ = F (2.10)

19
where A is the system inertia matrix, q̈ is a vector of the system variables’ second
time derivatives, and F is a vector containing the x- and y-force components, and
moments acting on all rods. System variables are collected in the form

q = [x1 y1 θ1 · · · xn yn θn ]T (2.11)

The set of equations (2.10) represents the generalized system dynamics for a planar
tensegrity structure. This form will typically need to be altered, however, to account
for lost degrees of freedom when constraints are imposed at rod endpoints and, in
the case of Class 2 systems, kinematic restrictions due to revolute joints between
rods. As a result, several system variables may need to be eliminated to reflect the
constrained system and, therefore, the form of q is typically modified as well. A
general procedure has been developed to most efficiently derive the dynamics for
specific planar tensegrity structures. This procedure is slightly different for Class
1 and Class 2 systems, though the basic approach is the same. The procedure is
described below for each class, accompanied by a specific example to clarify.

2.4.1 Class 1 Dynamics


The first step in the dynamic analysis is to draw the tensegrity system in its
general, symmetric configuration and label all nodes, rods, and cables. Given its
name, which defines the placement of structural components, and the numbering
scheme developed above, this is straightforward. It is also useful to denote the
(x, y, θ) of each rod. As an example, consider the T1 R4 C12D12,34 structure. This
is a Class 1 structure with 4 rods and 12 cables, 2 pairs of which cross diagonally
between nodal groups 1 and 2, and 3 and 4. This structure is shown labeled in
Figure 2.6. The next step is to define the center of mass (ci ) and endpoint (ai ,bi )
positions of each rod. This is done using equation (2.1). Because these positions

20
Figure 2.6: T1 R4C12 D12,34 Structure.

are locally defined, it is not yet necessary to define a global reference frame. The
resulting endpoint positions are as follows.
   
x1 − l cos θ1 x1 + l cos θ1
a1 =   b1 =   (2.12)
y1 − l sin θ1 y1 + l sin θ1
   
x2 − l cos θ2 x2 + l cos θ2
a2 =   b2 =   (2.13)
y2 − l sin θ2 y2 + l sin θ2
   
x3 − l cos θ3 x3 + l cos θ3
a3 =   b3 =   (2.14)
y3 − l sin θ3 y3 + l sin θ3
   
x4 − l cos θ4 x4 + l cos θ4
a4 =   b4 =   (2.15)
y4 − l sin θ4 y4 + l sin θ4

Next, one must decide how the structure will be constrained and where the
inertial reference frame will be fixed. It is common to attach such a structure to
a rigid surface at one end. For example, node 1B can be fixed such that rod 2 is
constrained to rotate about its left endpoint. It is convenient to place the origin of a

21
Cartesian reference frame at this point. Similarly rod 1 can be constrained to slide
vertically along the line x = 0. This idea is shown in Figure 2.7. These constraints

Figure 2.7: T1R4 C12D12,34 Imposed Constraints.

effectively eliminate three degrees of freedom from the system. Because rod 2’s left
endpoint is now fixed, x2 and y2 are no longer independently variable. Instead they
are automatically determined geometrically as

x2 = −l cos θ2 (2.16)

and
y2 = −l sin θ2. (2.17)

Also, because rod 1’s left endpoint must slide in the vertical direction, x1 becomes

x1 = l cos θ1 . (2.18)

22
Since these three variables no longer appear in the dynamics, equations (2.16-2.18)
must be substituted into the places they appear in (2.12-2.15). After this substi-
tution, the rod endpoints are completely defined in terms of the remaining system
variables.
   
0 2l cos θ1
a1 =   b1 =   (2.19)
y1 − l sin θ1 y1 + l sin θ1
   
−2l cos θ2 0
a2 =   b2 =   (2.20)
−2l sin θ2 0
   
x3 − l cos θ3 x3 + l cos θ3
a3 =   b3 =   (2.21)
y3 − l sin θ3 y3 + l sin θ3
   
x4 − l cos θ4 x4 + l cos θ4
a4 =   b4 =   (2.22)
y4 − l sin θ4 y4 + l sin θ4

Now that the positions all rod endpoints are defined, the cable (force) di-
rection vectors can be determined. Since all cables connect to rod endpoints, their
directions are determined by simply subtracting the appropriate endpoint positions.
It is worth noting that each cable supplies a force that acts on two different rod
endpoints, and thus in two opposite directions. There are therefore twice as many
direction vectors as there are cables. The direction can be defined once for each ca-
ble and then reversed to be applied in the opposite direction. The direction vectors
are then normalized by scaling by the cable lengths. The nominal cable direction

23
vectors are as follows.
 
x3 − l cos θ3
Cable 1 : d1 1 = −
a−→
1 a3 =
  = −d1 3 (2.23)
y3 − l sin θ3 − y1 + l sin θ1
 
−−→ x4 + l cos θ4
Cable 2 : d22 = b2 b4 =   = −d24 (2.24)
y4 + l sin θ4
 
−2l cos θ2 − x3 + l cos θ3
Cable 3 : d33 = −
a−→
3 a2 =
  = −d32 (2.25)
−2l sin θ2 − y3 + l sin θ3
 
−−→ 2l cos θ1 − x4 − l cos θ4
Cable 4 : d44 = b4 b1 =   = −d41 (2.26)
y1 + l sin θ1 − y4 − l sin θ4
 
x4 − l cos θ4 + 2l cos θ2
Cable 5 : d5 2 = −
a−→
2 a4 =
  = −d5 4 (2.27)
y4 − l sin θ4 + 2l sin θ2
 
−−→ x3 + l cos θ3 − 2l cos θ1
Cable 6 : d6 1 = b1 b3 =   = −d6 3 (2.28)
y3 + l sin θ3 − y1 − l sin θ1
 
−−→ 0
Cable 7 : d 7 1 = a1 b 2 =   = −d7 2 (2.29)
−y1 + l sin θ1
 
−−→ x3 + l cos θ3 − x4 + l cos θ4
Cable 8 : d84 = a4 b3 =   = −d83(2.30)
y3 + l sin θ3 − y4 + l sin θ4
 
−−→ x4 + l cos θ4
Cable 9 : d91 = a1 b4 =   = −d94 (2.31)
y4 + l sin θ4 − y1 + l sin θ1
 
−−→ x3 − l cos θ3
Cable 10 : d102 = b2 a3 =   = −d103 (2.32)
y3 − l sin θ3
 
−−→ x3 + l cos θ3 + 2l cos θ2
Cable 11 : d11 2 = a2 b3 =   = −d11 3 (2.33)
y3 + l sin θ3 + 2l sin θ2
 
−−→ x4 − l cos θ4 − 2l cos θ1
Cable 12 : d12 1 = b1 a4 =   = −d12 4(2.34)
y4 − l sin θ4 − y1 − l sin θ1

24
The cable lengths are given as follows.
p
L 1 = |−
a−→
1 a3 | = (x3 − l cos θ3 )2 + (y3 − l sin θ3 − y1 + l sin θ1 )2 (2.35)
−−→ p
L2 = |b2b4 | = (x4 + l cos θ4 )2 + (y4 + l sin θ4 )2 (2.36)

L 3 = |−
a− →
3 a2 | (2.37)
p
= (−2l cos θ2 − x3 + l cos θ3 )2 + (−2l sin θ2 − y3 + l sin θ3)2
−−→
L 4 = |b 4 b 1 | (2.38)
p
= (2l cos θ1 − x4 − l cos θ4)2 + (y1 + l sin θ1 − y4 − l sin θ4 )2

L 5 = |−a−→
2 a4 | (2.39)
p
= (x4 − l cos θ4 + 2l cos θ2)2 + (y4 − l sin θ4 + 2l sin θ2 )2
−−→
L 6 = |b 1 b 3 | (2.40)
p
= (x3 + l cos θ3 − 2l cos θ1)2 + (y3 + l sin θ3 − y1 − l sin θ1 )2
−−→ p
L7 = |a1b2 | = (−y1 + l sin θ1)2 (2.41)
−−→
L 8 = | a4 b 3 | (2.42)
p
= (x3 + l cos θ3 − x4 + l cos θ4)2 + (y3 + l sin θ3 − y4 + l sin θ4)2
−−→ p
L9 = |a1b4 | = (x4 + l cos θ4)2 + (y4 + l sin θ4 − y1 + l sin θ1 )2 (2.43)
−−→ p
L10 = |b2a3 | = (x3 − l cos θ3 )2 + (y3 − l sin θ3)2 (2.44)
−−→
L11 = |a2b3 | (2.45)
p
= (x3 + l cos θ3 + 2l cos θ2)2 + (y3 + l sin θ3 + 2l sin θ2)2
−−→
L12 = |b1a4 | (2.46)
p
= (x4 − l cos θ4 − 2l cos θ1)2 + (y4 − l sin θ4 − y1 − l sin θ1)2

Dividing (2.23-2.34) by (2.35-2.47), respectively, produces the normalized cable di-


rection vectors. These are then multiplied by the tension magnitude of each cable
to yield the final force vectors, as described in (2.9). For example, the force cable 9
applies on rod 4 is T9 4 = T9(d9 4 /L9 ).

25
Now that the cable force vectors are completely defined, the dynamic equa-
tions can be written for each rod using equations (2.2-2.7). Because rods 3 and 4
are unconstrained, their dynamic equations will follow this exact form. The slid-
ing/pivoting constraints placed on rods 1 and 2, however, require their dynamic
equations to be modified slightly (introducing wall reaction forces) and consolidated
to eliminate the equations corresponding to the lost degrees of freedom (x1, x2,
and y2 ). It is helpful to look at a free-body diagram of each rod individually when
writing the dynamic equations. These are shown in Figure 2.8.

Figure 2.8: Free-Body Diagrams of Individual T1R4 C12D12,34 Rods.

The three initial dynamic equations for each rod are listed below.

26
Rod 1 :

mẍ1 = (T11x + T71x + T91x + R1x ) + (T41x + T61x + T121x ) (2.47)

mÿ1 = (T11y + T71y + T91y ) + (T41y + T61y + T121y ) − mg (2.48)


 
I θ̈1 = l (T11x + T71x + T91x + R1x ) sin θ1 − (T11y + T71y + T91y ) cos θ1 (2.49)
 
+ l − (T41x + T61x + T121x ) sin θ1 + (T41y + T61y + T121y ) cos θ1

Rod 2 :

mẍ2 = (T32x + T52x + T112x ) + (T22x + T72x + T102x + R2x ) (2.50)

mÿ2 = (T32y + T52y + T112y ) + (T22xy + T72y + T102y + R2y ) − mg (2.51)


 
I θ̈2 = l (T32x + T52x + T112x ) sin θ2 − (T32y + T52y + T112y ) cos θ2 (2.52)
 
+ l − (T22x + T72x + T102x + R2x ) sin θ2 + (T22xy + T72y + T102y + R2y ) cos θ2

Rod 3 :

mẍ3 = (T13x + T33x + T103x ) + (T63x + T83x + T113x ) (2.53)

mÿ3 = (T13y + T33y + T103y ) + (T63y + T83y + T113y ) − mg (2.54)


 
I θ̈3 = l (T13x + T33x + T103x ) sin θ3 − (T13y + T33y + T103y ) cos θ3 (2.55)
 
+ l − (T63x + T83x + T113x ) sin θ3 + (T63y + T83y + T113y ) cos θ3

Rod 4 :

mẍ4 = (T54x + T84x + T124x ) + (T24x + T74x + T104x ) (2.56)

mÿ4 = (T54y + T84y + T124y ) + (T24y + T74y + T104y ) − mg (2.57)


 
I θ̈4 = l (T54x + T84x + T124x ) sin θ4 − (T54y + T84y + T124y ) cos θ4 (2.58)
 
+ l − (T24x + T74x + T104x ) sin θ4 + (T24y + T74y + T104y ) cos θ4

Now equation (2.47) must be solved for R1x and substituted into equation (2.49).
However, since x1 is no longer a feasible system variable, ẍ1 must be found by twice
differentiating equation (2.18), x1 = −l cos θ1 . This yields

ẍ1 = −lθ̈1 sin θ1 − lθ̇12 cos θ1. (2.59)

27
Similarly, (2.16) and (2.17) are twice-differentiated to get

ẍ2 = lθ̈2 sin θ2 + lθ̇22 cos θ2 (2.60)

and
ÿ2 = −lθ̈2 cos θ2 + lθ̇22 sin θ2 . (2.61)

Solving (2.47) for R1x and using (2.59) gives

R1x = m(−lθ̈1 sin θ1 − lθ̇12 cos θ1) − T11x − T71x − T91x − T41x − T61x − T121x . (2.62)

Substituting this into (2.49) gives


 
2 2 2
(I + ml sin θ1)θ̈1 = l (mlθ̇1 cos θ1 − T41x − T61x − T121x ) sin θ1 − (T11x + T71x + T91x ) cos θ1
 
+ l − (T41x + T61x + T121x ) sin θ1 + (T41y + T61y + T121y ) cos θ1 . (2.63)

Solving (2.50) and (2.51) for R2x and R2y , respectively, and incorporating (2.60) and
(2.61) yields

R2x = m(lθ̈2 sin θ2 + lθ̇22 cos θ2) − T32x − T52x − T112x − T22x − T72x − T102x (2.64)

and

R2y = m(−lθ̈2 cos θ2 +lθ̇22 sin θ2)−T32y −T52y −T112y −T22y −T72y −T102y +mg. (2.65)

Now these two equations are substituted into (2.52) to get


 
2
(I + ml )θ̈2 = l (T32x + T52x + T112x ) sin θ2 − (T32y + T52y + T112y ) cos θ2

+ l − (mlθ̇22 cos θ2 − T32x − T52x − T112x ) sin θ2

+ (mlθ̇22 sin θ2 − T32y − T52y − T112y + mg) cos θ2 . (2.66)

Note that the force components from cables 2, 7, and 10 drop out since they act at
the fixed end of rod 2 and, thus, cannot contribute to rod 2’s motion.

28
This completes the dynamic analysis for the T1R4 C12D12,34 structure with the
chosen constraints. There are now nine final dynamic equations (2.48, 2.63, 2.66,
2.53, 2.54, 2.55, 2.56, 2.57, 2.58) in terms of the nine system variables (y1, θ1, θ2,
x3, y3, θ3 , x4, y4 , θ4). These equations can now be grouped to construct a particular
form of (2.10) which incorporates the system constraints.

2.4.2 Class 2 Dynamics


For Class 2 planar tensegrity structures, the dynamic analysis is slightly
different due to the interaction between connecting rods. The general approach is,
however, the same. Again the first step is to draw the structure. In this case, a
T2R4 C7 V2 is chosen for illustration. The labeled structure is shown in Figure 2.9.
Because the rods in Class 2 structures are linked by revolute joints, there is a loss of

Figure 2.9: T2 R4 C7V2 Structure.

several degrees of freedom. Essentially, every chain of linked rods contains only one
x and one y position variable, and then one orientation angle for each rod. Though
it is possible to assign the (x, y) variables to any of the rods, it is convenient to
place them at the center of mass of the leftmost rod in each chain (c1 and c2) and

29
this convention is assumed throughout this analysis. Therefore, it is possible to
eliminate several system variables before introducing wall constraints simply due
to the standard configuration of Class 2 structures. This immediately simplifies
the system dynamics. For the current T2 R4 C7V2 structure, there are eight system
variables (degrees of freedom) before the structure is constrained at the wall: x1,
y1, θ1 , x2, y2, θ2 , θ3 , and θ4 .
The rod endpoint positions are now defined as follows.
   
x1 − l cos θ1 x1 + l cos θ1
a1 =   b1 =   (2.67)
y1 − l sin θ1 y1 + l sin θ1
   
x2 − l cos θ2 x + l cos θ2
a2 =   b2 =  2  (2.68)
y2 − l sin θ2 y2 + l sin θ2
   
x2 − l cos θ2 x − l cos θ2 + 2l cos θ3
a3 =   b3 =  2  (2.69)
y2 − l sin θ2 y2 − l sin θ2 + 2l sin θ3
   
x1 + l cos θ2 − 2l cos θ3 x + l cos θ1
a4 =   b4 =  1  (2.70)
y1 + l sin θ2 − 2l sin θ3 y1 + l sin θ1

Note that the right endpoint positions of rods 3 and 4 must be found using only the
viable system variables rather than with equation (2.1). Now if the same reference
frame placement and wall constraints are imposed as before, restricting rod 2 to
pivot about its left endpoint at the origin and rod 1 to slide in the vertical direction
at x = 0, variables x1 , x2 , and y2 are again lost. Using equations (2.16-2.18), the rod

30
endpoint positions can be rewritten in terms of the remaining five system variables.
   
0 2l cos θ1
a1 =   b1 =   (2.71)
y1 − l sin θ1 y1 + l sin θ1
   
−2l cos θ2 0
a2 =   b2 =   (2.72)
−2l sin θ2 0
   
−2l cos θ2 −2l cos θ2 + 2l cos θ3
a3 =   b3 =   (2.73)
−2l sin θ2 −2l sin θ2 + 2l sin θ3
   
2l cos θ1 − 2l cos θ4 2l cos θ1
a4 =   b4 =   (2.74)
2l sin θ1 − 2l sin θ4 y1 + l sin θ1

Before defining the cable direction vectors, it is necessary to discuss the issue of
uncertainty in the location of cable forces. Because cables 1, 2, 3, 4, and 6 each
connect to a joint linking adjacent rods, a decision must be made about which forces
act on which bodies. For instance, the force in cable 1 may be said to act on rod
2, rod 3, or both. This decision is arbitrary, however, since the connection points
all coincide. The same final system dynamics will result regardless of the choice,
but it is important to assign each force explicitly. The easiest method of handling
this uncertainty is to assign all cable forces acting at a joint between rods solely to
the rod on the left. Hence, for this system, T2 , T4, and T6 are assumed to act on
rod 1 and T1, T3, and T6 are assumed to act on rod 2. In addition, there is a force
interaction between the connecting rods. Each rod in a connecting pair applies a
force on the other. These forces are equal and opposite to each other. Free-body
diagrams of each rod illustrate the force distribution in Figure 2.10. Now the cable
direction vectors can be defined as follows.
 
−2l cos θ2
Cable 1 : d1 1 = −
a−→
1 a2 =
  = −d1 2 (2.75)
−2l sin θ2 − y1 + l sin θ1
−−→ h i
Cable 2 : d2 2 = b2 b1 = 2l cos θ1 y1 + l sin θ1 = −d2 1 (2.76)

31
 
2l(cos θ1 − cos θ4 + cos θ2 )
Cable 3 : d32 = −
a−→
2 a4 =
  = −d34 (2.77)
2l(sin θ1 − sin θ4 + sin θ2 )
 
−−→ 2l(− cos θ2 + cos θ3 − cos θ1 )
Cable 4 : d41 = b1 b3 =   (2.78)
2l(− sin θ2 + sin θ3) − y1 − l sin θ1
= −d43
 
−−→ 0
Cable 5 : d51 = a1 b2 =   = −d52 (2.79)
−y1 + l sin θ1
 
−−→ 2l(cos θ1 + cos θ2)
Cable 6 : d62 = a2 b1 =   = −d61 (2.80)
y1 + l sin θ1 + 2l sin θ2
 
−−→ 2l(− cos θ2 + cos θ3 − cos θ1 + cos θ4)
Cable 7 : d 7 4 = a4 b 3 =  (2.81)
2l(− sin θ2 + sin θ3 − sin θ1 + sin θ4)
= −d7 3

The cable lengths are defined below.


r 2  2
−−→
L 1 = | a1 a2 | = − 2l cos θ2 + − 2l sin θ2 − y1 + l sin θ1 (2.82)
r 2  2
−−→
L 2 = |b 2 b 1 | = 2l cos θ1 + y1 + l sin θ1 (2.83)
r 2  2
L 3 = |−a−→a
2 4 | = 2l(cos θ1 − cos θ4 + cos θ2 ) + 2l(sin θ1 − sin θ4 + sin θ2 ) (2.84)
−−→
L 4 = |b 1 b 3 | (2.85)
r   
2 2
= 2l(− cos θ2 + cos θ3 − cos θ1 ) + 2l(− sin θ2 + sin θ3) − y1 − l sin θ1
r 2
−−→
L5 = | a1 b 2 | = − y1 + l sin θ1 (2.86)
r 2  2
−−→
L6 = | a2 b 1 | = 2l(cos θ1 + cos θ2 ) + y1 + l sin θ1 + 2l sin θ2 (2.87)
−−→
L7 = | a4 b 3 | (2.88)
r   2
2
= 2l(− cos θ2 + cos θ3 − cos θ1 + cos θ4 ) + 2l(− sin θ2 + sin θ3 − sin θ1 + sin θ4 )

32
Figure 2.10: Free-Body Diagrams of Individual T2 R4C7 V2 Rods.

Using equation (2.9) as before, the cable directions are divided by their re-
spective lengths to form normalized direction vectors which are subsequently multi-
plied by the tension magnitudes to give the final force vectors in the form Tj i . The
dynamic equations can now be written. Initially, there are three equations for both
rod 1 and rod 2, which are later combined to eliminate the lost degrees of freedom.
These equations are listed below.

33
Rod 1 :

mẍ1 = (T11x + T51x + R1x ) + (T21x + T41x + T61x + Frod4x ) (2.89)

mÿ1 = (T11y + T51y ) + (T21y + T41y + T61y + Frod4y ) − mg (2.90)


 
I θ̈1 = l (T11x + T51x + R1x ) sin θ1 − (T11y + T51y ) cos θ1 (2.91)
 
+ l − (T21x + T41x + T61x + Frod4x ) sin θ1 + (T21y + T41y + T61y + Frod4y ) cos θ1

Rod 2 :

mẍ2 = (T12x + T32x + T62x + Frod3x ) + (T22x + T52x + R2x ) (2.92)

mÿ2 = (T12y + T32y + T62y + Frod3y ) + (T22y + T52y + R2y ) − mg (2.93)


 
I θ̈2 = l (T12x + T32x + T62x + Frod3x ) sin θ2 − (T12y + T32y + T62y + Frod3y ) cos θ2
 
+ l − (T22x + T52x + R2x ) sin θ2 + (T22y + T52y + R2y ) cos θ2 (2.94)

For all Class 2 structures, it is automatically assumed that any rod other
than rods 1 or 2 can only rotate about the joint at its left endpoint. Therefore,
it is simpler to find the one required rotational equation for each of these rods
by taking the moment about its left endpoint (which will avoid having to include
the internal joint reaction forces there), rather than taking the moment about its
center and substituting in the translational equations to account for the loss of the
translational variables. The moment of a rod about its end is Ie = 13 m(2l)2. Though
the translational equations for these rods are not needed directly, they are used later
to solve for the internal reaction forces which constrain the rods at their joints, so
they are still written. For rods 3 and 4, the equations are as follows.
Rod 3 :

mẍ3 = (T43x + T73x ) + Frod2x (2.95)

mÿ3 = (T43y + T73y ) + Frod2y − mg (2.96)


 
Ie θ̈3 = 2l − (T43x + T73x ) sin θ3 + (T43y + T73y ) cos θ3 − mgl cos θ3 (2.97)

34
Rod 4 :

mẍ4 = (T34x + T74x ) + Frod1x (2.98)

mÿ4 = (T34y + T74y ) + Frod1y − mg (2.99)


 
Ie θ̈4 = 2l (T34x + T74x ) sin θ4 − (T34y + T74y ) cos θ4 + mgl cos θ4 (2.100)

To eliminate the joint reaction forces (Frod1 , Frod2 , Frod3 , Frod4 ), one may
recall that each pair is equal and opposite. This yields the equations

Frod1 = −Frod4 (2.101)

Frod2 = −Frod3 . (2.102)

In addition, because the translational variables for rods 3 and 4 must not appear,
the following substitutions must be made.
   
x −2l cos θ2 + l cos θ3
 3  =   (2.103)
y3 −2l sin θ2 + l sin θ3
   
2 2
ẍ 2lθ̈2 sin θ2 + 2lθ̇2 cos θ2 − lθ̈3 sin θ3 − lθ̇3 cos θ3
 3  =   (2.104)
2 2
ÿ3 −2lθ̈2 cos θ2 + 2lθ̇2 sin θ2 + lθ̈3 cos θ3 − lθ̇3 sin θ3
   
x 2l cos θ1 − l cos θ4
 4  =   (2.105)
y4 y1 + 2l sin θ1 − l sin θ4
   
ẍ4 −2lθ̈1 sin θ1 − 2lθ̇12 cos θ1 + lθ̈4 sin θ4 + lθ̇42 cos θ4
  =   (2.106)
2 2
ÿ4 ÿ1 + lθ̈1 cos θ1 − lθ̇1 sin θ1 − lθ̈4 cos θ4 + lθ̇4 sin θ4

Now by using equations (2.104), (2.106), (2.101), and (2.102), equations (2.95, 2.96)
and (2.98, 2.99) can be solved in terms of forces Frod3 and Frod4 , respectively. Equa-
tions (2.95) and (2.96) become

Frod3x = −m(2lθ̈2 sin θ2 + 2lθ̇22 cos θ2 − lθ̈3 sin θ3 − lθ̇32 cos θ3) + (T43x + T73x ) (2.107)

Frod3y = −m(−2lθ̈2 cos θ2 + 2lθ̇22 sin θ2 + lθ̈3 cos θ3 − lθ̇32 sin θ3) + (T43y + T73y ) − mg
(2.108)

35
while equations (2.98) and (2.99) become

Frod4x = −m(−2lθ̈1 sin θ1 − 2lθ̇12 cos θ1 + lθ̈4 sin θ4 + lθ̇42 cos θ4) + (T34x + T74x ) (2.109)

Frod4y = −m(ÿ1 + lθ̈1 cos θ1 − lθ̇12 sin θ1 − lθ̈4 cos θ4 + lθ̇42 sin θ4) + (T34y + T74y ) − mg.
(2.110)
These joint reaction forces can now be substituted into the appropriate places
in equations (2.89-2.94), yielding

R1x = −m(3lθ̈1 sin θ1 + 3lθ̇12 cos θ1 − lθ̈4 sin θ4 − lθ̇42 cos θ4 ) (2.111)

−(T11x + T21x + T41x + T51x + T61x ) − (T34x + T74x )


1
mÿ1 = − m(lθ̈1 cos θ1 − lθ̇12 sin θ1 − lθ̈4 cos θ4 + lθ̇42 sin θ4) (2.112)
2 
+(T11y + T21y + T41y + T51y + T61y ) + (T34y + T74y ) − mg
 
I θ̈1 = l (T11x + T51x + R1x ) sin θ1 − (T11y + T51y ) cos θ1 (2.113)

−l T21x + T41x + T61x − m(−2lθ̈1 sin θ1 − 2lθ̇12 cos θ1 + lθ̈4 sin θ4 + lθ̇42 cos θ4)

+(T34x + T74x ) sin θ1

+l T21y + T41y + T61y − m(ÿ1 + lθ̈1 cos θ1 − lθ̇12 sin θ1 − lθ̈4 cos θ4 + lθ̇42 sin θ4 )

+(T34y + T74y ) − mg cos θ1

R2x = m(3lθ̈2 sin θ2 + 3lθ̇22 cos θ2 − lθ̈3 sin θ3 − lθ̇32 cos θ3) (2.114)

−(T12x + T22x + T32x + T52x + T62x ) − (T43x + T73x )

R2y = m(−3lθ̈2 cos θ2 + 3lθ̇22 sin θ2 + lθ̈3 cos θ3 − lθ̇32 sin θ3 ) (2.115)

−(T12y + T22y + T32y + T52y + T62y ) − (T43y + T73y ) + 2mg



I θ̈2 = l T12x + T32x + T62x (2.116)

−m(2lθ̈2 sin θ2 + 2lθ̇22 cos θ2 − lθ̈3 sin θ3 − lθ̇32 cos θ3 ) + (T43x + T73x ) sin θ2

−l T12y + T32y + T62y − m(−2lθ̈2 cos θ2 + 2lθ̇22 sin θ2 + lθ̈3 cos θ3 − lθ̇32 sin θ3 )

+(T43y + T73y ) − mg cos θ2
 
+l − (T22x + T52x + R2x ) sin θ2 + (T22y + T52y + R2y ) cos θ2

36
where equations (2.59-2.61) have again been used to replace ẍ1 , ẍ2, and ÿ2 . Finally,
equation (2.111) is substituted into (2.113) to eliminate R1x , giving


ml cos θ1 ÿ1 + I + ml2(5 − 4 cos2 θ1) θ̈1 − ml2(2 sin θ1 sin θ4 + cos θ1 cos θ4)θ̈4 (2.117)

= −(4ml2 sin θ1 cos θ1 )θ̇12 + ml2(2 sin θ1 cos θ4 − cos θ1 sin θ4)θ̇42

−2l sin θ1(T21x + T41x + T61x + T34x + T74x )

−l cos θ1(T11y − T21y − T41y + T51y − T61y − T34y − T74y + mg)

Likewise, (2.114) and (2.115) are substituted into (2.116) to eliminate R2x and R2y ,
giving

(I + 5ml2 )θ̈2 − 2ml2 (sin θ2 sin θ3 + cos θ2 cos θ3 )θ̈3 = (2.118)

2ml2(sin θ2 cos θ3 − cos θ2 sin θ3)θ̇32 + 2l sin θ2 (T12x + T32x + T62x + T43x + T73x )

−2l cos θ2(T12y − T32y − T62y + T43y − T73y ) + 3mgl cos θ2.

This completes the dynamic analysis for the T2R4 C7 D2 structure with the
chosen constraints. There are five final dynamic equations (2.112, 2.117, 2.118, 2.97,
2.100) in terms of the five system variables (y1 , θ1 , θ2, θ3, θ4). Like before, these
equations can be grouped to construct a particular form of (2.10) which incorporates
the system constraints.

2.5 Conclusions
This chapter presented a generalized classification and naming scheme for a
subclass of planar tensegrity structures. This procedure allows for the arrangement
of a certain structure to be determined based solely on its assigned name. Further-
more, a convention for the numbering of each component was established to ensure
standardization in referencing structural elements. A basic approach for structural
modeling was then discussed, including a general procedure for the dynamic analysis
of both Class 1 and Class 2 tensegrity systems, illustrated with a specific example

37
for each. With the dynamic analysis completed, the issue of system control becomes
important. This is the subject of the next chapter.

38
Chapter 3

SYSTEM CONTROL

3.1 Introduction
The overall aim of this investigation is to be able to control planar tensegrity
structures so they can achieve useful motions and configurations required in various
robotic manipulator tasks or structural deployment. One of the most important
control issues is the necessity of maintaining positive tensions in all cables while still
governing the desired system motion. If cables become slack, the desired control
inputs cannot be delivered to the system, causing a degradation in performance or
worse, instability. Therefore, a reliable controller must be developed. That is the
subject of this chapter.

3.2 Negative Tension Problem


In order to have complete control of a system, at least as many actuators as
degrees of freedom being controlled are required. In many cases, a fully-actuated
system is sufficient. However, because, in the case of tensegrity structures, the
control inputs are cable tensions, required to be greater than or equal to zero at
all times, a fully-actuated system may not be sufficient. Often, using only a fully-
actuated system, negative values are generated for cable tensions in order to achieve
the desired system output. This problem can be avoided by overactuating the system
– introducing redundancy by establishing additional cable inputs. This does not
necessarily mean introducing additional cables. Not all cables in a system need to

39
be actuated. Rather, individual cable tensions may be actively controlled as system
inputs or passively determined by cable stretch. Passive cables are simply treated
as tension springs in the system, with a given initial length and variable stretched
length. If the number of cables in the system exceeds the number of system degrees of
freedom, one or more of the extra passive cables can be made active to aid in ensuring
positive tension control. Sultan and Skelton discuss a method for manipulating the
active cable tensions called “rest-length control,” where cable lengths are treated as
the control inputs rather than the tensions themselves [28]. This method is based
on modification of the active lengths of the cables. Essentially, as a motor winds a
cable onto a pulley, the portion of the cable that wraps around the pulley no longer
contributes to the cable tension, shortening the active length. This is effectively
the same as if the initial rest length (L0 ) of the cable were shortened, increasing the
magnitude of the tension according to equation (2.8). Likewise, unwinding the cable
increases its active length, as if the rest length were made longer. For purposes of
clarity and simplicity in this chapter, however, the tension magnitudes themselves
will be treated as the control inputs for the active cables, rather than the cable rest
lengths.
When working with the control of a tensegrity structure it is useful to rewrite
(2.10) in the modified form

Aq̈ = Bu + Cv + g (3.1)

where now u is the input vector containing the magnitudes of the actuated cables’
tensions with coefficient matrix B, v is a vector containing the remaining passive
cables’ tension values (dictated by equation (2.8)) with coefficient matrix C, and g
is a vector of nonlinear and gravity terms.

40
3.3 Feedback Linearization
Although the system represented by (3.1) is nonlinear, a procedure known as
feedback linearization can be applied to it in order to utilize linear control methods
[26]. Assuming a fully-actuated system for now, in which the dimension of the input
vector u equals that of q̈, (3.1) can be written in the alternate form

u = B −1 (Aq̈ − Cv − g). (3.2)

By choosing the control input to be of the form

u = B −1 (Aw − Cv − g) (3.3)

where w is a new input to be determined, the nonlinearity in (3.1, 3.2) is can-


celed. Upon equating (3.2) and (3.3), the result is simply a linear double-integrator
relationship between the output q̈ and the new input w,

q̈ = w. (3.4)

Now that a linear equation has been derived, a linear control technique may be used.
For instance, w may be chosen as

w = q̈d + Kd (q̇d − q̇) + Kp (qd − q) (3.5)

where qd (t) and q(t) are the desired and actual states of the system at time t, and Kd
and Kp are positive diagonal matrices containing derivative and proportional control
gains, respectively. Substituting (3.5) into (3.4), and letting e(t) = qd (t) − q(t) be
the tracking error, the final result is the equation

ë + Kd ė + Kp e = 0 (3.6)

which is a homogeneous linear second-order ordinary differential equation whose


solution converges to zero exponentially given proper choice of Kd and Kp . The
characteristic equation for the ODE in (3.6) is

s2 + Kd s + Kp = 0 (3.7)

41
with roots p
−Kd ± Kd2 − 4Kp
s1,2 = . (3.8)
2
The analytical solution of the tracking error is then

e(t) = C1es1 t + C2 es2 t (3.9)

where the constants C1 and C2 are given by

s2 e(0) − ė(0)
C1 = (3.10)
s2 − s1
ė(0) − s1 e(0)
C2 = (3.11)
s2 − s1

and s1 and s2 are given in (3.8).


When discussing the dynamic response of a system, it is common to write
(3.7) in the form
s2 + 2ζωn s + ωn2 (3.12)

where ζ is the damping ratio and ωn is the undamped natural frequency of the
Kd
p
system. Equating (3.12) and (3.7), it is clear that ζ = √ and ωn = Kp .
2 Kp
Furthermore, (3.8) can then be written as
p
s1,2 = (−ζ ± ζ 2 − 1)ωn . (3.13)

To achieve a nonoscillatory response, the quantity under the square root sign in (3.8,
3.13) must be nonnegative. This is equivalent to having a damping ratio ζ ≥ 1. In
terms of control gains, this restriction requires that Kd2 − 4Kp ≥ 0 or
p
Kd ≥ 2 Kp (3.14)

where use of an equality will yield critical damping and a greater-than inequality
will yield an overdamped system response. As long as the control gains are chosen
satisfying (3.14), the tracking error is guaranteed to converge exponentially to zero
and the system will be exponentially stable.

42
3.4 Null-Space Controller
Oh and Agrawal detail a method of using redundant cables to ensure positive
(or zero) tensions in cable-suspended robots [10]. This idea can be extended to
tensegrity systems. The method is based on feedback linearization theory and can
be used to exponentially stabilize a system to a desired state or trajectory, while
satisfying the property u(t) ≥ 0, t > 0. As described in the previous section, a
feedback law of the form
Bu = Aw − Cv − g (3.15)

can be chosen so that the system dynamics become

q̈ = w (3.16)

where w is chosen as
w = q̈d + Kd ė + Kp e (3.17)

yielding
Bu = A(q̈d + Kd ė + Kp e) − Cv − g. (3.18)

If the system is fully-actuated, (3.18) can be solved uniquely if the involved


equations are linearly independent. However, if the system is overactuated, as is
often necessary to ensure nonnegative tensions, the equations result in an under-
determined set, yielding many solutions as long as B’s pseudoinverse, B T (BB T )−1 ,
exists. If this is true, (3.18) can be solved using

u = ū + N (B)p (3.19)

where
ū = B T (BB T )−1 [A(q̈d + Kd ė + Kp e) − Cv − g]. (3.20)

Here, ū is the minimum norm solution of (3.18), N (B) is the null space of matrix
B, and p is a vector of feasibility parameters chosen to satisfy the condition

ū + N (B)p ≥ 0. (3.21)

43
Vector p will have dimension (n − r) for a system with n actuated cables and a B
matrix of rank r. Essentially, the number of elements in p should match the degree
of overactuation. The dimensions of the null space of B will be n × (n − r) and ū
will have dimension n.
The null space (or kernel) of a matrix is the set of values which map the
matrix to the zero vector. For matrix B, this means

BN (B) = 0. (3.22)

Substituting (3.19) into (3.18) gives

Bū + BN (B)p = A(q̈d + Kd ė + Kp e) − Cv − g (3.23)

which is equivalent to

Bū = A(q̈d + Kd ė + Kp e) − Cv − g. (3.24)

Therefore, the null space component can be used to rectify the input u without
altering the system motion.
If all components of ū are positive, it is not necessary to find p and the
solution of u is simply ū. Otherwise, the components of p are determined by solving
(3.21), which contains n linear inequalities. A feasible region of acceptable values is
determined by solving the n inequalities simultaneously. Once the bounded feasible
region is found, any point inside will satisfy (3.21). If all inequalities cannot be
simultaneously satisfied, no feasible region emerges, and the tension constraints are
not achievable.
The degree of overactuation will match the dimension of the feasibility space.
For example, with one extra cable, the feasible region will be a line in one dimension
bounded within the solution points of (3.21). Vector p will contain only one element
and this point can be chosen anywhere along the line. If there are two extra cables,
the feasible region will be a two-dimensional area bounded by intersecting lines, and

44
the elements of p will be any pair of coordinates representing a point within the
region. Three extra cables result in a three-dimensional volume for the feasibility
region, and so on for higher degrees of overactuation. This idea is illustrated in
Figure 3.1 for a simple system with four degrees of freedom and cases of n = 5 and
n = 6 actuated cables.

Figure 3.1: Feasible Regions. Possible feasible regions (shaded in gray) for
choice of p for a four-degree-of-freedom system, with five actuators
(left) and six actuators (right).

The choice of a point within the feasible region can be made using such tech-
niques as linear and quadratic programming. Ideally the chosen point should yield
a solution such that the smallest possible tension values are used in the additional
cables to ensure that all tensions remain positive. Equation (3.21) can be stated
as a linear programming problem with the goal of minimizing cT p subject to the
constraints
−N (B)p ≤ ū, pl ≤ p ≤ pu (3.25)

where c is a constant vector, and pl and pu are the lower and upper bounds placed
on p. The quantity cT p represents a point, line, plane, or higher-order level set that

45
is shifted across the domain of the feasibility space. The resulting solution will occur
at one of the vertices of the feasible region. Likewise, quadratic programming can
be used to find a viable solution. In this case, the goal is to minimize pT Hp subject
to (3.25), where H is a positive definite matrix. The quantity pT Hp represents an
ellipsoid about the origin whose size is increased until it reaches the feasible region.
Here, the solution may or may not occur at a vertex. The MATLAB functions
linprog and quadprog are useful in deriving the desired solutions.

3.5 Simulations
Several simulations were developed to analyze various planar tensegrity sys-
tems and their response to the feedback controller. Different combinations of actu-
ated cables and degrees of actuation were examined. All tensions were monitored
throughout the system motion to determine their magnitude and sign.

3.5.1 T1 R4C12 D12,34 Simulation


The first planar tensegrity system analyzed is a T1R4 C12D12,34 structure, for
which the dynamics were derived in chapter 2. This is a Class 1 system with four
rods and twelve cables, including two pairs of crossing diagonal cables. The system
is constrained at nodes 1A and 1B, the left endpoints of rods 1 and 2. Rod 1 is
constrained by a frictionless sliding left endpoint, whose motion is restricted to the
line x = 0. Therefore, this body is reduced from three degrees of freedom to two.
Rod 2 is constrained to rotate about its left endpoint, which remains fixed at the
origin of the global reference frame. This limits rod 2 to one degree of freedom.
Rods 3 and 4 remain unconstrained at three degrees of freedom each. Thus, the
entire system has nine total degrees of freedom. The structure is depicted again in
Figure 3.2.
The chosen simulation parameters are listed in Table 3.1. Because of the nine
degrees of freedom, nine equations are used to define the system dynamics. These

46
Figure 3.2: T1R4 C12D12,34 Configuration.

equations were derived in section 2.4.1 and the reader may wish to refer back to
that section. The vector of system variables is written as

q = [y1 θ1 θ2 x3 y3 θ3 x4 y4 θ4]T (3.26)

where the unused variables have been eliminated from the general form (2.11).

Table 3.1: T1R4 C12D12,34 Simulation Parameters.

Rod Mass m .15 kg


Rod Length 2l .5 m
1
Rod Moment of Inertia about Center I = 12 m(2l)2 .003125 kgm2
Cable Spring Constant k 45 N/m
Proportional Gain Matrix Kp 50(I[9×9] )
Derivative Gain Matrix Kd 15(I[9×9] )

Because this system has twelve cables and only nine degrees of freedom,
several cables may be kept passive. Initially, the system is given nine actuated
cables and three passive cables to investigate the emergence of negative tensions.

47
Cables 3, 4, and 8 are left passive, such that their tensions are determined geo-
metrically by (2.8). The initial lengths of these cables are taken as L30 = .05 m,
L40 = .05 m, and L80 = .10 m. If the distance between the connection points of
any of these cables becomes less than the cable’s initial length, the tension value
becomes zero. The nine actuated cables’ tensions are determined and generated
by the controller. The system is written in the form shown in (3.1) where now
u = [T1 T2 T5 T6 T7 T9 T10 T11 T12]T and v = [T3 T4 T8 ]T . These magnitudes are
factored out of the tension vectors calculated in chapter 2 and the remaining vector
components are inserted into coefficents in the B and C matrices. Because in this
case the system is not overactuated, the feedback linearization procedure described
in section 3.3 is used directly, rather than the null-space controller. The control
p
gains are chosen with (3.14) in mind. Because Kd is slightly larger than 2 Kp ,
the system response will be mildly overdamped, ensuring exponential stability. Fur-
thermore, given these gains, a time interval of only a few seconds is necessary in
simulation because the system will have settled to its desired state within this time.
Of course now there is nothing guaranteeing positive tensions, but this exercise
is to first determine the extent of negative tensions arising before employing the
positive-tension control scheme.
The controller is capable of tracking a reference trajectory or merely moving
the system between set points. Set-point control is simpler, where only initial and
desired configurations are specified, rather than desired velocites and accelerations
as well. Using set-point control, the system motion is governed by the physical
system parameters and the control gains. Because a specific reference trajectory is
unnecessary at this point and set-point control is more straightforward, it will be
used for the simulations. The system is given an initial configuration and desired
final configuration as follows.

q0 = [−.125 30◦ 150◦ .5335 −.125 30◦ .5335 −.125 150◦ ]T (3.27)

48
qd = [−.075 17.46◦ 162.54◦ .6615 −.075 17.46◦ .6615 −.075 162.54◦ ]T (3.28)

These correspond to a structure whose perimeter begins as a .25 m×.75 m rectangle


and ends as a .15 m×.9 m rectangle as the system stretches horizontally. The initial
and final configurations are pictured in Figure 3.3. A time interval of 3 seconds is
used for the simulation, which is run using MATLAB’s ode45 function.

0.1

0
y (m)

−0.1

−0.2

−0.3
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
x (m)
0.1

0
y (m)

−0.1

−0.2

−0.3
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
x (m)

Figure 3.3: Initial (top) and Final (bottom) System Configurations.

The fully-actuated controller brings the system to the desired state, however,
six of the tensions (T1, T2, T7, T9 , T11, T12) become negative at some point during
the motion. So in reality, this controller would not work, since cables cannot carry a
negative (compressive) force. Figure 3.4 shows the motion of each system variable.
Figure 3.5 shows the resulting cable tension values vs. time for this simulation.
For a point of comparison, a second simulation of this structure is conducted,
this time choosing three of the diagonal cables (9, 10, and 12) to be passive and

49
Figure 3.4: System Variable Motion vs. Time. Each system variable moves
exponentially to its desired state.

making cables 3, 4, and 8 active. In this case the initial length for each of the passive
cables is chosen to be .10 m. All other aspects of the simulation are identical. The
system again transitions to the desired final configuration, but this time, only T1
becomes negative. This, however, is still unacceptable, and confirms the need for
a controller that maintains nonnegative tensions. The cable tension values for this
simulation are shown in Figure 3.6.
Next, the null-space controller is employed in an effort to achieve the same
system motion, but maintain nonnegative tensions. In the first attempt with this

50
15

T6

10 T10

T5
T2
5 T8
T3
T4

0 T7
Tension (N)

T11

T9
−5

T12

−10

−15 T1

−20
0 0.5 1 1.5 2 2.5 3
Time (s)

Figure 3.5: T1 R4 C12D12,34 Tensions vs. Time with Passive Cables 3, 4, and
8. Six of the twelve tensions become negative for the fully-actuated
system.

controller, the system is overactuated by one degree, using ten active cables and two
passive cables. This requires a p vector with only one element. First, cables 3 and
4 are left passive with initial lengths of .05 m, and all other cables are actuated. In
this case, no feasible region for the choice of p emerges, meaning it is not possible
to rectify the negative tensions using only one extra actuator. Alternatively, com-
binations of passive cables 9 and 10, 10 and 12, and 9 and 12 are tried, resulting in
the same problem. No feasible region develops for any of these trials.
To bolster the probability of obtaining a feasible region, the system overac-
tuation is next increased to three degrees, and all cables in the structure are made
active. Here, the input vector u contains all twelve cable tensions and C and v are
omitted from the dynamic description (3.1). In this case, a feasible region emerges

51
50

40
T4

30

T3
20
Tension (N)

T9
T10 T12

10 T11 T2 T
6

T5

0 T7 T8

T1
−10

−20
0 0.5 1 1.5 2 2.5 3
Time (s)

Figure 3.6: T1R4 C12D12,34 Tensions vs. Time with Passive Cables 9, 10,
and 12. Only one tension becomes negative for this choice of passive
cables.

throughout the entire system motion. Both the linear programming and quadratic
programming techniques are employed to choose the best p values. Now the p vector
is three-dimensional, so three p values must to be chosen at each iteration of the
simulation. For the linear and quadratic programming trials, the cT vector is chosen
as [1 1 1], while the H matrix is chosen as the 3 × 3 identity matrix for the quadratic
programming trial. The MATLAB functions linprog and quadprog are utilized here.
The results of both the linear and quadratic programming trials are identical
in both the choice of the p vectors and, thus, the resulting tensions throughout
the system motion. The controller clearly works, as no tension becomes negative
during the entire simulation, while the system exponentially reaches the desired
state. The system motion is identical to that depicted in Figure 3.4. Three of
the tensions (T1, T8 , T11), are, in fact, kept at zero throughout the system motion.

52
This is acceptable, since a zero force is not a compressive force, and furthermore, is
advantageous because no energy input is required for these cables. This is effectively
the same as removing these three cables entirely. Unfortunately, three tensions also
become relatively high. T4, T9, and T12 reach maximum values of 191.0 N , 88.5 N ,
and 92.9 N , respectively. The tension values resulting from the linear/quadratic
programming schemes for this simulation are shown in Figure 3.7.

200

150
T4

100
Tension (N)

T12

50
T9

0
T1 T8 T11

−50
0 0.5 1 1.5 2 2.5 3
Time (s)

Figure 3.7: T1 R4C12 D12,34 Tensions vs. Time with All Cables Actuated.
Both linear and quadratic programming methods for choosing p result
in the same nonnegative tensions. T1, T8 , and T11 are zero for all times.

3.5.2 T1 R4C14 D12,23,34 Simulation


Another four-rod system is examined next to determine the effect of adding
of more cables. The new system is a T1R4 C14D12,23,34 structure, equivalent to the
previous system with the addition of a pair of diagonal cables at the center of the
structure. This system is pictured in Figure 3.8.

53
Figure 3.8: T1R4 C14D12,23,34 Configuration.

This system is given the same physical parameters, control gains, and initial
and desired states as the previous system. Again, the time interval is taken to be 3
seconds. One degree of overactuation is used in this case, with cables 3, 4, 7, and 8
left passive. Initial lengths for cables 3 and 4 are set to .05 m, and those for cables
7 and 8 are set to .10 m.
This initial choice of passive cables does not yield a feasible region, so cables
9, 10, 13, and 14 are subsequently chosen as replacements. All initial lengths of these
cables are set to .10 m. This time, a feasible region does arise. Using the same c
and H as with the previous system, the linear and quadratic programming methods
again yield identical results. No tensions become negative at any point during the
system motion. T1 and T13 are zero throughout portions of the simulation and all
other tensions are positive. The maximum tension reached is 58.7 N by T4, which is
significantly lower than the highest tensions reached with the previous system. The
tension values for this simulation are presented in Figure 3.9.

54
60

50 T4

40

T3

30
Tension (N)

T2
20

T9 T10 T13 T14


T6
10
T5
T7
T11
T8
0 T12
T1

−10
0 0.5 1 1.5 2 2.5 3
Time (s)

Figure 3.9: T1 R4C14 D12,23,34 Tensions vs. Time with Passive Cables 9,
10, 13, 14. With one degree of overactuation, both the linear and
quadratic programming methods for choosing p result in the same
nonnegative tensions.

3.5.3 T2 R4C7 V2 Simulation


Next, a Class 2 system is simulated. The chosen system is the T2R4 C7 V2
structure shown in Figure 3.10, for which the dynamics were derived in section
2.4.2. The simulation parameters are given in Table 3.2. This system has seven

Table 3.2: T2R4 C7 V2 Simulation Parameters.

Rod Mass m .15 kg


Rod Length 2l .5 m
1
Rod Moment of Inertia about Center I = 12 m(2l)2 .003125 kgm2
Rod Moment of Inertia about End Ie = 13 m(2l)2 .0125 kgm2
Cable Spring Constant k 45 N/m
Proportional Gain Matrix Kp 50(I[5×5] )
Derivative Gain Matrix Kd 15(I[5×5] )

55
Figure 3.10: T2R4 C7 V2 Configuration.

cables and five degrees of freedom. Initially, the system is given only five actuators,
leaving cables 5 and 7 passive. They are each given initial length of .10 m. Again,
the system dynamics are written in the form of (3.1) and the feedback linearization
procedure of section 3.3 is used. Recall q = [y1 θ1 θ2 θ3 θ4 ]T . Under set-point
control, the initial and desired configuration vectors are taken as

q0 = [−.1768 45◦ 135◦ 45◦ 135◦ ]T , (3.29)

qd = [−.0855 20◦ 160◦ 20◦ 160◦ ]T . (3.30)

These configurations are shown in Figure 3.11. Using the fully-actuated system, T1
becomes negative, as shown in Figure 3.12. Therefore, the simulation is run again,
actuating all cables and using the null-space controller. As Figure 3.13 depticts,
this time all tensions are kept from going negative. T1 and T3 are zero for the
entire simulation. Both linear programming and quadratic programming methods
for finding p with the null-space controller result in the same tensions. Each system
variable properly moves to its desired state. The tracking of the five variables is
shown in Figure 3.14.

56
0.1

0.05

−0.05

−0.1
y (m)

−0.15

−0.2

−0.25

−0.3

−0.35

−0.4
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
x (m)
0.1

0.05

−0.05

−0.1
y (m)

−0.15

−0.2

−0.25

−0.3

−0.35

−0.4
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
x (m)

Figure 3.11: Initial (top) and Final (bottom) System Configurations.

3.6 Conclusions
System control for planar tensegrity structures was addressed in this chapter.
Feedback linearlization methods and null-space control utilizing overactuation were
shown to feasibly allow shape modification of a variety of tensegrity structures while
maintaining positive tensions in the cables. It is apparent that the introduction of
more cables allows the required tensions to drop in magnitude, although a more
thorough analysis of this idea would be appropriate in the future. Furthermore, the

57
20

15
T2

T4
10

T
3
Tension (N)
T6
5

T T7
5

T1

−5

−10
0 0.5 1 1.5 2 2.5 3
Time (s)

Figure 3.12: T2R4 C7V2 Tensions vs. Time with Passive Cables 5 and 7. T1
becomes negative during the system motion.

25

20

T2

15
Tension (N)

10

T5

5 T6

T4
T7
0
T1 T3

−5
0 0.5 1 1.5 2 2.5 3
Time (s)

Figure 3.13: T2R4 C7 V2 Tensions vs. Time with All Cables Actuated. Both
linear and quadratic programming methods for choosing p result in
the same nonnegative tensions. T1 and T3 are zero for all times.

58
Figure 3.14: System Variable Tracking vs. Time. Each system variable
moves exponentially to its desired state.

choice of the number and placement of actuated cables was somewhat arbitrary. In
certain cases, the choice was not acceptable for the null-space controller. Knowing
ahead of time whether a certain choice of actuated cables is suitable to achieve
a particular configuration would be advantageous. This idea is the focus of the
following chapter.

59
Chapter 4

SYSTEM WORKSPACE DETERMINATION

4.1 Introduction
In general, an n-degree-of-freedom system can be fully controlled with n actu-
ators. The reachable domain, or workspace of allowable configurations of the system,
is typically limited by kinematic constraints. In the case of tensegrity structures,
however, due to the additional requirement that all actuated tensions be positive,
an n-degree-of-freedom system with n actuated cables may have a workspace much
more limited than if the actuators could supply compressive forces. Therefore, a
desired configuration of a tensegrity structure that appears to be acceptable at first
glance, may in fact lie outside the feasible workspace. Complicating matters is the
fact that the static workspace, consisting of all configurations where the structure
can maintain static equilibrium, does not account for integrity of the system during
motion from one configuration to another. In other words, the starting and ending
configurations may both lie within the static workspace, but at some time in the
transition between the two configurations, the tensions may try to become negative.
Therefore, it is necessary to develop the dynamic workspace for a structure, which
accounts for this transition between points. It is possible to develop the dynamic
workspace for a tensegrity system that is fully-actuated and also for one that employs
overactuation and null-space control. Obviously, knowing a priori what configura-
tions of a system are attainable with positive tensions is extremely valuable. This
chapter describes the methods used to generate the feasible workspaces for various

60
planar tensegrity structures, as well as presenting results from simulations utilizing
these workspaces.
Several papers have addressed the issue of deriving a static workspace for
a variety of cable-based systems [20, 21, 30, 31, 32]. Similarly, Skelton et al have
discussed necessary static equilibrium conditions for tensegrity structures [2, 25, 33].
However, for a system that is in motion, it is important to recognize that the con-
figurations a system may maintain statically may not necessarily correlate to those
it may reach dynamically. Oh and Agrawal have developed methods of generating
a dynamic workspace for a cable-suspended robot [8, 9, 11, 12, 13]. They show
that future system behavior can be predicted by solving for the error of the system
states analytically based on a given controller. This incorporates system dynamics
rather than simply finding feasible static equilibrium configurations. The analytical
solution can be used to determine which configurations will be dynamically reach-
able. A similar approach based on feedback linearization is used here to develop the
dynamic workspace for planar tensegrity systems.

4.2 Analytical Error Solution


Because one can solve for the tracking error of a feedback-linearized system
analytically, as described in section 3.3, it is possible to determine the state of a
system, q(t), at any time for a given Kd , Kp , qd (t), and initial state q(0). To see
this, it is helpful to first rewrite (3.9) with the constants’ values included, writing
the error terms as qd − q,

s2[qd (0) − q(0)] − [q̇d(0) − q̇(0)] s1 t


[qd(t) − q(t)] = e
s2 − s1
[q̇d(0) − q̇(0)] − s1[qd (0) − q(0)] s2 t
+ e . (4.1)
s2 − s1

61
Recall s1 and s2 are given by equation (3.8). Solving for q(t) yields

s2 [qd(0) − q(0)] − [q̇d(0) − q̇(0)] s1 t


q(t) = qd (t) − e
s2 − s1
[q̇d(0) − q̇(0)] − s1 [qd(0) − q(0)] s2 t
− e . (4.2)
s2 − s1

This equation can be simplified for the case of set-point control. Using set-point
control, the system begins and ends at rest, such that qd is a constant vector,
independent of time. Under this assumption, q̇(0), q̇d (0) = 0 and qd (0) = qd . Then
(4.2) becomes
s2 (qd − q0 ) s1 t s1(qd − q0) s2 t
q(t) = qd − e + e (4.3)
s2 − s1 s2 − s1
where q(0) has been replaced by q0. Similarly, the solution of q̇(t) under set-point
control is
s2(qd − q0) s1 t s1 (qd − q0 ) s2 t
q̇(t) = − s1 e + s2e . (4.4)
s2 − s1 s2 − s1
Thus, analytical solutions of both q(t) and q̇(t) are available, which is essential in
generating the dynamic workspace.

4.3 Dynamic Workspace Generation Techniques


Using the control law specified in (3.5) and assuming a perfect model of a
tensegrity system, the input that will be provided to the system at any time can be
determined from (3.3) as
   
−1
u(t) = B A q̈d + Kd (q̇d − q̇) + Kp (qd − q) − Cv − g . (4.5)

Using set-point control, where qd is composed of fixed values of the system variables,
this equation simplifies to
   
−1
u(t) = B A Kd (−q̇) + Kp (qd − q) − Cv − g (4.6)

where B −1, C, and v are functions of q, and q and q̇ are given by (4.3) and (4.4),
respectively. Therefore, given a set of control gains Kd and Kp , initial configuration

62
q0, and desired configuration qd , the control inputs u that will be provided to the
system over all time can be found. The dynamic workspace is composed of all qd
that result in positive u at each time. The range of qd that will result in positive
tension inputs typically shrinks over time, meaning that the tensions under certain
choices of qd begin positive but become negative at some time during the system’s
transition between states. These qd are obviously unacceptable, and therefore, the
time-independent dynamic workspace, composed of qd that generate positive tension
inputs for all time, is more significant.
The structure of the dynamic workspace of a given tensegrity system depends
on time, as well as the dimension of vector qd. As the dimension of qd increases
for systems with higher degrees of freedom, it becomes more difficult to depict the
dynamic workspace graphically. For example, the workspace of any system beyond
two degrees of freedom cannot be graphed directly because it will depend on at
least four parameters (three kinematic variables and time), while only three spatial
dimensions exist for plotting. Therefore, representing the workspace graphically
becomes a challenge. There are several ways to manage this issue, however. The
first is limiting motion to one dimension at a time. In other words, given an initial
configuration in, for example, x, y, and θ, one may first find the feasible xd region,
choose a value from this region, and have the system move there. Then this process
may be repeated for the other two system variables. Another option is plotting the
feasible volume of (xd , yd , θd ) combinations at a number of time samples, and then
finding the intersection of these volumes that span the entire time domain. This will
yield a single, time-independent workspace volume. This second option becomes
rather limited beyond a three-degree-of-freedom system, however, as, again, one
cannot plot greater than three dimensions in a single graph. It is, of course, possible
to still find a higher-dimensional workspace without plotting it. Both approaches
to plotting the dynamic workspace of a three-degree-of-freedom tensegrity structure

63
are discussed in the following sections.

4.4 Three-Degree-of-Freedom Tensegrity Structure


4.4.1 Physical Description
Consider a planar tensegrity structure with two crossing rods and four cables.
It is possible to describe this structure as a T1R2 C4 system, however, because there
are no sites available for the placement of vertical or diagonal cables, it is suitable
to forgo the naming/numbering scheme of chapter 2 for a structure of this limited
scope. This structure can be constrained such that it has only three degrees of
freedom, compared to its original six. These degrees can be reduced in several ways.
The simplest method is to hold one rod fixed at each end, eliminating all three of its
degrees, while the other rod is left unconstrained. This system is investigated and
described here. Such a structure is shown in Figure 4.1. Rod 1 is left unconstrained
and defined geometrically by its center-of-mass position (x, y) and orientation angle
θ measured counterclockwise from the horizontal. Rod 2 is fixed horizontally, and,
for all intents and purposes, is dynamically negligible. It is simply used to keep the
ends of the four cables fixed in place. Each rod is of length 2l and mass m. The
system origin is placed at the left endpoint of rod 2 with axes defined as shown in
the figure. Cable tensions are denoted by T1, T2 , T3, and T4 . Gravity acts in the
negative-y direction.

4.4.2 Kinematic Model


The kinematics of this structure are rather straightforward since only one
body is in motion. The tension direction vectors are given by the following equations.

64
Figure 4.1: Planar Tensegrity Structure with One Fixed Rod and One
Free Rod.

 
−−→ −x − l cos θ
d1 = BD =   (4.7)
−y − l sin θ
 
−−→ 2l − x − l cos θ
d2 = BE =   (4.8)
−y − l sin θ
 
−→ 2l − x + l cos θ
d3 = AE =   (4.9)
−y + l sin θ
 
−−→ −x + l cos θ
d4 = AD =   (4.10)
−y + l sin θ

65
The cable lengths are found as follows.
−−→ p
L1 = |BD| = (−x − l cos θ)2 + (−y − l sin θ)2 (4.11)
−−→ p
L2 = |BE| = (2l − x − l cos θ)2 + (−y − l sin θ)2 (4.12)
−→ p
L3 = |AE| = (2l − x + l cos θ)2 + (−y + l sin θ)2 (4.13)
−−→ p
L4 = |AD| = (−x + l cos θ)2 + (−y + l sin θ)2 (4.14)

Then unit vectors are found by scaling the tension direction vectors by their respec-
tive cable lengths.
di
d̂i = (4.15)
Li

4.4.3 Dynamic Model


Next, the system dynamics are defined. As in chapter 2, this is done using
the Newton-Euler method. Because rod 2 is stationary, it can be neglected in the
dynamic analysis. There are then three equations to define the dynamics of rod 1:

mẍ = Fx (4.16)

mÿ = Fy (4.17)

I θ̈ = Mz (4.18)

Substituting in the x-components of the four cable tensions, (4.16) becomes

mẍ = T1d̂1x + T2d̂2x + T3 d̂3x + T4d̂4x


(−x − l cos θ) (2l − x − l cos θ)
= T1 + T2
L1 L2
(2l − x + l cos θ) (−x + l cos θ)
+ T3 + T4 (4.19)
L3 L4
and substituting in the y-tension components and rod weight changes (4.17) to

mÿ = T1 d̂1y + T2 d̂2y + T3 d̂3y + T4 d̂4y


(−y − l sin θ) (−y − l sin θ)
= T1 + T2
L1 L2
(−y + l sin θ) (−y + l sin θ)
+ T3 + T 4 − mg. (4.20)
L3 L4

66
The moments created by the four tensions are summed using


−→ −
−→ −→ −→
I θ̈ = (CB × T1d̂1 ) + (CB × T2d̂2 ) + (CA × T3d̂3 ) + (CA × T4 d̂4) (4.21)

−→ −
−→
where CA and CB are defined as
   
−−→ l cos θ −→  −l cos θ 
CB =  , CA = . (4.22)
l sin θ −l sin θ

The final sum-of-moments equation becomes

xl sin θ − yl cos θ −2l2 sin θ + xl sin θ − yl cos θ


I θ̈ = T1 + T2
L1 L2
2l2 sin θ − xl sin θ + yl cos θ −xl sin θ + yl cos θ
+ T3 + T4 (4.23)
L3 L4

These three dynamic equations can be written in matrix form, as in (3.1). The
system variables are grouped into a vector q = [x y θ]T . T1 , T2, and T3 are taken
as the control inputs, making up the vector u. Cable 4 is unactuated, and T4 found
using
T4 = k(L4 − L40 ). (4.24)

Therefore in this case, vector v has only one element, T4. The final matrix form of
the system dynamics is
     
−x−l cos θ 2l−x−l cos θ 2l−x+l cos θ
m 0 0 ẍ T
    L1 L2 L3  1 
    −y−l sin θ −y−l sin θ −y+l sin θ  
 0 m 0   ÿ  =    T2 
    L1 L2 L3  
xl sin θ−yl cos θ −2l2 sin θ+xl sin θ−yl cos θ 2l2 sin θ−xl sin θ+yl cos θ
0 0 I θ̈ L1 L2 L3
T3
   
−x+l cos θ
0
 L4 h i  
 −y+l sin θ   
+  T4 +  −mg  (4.25)
 L4   
−xl sin θ+yl cos θ
L4
0

or, again,
Aq̈ = Bu + Cv + g. (4.26)

67
4.4.4 Simulation
To generate the dynamic workspace of the three-degree-of-freedom tensegrity
structure described above, a simulation was developed using MATLAB. The chosen
simulation parameter values are shown in Table 4.1. Given an initial configuration

Table 4.1: Simulation Parameters.

Rod Mass m .15 kg


Rod Length 2l .5 m
1
Rod Moment of Inertia about Center I = 12 m(2l)2 .003125 kgm2
Cable Spring Constant k 100 N/m
Unstretched Length of Passive Cable 4 L 40 .15 m
Proportional Gain Matrix Kp 50(I[3×3] )
Derivative Gain Matrix Kd 15(I[3×3] )

q0, the dynamic workspace can be determined. This is done numerically, dividing
the ranges of the system variables into discrete samples, and calculating the input
tensions u at each (x, y, θ, t) combination using (4.6). The points where u ≥ 0 are
mapped to the dynamic workspace, while those where u < 0 are omitted.

4.4.4.1 One-Dimensional Motion


If the system motion is limited to one dimension at a time, a planar plot
of the feasible region can be represented in (t,qd) coordinates, where qd represents
the range of desired values in the variable dimension of interest. Once the region
is generated for the first dimension, a feasible qd value is chosen, and the process is
repeated for the other two system variables.
For the current system, an initial configuration of q0 = [.25 0 90◦ ]T is chosen.
This configuration is shown in Figure 4.2. First, y and θ are held fixed such that
yd = y0 and θd = θ0 , leaving x as the only variable dimension. Then, the time
domain is sampled every 0.01 seconds from 0 to 3 seconds, resulting in 301 discrete
time samples. The range of xd is taken from 0 to 0.5m and divided, for consistency

68
0.3

0.2

0.1

y (m)
0

−0.1

−0.2

−0.3

−0.1 0 0.1 0.2 0.3 0.4 0.5 0.6


x (m)

Figure 4.2: Initial Configuration. The system is given initial values x0 = 0.25m,
y0 = 0m, and θ0 = 90◦ .

and ease of plotting, into 301 equally-spaced discrete values as well. The input
values for each of the actuated cables are then computed for each of these xd -t
combinations. The result is a three-dimensional surface plot of the tensions as a
function of xd and time. Figure 4.3 shows these surface plots of T1, T2 , and T3.
As can be seen, the tensions in all three cables remain positive for all choices of xd .
However, the plots of T2 and T3 approach infinity as xd goes to 0.5m and t increases.
This obviously is not feasible, so a second limiting condition is imposed such that

Figure 4.3: Surface Plots of Input Tension Values for Varying xd .

69
only the points where the tension is less than or equal to 1000N are considered in the
workspace. With the minimum and maximum restrictions established, the region
of feasible points can be plotted in the plane. Figure 4.4 shows the feasible areas
for the three cables and their combined, composite region. This composite region is
the feasible area such that all tensions will remain within the imposed limits. The
thin curved boundary at the top of the shaded area results from the exponential
controller. Choosing an xd above 0.49m will cause tensions to rise beyond the 1000N
limit once time progresses beyond the curved boundary. However, a choice of xd
below this line results in positive inputs that are below the imposed maximum for
all time. The region below the horizontal line at xd = 0.49m thus represents the
time-independent dynamic workspace. Any xd within the time-independent dynamic
workspace is acceptable. A value of xd = 0.37m is arbitrarily chosen. The x-motion
is tracked versus time in Figure 4.5. The tension values for all four cables are shown
in Figure 4.6.

70
Figure 4.4: Feasible Areas for Choice of xd .

71
x−Position vs. Time
0.38
0.37
0.36
0.35
0.34
0.33
0.32

x (m) 0.31
0.3
0.29
0.28
0.27
0.26
0.25
0.24
0 0.5 1 1.5 2 2.5 3
Time (s)

Figure 4.5: x-Position versus Time. The system begins at x = 0.25m and
moves exponentially to x = 0.37m.

Tension Values vs. Time


55
T3
50 T2

45

40
Tension (N)

35

T4
30
T1
25

20

15
0 0.5 1 1.5 2 2.5 3
Time (s)

Figure 4.6: Cable Tensions During x-Motion. The tension in each cable stays
within the imposed limits throughout the motion from 0.25m to 0.37m.

72
The process for finding the feasible area for yd is then carried out. The new
initial configuration is q0 = [.37 0 90◦ ]T , as shown in Figure 4.7. Now x and θ
are held fixed while yd is varied from −0.25m to 0.25m. Again, t is taken from 0
to 3 seconds and sampled every 0.01 seconds. yd is given an equivalent number of
samples. The resulting tension surface plots are shown in Figure 4.8.

0.3

0.2

0.1
y (m)

−0.1

−0.2

−0.3

−0.1 0 0.1 0.2 0.3 0.4 0.5 0.6


x (m)

Figure 4.7: Initial Configuration for y-Motion. New initial values are x0 =
0.37m, y0 = 0m, and θ0 = 90◦ .

Figure 4.8: Surface Plots of Input Tension Values for Varying yd .

As before, the tension maximum must be limited to 1000 because T1 and


T2 spike at yd = −0.25m. Also, these tensions become slightly negative as yd

73
approaches 0.25m, though it is difficult to tell due to the scaling of the plots in
Figure 4.8. Figure 4.9, however, shows the feasible areas for each tension and their
composite. The limit at yd = −0.23m is due to excessively high tensions, while
the limit at 0.24m is due to negative tensions. An arbitrary choice of yd = −0.09 is
made. The corresponding y-motion tracking and cable tensions are shown in Figures
4.10 and 4.11, respectively.

Figure 4.9: Feasible Areas for Choice of yd .

74
y−Position vs. Time
0

−0.01

−0.02

−0.03

−0.04

y (m) −0.05

−0.06

−0.07

−0.08

−0.09

−0.1
0 0.5 1 1.5 2 2.5 3
Time (s)

Figure 4.10: y-Position versus Time. The system begins at y = 0m and moves
exponentially to y = −0.09m.

Tension Values vs. Time


90

T
2
80

70 T3
Tension (N)

60
T1
50

40

T4
30

20
0 0.5 1 1.5 2 2.5 3
Time (s)

Figure 4.11: Cable Tensions During y-Motion. The tension in each cable
stays within the imposed limits throughout the motion from 0m to
−0.09m.

75
The final phase of motion is rotation of the angle θ about the rod’s center.
The new initial configuration is q0 = [.37 −.09 90◦ ]T , as shown in Figure 4.12.
In this case, θ is varied from 0◦ to 180◦ and sampled in the same manner as the
previous variables. The other variables are again fixed, and the same time interval
and sampling are used. The tension surface plots each contain several areas that
spike to large positive and negative values, as is shown in Figure 4.13.

0.3

0.2

0.1
y (m)

−0.1

−0.2

−0.3

−0.1 0 0.1 0.2 0.3 0.4 0.5 0.6


x (m)

Figure 4.12: Initial Configuration for θ-Motion. New initial values are x0 =
0.37m, y0 = −0.09m, and θ0 = 90◦ .

Figure 4.13: Surface Plots of Input Tension Values for Varying θd .

76
The corresponding feasible regions are shown in Figure 4.14. Any θd between
37.2◦ and 158.4◦ is acceptable. A value of 125◦ is chosen. The corresponding θ-
motion tracking and cable tensions are shown in Figures 4.15 and 4.16.

Figure 4.14: Feasible Areas for Choice of θd .

77
θ−Orientation vs. Time
130

125

120

115

θ (°)
110

105

100

95

90
0 0.5 1 1.5 2 2.5 3
Time (s)

Figure 4.15: θ-Orientation versus Time. The system begins at θ = 90◦ and
moves exponentially to θ = 125◦ .

Tension Values vs. Time


90
T2

80

70
Tension (N)

60

T1
50

T4
40
T3

30
0 0.5 1 1.5 2 2.5 3
Time (s)

Figure 4.16: Cable Tensions During θ-Motion. The tension in each cable
stays within the imposed limits throughout the motion from 90◦ to
125◦ .

78
Therefore, by plotting the dynamic workspace for each variable and using
consecutive one-dimensional moves, the feasible system motion was determinable
and the desired configuration was reached. The final system configuration of q =
[.37 −.09 125◦ ]T is shown in Figure 4.17.

0.3

0.2

0.1
y (m)

−0.1

−0.2

−0.3

−0.1 0 0.1 0.2 0.3 0.4 0.5 0.6


x (m)

Figure 4.17: Final System Configuration. Final values are x = 0.37m, y =


−0.09m, and θ = 125◦ .

4.4.4.2 Multi-Dimensional Workspace


Obviously, a more expedient approach would be to map the feasible combi-
nations of xd , yd , and θd rather than having to find each individually. That is the
focus of this section. As mentioned earlier, a feasible volume of points in (xd , yd , θd )
coordinates can be found at each instant of time. This volume is time-dependent,
and will thus change as time progresses. However, by finding the intersection of
points that exist within the volume for all time, the time-independent dynamic
workspace can be determined, from which any combination of system variables is a
viable choice. Unfortunately, this method is much more computationally intensive
than the previous one. Because there are now four parameters that determine the
input values rather than two, it becomes necessary to use fewer samples of each, and

79
the plot resolution is not as sharp. Nevertheless, this method is an effective way of
determining the feasible dynamic workspace.
As a point of comparison, an initial system configuration identical to the
one in the previous method, q0 = [.25 0 90◦ ]T , is used. The same range of each
variable is used again as well: 0 ≤ xd ≤ 0.50, −0.25 ≤ yd ≤ 0.25, 0 ≤ θd ≤ 180,
and 0 ≤ t ≤ 3. Each is sampled at 20 equally-spaced points, producing 160, 000
different combinations for which u is computed. Again the criteria for inclusion in
the dynamic workspace is that all input tensions be positive and not exceed 1000N .
All (xd , yd , θd ) points fulfilling these requirements are mapped to the workspace.
From this point cloud, a more solid volume is created by taking level sets through
each sampled value in each spatial dimension. The change in shape of the workspace
can be seen in Figure 4.18, which shows the feasible volume at six different time
samples. The workspace begins as a cube, filling the entire spatial domain, and
then shrinks as more points become infeasible. The time-independent dynamic
workspace, composed of the intersection of feasible points present at all time samples,
is given in Figure 4.19.
Any point from the time-independent dynamic workspace should produce
satisfactory tensions throughout the motion from q0 to qd . However, it is important
to realize that this method is numerical and depends heavily on the sampling resolu-
tion. It is possible for tensions to spike rapidly and drastically if the system reaches
an unstable configuration, as can be seen in Figure 4.13. Such a situation can occur
when the rods become uncrossed or the cables themselves cross over one another.
If the sampling resolution is fine enough, these spikes will be detected and the cor-
responding points will be eliminated from the workspace. However, because the
degree of computational intensiveness rapidly increases with the resolution, there is
an obvious tradeoff. These unstable points tend to occur at the boundaries of the

80
Figure 4.18: Dynamic Workspace at Successive Time Samples. The feasi-
ble volume shrinks as time progresses.

81
Volume of x , y , θ Combinations Resulting in Feasible Tensions in All Cables for All Times
d d d

180

160

140

120

100
θ ( )
ο
d

80

60

40

20

0
0.25
0.2
0.15
0.1
0.05 0.5
0.45
0 0.4
−0.05 0.35
0.3
−0.1 0.25
−0.15 0.2
0.15
−0.2 0.1
−0.25 0.05
0
yd (m)
x (m)
d

Figure 4.19: Time-Independent Dynamic Workspace. Feasible volume en-


compassing points present at each time sample.

82
workspace, and are avoidable by staying away from the workspace edges. Alterna-
tively, geometric constraints can be placed on the system to prevent it from entering
these problematic configurations.
Using the generated time-independent dynamic workspace, the point qd =
[.37 −.09 125◦ ]T , is shown to again be feasible. It can be seen in Figure 4.20 that all
four tensions remain within the acceptable bounds when this point is chosen. Each
system variable is shown in Figure 4.21 to reach its desired state exponentially.

Tension Values vs. Time


90

T2
80

70
Tension (N)

60

50 T
1

T
40 4

T3
30

20
0 0.5 1 1.5 2 2.5 3
Time (s)

Figure 4.20: Cable Tensions During Combined x-y-θ Motion. The tension
in each cable stays within the imposed limits throughout the motion
from [.25 0 90◦ ]T to [.37 −.09 125◦ ]T .

x−Position vs. Time y−Position vs. Time θ−Orientation vs. Time


0.38 0 130
−0.01 125
0.36
−0.02
120
0.34 −0.03
−0.04 115
0.32
x (m)

y (m)

θ (°)

−0.05 110
0.3
−0.06 105
0.28 −0.07
100
−0.08
0.26 95
−0.09
0.24 −0.1 90
0 1 2 3 0 1 2 3 0 1 2 3
Time (s) Time (s) Time (s)

Figure 4.21: Tracking of Each System Variable versus Time.

83
4.4.4.3 Static Workspace Comparison
At this point it is worth comparing the time-independent dynamic workspace
with the static workspace, pictured in Figure 4.22. The static workspace represents
all (xd , yd , θd ) combinations such that the system can hold a static equilibrium con-
figuration while maintaining cable tensions within the defined range from 0N to
1000N . The two plots are very similar, but some regions are absent in the dynamic
workspace that appear in the static workspace, most notably as θd approaches its
limits at 0◦ and 180◦ . What this means is that there are certain configurations in
which the system can hold itself statically and maintain acceptable tensions, but in
order to transition to these points from the specified initial configuration, negative
or excessively high tensions will be required during the motion.

Figure 4.22: Comparison of Dynamic and Static Workspaces. The static


workspace (right) contains regions that are eliminated in the time-
independent dynamic workspace (left).

For illustration, consider the point (.30, −.10, 0), which is a part of the static
workspace but not the dynamic workspace. When this point is chosen, the cable

84
tensions are seen in Figure 4.23 to spike at around 0.5 seconds, though once the
system settles to the static equilibrium state, all tensions are within the imposed
limits (T1 = 3.29N, T2 = 0.16N, T3 = 3.39N, T4 = 0N ). Thus, although the
final configuration (Figure 4.24) is a valid statically, the spiking tensions that occur
during the motion eliminate the point from the dynamic workspace.

Tension Values vs. Time


100

80

60

40

20
Tension (N)

−20

−40

−60

−80

−100
0 0.5 1 1.5 2 2.5 3
Time (s)

Figure 4.23: Cable Tensions During Infeasible Motion. The tensions spike
outside the limits with the choice of qd = [.30 −.10 0◦ ]T .

0.3

0.2

0.1
y (m)

−0.1

−0.2

−0.3

−0.1 0 0.1 0.2 0.3 0.4 0.5 0.6


x (m)

Figure 4.24: Static Equilibrium Configuration. The final configuration sat-


isfies the static equilibrium conditions with nonnegative tensions.

85
4.5 Overactuated System Comparison
In the previous sections, the workspace of a fully-actuated three-degree-of-
freedom planar tensegrity structure was analyzed. The feasible combinations of
its system variables were mapped, showing allowable desired configurations for the
system using three actuated cables and one passive cable. The same procedure can
be performed for an equivalent system with all four cables actuated. Using null-
space control, as discussed in detail in section 3.4, the redundancy of actuation can
be exploited to rectify many of the negative tensions that would otherwise occur in
the system that was only fully actuated. While not every configuration is reachable
with this positive tensions controller, the dynamic workspace is expanded compared
to that of the fully-actuated system.
For the overactuated system, the form of the system dynamics changes slightly
because there are now four control inputs. Equation (4.26) is altered such that C
and v are appended to the coefficient matrix B and control vector u, respectively,
resulting in the simpler form
Aq̈ = Bu + g (4.27)

where now B is (3 × 4) and u is a four-vector containing the four input tensions. In


this case u is determined using

u = ū + N (B)p (4.28)

where
ū = B T (BB T )−1 [A(q̈d + Kd ė + Kp e) − g], (4.29)

N (B) is the null space of matrix B, and p is a feasibility parameter chosen to satisfy
the condition
ū + N (B)p ≥ 0. (4.30)

Again, set-point control is used, simplifying (4.29) to


   
T T −1
ū = B (BB ) A Kd (−q̇) + Kp (qd − q) − g (4.31)

86
and the analytical error solution is used to supply q̇ and q at each time sample.
For this simulation, if all elements of ū are positive, there is no need to rectify
the inputs and u is simply set equal to ū. Otherwise (4.30) is analyzed as a set of
four inequalities dependent on a choice of p. The range of feasible p values satisfying
all four inequalities may be lower-bounded, upper-bounded, or both. Any p within
this range will produce nonnegative inputs, though their values will vary depending
on the choice of p. If the range is bounded on only one side, choosing the extremum
value will result in at least one of the tensions being zero since this is the minimum
tension allowed by (4.30). If a slightly positive tension is desired, p may be chosen
slightly above the minimum bound or below the maximum bound. If the range
is double-bounded, the mean of the range is chosen. If all four of the inequalities
cannot be satisfied simultaneously, no feasible region will emerge, and it will be
impossible to avoid nonnegative tensions. When this occurs, the corresponding
(xd , yd , θd ) point is omitted from the dynamic workspace. Otherwise, all (xd , yd , θd )
combinations for which the tensions can be rectified (and do not exceed 1000N ) are
mapped to the dynamic workspace.
As before, the three qd variables and time interval are sampled at 20 equally-
spaced values. The combinations for which the tensions can be made nonnegative
and remain below the maximum limit over the entire time interval are included in
the time-independent dynamic workspace, shown in Figure 4.25. The workspace for
the overactuated system contains 5, 966 mapped points compared to 3, 192 for the
fully-actuated system, meaning that by introducing one extra actuator and using
null-space control, the workspace can be expanded by 87%. Note that the entire
volume for which yd < 0 is included in the workspace. This is because as long as the
free rod’s center of mass is below the horizontal containing the cables’ fixed points,
there is no configuration in which any of the cables would need to push to hold the
rod up. For example, if the rod were horizontal (θd = 0◦ , 180◦ ), at any yd < 0 all

87
four cables would be in tension, carrying the weight of the rod, while at any yd > 0
they would need to be in compression to hold the rod above the line y = 0. The
portion of the feasible volume added by utilizing overactuation is plotted in Figure
4.26.

Volume of x , y , θ Combinations Resulting in Feasible Tensions in All Cables for All Times
d d d

180

160

140

120

100
θ (ο)
d

80

60

40

20

0 0
−0.25 0.05
−0.2 0.1
−0.15 0.15
−0.1 0.2
−0.05 0.25
0 0.3
0.05 0.35
0.1 0.4
0.15 0.45
0.2
0.25 0.5
x (m)
d
y (m)
d

Figure 4.25: Time-Independent Dynamic Workspace for Overactuated


System. Feasible volume encompassing points present at each time
sample.

88
180

160

140

120

100
θ ( )
ο
d

80

60

40

20

0 0
−0.25 0.05
−0.2 0.1
−0.15 0.15
−0.1 0.2
−0.05 0.25
0 0.3
0.05
0.1 0.35
0.15 0.4
0.2 0.45
0.25 0.5
x (m)
d
y (m)
d

Figure 4.26: Portion of Feasible Volume Added by Using Overactuation.


The increase in volume is seen by subtracting the time-independent
workspace of the fully-actuated system from that of the overactuated
system.

Although all points in the workspace shown in Figure 4.25 are reachable by
the system, the tensions that are necessary to bring the system to the corresponding
configurations, while positive, may be discontinuous in time. Most often, the discon-
tinuities arise for configurations where the rods become uncrossed, during which the

89
cables themselves sometimes must cross over one another to reach the desired con-
figuration. As mentioned in section 4.4.4.2, geometric constraints may be imposed
which prevent the rods from becoming uncrossed. Two constraints are necessary:
one for the vertical direction and one for the horizontal direction. To ensure the free
rod does not move entirely above or below the fixed rod, it is required that

−l sin θ < y < l sin θ. (4.32)

To ensure that the free rod does not move past the left or right endpoints of the
fixed rod, it is necessary that
α<θ<β (4.33)

where α and β are angles established counterclockwise from the horizontal to cables
3 and 4, respectively. Mathematically, these angles are defined as follows
 
−1 −y + l sin θ
α = tan (4.34)
2l − x + l cos θ
 
◦ −1 x − l cos θ
β = 90 + tan . (4.35)
−y + l sin θ
With these constraints imposed, the new time-independent dynamic workspace can
be plotted, as shown in Figure 4.27. In this case 3, 936 points are mapped to the
workspace compared to 3, 175 for the fully-actuated system with the same geometric
constraints imposed. This equates to a 24% increase. The portion of the workspace
that is added by using the null-space controller in this case is shown in Figure 4.28.

The null-space controller also serves, in general, to lower the tension values
that are necessary to govern the system motion. Because the system is overactuated,
there is more freedom in choosing four inputs to control three degrees of freedom.
The null-space controller, while maintaining positive tensions, also chooses these
tensions to be as minimal as possible. As a point of comparison, if the same qd

90
180

160

140

120

100

θd (ο)
80

60

40

20
0.5
0.45
0 0.4
0.25 0.2 0.35
0.3
0.15 0.1 0.25
0.05 0.2
0
−0.05 0.15
−0.1 0.1
−0.15−0.2 0.05
−0.25 0
xd (m)
y (m)
d

Figure 4.27: Geometrically Constrained Time-Independent Dynamic


Workspace for Overactuated System. Feasible volume encom-
passing points present at each time sample.

180

160

140

120

100
θd ( )
ο

80

60

40

20 0.5
0.45
0 0.4
0.35
0.25 0.2 0.3
0.15 0.1 0.25
0.05 0.2
0 0.15
−0.05−0.1 0.1
−0.15−0.2 0.05
−0.25 0
xd (m)
yd (m)

Figure 4.28: Portion of Feasible Volume Added by Using Overactua-


tion and Geometric Constraints. The increase in volume is seen
by subtracting the time-independent workspace of the geometrically
constrained fully-actuated system from that of the overactuated sys-
tem.

91
of [.37 −.09 125◦ ]T is chosen for the overactuated system, the corresponding ten-
sions much lower than those for the fully-actuated system, as shown in Figure 4.29.
Compared to Figure 4.20, in which tensions range from 20N to 90N , the present
tensions (between 0.4N and 1.7N ) are significantly improved.

Tension Values vs. Time


2

1.8 T3

1.6
T2

1.4

1.2
T4
Tension (N)

0.8

0.6

T1
0.4

0.2

0
0 0.5 1 1.5 2 2.5 3
Time (s)

Figure 4.29: Cable Tensions for Overactuated System Motion. The cable
tensions for system motion from [.25 0 90◦ ]T to [.37 −.09 125◦ ]T
are much lower when using null-space control and an overactuated
system.

4.6 Conclusions
In this chapter, various approaches to mapping the dynamic workspace of pla-
nar tensegrity structures were presented. For a given controller, the tracking error
of the system response was solvable analytically, from which the state of the system
could be determined at any time. From this, the input tension values throughout
the motion from an initial configuration to a desired configuration could be found,

92
and those desired states that afforded tensions which remained within a predefined
range were then mapped to the workspace. The time-independent workspace defined
all feasible configurations a structure could attain under tension constraints. Sim-
ulation results verified the methods, as chosen points within the workspace yielded
appropriate tensions while the system moved to its desired state and the tracking
error went to zero.

93
Chapter 5

EXPERIMENTATION

5.1 Introduction
This chapter details an experimental system that was developed to verify
some of the theories and techniques discussed in the earlier chapters. The experiment
involved a simple three-degree-of-freedom planar tensegrity structure, much like
that described in chapter 4. Experimental data was collected from several trials
and then compared to expected results from simulations based on the same system
parameters.

5.2 System Description


An experimental system was developed at the University of Delaware’s Me-
chanical Systems Laboratory, consisting of the mechanical and control components
for a three-degree-of-freedom planar tensegrity structure. The chosen structure is
similar to that described in chapter 4, having two rods and four cables. The struc-
ture is constrained in the same way, such that one of the rods is fixed in place
horizontally and the other is free to move unrestricted, reducing the system’s free-
dom by three degrees. A diagram of the system is shown in the previous chapter
in Figure 4.1. Since the horizontal rod is dynamically negligible, it is omitted from
the physical system. Steel is used as the material for the remaining rod in an effort
to increase its mass and better suit it for the large size of the available motors.
Because this is a preliminary attempt at producing a working physical tensegrity

94
system, only three active cables are used, while an extension spring is used to repre-
sent the passive fourth cable. The three active cables are routed around pulleys fixed
in place to mimic the endpoints of the omitted rod. From there, the cables run to
motors attached to the frame which holds a vertically mounted backboard, against
which the structure moves. The motors used are Kollmorgen GOLDLINE XT Series
direct-drive brushless servomotors, fitted with 2048 count-per-revolution encoders.
In addition, four 50-lb-maximum (222.5 N ) load cells from Transducer Techniques
are used to measure the tension in each cable at any instant during motion. Initially,
the system was designed with cables made of steel wire. However, when these cables
were wound around the aluminum spools attached to the motors, they picked up
electromagnetic interference when the motors were powered on. This noise traveled
along the cables to the load cells, which consequently experienced an approximately
20 N error in their tension readings. Insulating this cable had no effect, and as
a result, the steel cable was replaced with braided high-strength fishing line that
was non-conductive and finally isolated the load cells from this interference. Several
photographs of the experimental system are shown in Figure 5.1.
The control module for the experiment consists of a personal computer run-
ning Windows 2000 and a dSPACE PPC DS1103 Controller Board. The control
module serves to provide data acquisition and feedback control for the system. This
is accomplished using the dSPACE ControlDesk software, which acts as a front-
end user interface. The control program is written in MATLAB Simulink code
and downloaded to the dSPACE controller board using the Real-Time Workshop
software.
The control software acquires data input from two sources: the motor en-
coders and the load cell amplifiers. The motor encoders report the position of each
motor at each sample time, while the load cell amplifiers supply a voltage which is
calibrated to a corresponding tensile force. At the other end, the controller outputs

95
Figure 5.1: Experimental Setup. (A) Backboard with rod, cables, pulleys, load
cells, and motors; (B) routing pulleys; (C) load cells; (D) motor shaft
with cable spool.

a voltage to the motor amplifiers, which supply the appropriate current to turn the
motors with the desired torque.
The basic control algorithm works as follows. The rod is given an initial
configuration for which the cable lengths are measured and known. Because the
cables are made from a stiff material assumed to be rigid, rest-length control (section
3.2) is not applicable but also unnecessary. Instead, the load cells are used to provide
more precise tension data that is constantly updated. With unstretchable cables,

96
the (x, y, θ) configuration of the rod can be found simply from the motor positions.
The motor encoder readings are correlated to lengths of cable wound or unwound.
Each sample time, the change in these lengths is computed. This data is formatted
as a vector that is then multiplied by a Jacobian matrix to find the corresponding
changes in x, y, and θ. Because the initial (x, y, θ) configuration is known, any
later configuration can be found by adding the subsequent changes in position and
orientation. The actual configuration at each time is compared to the chosen desired
set-point configuration. Then, the error is computed and the feedback-linearizing
controller described in section 3.3 for a fully-actuated system is used to compute
the necessary input tensions at each time. Once these tensions are calculated they
are then compared to the actual tensions currently reported by the load cells. A
secondary PID controller then produces a voltage signal that is provided to the
motor amplifiers that will reconcile the two differing tensions and bring the load
cell readings in line with the desired tensions. The motor movements are based
on the tension values and bring the rod to the desired state according to the main
controller.
The experimental parameters are given in Table 5.1. The dynamics for this
system were derived in section 4.4.3 and are included in the control algorithm. The
control law used to determine the input tensions is given by equation 4.6.

Table 5.1: Experimental Parameters.

Mass m 2.43 kg
Rod Length (Solid Portion) 2ls .58 m
Rod Length (Between Cable Connections) 2l .60 m
1
Rod Moment of Inertia about Center I = 12 m(2ls )2 .00681 kgm2
Passive Cable Spring Constant k 173 N/m
Unstretched Length of Passive Cable L 40 .25 m
Proportional Gain Matrix Kp 50(I[3×3] )
Derivative Gain Matrix Kd 15(I[3×3] )

97
5.3 Experiments
5.3.1 Dynamic Workspace
The goal of this experiment was to start the system from an initial configu-
ration and determine the quality of its response in moving to various set points. In
order to determine feasible choices for the final configuration, the time-independent
dynamic workspace for this system was generated, based on the initial configuration
q0 = [.30 0 90◦ ]T . This workspace is shown in Figure 5.2.

180

160

140

120

100
θd (ο)

80

60

40

20

0
0.3
0.2
0.1 0.6
0.5
0 0.4
−0.1 0.3
−0.2 0.2
0.1
−0.3 0
yd (m)
xd (m)

Figure 5.2: Time-Independent Dynamic Workspace for Experimental


System.

98
This workspace represents all configurations that may be reached while the
tension remains positive in each cable. Unfortunately, due to the presence of the
load cells and connectors on each of the cables, the motion is further restricted.
Because the load cells and connectors may not pass around the routing pulleys,
none of the active cables may become shorter than approximately .15 m. When this
constraint is added, the resulting time-independent workspace appears as in Figure
5.3. Any point within this volume now represents a feasible final configuration.

180

160

140

120

100
θd (ο)

80

60

40

20

0
0.3
0.2
0.1
0 0.6
−0.1 0.5
0.4
−0.2 0.3
0.2
−0.3 0.1
0
yd (m)
xd (m)

Figure 5.3: Length-Restricted Time-Independent Dynamic Workspace.

99
5.3.2 Maintaining Fixed Configuration
As a first trial, the ability of the system to maintain a fixed configuration
was tested. The system began from the configuration q0 = [.30 0 90◦ ]T and was
asked to hold this position. The expected x, y, and θ values (from simulation) and
the recorded experimental values are compared in Figure 5.4. All three variables
maintain their desired values reasonably well, with y performing best.

Figure 5.4: Position and Orientation Tracking for Fixed Configuration


Experiment.

The corresponding cable tensions are shown below in Figure 5.5. Values from
the simulated perfect system are constant. The experimental values are close to the
simulation values, but as the system moves slightly, the desired tensions vary in an
effort to keep the system at the initial configuration. The load cell values show the
actual tensions track with the desired tensions for the three actuated cables.

5.3.3 Motion to x = .35 m, y = .05 m


Next, a solely translation motion was chosen for the system. The angle θ was
chosen to remain at 90◦ , while x was to move from .30 m to .35 m and y from 0 m
to .05 m. The experimental system motion is shown in Figure 5.6. As can be seen
in the figure, the motion tracking approaches the desired values early in the motion,

100
Figure 5.5: Tension Values for Fixed Configuration Experiment.

but after several seconds drifts further away. This problem is a result of friction in
the motors. After approaching the desired configuration, but not reaching it exactly,
the controller continues to try to correct for the error. However, when this error
becomes small, the change in voltage supplied to the motor amplifiers becomes small
and the motors have difficulty moving from their rest state. Eventually one of the

101
Figure 5.6: Position and Orientation Tracking for x-y Translation Exper-
iment.

motors is able to overcome the friction but then overshoots its mark, causing the
other motors to jerk as well. The jump in y and θ at around 6 seconds illustrates
this phenomenon. The load cells are eventually brought equal to the calculated
tensions which should move the system to the correct position, but due to the
friction, the system is unable to move to the desired position and becomes stuck
at an incorrect equilibrium position. The corresponding calculated desired tensions
and actual tensions read by the load cells are shown in Figure 5.7.
To show a comparison between the early experimental response and that from
simulation, the first couple seconds of the plots from Figures 5.6 and 5.7 are shown
again with the expected results from simulation in Figures 5.8 and 5.9. The early
actual response is similar to the simulation results, though significant error is still
present.

102
Figure 5.7: Tension Values for x-y Translation Experiment.

103
Figure 5.8: Early Portion of Position and Orientation Tracking for x-y
Translation Experiment. The actual experimental tracking rea-
sonably approximates the expected results from simulation.

Figure 5.9: Early Portion of Tension Values for x-y Translation Experi-
ment.

104
5.3.4 Motion to x = .25 m, y = −.07 m, θ = 100◦
Lastly, motion consisting of both translation and rotation of the rod was
investigated. The desired configuration was chosen as qd = [.25 −.07 100◦ ]T . The
system motion for this experiment is shown in Figure 5.10. The system exhibited
a reasonably good response. Initially, all three variables move toward their desired
states. The x variable reaches its mark but then retreats slightly before settling
back to the desired value. The y variable overshoots its mark and is unable to
recover, likely due to gravity effects. As it drops toward the desired −.07 m value
under gravity, it falls quickly to around −.11 m. It then tries to move back upwards
but is only able to reach −.10 m. The angle approaches the desired 100◦ twice but
eventually settles back to a value of around 93◦ . It is not unexpected, however, that
the angular motion has this type of error when a slight deviation in the tension of any
of the cables has a dramatic effect on the angle of the rod. This error is compounded
by the fact that a differential of only 10◦ between the initial and desired orientations
was specified. Had the differential been 20◦ or 30◦ , this error would be much less
conspicuous. Unfortunately, due to the mechanical constraints of the system, such
motions are not easily accomplished. Similarly, if it were possible to make larger
movements in either of the x or y directions with, perhaps, a system with larger
dimensions, the errors in these motions would not be as significant. Figure 5.11
shows the tension values for this experiment. In this case, the tensions follow the
expected results from simulation reasonably well, especially T2 and T4. The PID
tension controller also works well to bring the actual load cell values to the desired
calculated tensions.

5.4 Conclusions
This chapter described an experimental system developed to test the per-
formance of a three-degree-of-freedom planar tensegrity structure. In general, the
system performed satisfactorily for an initial prototype, but future versions of such a

105
Figure 5.10: Position and Orientation Tracking for Translation-Rotation
Experiment.

Figure 5.11: Tension Values for Translation-Rotation Experiment.

106
device should attempt several improvements. Most importantly, motor friction must
be eliminated. This was apparently the biggest obstacle to achieving a smooth, ac-
curate system response. Smaller, more sensitive motors would be better suited for
this type of application. Furthermore, a system with larger dimensions would allow
for more maneuverability, especially if load cells are again placed on the cables.
Future iterations should also implement the null-space controller of chapter 3. This
overactuation will also allow for a wider range of feasible motions, as the dynamic
workspace is expanded. Overall, however, this preliminary experiment demonstrated
the ability to physically implement a controllable planar tensegrity structure.

107
Chapter 6

CONCLUSION

6.1 Summary of Results and Contributions


The motivation for this thesis was to develop insight into a subclass of tenseg-
rity structures that could be useful in robotic applications such as deployable struc-
tures or robotic arms. Research was limited to planar tensegrity structures, although
the principles involved are easily extendable to spatial structures as well. The goals
of this research were to establish a classification and naming scheme to describe the
relevant structures, develop control methods that allow for the governing of system
motion while maintaining positive cable tensions, and formulate generation tech-
niques for the dynamic workspace of such structures, which provide knowledge of
acceptable structural configurations that will satisfy tension constraints.
Chapter 2 outlined a classification and naming strategy for a subgroup of
planar tensegrity structures. Under this scheme, a name can be assigned to any
structure within this subgroup, based on the arrangement of components within the
structure. This name uniquely identifies the structure’s physical make-up, including
quantity and placement of rods and cables. Furthermore, each element is system-
atically numbered to ensure uniformity in referring to individual structural compo-
nents. While similar techniques have been developed previously for the numbering
of structural elements, this scheme offers several advantages. First, it accommo-
dates both Class 1 and Class 2 structures. Additionally, it allows for variation in
the number and placement of cables, rather than assuming a standard, repeating

108
pattern. Finally, it is unambiguous in its enumeration process, allowing for con-
sistent numbering to be maintained regardless of how a structure is constrained or
whether certain cables are absent.
The remainder of chapter 2 detailed a framework for the structural analysis
of planar tensegrity systems. This included modeling of physical parameters such
as rod positions and cable forces, constraint management, and derivation of the
dynamic equations of motion that govern a tensegrity structure. The procedure
for dynamic analysis was outlined for both Class 1 and Class 2 structures and an
example of each was included to demonstrate the strategies.
In chapter 3, the control issues involved with tensegrity systems were ad-
dressed, the most important of which is the need to maintain positive tensions in
the cables. Through the use of redundant active cables, a null-space controller
based on feedback linearization was developed to bring a tensegrity structure from
one configuration to another while preventing the tensions from becoming nega-
tive. Simulations of structures from both tensegrity classes revealed the necessity
for such a controller, as a system that was merely fully-actuated often developed
negative tensions in its attempt to move to the desired configuration. Overactuating
the same systems and using the null-space controller showed the proposed methods
were effective at keeping the tensions from crossing into the negative range, while
the desired configuration was reached.
Chapter 4 discussed the concept of a dynamic workspace for tensegrity struc-
tures and techniques for determining this workspace. Significant research has gone
into static workspace determination of a variety of systems, including tensegrity sys-
tems. However, for systems in motion, the configurations that are maintainable in
a static sense do not necessarily correlate to those that are reachable dynamically.
The work presented in this chapter extended the research of Oh and Agrawal that
developed similar methods for a cable-suspended robot. By analytically solving for

109
the error in the system states based on a given controller, it is possible to predict
future system behavior. From this information, the required tension inputs can be
determined. This incorporates system dynamics rather than simply finding feasible
static equilibrium configurations. The dynamic workspace consists of the ranges
of each system variable for which a system obeys imposed tension constraints at
a given time. Because the dynamic workspace is time-dependent, the more mean-
ingful concept of the time-independent dynamic workspace was then introduced.
This workspace consists of the range of configurations that are reachable without
violating the tension constraints at any time throughout the entire system motion.
To the author’s best knowledge, idea of a dynamic workspace has not previously
been developed for tensegrity robots. Two different techniques for the generation
of the dynamic workspace were detailed in this chapter. In the first, motion was
limited to one degree of freedom at a time. The feasible range for one variable was
mapped, and a choice for the desired output was made from this range. The system
was moved in this dimension and then the process was repeated for the remaining
degrees of freedom. The second technique combined all system variables into one
map, showing the combinations which resulted in feasible final configurations. An
acceptable choice for the full system configuration could be made directly in this
approach. The various workspace methods were each illustrated in simulation for a
three-degree-of-freedom planar structure with four cables.
In chapter 5, the design and implementation of a controllable three-degree-
of-freedom planar tensegrity structure were described. This fully-actuated system
utilized the feedback-linearizing control of chapter 3 and the dynamic workspace
determination described in chapter 4. While the system response suffered signifi-
cantly from motor friction and other disturbances, the controller was able to move
the structure in the general desired manner toward allowable configurations cho-
sen from the generated dynamic workspace. This preliminary experimental system

110
demonstrated the feasibility of creating a physical implementation of the types of
structures analyzed previously in simulation.

6.2 Recommendations for Future Work


While a considerable amount of work has gone into this project, there remain
a number of issues for future study. For example, the naming scheme of chapter 2
is restricted to a subgroup of planar structures. It may be possible to expand this
idea to a broader group of tensegrity structures, perhaps even spatial structures.
Additionally, a more detailed analysis of the effect of cable placement within a
structure and choice of actuated cables would be greatly beneficial. Especially as
structures become larger and more complex with a greater number of components,
a better understanding of effective placement of active and passive cables within
a structure will become increasingly necessary. Furthermore, for different types of
tasks or desired performance characteristics, a given structure may need a different
arrangement of actuated cables. Similarly, it would be worthwhile to modify the null-
space controller to incorporate an upper limit on tensions in addition to keeping them
nonnegative. This way, redundant cables may be used to share the responsibility of
governing system motion while preventing excessively high tensions from developing
in any of the cables.
As mentioned previously, set-point control was used primarily because it is
simpler and more straightforward than specifying a full reference trajectory in con-
trolling a system. However, since set-point control was shown to work effectively,
it would be worth investigating how similar tensegrity systems respond to speci-
fied reference trajectories, especially in the effect they have on the required input
tensions. These results could then be compared to those obtained under set-point
control. Unfortunately, it becomes difficult to generate the dynamic workspace us-
ing the approach detailed earlier if set-point control is not used, though it may
still be possible in some form. Regardless, it would be profitable to develop the

111
dynamic workspace for various structures with more than three degrees of freedom.
Presenting the workspace for such a structure in a coherent form is still a challenge,
however.
Finally, as the behavior of these structures becomes better understood, more
consideration to their physical implementation is necessary. Tensegrity systems are
not easily suited to the incorporation of actuators into their structure, as attaching
bulky motors to slender rods dramatically changes the system dynamics. It is possi-
ble in some cases to locate actuators remotely, fixed at the base of the structure, for
example, or attached to a frame (as in the system presented in chapter 5). Although
as structures become more complex, this type of placement becomes increasingly dif-
ficult. Also, if these structures are to be used as robotic manipulators, issues such
as end-effector design must be addressed. It is reasonable to expect that spatial
tensegrity structures similar to the planar types addressed here will be better suited
for actual implementation and use in tasks such as deployment or object manipu-
lation. Therefore, the ideas presented here should be extended to similar spatial
structures in the future to study their performance as well. Overall, however, the
results of this thesis lay a solid foundation for the analysis and control of subclass
of tensegrity structures and their suitability for a variety of robotic applications.

112
BIBLIOGRAPHY

[1] J. B. Aldrich, R. E. Skelton, and K. Kruetz-Delgado. Control synthesis for


a class of light and agile robotic tensegrity structures. In Proceedings of the
American Control Conference, pages 5245–5251, Denver, CO, June 2003.
[2] B. de Jager and R. E. Skelton. Symbolic stiffness optimization of planar tenseg-
rity structures. Journal of Intelligent Material Systems and Structures, 15:181–
193, March 2004.
[3] B. de Jager and R. E. Skelton. Input-output selection for planar tensegrity
models. IEEE Transactions on Control Systems Technology, 13(5):778–785,
September 2005.
[4] E. Fest, K. Shea, B. Domer, and I. F. C. Smith. Adjustable tensegrity struc-
tures. Journal of Structural Engineering, 129(4):515–526, April 2003.
[5] R. B. Fuller. Patent information courtesy of Buckminster Fuller Institute. Avail-
able: http://www.bfi.org, 2005.
[6] M. Q. Marshall. Analysis of tensegrity-based parallel platform devices. Master’s
thesis, University of Florida, 2003.
[7] R. Motro. Tensegrity: Structural Systems for the Future. Kogan Page Science,
Sterling, VA, 2003.
[8] S. R. Oh and S. K. Agrawal. Feasible set points with positive tensions for a
cable suspended robot with a lyapunov controller. In Proceedings of the 2004
ASME International Mechanical Engineering Congress & Exposition, Anaheim,
CA, November 2004.
[9] S. R. Oh and S. K. Agrawal. Nonlinear sliding mode control and feasible
workspace analysis for a cable suspended robot with input constraints and
disturbances. In Proceedings of the 2004 American Control Conference, pages
4631–4636, Boston, MA, 2004.
[10] S. R. Oh and S. K. Agrawal. Cable suspended planar robots with redundant
cables: Controllers with positive tensions. IEEE Transactions on Robotics,
21(3):457–464, June 2005.

113
[11] S. R. Oh and S. K. Agrawal. Guaranteed reachable domain and control design
of a cable suspended robot subject to input constraints. In American Control
Conference 2005, Portland, OR, June 2005.

[12] S. R. Oh and S. K. Agrawal. The feasible workspace of a set point controller


for a cable suspended robot with input constraints and disturbances. IEEE
Transactions on Control Systems Technology, 14(4):735–742, July 2006.

[13] S. R. Oh and S. K. Agrawal. Generation of feasible set points and control of a


cable robot. IEEE Transactions on Robotics, 22(3):551–558, June 2006.

[14] C. Paul, H. Lipson, and F. J. Valero-Cuevas. Design and control of tensegrity


robots for locomotion. IEEE Transactions on Robotics (accepted), 2005. Also
available as http://ccsl.mae.cornell.edu/papers/IEEETRO_Paul.pdf.

[15] C. Paul, H. Lipson, and F. J. Valero-Cuevas. Evolutionary form-finding of


tensegrity structures. In Proceedings of the 2005 Conference on Genetic and
Evolutionary Computation, pages 3–10, Washington, D.C., 2005.

[16] C. Paul, J. W. Roberts, H. Lipson, and F. J. Valero-Cuevas. Gait production in


a tensegrity based robot. In Proceedings of the 12th International Conference
on Advanced Robotics, pages 216–222. Seattle, WA, July 2005.

[17] J. P. Pinaud, M. Masic, and R. E. Skelton. Path planning for the deployment
of tensegrity structures. In SPIE’s 10th Annual International Symposium on
Smart Structures and Materials, San Diego, CA, March 2003.

[18] J. P. Pinaud, S. Solari, and R. E. Skelton. Deployment of a class 2 tensegrity


boom. In A. B. Flatau, editor, Proceedings of SPIE: Smart Structures and
Materials 2004: Smart Structures and Integrated Systems, volume 5390, pages
155–162, July 2004.

[19] A. Pugh. An Introduction to Tensegrity. University of California Press, Berkely,


CA, 1976.

[20] J. Pusey, A. Fattah, S. Agrawal, and E. Messina. Design and workspace anal-
ysis of a 6-6 cable-suspended parallel robot. Mechanism and Machine Theory,
39:761–778, 2004.

[21] R. G. Roberts, T. Graham, and T. Lippitt. On the inverse kinematics, statics,


and fault tolerance of cable-suspended robots. Journal of Robotic Systems,
15(10):581–597, 1998.

[22] R. E. Skelton. http://maeweb.ucsd.edu/~skelton/laboratory/


tensegrity_platform.htm.

114
[23] R. E. Skelton. http://maeweb.ucsd.edu/~skelton/laboratory/crawler.
htm.

[24] R. E. Skelton, J. P. Pinaud, and D. L. Mingori. Dynamics of the shell class of


tensegrity structures. Journal of the Franklin Institute, 338:255–320, 2001.

[25] R. E. Skelton, D. Williamson, and J. Han. Equilibrium conditions of a class 1


tensegrity structure. Advances in the Astronautical Sciences, Spaceflight Me-
chanics, 112:927–950, 2002.

[26] J. E. Slotine and W. Li. Applied Nonlinear Control. Prentice-Hall, Upper


Saddle River, NJ, 1991.

[27] K. Snelson. http://www.kennethsnelson.net.

[28] C. Sultan and R. Skelton. Deployment of tensegrity structures. International


Journal of Solids and Structures, 40:4637–4657, 2003.

[29] J. van de Wijdeven and B. de Jager. Shape change of tensegrity structures:


Design and control. In American Control Conference 2005, pages 2522–2527,
Portland, OR, June 2005.

[30] R. Verhoeven, M. Hiller, and S. Tadokoro. Workspace of tendon-driven stewart


platforms: Basics, classification, details on the planar 2-dof class. In Proceedings
of the 4th International Conference on Motion and Vibration Control, volume 3,
pages 871–876, 1998.

[31] R. Verhoeven, M. Hiller, and S. Tadokoro. Workspace, stiffness, singularities


and classification of tendon-driven stewart platforms. In Proceedings of the
ARK 1998: 6th International Symposium on Advances in Robot Kinematics,
pages 105–114, Strobl, Australia, 1998.

[32] R. L. Williams and P. Gallina. Planar cable-direct-driven robots, part 1: Kine-


matics and statics. In Proceedings of the 2001 ASME Design Technical Confer-
ences 27th Design Automation Conference, Pittsburgh, PA, September 2001.

[33] D. Williamson, R. E. Skelton, and J. Han. Equilibrium conditions of a tensegrity


structure. In Proceedings of the Third World Conference on Structural Control,
Como, Italy, April 2002.

115

You might also like