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 realtime 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 N66001C8043 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 DH table in 2D. Asterisks mark joint variables. Link 1, which
extends the table to 3D, is not present..................................................................40
3.2. Hannan’s 3D DH table........................................................................................42
3.3. Modified DH table with antitorsional term.........................................................42
3.4. New DH table, where asterisks represent joint variables.....................................47
3.5. New DH 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) AirOctor...........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. Topdown 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 AirOctor twosection continuum robot..........................................................33
3.2. The OctArm foursection continuum robot...........................................................34
viii
List of Figures (Continued)
Figure Page
3.3. DH joints in Hannan’s 2D table. Revolute joints are marked by circles
and prismatic joints by boxes.................................................................................39
3.4. Geometric transformation for Hannan’s 2D DH table........................................41
3.5. The orientation of Hannan’s trunk, showing the torsional component built
into the DH 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 DH table, illustrated by graphing the trunk as it rotates through the
range
3
0
2
φ
π
⎡ ⎤
=
⎢ ⎥
⎣ ⎦
…
................................................................................................45
3.7. New DH table. The trunk modeled by this table is shows as a thick,
semitransparent line..............................................................................................46
3.8. Coordinate axes for DH 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 DH parameters and
trunk parameters. The semitransparent 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
analyticallydetermined limitingcase 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 singlesection trunk...............................79
4.6. Comparison of Figure 4.4 repeated for a threesection trunk................................80
4.7. Comparison of Figure 4.4 repeated for a onesection 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 singlesection 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 vertebratelike 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) AirOctor.
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 realtime 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 taskspace 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 closedform
equations. The approach is also modular, allowing its application to a wide range of
physical realizations, including in particular the common three evenlyspaced actuators
per section design. In addition, the resulting Jacobians, derived via a straightforward ap
plication of wellknown DenavitHartenberg (DH) 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 realtime implementation of these kinematics.
3
Singularities and numerical instabilities near singular configurations, for example, pre
vent computation of the endeffector 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
realtime 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 (cabledriven or pneumaticallyshaped) 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 realtime. 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 realtime on two different
types of continuum trunks using the novel rapidprototyping software development envi
ronment presented in chapter 5. An original system for deriving the kinematics presented
in chapters 2 and 3 and converting the symbolicallycomputed results into C code suited
for realtime execution is detailed. A 3D modeling system uniquely suited to displaying
the posture of a continuum trunk in realtime is discussed. The rapidprototyping 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 realtime executable which runs on the QNX realtime 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 realtime 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 2D as it crawls across the ground [24]. However, this
work does not address the 3D kinematics of the many snakelike 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 DH 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 threetendon,
1
20
°
configuration manipulator hardware such as the OctArm and AirOctor trunks. The
model is both new and novel compared to previous models developed in [29], [3], which
were tailored to fourtendon sections and therefore not applicable to the more general de
sign in this paper. Likewise, this model extends the threecable 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 varyingradii 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 2D slices of the problem which allow computation of the desired quantities.
Computation of
i
κ
, the percable 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 Topdown 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 asyet 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
κ
percable 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 2D space.
In addition, any two of these three vectors forms a complete basis for 2D 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 endon 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 slopeintercept 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
endon
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 resolving 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 realtime
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 taskspace 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 closedform equations. The
approach is also modular, allowing its application to a wide range of physical realiza
tions, including in particular the common three evenlyspaced tendons per section design.
In addition, the resulting Jacobians, derived via a straightforward application of well
known DH 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 realtime hardware im
plementation on two different multisection 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 trunklike ma
nipulators. Hannan’s method utilized transformations which relate the forward kinemat
ics derived from a DenavitHartenburg (DH) 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 DH 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 DH techniques, instead deriv
ing linear velocity kinematics by taking a series of derivates of the positional kinematics.
This chapter develops methods to apply DH 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 robotspecific 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 rigidlink
robots which rely the wellestablished DenavitHartenburg (DH) procedure to derive po
sitional and velocity kinematics and the EulerLagrange equations to derive dynamics,
32
the development of kinematics and dynamics for trunklike 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 2dimensional 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 DH tables to
derive the kinematics for a trunk.
Of these techniques, the most promising for the derivation of kinematics for the
realtime 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 closedform 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 DenavitHartenburg 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
stantcurvature 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 (DH) 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 DH 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 AirOctor twosection continuum robot.
34
In conventional manipulator forward kinematics, a standard homogenous trans
formation matrix
( )
,d
θ
A
produced via a DH 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 rigidlink 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 DH 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 DH 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 AirOCTOR, 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
DH 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 DH table which
38
more accurately models the physical construction of the robot. A second approach is to
add an additional term to the DH 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 DH table and geometrical transformations devel
oped by Hannan, discuss the orientation problem introduced by trunk torsion designed
into the first entry of the existing DH table, then introduces an antitorsional 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 DH 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 DH table and resulting
A
matrix, Hannan develops a function to
transform DH 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 DH joints in Hannan’s 2D 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 DH 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, 2D
f
between DH parameters
and trunk variables for the 2D case:
[
]
( )
T
T
2 3 4 1,2D
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 2D DH 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
Enter the password to open this PDF file:
File name:

File size:

Title:

Author:

Subject:

Keywords:

Creation Date:

Modification Date:

Creator:

PDF Producer:

PDF Version:

Page Count:

Preparing document for printing…
0%
Comments 0
Log in to post a comment