KINEMATICS AND IMPLEMENTATION OF

copygrouperMechanics

Nov 13, 2013 (3 years and 6 months ago)

831 views



KINEMATICS AND IMPLEMENTATION OF
CONTINUUM MANIPULATORS
_________________

A Dissertation
Presented to
the Graduate School of
Clemson University
_________________

In Partial Fulfillment
of the Requirements for the Degree
Doctor of Philosophy
Electrical Engineering
_________________
by
Bryan A. Jones
August 2005

Advisor: Dr. Ian D. Walker

ABSTRACT
We introduce a new method for synthesizing kinematic relationships for a general
class of continuous backbone, or continuum, robots. The resulting kinematics enable real-
time task and shape control by relating work space (Cartesian) coordinates to actuator
inputs, such as tendon lengths or pneumatic pressures, via robot shape coordinates. This
novel approach, which carefully considers physical manipulator constraints, avoids arti-
facts of simplifying assumptions associated with previous approaches, such as the need to
fit the resulting solutions to the physical robot. It is applicable to a wide class of existing
continuum robots and models extension, as well as bending, of individual sections. In ad-
dition, this approach produces correct results for orientation, in contrast to previously
published approaches. Results of real-time implementations on two types of spatial multi-
section continuum manipulators are reported.

ACKNOWLEDGEMENTS
My graduate studies at Clemson have truly been a pleasure for me. Dr. Walker’s
rapid feedback on paper revisions and patience as I explored these ideas has been a bless-
ing. I appreciate his advice, mentoring, and support and look forward to my career in
academia. My sweet wife Vika has been such a blessing to me, consistently encouraging
me as I struggled to develop new ideas and communicate them to others. I’m so thankful
for her love and support. My family, beginning with science projects while I was in ele-
mentary school, has constantly supported and helped developed my interest in discovery
and engineering; I am very thankful. I’m thankful for the Lord’s constant blessing as I
pursued unknown roads and traveled to new places. Many others have been a pleasure to
work with, including the Control and Robotics group at Clemson and Penn State me-
chanical engineering team. I appreciate their help and enthusiasm. Finally, the support
of DARPA through Contract N66001-C-8043 has enabled me to pursue this research.

TABLE OF CONTENTS
Page
TITLE PAGE.......................................................................................................................i
ABSTRACT........................................................................................................................ii
ACKNOWLEDGEMENTS...............................................................................................iii
TABLE OF CONTENTS...................................................................................................iv
LIST OF TABLES.............................................................................................................vi
LIST OF FIGURES..........................................................................................................vii
CHAPTER
1. INTRODUCTION...................................................................................................1
2. TRUNK CABLE KINEMATICS............................................................................6
Transformation from cable lengths to trunk curvature.....................................8
Transformation from trunk curvature to cable lengths...................................22
3. TRUNK KINEMATICS.........................................................................................30
Trunk modeling and mechanics......................................................................31
Positional Kinematics.....................................................................................37
Velocity Kinematics........................................................................................52
Discussion and implementation......................................................................58
4. IMPLEMENTATION.............................................................................................64
Limiting case analysis.....................................................................................69
Effects of actuator length limits......................................................................81
Workspace geometry.......................................................................................97
Joint limit avoidance.......................................................................................99
Tangle/Untangle............................................................................................104
Implementation results...................................................................................111


v
Table of Contents (Continued) Page
5. RAPID PROTOTYPING.....................................................................................116
Enabling technologies...................................................................................118
Multiple configuration support.....................................................................136
6. RESULTS AND CONCLUSIONS......................................................................148
APPENDIX......................................................................................................................153
A. RAPID PROTOTYPING SUPPLEMENTARY INFORMATION......................153
Installation and use of C++ capabilities for RTW........................................153
Installation procedure for QMotor build environment..................................156
BIBLIOGRAPHY............................................................................................................158

LIST OF TABLES
Table Page
3.1. Hannan’s D-H table in 2-D. Asterisks mark joint variables. Link 1, which
extends the table to 3-D, is not present..................................................................40
3.2. Hannan’s 3-D D-H table........................................................................................42
3.3. Modified D-H table with anti-torsional term.........................................................42
3.4. New D-H table, where asterisks represent joint variables.....................................47
3.5. New D-H table with additional links to orient trunk extension along the z
axis.........................................................................................................................51

LIST OF FIGURES
Figure Page
1.1. Two continuum robots studied in this work, (a) OctArm and (b) Air-Octor...........1
2.1. Trunk variables
s
,
φ
Ⱐ慮搠
κ
⸠.周攠癡物慢汥θ
φ
⁧楶敳⁴桥⁲潴慴楯渠楮⁴桥=
x
y
plane.........................................................................................................................8
2.2. Bent segment in a section of the trunk.....................................................................9
2.3. Top portion of bent trunk segment, showing heights measured above an
imaginary plane......................................................................................................10
2.4. Top-down view of trunk.........................................................................................12
2.5. Height of points 1 and 2 above plane.....................................................................13
2.6. Geometry of bent trunk segment............................................................................15
2.7. Determination of
i
r
.................................................................................................16
2.8. Transformation of basis from the set
{
}
ㄲ 3
Ⱜi i i
to the set
{
}
,
x y
i i
.............................18
2.9. Cables bend only at cable guides...........................................................................20
2.10. Computing
s
...........................................................................................................21
2.11. Plane containing circle and reference plane...........................................................23
2.12. Rotated view of Figure 2.11...................................................................................24
2.13. Computing
c
h
from
β
⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸲㔠
′⸱㐮= 䍯C灵瑩湧p
a
in Figure 2.12...................................................................................26
2.15. Line used to derive slope and intercept..................................................................27
2.16. Determining cable length.......................................................................................28
3.1. The Air-Octor two-section continuum robot..........................................................33
3.2. The OctArm four-section continuum robot...........................................................34

viii
List of Figures (Continued)
Figure Page
3.3. D-H joints in Hannan’s 2-D table. Revolute joints are marked by circles
and prismatic joints by boxes.................................................................................39
3.4. Geometric transformation for Hannan’s 2-D D-H table........................................41
3.5. The orientation of Hannan’s trunk, showing the torsional component built
into the D-H table, illustrated by graphing the trunk as it rotates through
the range
3
0
2
φ
π
⎡ ⎤
=
⎢ ⎥
⎣ ⎦

..........................................................................................44
3.6. The orientation of the new trunk, showing the lack of torsional component
in the D-H table, illustrated by graphing the trunk as it rotates through the
range
3
0
2
φ
π
⎡ ⎤
=
⎢ ⎥
⎣ ⎦

................................................................................................45
3.7. New D-H table. The trunk modeled by this table is shows as a thick,
semi-transparent line..............................................................................................46
3.8. Coordinate axes for D-H table given in Table 3.4, where the circled U
shows an axis extending upward from the page....................................................48
3.9. Determining a geometrical transformation between D-H parameters and
trunk parameters. The semi-transparent line shows the actual trunk section
modeled by the geometry.......................................................................................49
4.1. Intrinsic actuation scheme. Three actuators are connected in parallel
between two plates. Differences in length cause bending of the structure...........67
4.2. Extrinsic and hybrid actuation schemes. Three tendons, labeled cable 1 to
3, shape the robot. In the center, a passive backbone in the extrinsic case
or a flexible actuator such as pneumatically pressurized tube in the hybrid
case.........................................................................................................................68
4.3. A plot of
( ) ( )
(
)
1 2 3 1 2 3
0
F
,,lim,,
g
l l l l l l

+ ∆ −J J
, showing that the high-
precision (to 60 decimal digits) Jacobian accurately approximates the
analytically-determined limiting-case Jacobian for
19
10


>
................................76
4.4. Comparison of the error
(
)
(
)
(
)
60 1 2 3 14 1 1 2 3 2 3
F
,,,,,,,
p
l l l l l l l l l
δ+ ∆ − + ∆J J

over a range of differences

⁩渠捡扬攠汥湧瑨⁦潲⁡⁴睯⵳散瑩潮⁴牵湫⁡猠瑨==
←i湩←u洠慬汯睡扬攠捡扬攠獱畡牥搠汥湧瑨⁤楦∞敲敮捥⁴敲e=
δ
⁣桡湧敳⸠=周攠
畳攠潦u
1
p
l
as defined by (59) guarantees this minimum..........................................77

ix
List of Figures (Continued)
Figure Page
4.5. Comparison of Figure 4.4 repeated for a single-section trunk...............................79
4.6. Comparison of Figure 4.4 repeated for a three-section trunk................................80
4.7. Comparison of Figure 4.4 repeated for a one-section trunk, but defining
1
p
l

as the lesser of the two solutions of (58) reveals numerical stability
problems.................................................................................................................81
4.8. Example of curvature and angle of wrap. The curvature is
0.1
κ
=
and
angle of wrap
90
θ
= °
.............................................................................................84
4.9. Examination of the extrema of
κ
⁡猠摥晩湥搠批
㘰⤮†䅳A
3
l
varies from
27.5 to 35, the extrema move from
(
)
1 2
,l l
=
(
)
㌵,25
⁴漠
(
)
25,25
when
3
35
l
=
. The plots were produced with
(
)
(
)
min max
,25,35l l
=
cm and a trunk
radius
1d =
cm.......................................................................................................85
4.10. Varying trunk length
(
)
max
s
κ
φ
, determined by evaluating (70), necessary to
achieve maximum curvature illustrated in Figure 4.11, versus fixed trunk
lengths which achieve maximum curvature at certain locations. Trunk
minimum actuator length was
min
25
l
=
⁣←⁡湤a硩←u←⁡捴畡瑯爠汥湧瑨=
睡猠
浡←

l
=
cm for a trunk of radius 1d
=
cm......................................................89
4.11. Trunk maximum curvature
(
)
max
κ
φ
determined by evaluating (71), shown
in a dotted red line as the angle of curvature
φ
⁶慲楥献†周攠摡獨敤⁢汵攠汩湥θ
慮搠獯汩搠杲敥渠汩湥⁩汬畳≥±a瑥⁴≥ 攠敦∞散瑳∞⁦i硩湧⁴牵湫敮杴n=
s
,
determined by evaluating (73). Trunk minimum actuator length was
min
25
l
=
cm and maximum actuator length was
max
35
l
=
⁣=⁦潲⁡⁴牵湫==
牡摩畳‱ d = cm.......................................................................................................90
4.12. Trunk maximum wrap angle
(
)
max
θ
φ
determined by evaluating (72),
shown in a dotted red line as the angle of curvature
φ
⁶慲楥献†周攠摡獨敤θ
扬略楮攠慮搠獯汩搠杲敥渠汩≤攠楬汵獴牡瑥 ⁴桥⁥=晥捴猠潦⁦楸楮∞⁴牵湫敮杴栠
s
,
determined by evaluating (73). Trunk minimum actuator length was
min
25
l
=
cm and maximum actuator length was
max
35
l
=
⁣=⁦潲⁡⁴牵湫==
牡摩畳‱ d = cm.......................................................................................................91
4.13. Maximum achievable trunk curvature
(
)
浡x
,s
κ
φ
at a given angle of
curvature
φ
⁡湤⁴牵湫敮杴栠
s
computed by applying (73). Results were
obtained for a trunk where maximum an minimum actuator lengths are
max
l

= 35 cm,
min
l
= 25 cm and the trunk radius is
1d
=
cm..........................................92


x
List of Figures (Continued)
Figure Page
4.14. A plot of the surface formed by rotating the trunk, drawn at 60
φ
= ° from
[
]
30,150
φ
= ° °
. Plot (a) was formed by choosing
(
)
max
s
s
κ
φ
=
from (70) and
( )
max
κ
κ φ=
from (71). Plot (b) was formed by fixing
s
to achieve
max
κ
⁡==
摥晩湥搠楮
㘲⤬⁡湤⁰汯琠⡣⤠批⁦楸楮朠
s
to achieve
2max
κ
⁡猠摥晩湥搠批
㘳⤮==
周攠瑲畮欠扥湤猠楮瑯⁡⁣楲捬攠潦⁶慲θ 楮朠牡摩畳⁢慳敤渠慣瑵慴潲敮杴栠
汩l楴猠潦=
浩n

l
=
cm and
max
35
l
=
⁣=⸠.θ±畮欠摩慭整敲⁩猠
1d =
cm.....................94
4.15. Plot of
min
s
and
max
s
determined by evaluating (74) over
φ
⁡湤=
κ
⸠.周攠瑷漠
扥杩渠瑯癥牬慰敡爠
浡←
κ
Ⱐ楮摩捡瑩湧⁴桡琠,a硩xu 洠捵牶慴畲攠捡渠潮汹⁢攠
潢瑡楮敤⁡琠愠獰散楦楣⁴牵湫敮杴栠
(
)
max
s
κ
φ
. Results were obtained for a
trunk where maximum an minimum actuator lengths are
max
l
= 35 cm,
min
l

= 25 cm and the trunk radius is 1d
=
cm...............................................................96
4.16. Workspace of a single-section robot drawn from
[
]
㌰,ㄵ1
φ
=
° °
with trunk
radius 1d
=
cm in (a) and 2.25d
=
cm in (b). Actuator length limits are
(
)
㈵,35
⁣=⁩渠扯瑨⁣慳敳=⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸹㠠
=㐮ㄷ⸠ 偯獴畲攠潦⁴牵湫⁢敦潲攠⡰潳楴楯渠䄬A 汥晴⁴牵湫⤠慮搠慦瑥爠⡰潳楴楯渠䈬⁲楧桴≤
瑲畮欩⁴桥潩湴⵬業楴⁡癯楤慮捥⁡i 杯物瑨gs⁣潮癥= g敳⸠乯瑥⁴桡琠瑨攠
汥湧瑨猠潦⁴潰⁡湤⁢潴瑯l⁳散瑩潮猠慲 攠敱畡氠慴″〠捭⁡晴敲⁴桥⁡汧e物瑨洠
捯湶敲g敳Ⱐ慬汯眠e潶→浥湴Ⱐ睨楬攠橯楮琠汩 ←楴猠扥景牥⁡牥⁡琠瑨攠橯楮琠汩i楴猠
潦
㈵⁣←Ⱐ㌵⁣,⤮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮㄰ㄠ
=㐮ㄸ⸠A⁳散潮搠慣瑵慴潲敮杴栠汩=楴⁥硡浰汥⸠iA癯v搠慰灬祩湧⁴桥⁡癯楤慮捥≤
慬杯a楴桭,⁴楰⁰潳楴楯渠牥= a楮猠瑨i⁳慭e⁷h楬攠i潶楮朠慷慹⁦±潭⁴桥=
←a硩←u洠←c瑵慴≥±敮=瑨⁩渠扯瑨⁳散瑩潮猠潦⁴桥⁴牵湫≥⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮㄰㌠
=㐮ㄹ⸠ 剥獵汴猠潦⁡灰汹楮朠瑨攠畮瑡湧汩湧R 慬杯物瑨a⁴漠愠瑷漭獥捴楯渠䅩A-佣瑯O,=
捯cp慲楮朠a敡獵牥搠瑲畮欠灯獩瑩e渠獨潷 渠潮⁴桥敦琠睩瑨⁡湤⁷楴桯畴n
畮瑡湧汩湧⁣潭p慲敤⁴漠瑨攠牯扯琠晲 潭⁷桩捨⁴桥敡獵牥e敮瑳⁷敲攠
瑡步渮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮㄰㔠
=㐮㈰⸠ 䱯捡瑩潮映瑨攠䅩A-佣瑯爠捡扬敳⁷桩捨⁡捴畡瑥⁩瑳⁴睯⁳散瑩±湳n⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮㄰㜠
=㐮㈱⸠ 䉬潣欠摩慧牡洠潦⁲潢潴 ⁣潮瑲潬⁳祳瑥洮†啳敲⁩湰畴 ⁩猠牥慤⁦牯洠愠橯祳瑩捫Ⱐ
瑨敮⁰慳獥搠瑯⁴桥⁡⁳≥ 琠潦⁣潮瑩湵畭⁲潢潴楮敭a瑩挠敱畡瑩潮献†周攠
潵瑰畴映瑨攠歩湥→a瑩捳⁢汯≥ 欠楳⁴桥n⁵獥搠瑯⁣=湴牯氠瑨n⁲潢→琬⁡≥⁤整=楬i≤=
楮⁆楧畲攠㐮㈲⁡湤⁆楧畲攠㐮㈳i⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮1ㄲ1
=㐮㈲⸠ 䑥瑡楬猠潦⁴桥⁲潢潴⁢l潣欠潦⁆楧畲攠㐮㈱⁦潲⁴桥⁏捴䅲→⁴牵湫=⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮.1ㄳ1
=㐮㈳⸠ 䑥瑡楬猠潦⁴桥⁲潢潴⁢l潣欠潦→ 䙩杵牥‴⸲〠景爠瑨攠䅩A-佣瑯爠瑲畮欮 ⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮1ㄴ1

xi
List of Figures (Continued)
Figure Page
5.1. Overall flow of the rapid prototyping tools used for continuum robot
development.........................................................................................................117
5.2. The joystick Simulink block and its block parameters dialog box......................134
5.3. The network client Simulink block and its block parameters dialog box............136
5.4. The network server Simulink block and its block parameters dialog box...........137
5.5. Simulink I/O blocks. For brevity, only the block parameters of the analog
to digital converter block is shown......................................................................138

CHAPTER 1
INTRODUCTION
Continuum robots, in contrast to traditional rigid link robots, feature a continuous
backbone with no joints [1], as shown in Figure 1.1. In this sense, they are essentially
invertebrate, as opposed to the vertebrate-like structure of conventional robots. The wide
range of abilities demonstrated by invertebrate limbs such as elephant trunks [2], [3], [4],
octopus arms [5], [6], and squid tentacles [7] have motivated a recent surge of research
activity in continuum robots. Potential applications include navigation and operation in-
side complex, congested environments, such as collapsed buildings in search and rescue
operations [8], [9], [10] or the human body in medical applications [11], [12], [13]. Con-
tinuum robots also enable novel forms of environmental interaction, via compliant and/or
whole arm manipulation [14].
Realization of continuum robots proves to be a very interesting and challenging


(a) (b)

Figure 1.1 Two continuum robots studied in this work, (a) OctArm and (b) Air-Octor.

2
problem. A large proportion of efforts in the area have focused on design and construc-
tion of continuum robot hardware. To date, a number of interesting hardware prototypes
have been produced [2], [4], [5], [14], [15], [16], [17], [18], [19], [20], [21], as well as
several commercial products [22], [23]. These manipulators demonstrate the strong po-
tential of continuum robots. In comparison, efforts in modeling and real-time algorithm
development to extract the full physical potential from these robots have lagged behind.
For example, almost all previous approaches either do not address trunk orienta-
tion and either approximate positional kinematics or solve them only for limited kine-
matic models, which constrain the performance of continuum robot hardware to reduced
classes of shapes and motions, restricting their potential applicability. In this work, we
modify and extend some of the ideas in [3] as part of a new and quite general kinematic
formulation for continuum robots. This approach, unlike previous work, produces com-
plete and correct results for both task-space position and orientation. The method fully
models for the first time, to the best of our knowledge, the exact kinematics of trunk sec-
tions which can extend in length as well as bend in two dimensions using closed-form
equations. The approach is also modular, allowing its application to a wide range of
physical realizations, including in particular the common three evenly-spaced actuators
per section design. In addition, the resulting Jacobians, derived via a straightforward ap-
plication of well-known Denavit-Hartenberg (D-H) techniques and the chain rule, are
relatively simple and computable in real time. This model also allows a straightforward
analysis of singularities present in a continuum manipulator.
However, development of a theoretical foundation for continuum kinematics must
be accompanied by solutions amenable to real-time implementation of these kinematics.

3
Singularities and numerical instabilities near singular configurations, for example, pre-
vent computation of the end-effector position or velocity in those configurations, causing
control code to produce excessive and perhaps dangerous actuator torques. Actuator
length limits, though not present or accounted for in the kinematics developed previously,
shape the achievable configuration space of the robot in unexpected ways due to the cou-
pling present in continuum robots. To achieve full use of continuum robots, these cou-
plings must be understood and exploited. This work introduces a new and complete prac-
tical solution for the inclusion of actuator length limits for continuum robot kinematics.
Finally, the challenges of designing a software environment to support rapid de-
velopment of a mobile, continuum manipulator are great, due to the diversity of platforms
and environments necessary for robot development. Such an environment should support
development in simulation on a desktop PC, testing and debugging in the laboratory us-
ing the actual robot, and field operation via wireless control and monitoring of a contin-
uum robot mounted on a mobile platform. In addition, a methodology to both compute
the complex kinematics developed for the robot and transform these expressions into
real-time code is necessary. Finally, a visualization tool for viewing the posture of a con-
tinuum trunk in 3D is essential for understanding the operation of the trunk. This work
also presents a novel rapid prototyping environment for continuum robots which meets
all of these challenges.
Chapter 2 begins the derivation of kinematics for continuum robots. First, it es-
tablishes a unique parameterization for continuum robots which is independent of their
actuation strategy (cable-driven or pneumatically-shaped) in terms of trunk length
s
, cur-
vature
κ
Ⱐ慮搠慮杬攠潦⁣畲癡瑵牥,
φ
⁡猠楬汵獴牡≥敤⁩渠䙩杵牥′⸱⸠⁆牯e⁴桩猠業灬敭敮瑡瑩e渭

4
neutral parameterization, forward and inverse kinematics are for the first time developed
which map actuator lengths to trunk parameters
s
,
κ
Ⱐ慮搠
φ
⁦潲⁴睯⁢牯慤⁣慴敧潲楥猠潦=
捯湴楮畵c⁲潢潴猠⡩湴物=s楣⁡湤i 數瑲楮獩振桹e物搬⁡猠摥晩湥搠楮 ⁛ㅝ⤮†䱩←楴楮朠捡獥猠楮桥爭
敮琠楮⁴桥⁲e獵汴楮朠數灲敳獩潮猠e±攠el獯 ⁥硡=楮敤⁡湤⁳潬癥i⁡湡汹瑩捡汬=.=
䍨慰瑥爠㌠捯Cp汥瑥猠瑨攠歩湥ea瑩捳⁤敲≥ va瑩潮⁢礠牥污瑩湧⁴牵湫⁴楰⁰=獩瑩潮⁡湤=
潲楥湴慴楯渠
x
and its linear and angular velocity
x

to trunk parameters
s
,
κ
Ⱐ慮搠
φ
爠瑯=
s

,
κ

, and
φ

. The resulting homogenous transformation matrix
A
and Jacobian
J
are devel-
oped using standard D- H techniques coupled with a uniqu e geometrical transformation to
s
,
κ
Ⱐ慮搠
φ
⁡湤⁰牯摵捥⁣潲牥捴⁲敳畬瑳⁦潲⁢潴栠灯= 楴楯渠慮搠潲楥湴慴楯測⁩渠捯湴牡獴⁴漠
灲敶楯畳⁡=灲潡捨敳p†䥮捯牰潲慴楮=⁲敳=汴猠晲l←⁣桡灴敲′=⁴桥獥⁲敳=汴猠慲攠摥物癥搠楮⁡l
湯癥氬潤畬慲⁦慳桩潮⁦→爠扯瑨⁴祰敳映捯湴楮 畵u⁲潢潴猠楮癥獴楧慴敤 ⁩渠瑨慴⁣桡灴敲,=
祩敬摩湧⁥煵慴楯湳⁳畩瑡扬攠景爠牥慬⵴業攠e 潮瑲潬映扯瑨⁣污獳敳映捯湴楮畵→⁲潢潴献=
䡯睥癥H,⁩浰汥=敮瑡瑩潮⁰牯扬敭s潴⁡灰= 牥湴⁦牯±⁴桥楮敭a瑩捳畳琠晩牳琠
扥⁡摤牥獳敤⁢敦潲攠瑨敳攠數灲敳獩潮猠捡渠扥b 畳敤⸠⁃桡灴敲‴⁡摤牥獳敳⁡湤⁳潬癥猠瑨敳攠
灲潢汥p献†䙩牳琬⁳楮杵污物瑩敳⁡湤畭敲 楣慬⁩湳瑡扩汩瑩敳⁰牥獥湴⁩渠扯瑨⁴桥i A and
J
ma-
trices are identified and analyzed. This ne w analysis reveals that perturbing one cable
length for particular cases prevents thes e problems and provides a methodology which
performs this perturbation when necessary based on a simple expression which can be
easily evaluated in real-time. Next, the previously unknown inter action between trunk
parameters
s
,
κ
Ⱐ慮搠
φ
⁤略⁴漠慣瑵慴潲敮杴栠汩=楴猠慲攠 慮慬祺敤⁡湤⁡畭扥爠潦⁥硰牥b-
獩潮猠睨楣栠摥晩湥⁴桥獥⁩湴s 牡捴楯湳⁡湤⁰牯癩摥⁡e瑨潤≥ 瑯⁥硴牡捴a硩浵x⁧牡獰楮朠
灥牦潲pa湣攠晲潭⁡⁣潮瑩湵畭⁴牵湫⁲敳瑲楣= 敤⁢礠慣瑵慴潲敮杴栠汩e楴猠楳⁰牥獥湴敤i==
䙲潭⁴桩猠慮慬祳楳=⁴桥⁷潲歳灡捥∞⁡⁣潮瑩 湵n←⁴牵湫⁩猠慮慬祺敤⁡湤⁰汯瑴敤⸠⁆楮慬汹,=

5
a unique tangle/untangle algorithm which correctly compensates for coupling in distal
(tip) sections due to the shape of proximal (base) sections is derived and presented, in-
cluding results of implementing this algorithm on a continuum trunk.
The work of chapters 2 to 4 is then implemented in real-time on two different
types of continuum trunks using the novel rapid-prototyping software development envi-
ronment presented in chapter 5. An original system for deriving the kinematics presented
in chapters 2 and 3 and converting the symbolically-computed results into C code suited
for real-time execution is detailed. A 3D modeling system uniquely suited to displaying
the posture of a continuum trunk in real-time is discussed. The rapid-prototyping envi-
ronment includes support for multiple configurations, enabling development of algo-
rithms for continuum trunks in simulation on a desktop PC, in the laboratory on a contin-
uum trunk, or in the field, remotely controlling a trunk mounted on a mobile platform via
a wireless link. A new build process which allows transforming a block diagram devel-
oped in Simulink into a real-time executable which runs on the QNX real-time operating
system is reviewed. In addition, a set of blocks which perform necessary functions of
communicating over a network connection, reading user input from a joystick, and inter-
facing with robot hardware through encoders, A/D converters, and D/A converters is pre-
sented. The final chapter concludes by reviewing the results obtained in this work and
examining future directions for the continued development of continuum trunks.

CHAPTER 2
TRUNK CABLE KINEMATICS
In spite of the impressive abilities demonstrated by the large variety of continuum
robots already built, efforts in modeling and real-time algorithm development to extract
the full physical potential from these robots have lagged behind. For example, almost all
previous approaches either do not address trunk orientation, approximate positional
kinematics, or solve them only for limited kinematic models. This constrains the per-
formance of continuum robot hardware to reduced classes of shapes and motions, restrict-
ing their potential applicability.
Hirose and colleagues designed the serpeniod curve, which closely matches the
kinematics of a snake’s body in 2-D as it crawls across the ground [24]. However, this
work does not address the 3-D kinematics of the many snake-like robots they designed;
instead, it focuses on their planar dynamics. Chirikjian and Burdick took the opposite ap-
proach, in which they link (approximate) the shape of a general mathematical curve to a
high degree of freedom robot [25], [26], [27]. Their modal decomposition then reduced
the number of degrees of freedom necessary to control the curve to which the robot was
fitted, reducing the computational complexity of the problem but typically sacrificing full
control of all degrees of freedom within the robot structure. Although recent work [28]
extends this approach by introducing a more convenient curve, this method relies on ap-
proximating the shape of an actual robot which leads to a number of kinematic difficul-
ties, such as mode switching, inherent in that approach. An alternate approach is to ex-

7
actly compute the kinematics of a high degree of freedom manipulator composed of
spherical joints and rigid links using standard D-H methods [10]; however, this approach
cannot be applied to continuum robots, which contain no prismatic or revolute joints. The
authors of [3] returned to Hirose’s concept by choosing a curve – an arc of a circle –
which closely matches the kinematics of continuum robots due to the equal distribution
of forces inherent in the design of continuum robots [14], an assumption also made
throughout this work. However, the model in [3] contains three problems. It assumes an
inextensible backbone, does not correctly determine the orientation of the trunk tip due to
a simplifying assumption in the model, and is limited to the particular physical design (a
unique actuator arrangement) of hardware implemented by the authors of [3].
These approaches constrain the performance of continuum robot hardware to re-
duced classes of shapes and motions, which in turn has restricted their potential applica-
bility. The first step in recovering this performance is to relate the shape of a continuum
robot to actuator lengths required to maintain that shape. Controlling the shape of the
manipulator requires a kinematic model relating shape in terms of extension and bending
to actuator inputs. This section outlines a new kinematic model, tailored to three-tendon,
1
20
°
configuration manipulator hardware such as the OctArm and Air-Octor trunks. The
model is both new and novel compared to previous models developed in [29], [3], which
were tailored to four-tendon sections and therefore not applicable to the more general de-
sign in this paper. Likewise, this model extends the three-cable kinematics in both the
trimole sensor [9], Hirose’s Elastor cable kinematics [16], and various active endoscopes
[11], [12], [13] by determining trunk length
s
based on an assumption of constant curva-
ture.

8
Transformation from cable lengths to trunk curvature

Given three known cable lengths
1
l
,
2
l
, and
3
l
in a section of the design, the constant dis-
tance
d
from the center of the trunk to the location of the cables, and
n
, the number of
segments in this trunk section, the following analysis allows computation of the resulting
trunk length
s
, curvature
κ
Ⱐ慮搠摩牥捴楯渠潦⁣畲癡瑵牥,
φ
⁡猠楬汵獴牡瑥搠楮⁆楧u牥′⸱⸠±周攠
瑨牥攠捡≥汥猠慲攠慳獵le搠瑯楥⁥煵a汬礠獰 慣敤⁡牯畮搠瑨攠瑲畮欬⁳数慲慴敤⁢礠慮杬敳映
1
㈰ °
. In addition, the curvature in each section of the trunk is assumed to be uniform, so
that trunk sections can be modeled as arcs of varying-radii circles. This is typically
achieved in hardware by distributing bending forces equally along the trunk using pneu-
matic pressure or springs [14].
This document discusses computation of
κ

φ
Ⱐ慮搠
s
in three steps. First, equa-
tions are presented which determine the distances
1
r
,
2
r
, and
3
r
related to the trunk’s curva-
ture. Next, from these distances the maximum curvature
κ
⁡琠慮杬攠
φ
⁩猠摥物癥搮†䙩湡汬=,=
慤摩瑩潮慬⁥煵慴楯湳⁣潭灵瑥⁴桥⁴牵湫敮杴栠
s
from
κ
⸠.周牯畧桯畴⁴桩猠慮慬祳楳Ⱐ瑨θ=
=
=
䙩杵牥′⸱†θ±畮欠癡物慢汥猠
s
,
φ
Ⱐ慮搠
κ
⸠.周攠癡物慢汥θ
φ
⁧楶敳⁴桥⁲→瑡瑩潮⁩渠瑨攠
x
y plane.

9
problem of solving geometrical problems posed by the trunk is accomplished by analyz-
ing a set of 2-D slices of the problem which allow computation of the desired quantities.
Computation of
i
κ
, the per-cable curvatures
Consider one bent segment in a section of the trunk as illustrated by Figure 2.2.
This figure shows three cables, spaced at
1
20°
intervals around the trunk, connecting two
segments in a section of the trunk. The figure includes plane
H
which passes through the
point at which cable 1 connects to the trunk and is perpendicular to the other two cables.
This plane exists due to the design of the trunk, which places the three cables at fixed in-
tervals about the circumference of the trunk, insuring that all three cables parallel each
other. Thus, a plane containing these two parallel cables exists, which implies the exis-
tence of a place perpendicular to that plane. This second plane, illustrated in the figure,
can be moved to include any single arbitrary point, such as the attachment point of cable


Cable 1
Cable 2
Cable 3
2
h
3
h
Plane
H


Figure 2.2 Bent segment in a section of the trunk

10
1 to the trunk.
Next, examine Figure 2.3. The figure now includes an additional triangle, drawn
from the center of the circle to the attachment point of cable 1, and it shows the hypote-
nuses of all three triangles. As demonstrated in the following section, the curvature of the
trunk can be calculated from
c
h
, the height of the center of the circle, point
c
in Figure
2.4, above the plane
H
. Finding this value requires knowledge of
2
h
and
3
h
, the heights of
the attachment points of cables 2 and 3 above imaginary plane as shown in Figure 2.3.
Although not shown in Figure 2.2, a second plane exists which is perpendicular to cables
2 and 3 and which contains the attachment point of cable 1 at the bottom of the trunk
segment. The lengths
2
2
h
and
3
2
h
by which cables 2 and 3 exceed the length
1
l
of cable 1
are equally divided between heights measured from above the top plane and below the
bottom plane. Therefore, the total length of cables 2 and 3, denoted
2
l
and
3
l
, along the
entire section of an
n
-segment trunk section can therefore be expressed using
2
h
and
3
h
as

2
h
3
h
c
h
Plane
H


Figure 2.3 Top portion of bent trunk segment, showing heights measured above an
imaginary plane

11

2 1
2
2
l l
h
n n
=
+
and (1)

3
1
3
2
l
l
h
n n
=
+
. (2)
Therefore,

2 1
2
2
l l
h
n

=
and (3)

3 1
3
2
l l
h
n

=
. (4)
Note that because the imaginary plane passes through the trunk at the attachment point of
cable 1,
1
0
h
=
by definition.
To find
c
h
, examine Figure 2.4 which shows the trunk viewed looking down on its
top segment from above. Inscribed in the circle which forms the trunk is an equilateral
triangle formed by drawing lines between each of the three cable attachment points. A
radius of the circle d drawn to the cable 1 attachment point divides the interior angle of
this triangle into two equal
3
0
°
halves. Therefore,
cos(30 )
d
a
° =
and
cos(30 )
b
d
° =
, yield-
ing the relationships
2
3
d
a =
and
3
2
d
b
=
. The hypotenuse of the triangle containing side
2
h
and of the triangle containing side
3
h
as shown in Figure 2.3 must therefore be
2 3b d=
.


12
Rotating this plane
9
0
°
along the dotted line produces Figure 2.5, which allows
computation of the height of points 2m and
3
m shown in Figure 2.4 above the plane
shown in Figure 2.3. Based on the calculations above, the length of the hypotenuse of the
larger triangle is
2 3b d=
while the length of the shorter hypotenuse is
2
3
d
. Therefore,
the height of point 2m above the plane given
1
0
h
=
,
2 1
m
h
, can be found from the similar
triangle relation
2
2 1
3
2
3
m
h d
d
h
=
. Substituting and solving for
2 1m
h
gives
2 1
2 1
3
m
l l
h
n

=
. Using
the same process for point
3
m
,
3 1
3 1
3
m
l l
h
n

=
. To find
c
h
, note that point
c
lies on the center
Point 2m

d
30° 30°
2 3b d=

Point 3m
Cables 2 and 3 attachment points
Point c
3
2
d
b =

2
3
d
a =
Cable 1 attachment point
Plane
A


Figure 2.4 Top-down view of trunk


13
of the circle in Figure 2.4. Therefore, its height must be the average of the heights of
points
2m
and
3
m
, resulting in

3 2 1
2
6
c
l l l
h
n
+

=. (5)
Note that
c
h
may be negative at some orientations of the trunk, where
1 2 3
2l l l> +
. Though
unexpected, the following geometrical uses of
c
h
are correct in this case.
Based on the assumptions, curvature of the trunk segment is evenly distributed
along each of the
n
sections in the segment. Therefore, the curvature of each section
κ
=
牥±a楮猠捯湳瑡湴⁡汯湧⁴桥⁳散瑩潮⸠i周攠 捵牶慴畲攠潦⁡⁳散瑩潮⁩猠摥晩湥搠慳c
=
1
r
φ
κ
=
(6)
where
r
φ
is the radius of a circle which fits the arc produced by the bending of the trunk
section. Therefore, each segment bends along the circumference of a circle of radius


2 1
2
2
l l
h
n

=
2m
h
2
3
d

3d
Point
2m
Cable 2
attachment point
Cable 1
attachment point

Figure 2.5 Height of points 1 and 2 above plane


14
1
r
φ
κ
=. Consider a virtual cable of length
c
l
n
as shown in the figure, attached to the center
of a cross section of the trunk and traveling from the top to the bottom of a segment in the
trunk. At some as-yet unknown angle
φ
⁴桥⁳楴畡瑩潮⁳桯睮⁩渠 䙩杵牥′⸶⁥硩獴猬⁷h敲攠
慮⁩獯獣敬敳⁴物慮杬攠睩瑨⁳楤敳映汥湧瑨a
1
r
φ
κ
=
and
c
l
n
subtends
β
⁤敧牥敳映慮⁡牣映愠
捩牣汥⁦潲c敤⁢礠瑨攠瑲畮欮†䍯湳楤敲楮朠愠灬慮攠
A
⁡猠獨潷渠楮⁆楧畲 攠㈮㐠捯湴慩湩湧⁴桥H
捩牣汥⁷桩捨⁦潲m猠瑨攠瑯瀠潦⁴桥⁴牵湫Ⱐ湯瑥⁴s 攠汥朠潦⁴桩猠瑲楡湧汥e 睨楣栠汩敳⁩渠瑨楳w
灬慮攮†周楳敧⁣慮⁢攠Hi敷敤⁡猠瑨攠癥捴erH
κ φ

⁩渠=→污爠捯潲摩la瑥猠楮⁰污≥攠
A
⁷桥牥H
瑨攠潲楧楮f⁴桥⁰污湥⁩猠瑨攠捥H瑥rH⁴桥⁴潰H⁴桥⁴牵湫Ⱐ灯楮琠
c
in Figure 2.4. The
magnitude of corresponding vectors
1
κ

2
κ
Ⱐ慮搠
3
κ
Ⱐ湯瑡瑥搠

κ

Ⱐ睨楣栠灡獳⁴桲潵杨⁴桥,
慴瑡捨ae湴⁰潩湴猠景爠捡扬敳‱Ⱐ ㈬⁡湤″⁡汬潷⁤2 瑥牭楮慴楯渠潦=
κ φ

⁶楡⁣潯牤楮慴攠瑲慮猭
∞→牭慴楯湳⁤e瑡楬敤⁩渠瑨攠湥硴⁳e捴楯渮n
θ→⁣潭灵瑥p
1
κ
Ⱐ牯瑡瑥⁡⁳散潮搠灬慮攠
B
⁳桯睮⁩渠䙩杵牥′⸶⁷桩捨⁩猠灥牰敮摩捵H
污爠瑯⁰污湥l
A
⁣潮瑡楮楮朠
l
n
φ
and
c
l
n
about
c
l
n
from angle
φ
⁴漠慮⁡湧l攠潦e
9
0°, the location
of cable 1, so that the plane now contains
1
l
and
c
l
n
. Figure 2.7 shows the contents of
plane
B
⁡H瑥爠牯瑡瑩潮Ⱐ睨楣栠捯it慩asH 慮⁩獯a捥汥猠瑲楡湧汥⁷楴c⁳楤敳H
1
r
and
c
l
n
. Similar to
the reasoning in (1) and (2), the length
c
l
n
of this virtual cable can be divided into
1
l
n
, the
length of cable 1 in one trunk segment, and
c
h
, the height this virtual cable extends above
the plane anchored by
1
l
, so that

1
2
c
c
l
l
h
n n
=
+. (7)

15
Relating this to the smaller similar triangle in the figure yields
1
1
2
c
c
l
h
h
n
d r
+
=
. Substituting
in (5) gives
( )
1 2 3
1
3 2 1
2
d l l l
r
l l l
+ +
=
+ −
. Noting that
1
r
φ
κ
=
from (6) yields
( )
3 2 1
1
1 2 3
2l l l
d l l l
κ
+ −
=
+ +
.
A similar process allows computation of
2
κ
⸠⁉n獴敡搠潦⁤敦楮楮朠
1
0
h =
, define
2
0
h
=
. Rewriting equations (1) and (2) under this new assumption gives
1 2
1
2
l l
h
n n
= + and
3
2
3
2
l
l
h
n n
= +. Likewise, equations (3) and (4) become
1 2
1
2
l l
h
n

= and
3 2
3
2
l l
h
n

=. Consid-

inner
l
n
φ
s
n
β
d
d
outer
l
n
φ
c
l
n
1
d
κ

1
κ
Plane
A
Plane
B
Figure 2.6 Geometry of bent trunk segment


16
ering a redrawing Figure 2.4 in which the cable 2 attachment point is at the top of the fig-
ure,
1
2 2
3
2
3
m
h
d
d
h
=
where
2 2m
h
is the height of point
2m
above the plane assuming
2
0h
=
, so
1 2
2 2
3
m
l l
h
n

=
. In the same way,
3 2
3 2
3
m
l l
h
n

=
. Under this new assumption, then,
3 1 2
2
6
c
l l l
h
n
+ −
=
. Considering a redrawn Figure 2.7 gives
2
2 2
c
c
l
l
h
n n
=
+
. Relating the
smaller triangle in the figure to the larger triangle yields
2
2
2
c
c
l
h
h
n
d r
+
=
. Substituting for
c
h

produces
(
)
1 2 3
2
3 1 2
2
d l l l
r
l l l
+ +
=
+ −
. Applying (6) again,

d
1
r


3 2 1
2
6
c
l l l
h
n
+ −
=
1
2
l
n
c
l
n


Figure 2.7 Determination of
i
r



17

( )
3 1 2
2
1 2 3
2
l l l
d l l l
κ
+

=
+
+
. (8)
Repeating the same process but defining
3
0h
=
instead likewise results in
( )
1 2 3
3
2 1 3
2
d l l l
r
l l l
+ +
=
+ −
, so

( )
2 1 3
3
1 2 3
2l l l
d l l l
κ
+

=
+
+
. (9)
Computation of
κ
⁡湤=
φ
Ⱐ瑨攠捵牶慴畲攠慮搠慮杬攠潦⁣畲癡瑵牥,
θ→⁣潮癥牴⁴桥=
i
κ
per-cable curvatures into
φ
Ⱐ瑨攠慮杬攠慴⁷桩捨⁴桥⁴牵湫⁢敮摳⁡猠
楬汵i≥±a瑥搠楮⁆楧畲攠㈮ㄬ⁡湤≥
κ
Ⱐ瑨攠捵牶慴畲攠慴⁡湧汥,
φ
Ⱐ捯湳楤敲⁤整敲,楮楮朠
φ
⁡湤=
κ
=
扡獥搠潮⁡⁣潯牤楮慴攠瑲慮獦潲ba瑩 潮映癡汵敳畳琠摥物癥搠景爠
1
κ

2
κ
Ⱐ慮搠
3
κ
⸠⁎潴攠瑨慴a
瑨攠灯獩瑩潮猠潦⁣慢汥猠ㄬ′⁡湤″渠瑨攠捩 牣畭晥牥湣攠潦⁴桥⁴牵湫⁷楴栠牥獰散琠瑯⁴桥∞
x

axis are
9
0°, 210° and 30

° respectively as shown in Figure 2.8. Viewing these curva-
tures in plane
A
⁡猠愠癥捴潲ⁱ畡湴楴楥猠批潴H 湧⁴桥⁡湧l攠牥污瑩癥⁴漠瑨eH
x
axis along
which each curvature extends yields
1 1
90
κ
κ
=
∠ °
,
2 2
210
κ
κ
=
∠ °
, and
3 3
30
κ
κ= ∠− °
. A
combination of any two of these three vectors specifies a unique location in 2-D space.
In addition, any two of these three vectors forms a complete basis for 2-D space with ba-
sis vectors
(
)
(
)
T
1
1 90 cos 90 sin 90i = ∠ ° = ° °
⎡ ⎤
⎣ ⎦
,
( )
(
)
T
2
1 210 cos 210 sin 210i
=
∠ ° = ° °




,
and
( )
(
)
T
3
1 30 cos 30 sin 30i = ∠− ° = − ° − °
⎡ ⎤
⎣ ⎦
in the standard basis.

18
Choosing
{
}

,i i as basis vectors, the matrix
B
relates this basis to a more conven-
ient, standard or thogonal basis of
[
]
θ
㄰ 1 0
x
i = ∠ ° = and
[
]
T
1 90 0 1
y
i = ∠ ° = according to
the equation
[
]

x y
i i i i
⎡ ⎤
=
⎣ ⎦
B
. Substituting for
2
i
,
3
i
,
x
i
, and
y
i yields
( ) ( )
( ) ( )
cos 210 sin 210
cos 30 sin 30
° °
⎡ ⎤
=
⎢ ⎥
− ° − °
⎣ ⎦
B
, so
1
3 3
3 3
1 1






=








B
. Note also that
1
y
i i=. Given
1

B
,
any vector given in the
{
}

,i i
basis can be transformed to the
{
}
,
x y
i i basis. For example,
the vector
(
)
2 3
,
κ κ
in the
{
}

,i i
basis is related to the vector
(
)
,
x y
κ
κ in the
{
}
,
x y
i i basis by
[
]
1
2 3
x y
κ κ κ κ

⎡ ⎤
=
⎣ ⎦
B
. Solving for scalars
x
κ
and
y
κ
in terms of known curvatures
1
κ

2
κ
Ⱐ慮搠
3
κ
⁹楥汤猠

3
x
κ κ
κ

=
and
2 3 1y
κ
κ κ κ
=
− − =. In polar form,
1
tan
y
x
κ
φ
κ

⎛ ⎞
=
⎜ ⎟
⎝ ⎠
and
2 2
x y
κ
κ κ= +
. Substituting (8) and (9) then simplifying yields

( )
2 2 2
1 2 3 1 2 2 3 1 3
1 2 3
2
l l l l l l l l l
d l l l
κ
+
+ − − −
=
+ +
and (10)

1 y
i i=
3
i
2
i
x
i

Figure 2.8 Transformation of basis from the set
{
}
ㄲ 3
Ⱜi i i to the set
{
}
,
x y
i i.


19

1
3 2 1
2 3
2
3
tan
3
l l l
l l
φ

⎛ ⎞
+ −
=
⎜ ⎟
⎜ ⎟

⎝ ⎠
. (11)
Note that the numerator and denominator of the simplified expression for
φ
⁲=瑡楮⁴桥=
獡se⁳楧渠潦⁴桥物杩湡氠數灲敳獩潮Ⱐ= 汬潷楮朠畳攠潦⁦畮捴楯湳⁳業楬慲⁴漠䎒猠
atan2
rou-
tine which correctly determines
φ
⁦牯洠
π

⁴漠
π
⁲慴=敲⁴桡渠牥=≥物捴楮朠瑨±畴=u琠慮杬攠瑯=
瑨攠牡湧攠
,

π
π
⎛ ⎞

⎜ ⎟
⎝ ⎠
.
Computation of
s
, the trunk section’s length
Each section of the trunk is divided into
n
segments. In each segment, the cable
runs in a straight line from one cable guide to the next as shown in Figure 2.9. Solving
for the cable length in one section allows determination of the cable length in all sections.
Therefore, consider just one segment of the trunk. The length of this segment when un-
bent is therefore
s
n
.
Bending the trunk produces the geometry shown in Figure 2.6. Consider a virtual
cable of length
c
l
as shown in the figure, attached to the center of a cross section of the
trunk and traveling from the top and bottom of a segment of the trunk. As derived in (7),
1
2
c c
l
l nh
= +
. Substituting from (5) yields

3 2 1
3
c
l l l
l
+
+
=. (12)

20
The cable length
c
l
n
required for this curvature is also defined by the length of a chord
covering an angle
β
映愠捩牣汥映牡摩畳=
1
κ
Ⱐ慳⁳桯睮⁩渠瑨攠晩杵牥⸠
䥮⁡⁣楲捬攠潦⁲慤極猠 r, the angle
ϕ
⁳畢瑥湤敤⁢礠愠灯牴楯渠潦⁴桥⁣楲捵=晥牥湣攠潦∞
汥湧瑨l
a
obeys
2 2
r
a
π
π
ϕ
=
. To compute
β
⁦潲⁴桥畴敲⁣楲捬攠獨潷渠楮⁆楧畲攠㈮㘬⁣桯潳攠
1
r
κ
=,
s
a
n
=, and
ϕ β
=. Solving for
β
⁹楥汤猠
=
s
n
κ
β
=. (13)
Examination of the triangle drawn inside the outer circle of Figure 2.6 shown in
Figure 2.10 reveals that
B
ending occurs only
at cable guides

Figure 2.9 Cables bend only at cable guides


21

2
sin
1
2
c
l
n
β
κ
⎛ ⎞
=
⎜ ⎟
⎝ ⎠
. (14)
Therefore, the overall cable length for this segment of the trunk is
2
sin
2
c
n s
l
n
κ
κ
⎛ ⎞
=
⎜ ⎟
⎝ ⎠
. If the
trunk is bent outward, then
κ
⁷楬氠=ee条瑩g攮†䥮⁴桩猠捡e攬⁴桥敮杴栠潦⁴=攠捨潲搠e±潳猭
楮朠瑨攠牡摩畳映潵瑥爠捩牣汥i 獨潷渠楮⁆楧畲攠㈮㘠杩癥猠瑨攠 摥獩牥≤⁣慢汥敮l瑨⸠≥θh攠牡e
摩畳映瑨攠潵瑥爠捩牣汥⁩猠
1
κ

⸠⁎潴攠瑨慴⁢散慵獥s
(
) ( )
sin sin
θ
θ

= −, the expression
2
sin
2
c
n s
l
n
κ
κ
⎛ ⎞
=
⎜ ⎟
⎝ ⎠
remains correct in this case. Solving for
s
produces
1
2
sin
2
c
l
n
s
n
κ
κ

⎛ ⎞
=
⎜ ⎟
⎝ ⎠
.
Substituting from (10) and (12) yields
s
in terms of cable lengths as

( )
2 2 2
1 2 3
1 2 3 1 2 2 3 1 3
1
2 2 2
1 2 3 1 2 2 3 1 3
sin
3
nd l l l
l l l l l l l l l
s
nd
l l l l l l l l l

⎛ ⎞
+ +
+ + − − −
⎜ ⎟
=
⎜ ⎟
+ + − − −
⎝ ⎠
. (15)


2
β
2
c
l
n
1
κ
䙩杵牥′⸱〠⁃潭灵瑩湧p
s
.


22
Note in the limiting case as
2 2 2
1 2 3 1 2 2 3 1 3
0
g l l l l l l l l l
=
+ + − − − →,
1 2 3
0
l
im
3
g
l l l
s

+ +
= be-
cause
0
l
imsin
x
x x

=. Therefore,
1
0
l
im sin
x
x
x


=
so the limit for the entire expression be-
comes

( )
( )
2 2 2
1 2 3 1 2 2 3 1 31 2 3
1
2 2 2
0
1 2 3 1 2 2 3 1 3
2 2 2
1 2 3 1 2 2 3 1 31 2 3
1 2 3
2 2 2
1 2 3 1 2 2 3 1 3
l
im sin
3
.
3 3
g
l l l l l l l l l
nd l l l
nd
l l l l l l l l l
l l l l l l l l l
nd l l l
l l l
nd
l l l l l l l l l


⎛ ⎞
+ + − − −
+ +
⎜ ⎟
=
⎜ ⎟
+ + − − −
⎝ ⎠
+ + − − −
+ +
+ +
⋅ =
+ + − − −
(16)
In the case of a pneumatic robot, the pneumatic actuators can be considered to be cables
where the number of cable guides
n


. Examining the limiting behavior of (15) in this
case shows that

1 2 3
lim
3
n
l l l
s
→∞
+
+
= (17)
by the same reasoning as (16), since all other terms cancel.
Transformation from trunk curvature to cable lengths

Consider the manipulator section shown in Figure 2.1. Given the length
s
of one section
of the manipulator,
κ
Ⱐ瑨攠捵牶慴畲攠潦⁴桡e ⁳散瑩潮Ⱐ瑨攠慮杬攠
φ
⁡琠睨楣=⁴桥⁣=牶慴±±攠
汩敳l⁴桥⁤楳瑡湣攠 d from the center of the manipulator to the location of the cables, and
the number of segments in this manipulator section
n
, this section discusses the computa-
tion of the lengths of the three cables
1
l
,
2
l
, and
3
l
, due to the shape of this section of the
trunk. See Figure 2.1. This is the inverse kinematics problem. Note that additional
length due to the configuration of proximal segments also affects the overall cable length.

23
Due to the difficulties of simultaneously solving three nonlinear equations, the inverse
kinematics will be derived from geometry underlying the trunk, rather than from the
equations for the forward kinematics.
As shown in Figure 2.11, the top of one segment in a section of the elephant trunk
lines in plane
A
⸠⁈敩杨瑳⁣慮⁢攠.敡獵牥搠晲潭⁡⁳散潮搠灬慮攠
C
which is parallel to
plane
H
shown in Figure 2.2 and in Figure 2.3. These two planes intersect along a single
line tangent to height h
φ
as shown in the figure. Viewing these two planes end-on as in
Figure 2.12, note that heights measured from plane
C
to a point on
A
⁤漠湯琠捨慮来⁷桥渠
景汬潷楮朠慮礠汩湥渠
A
⁰慲慬汥氠瑯⁴桩猠瑡湧敮琮†䙯爠 數慭灬攬⁡猠楬汵獴牡瑥搠楮⁆楧畲攠
㈮ㄴⰠ灲潪散瑩湧⁴桥⁨敩杨琠
1
h
along a line parallel to the tangent at h
φ
gives
1 1p
h h=, where
1p
h is the height at a point along the line connecting
c
h
and h
φ
. Knowledge of the slope the
line created by viewing plane
A
⁥湤ⵯn⁡湤H⁡⁰潳楴楯H渠瑨楳楮攠i汬潷s⁣潭灵瑡瑩潮p
䡥楧桴h
h
φ
at angle
φ
.
䑥晩湥搠慳α
0h
φ
=

Cable 1, height is
1
h

Cable 2, height is
2
h
Cable 3, height is
3
h
Trunk center, height is
c
h
Line at which
planes intersect
Plane
A
H
Pl慮攠
H
&
C

to plane
H

Figure 2.11 Plane containing circle and reference plane

24
of the height of this position above plane
C
, which appears as horizontal line in the figure.
Therefore, the height of an arbitrary point on the circle such as
1 1p
h h
=
can be determined
by projecting the point along a line parallel to the tangent at
h
φ
onto the diagonal line in
Figure 2.12 then applying the slope-intercept form of that line to find the point’s height.
In the forward kinematics derivation, the height
1
0
h
=
was chosen to anchor the
plane shown in Figure 2.2. For the inverse kinematics derivation, the plane will be an-
chored by 0
h
φ
= instead. Examining the isosceles triangle shown in Figure 2.6 with sides
1
κ
and
c
l
n
creates Figure 2.13 which reveals
sin
2
c
h
d
β
⎛ ⎞
=
⎜⎟
⎝⎠
. Solving for
c
h
and substituting
(13) yields
sin
2
c
s
h d
n
κ


=




. Projecting these points onto the diagonal line of Figure 2.12
allows determination of the slope and intercept of the line
y mx b
=
+ based on the known
values
c
h h
m
d
φ

=
,
x
d a
= − and
b
h
φ
=
which yields
( )
1 1
c
p
h h
h h d a h
d
φ
φ

=
= − +
as
shown in Figure 2.15. This projection is also illustrated in Figure 2.14, where projecting
Cable 2
Cable 3
Center
Point at
φ

睨敲攠
0
h
φ
=

Cable 1
2
h

3
h
c
h
1
h

d
a
Plane
A
癩敷敤e
敮搭潮e
Pl慮攠
C
viewed
end-on

Figure 2.12 Rotated view of Figure 2.11


25
the height
1
h
along a line parallel to the tangent gives
1 1p
h h
=
, where
1p
h
is the height at a
point along the line connecting
c
h
and
h
φ
as shown in the figure. Also in this figure, note
that
( )
cos 90 sin
a
d
φ φ
° − = =. Substituting and simplifying,
( )
1
sin 1 sin
2
s
h d
n
κ
φ
⎛ ⎞
= −
⎜ ⎟
⎝ ⎠
.
Similar to the reasoning in (3) and (4), the length
1
l
of cable 1 can be divided into
l
φ
Ⱐ瑨攠汥湧瑨映愠癩牴畡氠 捡扬攠慴瑡捨敤⁡琠慮杬攠
φ
渠瑨攠捩牣畭晥牥湣攠潦⁴桥a湩灵污n
瑯爠慮搠牵湮楮朠瑨攠汥 湧瑨映瑨攠na湩灵污瑯nⰠ慮搠瑨攠桥楧桴,
1
h
of cable 1 above the plane
anchored by
l
φ
Ⱐ獯⁴桡琠

2
l
l nh
φ
= +. To find
l
φ
Ⱐ湯瑥⁴桡琠瑨攠汥湧瑨映愠捡扬攠
l
φ
⁡瑴慣桥搠
瑯⁴桥⁣楲捵浦敲敮捥映瑨攠瑲畮欠慴 ⁴桥⁰潩湴映=a硩xu洠←u牶慴畲攠
φ
⁦→牭猠瑨攠瑲楡sg汥l
獨潷渠瑨攠楮湥爠捩牣汥映䙩杵牥′⸶Ⱐ牥摲慷 渠楮⁆楧畲攠㈮ㄶⰠ祩敬摩 湧⁡⁲敬慴楯湳桩瀠獩ni-
=
2
β
c
h
d
β


c
l
n


Figure 2.13 Computing
c
h
from
β
=
=

26
lar to (14),
2
sin
1
2
l
n
d
φ
β
κ
⎛ ⎞
=
⎜ ⎟
⎝ ⎠

. Therefore, substituting (13), the cable length can be com-
puted as
1
2 sin
2
s
l
n d
n
φ
κ
κ
⎛ ⎞ ⎛ ⎞
= −
⎜ ⎟ ⎜ ⎟
⎝ ⎠ ⎝ ⎠
. Substituting and simplifying,

1
1
2 sin sin
2
s
l
n d
n
κ
φ
κ
⎛ ⎞⎛ ⎞
= −
⎜ ⎟⎜ ⎟
⎝ ⎠⎝ ⎠
. (18)
Likewise, rotating to 210° and
3
30° to find
2
h
and
3
h
, the heights of the attachment points
of cables 2 and 3, then re-solving produces

( )
2
1
2 sin sin 60
2
s
l
n d
n
κ
φ
κ
⎛ ⎞⎛ ⎞
= + ° +
⎜ ⎟⎜ ⎟
⎝ ⎠⎝ ⎠
and (19)
a
φ
9
0
φ
° −
φ
d
Plane
A
H
1
h
1p
h
c
h

h
φ


Figure 2.14 Computing
a
in Figure 2.12


27

( )
3
1
2 sin cos 30
2
s
l
n d
n
κ
φ
κ
⎛ ⎞⎛

= − ° +
⎜ ⎟⎜

⎝⎠⎝

. (20)
Note that because
0
l
imsin
x
x x

=, in the limiting case
1
0
1
l
im 2 sin
2
s
l n d s
n
κ
κ
φ
κ

⎛ ⎞⎛ ⎞
=
− =
⎜ ⎟⎜ ⎟
⎝ ⎠⎝ ⎠
. In
the same way,
2 3
0 0
l
im lim
l l s
κ
κ
→ →
= =. In the case of a pneumatic manipulator, where
n


,
these equations become

( )
1
2
3
1 sin
1 sin
3
1 cos
6
s d
l
l s d
l
s d
κ φ
π
κ φ
π
κ φ







⎡ ⎤


⎛ ⎞
⎛ ⎞
⎢ ⎥
= + +


⎜ ⎟
⎜ ⎟
⎢ ⎥
⎝ ⎠
⎝ ⎠


⎢ ⎥
⎣ ⎦


⎛ ⎞
⎛ ⎞


− +
⎜ ⎟
⎜ ⎟


⎝ ⎠
⎝ ⎠


, (21)
which were derived by examining lim
n
→∞
of (18), (19), and (20).
Summary
This section discusses the derivation of the following equations which convert
known cable lengths into trunk curvature. From equations (10), (11), (15), (16), and (17),
c
h
h
φ



Figure 2.15 Line used to derive slope and intercept.


28

( )
2 2 2
1 2 3 1 2 2 3 1 3
1 2 3
2
l l l l l l l l l
d l l l
κ
+
+ − − −
=
+ +
and (22)

1
3 2 1
2 3
2
3
tan
3
l l l
l l
φ

⎛ ⎞
+ −
=
⎜ ⎟
⎜ ⎟

⎝ ⎠
. (23)

( )
2 2 2
1 2 3
1 2 3 1 2 2 3 1 3
1
2 2 2
1 2 3 1 2 2 3 1 3
sin
3
nd l l l
l l l l l l l l l
s
nd
l l l l l l l l l

⎛ ⎞
+ +
+ + − − −
⎜ ⎟
=
⎜ ⎟
+ + − − −
⎝ ⎠
(24)
where
2
1
1 2 3
0
lim
3
l
l l l
s
+ →
+ +
=

and

1 2 3
3
l l l
s
+
+
= (25)
in the case of a pneumatic manipulator. It also discusses the following equations which
convert trunk curvature into cable length. From (18), (19), (20), and (21),


2
β
2
l
n
φ
1
d
κ


Figure 2.16 Determining cable length

29

( )
( )
1
2
3
1
2 sin sin
2
1
2 sin sin 60
2
1
2 sin cos 30
2
s
n d
n
l
s
l n d
n
l
s
n d
n
κ
φ
κ
κ
φ
κ
κ
φ
κ
⎡ ⎤
⎛ ⎞⎛ ⎞

⎜ ⎟⎜ ⎟


⎝ ⎠⎝ ⎠


⎡ ⎤


⎛ ⎞⎛ ⎞
⎢ ⎥
= + ° +


⎜ ⎟⎜ ⎟
⎢ ⎥
⎝ ⎠⎝ ⎠


⎢ ⎥
⎣ ⎦


⎛ ⎞⎛ ⎞
− ° +


⎜ ⎟⎜ ⎟
⎝ ⎠⎝ ⎠
⎣ ⎦
(26)
where
1 2 3
0 0 0
l
im lim liml l l s
κ
κ κ
→ → →
= = =. In the case of a pneumatic manipulator,

( )
1
2
3
1 sin
1 sin
3
1 cos
6
s d
l
l s d
l
s d
κ φ
π
κ φ
π
κ φ







⎡ ⎤


⎛ ⎞
⎛ ⎞
⎢ ⎥
= + +


⎜ ⎟
⎜ ⎟
⎢ ⎥
⎝ ⎠
⎝ ⎠


⎢ ⎥
⎣ ⎦


⎛ ⎞
⎛ ⎞


− +
⎜ ⎟
⎜ ⎟


⎝ ⎠
⎝ ⎠


. (27)


CHAPTER 3
TRUNK KINEMATICS
As discussed in the introduction and previous chapter, efforts in modeling and real-time
algorithm development to extract the full physical potential from continuum robots have
lagged behind. For example, almost all previous approaches either do not address trunk
orientation, approximate positional kinematics, or solve them only for limited kinematic
models, which constrain the performance of continuum robot hardware to reduced classes
of shapes and motions, restricting their potential applicability. In this chapter, we modify
and extend some of the ideas in [3] as part of a new and quite general kinematic formula-
tion for continuum robots. This approach, unlike previous work, produces complete and
correct results for both task-space position and orientation. The method fully models for
the first time, to the best of our knowledge, the exact kinematics of trunk sections which
can extend in length as well as bend in two dimensions using closed-form equations. The
approach is also modular, allowing its application to a wide range of physical realiza-
tions, including in particular the common three evenly-spaced tendons per section design.
In addition, the resulting Jacobians, derived via a straightforward application of well-
known D-H techniques and the chain rule, are relatively simple and computable in real
time. This model also allows a straightforward analysis of singularities present in a con-
tinuum manipulator. In the following sections, we discuss the modeling approach, de-
scribe the various kinematic transformations and Jacobian synthesis in detail, analyze

31
uniqueness, singularities, and accuracy, and report results from a real-time hardware im-
plementation on two different multi-section continuum robots.
This chapter focuses on extending, correcting, and improving a method first de-
veloped by Hannan [3] to derive positional and velocity kinematics for trunk-like ma-
nipulators. Hannan’s method utilized transformations which relate the forward kinemat-
ics derived from a Denavit-Hartenburg (D-H) table to trunk positional kinematics. He
then implemented positional (but not orientational) kinematics, enabling control of the
robot via a joystick. While the position of the trunk’s end effector obtained and imple-
mented was correct, the orientation of the end effector resulting from this table, which
was not implemented, is incorrect. Two revised D-H tables with associated transforma-
tions presented here correct this error in the orientational term. Hannan’s method for de-
riving linear velocity kinematics departed from traditional D-H techniques, instead deriv-
ing linear velocity kinematics by taking a series of derivates of the positional kinematics.
This chapter develops methods to apply D-H techniques to obtain velocity kinematics,
yielding linear velocity kinematics which are easier to compute. These techniques also
produce angular velocity kinematics, unlike Hannan’s method, which relied on hand-
derived geometrical methods to incorrectly determine angular velocity kinematics for the
trunk. Finally, the modular nature of this approach allows robot-specific portions of the
derivation to be easily exchanged in order to derive equations for a given robot.
Trunk modeling and mechanics

The method pioneered by Hannan is but one of many choices. Unlike rigid-link
robots which rely the well-established Denavit-Hartenburg (D-H) procedure to derive po-
sitional and velocity kinematics and the Euler-Lagrange equations to derive dynamics,

32
the development of kinematics and dynamics for trunk-like robotic manipulators can fol-
low several paths. Gravagne [14], [29] applied techniques from mechanics to derive a set
of partial differential equations which, when solved, yields both kinematics and dynamics
for a trunk. While these equations result in solutions for a 2-dimensional case, solutions
for this approach in 3 dimensions have not been found. A second approach is that fol-
lowed by Selig [30], in which techniques from differential geometry applied to Cossert
rod theory provided expressions for trunk dynamics as transcendental functions which
require numerical solution. Chirikjian and Burdick [25] applied a modal decomposition
to approximate the shape of a continuum robot with an arbitrary curve. Finally, Hannan
[31] used techniques based on classical calculus, Euclidian geometry, and D-H tables to
derive the kinematics for a trunk.
Of these techniques, the most promising for the derivation of kinematics for the
real-time control of a trunk robot is the method developed by Hannan then extended in
this chapter. Most importantly, these techniques allow the derivation of positional and
velocity kinematics in three dimensions in closed-form equations, unlike many tech-
niques. In addition, they make use of straightforward plane geometry and of a well-
established and understood body of work, the Denavit-Hartenburg procedure, resulting in
solutions which can be more easily understood, implemented, and extended. Finally,
Figure 3.1 and Figure 3.2 illustrate two robotic trunks which obey the underlying con-
stant-curvature assumption made by this method, providing an important practical appli-
cation for this theory.


33
Deriving kinematics using this method involves two steps. First, this work ex-
tends Hannan’s method by formulating the trunk kinematics problem as a series of substi-
tutions applied to a homogenous transformation matrix computed using a Denvait-
Hartenburg (D-H) type approach. As in Hannan’s method, this formulation relies on the
assumption that the trunk bends with constant curvature, due to the compliance of the
trunk [14]. Second, velocity kinematics are developed by first determining the Jacobian
using standard techniques based on the D-H table then by chaining together the Jacobians
produced by computing derivates of each succeeding substitution. The following para-
graphs outline this approach, while the next section develops the resulting equations in
detail.


Figure 3.1 The Air-Octor two-section continuum robot.


34
In conventional manipulator forward kinematics, a standard homogenous trans-
formation matrix
( )
,d
θ
A
produced via a D-H table is used to transform local shape coor-
dinates
(
)
,d
θ
into task coordinates
x
, representing both end effector position and orienta-
tion. This is based on a series of independent rotations
i
θ
and translations
i
d
with one in-
dependent variable per joint at each of the
i
joints. However, continuum robots lack ex-
plicit joints, with the equivalent to rotations
i
θ
and translations
i
d
being an arc of constant
curvature modeled by trunk parameters
s
,
κ
Ⱐ慮搠
φ
⁷桥牥=
s
gives trunk length,
κ
⁤整敲=
←i湥猠捵牶慴畲攬⁡湤n
φ
⁤整敲=楮敳⁴桥⁡湧汥=⁣畲癡瑵=攠慳⁳桯睮⁩渠䙩杵牥′⸱⸠A⁣物瑩=
=
=
䙩杵牥″⸲†周攠佣瑁牭⁦潵θ⵳散瑩潮⁣潮瑩湵畭⁲潢潴⸠
=

35
cal question for continuum robot kinematics is how to modify conventional robot kine-
matics to fit this case.
A fundamental concept exploited in this chapter, first introduced by Hannan, is to
fit a conceptual conventional rigid-link manipulator to the continuous backbone of a con-
tinuum robot. Using simple geometric arguments, Hannan’s work determined the rela-
tionship
[
]
( )
T
1
,,d f s
θ
κφ= between D-H table parameters
i
θ
and
i
d
and the trunk pa-
rameters
s
,
κ
Ⱐ慮搠
φ
⸠䥭灬楣楴⁳畢p瑩瑵瑩≥n⁥湡扬敳⁣=浰畴慴楯渠←∞⁴牵湫⁴楰⁰→獩瑩潮⁡湤=
潲楥湴慴楯渠
x
as a function of
s
,
κ
Ⱐ慮搠
φ
⁡猠
(
)
(
)
(
)
1
,,,,f s s
κ
φ κφ
=
A A
. This allows the
use of modified D-H procedures to relate end effector task coordinates to robot shape [3].
Next, to map
s
,
κ
Ⱐ慮搠
φ
⁴漠獰散楦楣⁣潮瑩湵畭⁲潢潴= 桡牤睡牥Ⱐ慮潴桥爠瑲慮獦潲h
←a瑩潮⁩猠湥捥獳慲礠睨楣栠癡物敳⁢慳敤渠瑨 攠捯湳瑲畣瑩潮映瑨攠牯扯琬⁤敭潮獴牡瑩湧→
瑨攠≥潤畬慲楴礠潦⁴桩猠慰灲→ 慣栮⁆潲⁴桥⁃l敭s潮⁅汥灨慮琠θ±畮欠ua湩灵污瑯pⰠ瑨攠睯牫,
楮⁛㍝⁤整敲i楮敤⁡i灰楮朠
(
)
(
)
2
,,
a
s k f l
φ
=
to compute
s
,
κ
Ⱐ慮搠
φ
⁧楶敮⁴桥敮杴栠
l
of the four cables which controlled each trunk section. That work, while innovative, was
limited to the unique actuator arrangement in the robot in [3], and assumed constant trunk
length, which restricted the generality of the results. In this paper, we introduce an analo-
gous mapping of
(
)
(
)
2
,,
b
s k f l
φ
=
from the lengths
l of each of the three cables per sec-
tion to trunk parameters
s
,
κ
Ⱐ慮搠
φ
⁩汬=獴牡瑥搠楮⁆楧u牥′⸱⁦→爠±⁣污獳=⁤敳i杮猠瑹灩gi敤e
批⁴桥⁃汥←獯渠䅩A-佃OO删牯扯琠獨潷渠楮⁆楧R 牥″⸱⸠周楳⁰慲瑩捵污爠慣瑵慴潲⁡牲慮来θ
←e湴⁩猠煵楴攠捯浭潮⁡捲潳猠愠睩摥⁶慲楡瑩潮n 楮⁣潮瑩湵畭⁲潢潴⁨慲摷慲攠牥慬楺慴楯湳=
獵捨⁡猠嬱ㅝⰠ嬲㉝Ⱐ嬱㝝Ⱐ 嬲[]Ⱐ嬲㍝Ⱐ嬱,],⁛ㄳ崮†䅬 瑥牮≥瑩癥ly,⁡⁴桩牤a灰楮朠
(
)
( )
2
,,
c
s f pκφ = between the air pressure in each of the three McKibben actuators in a

36
section of the OctArm manipulator [6] shown in Figure 3.2 may be utilized. Therefore,
this work is more generally applicable than the results in [3].
In summary, these forward kinematic transformations relate trunk tip position and
orientation
x
to the cable length
l or pressure
p
of the robot according to the information
flow

1 2
,,,/
f f
D H
x
d s l p
θ
κφ

←⎯⎯⎯ ←⎯ ⎯ ←⎯ ⎯
(28)
or, more formally,

(
)
(
)
(
)
1 2
/
D H
x
f f f l p

=
. (29)
The corresponding transformations are fully developed and analyzed in the next section.
In forward velocity kinematics, the goal in the context of continuum robots is to
relate trunk tip linear and angular velocity
x

to either cable velocities
l

or actuator pres-
sures
p

through a Jacobian, so that
x
l
=
J


or
x
p
=
J
 
. Following the approach of (28), this
can be accomplished through a series of Jacobians according to the information flow

(
)
(
)
(
)
1 2
,,,/
f f
D H
x
d s l pθ κφ

←⎯⎯⎯ ⎯ ←⎯⎯ ⎯ ←⎯⎯ ⎯
J J
J
 
 

  
. (30)
That is, a straightforward application of the chain rule to (29) yields

( )
(
)
( )
(
)
( )
(
)
( )
1 2
/
,,,
or
,,,
/
=/,
D H f f
d l p
d s
dx x
dt d s dt
l p
x l p
θ κφ
θ κφ

∂ ∂

=
∂ ∂

J J J

 
(31)

37
where
1 2
D
H f f−
=
J
J J J. This formulation reveals an advantage of this approach: different
Jacobian “modules” such as
2
a
f
J
for the Clemson Elephant Trunk,
2
b
f
J
for Air-OCTOR, or
2
c
f
J
for OctArm allow different hardware realizations across a range of continuum hard-
ware designs to be easily plugged in to the derivation.
The use of standard techniques produces the Jacobian
D
H

J
from an appropriate
D-H formulation, while
1
f
J
and
2
f
J
are directly computed as partial derivatives of
1
f
and
2
f
. Before computing these equations, the underlying assumptions made by this model
must be validated by actual robots for the equations to find application. First, this model
assumed that trunks bend with constant curvature. That is, each section of the trunk can
be modeled as an arc of a circle of some fixed radius r and curvature
1
r
κ
=, as opposed to
trunk sections which bend with curvature
(
)
s
κ
where curvature varies along the length
s

of the trunk section. Second, the radius of each trunk section is assumed to be constant
and any cable guides are assumed to be equally spaced, though both the radius and num-
ber of cable guides can vary from section to section. Finally, these trunks do not exhibit
torsion, defined as twisting along the length of the trunk.
Having reviewed a general approach for determining kinematics and validating
the assumptions made by the model on actual devices, the next section will then develop
equations for positional kinematics, followed by a section on velocity kinematics.
Positional Kinematics

As discussed in the introduction to this chapter, the DH table developed by Hannan [31]
produces correct positional information but incorrect orientational information. One ap-
proach to correcting the error in the orientation term is to derive a new D-H table which

38
more accurately models the physical construction of the robot. A second approach is to
add an additional term to the D-H table derived by Hannan to correct the orientational
error. The following sections detail results obtained from following both approaches.
Modified DH table
These paragraphs will first review the D-H table and geometrical transformations devel-
oped by Hannan, discuss the orientation problem introduced by trunk torsion designed
into the first entry of the existing D-H table, then introduces an anti-torsional term to the
end of table which cancels out the torsion introduced earlier, thus solving the problem.
The following section, in contrast, develops a new D-H table which solves the problem
without resorting to any torsional terms. Comparisons between the two then reveal that
both approaches yield identical results.
Hannan’s approach simplifies the problem of finding the positional kinematics
which relate trunk tip position and orientation
x
to trunk parameters
s
,
k
, and
φ
⁡猠楬汵猭
瑲慴敤⁢礠瑨攠晩牳琠慲牯眠楮
 ㈸⤠批⁦楲獴⁳潬癩湧⁴桥⁰牯扬2 ←⁩渠瑷漠摩浥湳楯湳⁴桥渠數=
瑥湤楮朠瑨攠獯汵瑩潮⁴漠瑨牥攠摩≥e湳楯湳⸠n 䙯汬潷楮朠桩猠浥瑨潤猬⁣ 潮獩摥爠瑨敲敦潲攠愠
瑲畮欠獥捴楯渠楮′ⵄ⁷楴栠橯楮瑳 ⁡猠楬汵獴牡瑥搠楮⁆楧畲攠㌮㌠ 捯牲敳灯湤楮朠瑯⁴桥⁄ⵈ⁴慢汥c
楮iθa扬攠㌮b.†乯瑥⁴=慴楮欠ㄬ⁷桩a栠睩汬⁥h 瑥≥≤⁴桥獥⁥煵=瑩潮猠瑯″ⵄ,⁩猠摥汩扥±慴敬a=
潭楴瑥搮†周攠ei牳琠牥癯汵瑥±楮琠灯楮瑳⁴桥i 捡氠捯潲摩湡瑥⁳祳瑥≥⁴潷慲搠瑨攠瑩瀠潦⁴桥=
瑲畮欠睨楣栠扥湤猠楮⁴桥≥
x

⁤楲散瑩潮Ⱐ灥爠䡡湮慮=猠捯湶敮 瑩潮⸠≥周攠獥捯湤潩湴Ⱐ睨楣栠
楳⁰物獭a瑩挬⁴牡湳污瑥猠瑨攠汯捡氠=±a←攠瑯⁴e 攠瑩瀠瑨敮⁴桥⁦i湡氠牥癯汵≥e潩湴物敮瑳⁴桥=
捯潲摩湡瑥⁳祳瑥c⁡汯湧⁴桥⁴慮来湴⁴漠瑨 攠瑲畮殒猠瑩瀮†周楳⁴慢汥⁰牯摵捥猠瑨攠桯θ潧攭
湯畳⁴牡湳景牭a瑩潮a瑲楸≥

39

(
)
(
)
( ) ( )
2 4 2 4 3 1
2 4 2 4 3 1
cos sin 0 sin
sin cos 0 cos
0 0 1 0
0 0 0 1
d
d
θ
θ θ θ θ
θ
θ θ θ θ
⎡ + − + − ⎤
⎢ ⎥
+ +
⎢ ⎥
=
⎢ ⎥
⎢ ⎥
⎣ ⎦
A
, (32)
also found as equation 3.40 in Hannan [31].
Next, given this D-H table and resulting
A
matrix, Hannan develops a function to
transform D-H parameters
θ
⁡湤=
d
into trunk parameters
s
,
κ
Ⱐ慮搠
φ
Ⱐ湯瑡瑥搠慳,
1
f
in (28).
The trunk segment shown in Fi gure 3.4, an arc of length
s
which subtends
β
⁲慤i慮a映==
捩牣汥映牡li畳u r, contains an isosceles triangle with two sides of length
1
r
κ
=
. Subdivid-
ing this triangle, note the relationship
2
sin
1
2
d
β
κ
=
. Therefore,
2
sin
2
d
β
κ
=
. For any arc of
a circle
2 2
s
r
β
π
π
=
so that s
β
κ=
where
1
r
κ
=
. Substituting,

2
sin
2
s
d
κ
κ
=
, (33)

2
θ
4
θ
3
d
x

y

Figure 3.3 D-H joints in Hannan’s 2-D table. Revolute joints are marked by circles and
prismatic joints by boxes.


40
which can also be derived by substituting (11) into (12) in [32]. Note also the triangle
similarity which demonstrates
2
β
γ
=
Ⱐ獯⁴桡琠
2
s
κ
γ
=
. Examining the D-H table and ac-
companying illustration shows that
2 4
θ
θ γ
=
=
and
3
d d
=
. Therefore,
3
2
sin
2
s
d
κ
κ
=
and
2 4
2
s
κ
θ
θ
= =
. We have now developed a transformation
1, 2-D
f
between D-H parameters
and trunk variables for the 2-D case:
[
]
( )
T
T
2 3 4 1,2-D
2
,sin
2 2 2
s s s
d f s
κ κ κ
θ θ κ
κ
⎡ ⎤
= =
⎢ ⎥
⎣ ⎦
.
Substituting this into (32),

cos 1
cos sin 0
sin
sin cos 0
0 0 1 0
0 0 0 1
s
s s
s
s s
κ
κ κ
κ
κ
κ κ
κ










=










A
, (34)
identical to Hannan [31] equation 3.40.
Extending this to three dimensions then proves straightforward. Adding a single
torsional joint to the beginning of 2-D D-H table which rotates the trunk out of the
x
y
plane enables the trunk to move in full
x
yz space. In addition, changing link 4’s
α
⁰愭
θa扬攠㌮ㄠ⁈慮湡溒猠䐭s⁴慢汥⁩渠㈭=.†䅳瑥物 獫猠sa牫潩湴⁶慲楡±汥献†䱩湫‱Ⱐ睨楣栠數l
瑥湤猠瑨攠瑡el攠瑯″-䐬⁩猠湯琠灲敳敮琮=
䱩湫
a
α
d
θ
=
㈠2