Professional Documents
Culture Documents
Abstract—We present a new geometrical approach to solving nipulators have appeared [3], only recently have accurate
inverse kinematics for continuous backbone (continuum) robot and practical kinematic models for continuum manipulators
manipulators. First, this paper presents a solution to the in- emerged [4, 5].
verse kinematics problem for a single-section trunk. Assuming Many existing continuum robot designs are kinematically
end-points for all sections of a multi-section trunk are known,
redundant. Indeed, the inclusion of many extra degrees of
this paper then details applying single-section inverse kinemat-
ics to each section of the multi-section trunk by compensating freedom (hyper-redundancy) has been a key motivation for
for resulting changes in orientation. Finally, an approach continuum robots, enabling them to maneuver in congested
which computes per-section endpoints given only a final-section environments [6] and allowing them to form whole arm
endpoint provides a complete solution to the multi-section in- grasps [7] of a wide range of objects. While there have been
verse kinematics problem. The results of implementing these attempts to adapt the conventional (rigid link) approaches to
algorithms in simulation and on a physical continuum robot
redundancy resolution by appropriately selecting the shape
are presented and possible applications are discussed.
of the robot subject to task constraints [8], their practical
I. INTRODUCTION effectiveness have been hampered by the complexity of the
analysis, particularly in the resulting Jacobians.
K inematic redundancy, where more degrees of freedom
exist in the system than are strictly required for task
execution, offers the benefit of improved performance in the
This paper presents a geometric approach to determining
the inverse kinematics for single and multi-section contin-
uum robots. The algorithm given in section II determines a
form of singularity avoidance, obstacle avoidance as illus- closed-form solution to the inverse kinematics problem for a
trated in Fig. 1, fault tolerance, joint torque optimization, single continuum section trunk.
and impact minimization via effective use of the self-motion Section III discusses extending the results from section II
inherent in the resulting systems. Kinematic redundancy in to an n-section continuum manipulator, assuming knowledge
manipulators has been extensively studied, and surveys of
many of the fundamental results for conventional (rigid-
link) redundant manipulators are presented in [1, 2].
However, for the recently emerging class of continuum
manipulators [3], progress in developing practical kinemat-
ics has been slower. Continuum robots, resembling biologi-
cal trunks and tentacles, feature continuous backbones, for
which conventional kinematics algorithms do not apply.
While numerous hardware realizations of continuum ma-
Manuscript received February 22, 2008. This work was supported in part
by the Defense Advanced Research Projects Agency (DARPA) Defense
Sciences Office through the Space and Naval Warfare Systems Center, San
Diego, Contract Number N66001-03-C-8043.
Srinivas Neppalli is with the Department of Electrical and Computer En-
gineering, Mississippi State University, Mississippi State, MS 39762 USA
(phone : 662-312-3424; e-mail: sn140@ece.msstate.edu).
Matt A. Csencsits is with the Electrical & Computer Engineering De-
partment, Clemson University, Clemson, SC 29634 USA (phone: 864-656-
7956; e-mail: csencsm@clemson.edu).
Bryan A. Jones is with the Department of Electrical and Computer Engi-
neering, Mississippi State University, Mississippi State, MS 39762 USA
(phone: 662-325-3149; fax: 662-325-9438; e-mail: bjones AT @ AT
ece.msstate.edu).
Ian D. Walker is with the Electrical & Computer Engineering Depart-
ment, Clemson University, Clemson, SC 29634 USA (e-mail: Fig. 1 – The inverse kinematics algorithms described in section II move
ianw@ces.clemson.edu). both a simulated and an actual trunk from a vertical starting posture in (a) to
a bent posture in (b) while maintaining tip position, moving only the section
2 end-point. This maneuver could be used to avoid obstacles in the trunk
path while maintaining a desired tip position.
manipulator as an arc of a circle with one end-point O fixed rotation of P does not affect the arc-length, x ' = x 2 + y 2 as
to the origin of a right-handed Euclidean space, the other before. Simplifying gives
end-point P located anywhere in the space, and the center of
the arc C in the xy plane (see Fig. 2). We parameterize a
section of a continuum manipulator by its arc length s, its ⎪
θ =⎨
(
⎧cos −1 1 − κ x 2 + y 2 , z > 0
) (3)
curvature κ , and its orientation φ as shown in Fig. 3. From
these parameters the tip location of a single continuum sec-
(
⎪2π − cos −1 1 − κ x 2 + y 2 , z ≤ 0.
⎩ )
tion is calculated [9]. These assumptions reflect the physical
structure of many continuum manipulators when subjected
to a constant moment applied to the end of the section as
derived in [10] and applied in [4, 5, 8, 11] including Air-
Octor [12] and the OctArm [13] series of manipulators. In
particular, the ability of these trunks to not only move to a
given curvature κ and direction of curvature φ but also to
extend to a trunk length s enables them to attain the desired
tip position based on the φ , κ , and s determined by the in- θ
verse kinematics.
A. Inverse Kinematics
The trunk parameters s, κ , and φ for a single continuum
section can be determined given the end-point location P in
a closed-form expression. The direction of bending φ can be
trivially determined by dividing the x and y coordinates,
giving
Fig. 3 - Manipulator variables s, κ , and φ , where φ gives the direction of
bending measured in the xy plane, κ defines the curvature as the inverse of
the trunk radius and s gives the length of the trunk.
3566
z this process with the remaining sections. Recalling from [9]
the rotation due to a single trunk section occurs about the
D′ axis ω = [ −sinφ cos φ 0] by the angle θ , the adjusted
T
3567
Y
joining the start-point and endpoint of sections one, two, and
l2 p2 l three respectively, this algorithm computes per-section end-
p1 3
r1
p3
points p1 and p2. Referring to Fig. 5, length r2 = p3 while
l1
r2 triangle inequality theorems for +Op2 p3 and +Op1 p2r1 bound
O X
length r1 as
r1 γ1
p2′ r2 + l3 ≥ r1 ≥ r2 − l3
d1 (4)
l1 + l2 ≥ r1 ≥ l1 − l2
h1
l3 Step 1: Choose any r1 which satisfies the inequalities
r2
n1′ above. A complete solution space that includes all possible
configurations of the robot can be built by repeating the rest
p3′
of the derivation using all valid values of r1. The equality
Z sign observed in the inequalities (4) implies a “flat” triangle
consisting of a single line and corresponds to a singular con-
figuration of robot, as discussed in section V and illustrated
Fig. 6 – The rigid link robot afterJJJJG a transformation of coordinate frames
from OXYZ to OX ′Y ′Z ′ to align Op3 along the +z axis. Links in the trans- in Fig. 8 and Fig. 9.
formed coordinate frame are indicated by dashed lines. Point p′2 is placed in Step 2: With p3, r1, r2 , and l3 fixed, triangle +Op2 p3 con-
HJJJG
the yz plane and p′3 lies on the z axis; therefore, +Op2′ p3′ is present in the yz strains p2 to lie on a circle formed by rotating p2 about Op3 .
plane
inequalities for any rigid-link robot composed of spherical Choose any dihedral angle θ1 which gives the rotation of
joints by following a geometric approach as detailed in [14, +Op2 p3 about Op3 and therefore determines the location of
15]. Observing that each section of a continuum robot con- p2.
sists of the equivalent of a spherical joint, this paper applies To calculate p2 from θ1, first rotate the coordinate frame
the solution procedure in [14, 15] to a three-section contin- JJJJG
OXYZ to OX ′Y ′Z ′ in such a way that Op3′ aligns with the
uum robot by modeling it as a three-link rigid-link robot
positive z axis. In this configuration, apply θ1 as a rotation
composed of spherical joints. The endpoints of each of the
about the +z axis. Finally, perform the inverse rotations to
rigid links produced by this algorithm then provide the nec-
return to OXYZ with p2 now determined.
essary endpoints for the multi-section inverse kinematics
algorithm described in the previous section which fits a This initial transformation to OX ′Y ′Z ′ can be achieved by
trunk to these endpoints. performing two consecutive rotations first about the y axis
then about the z axis by angles − β1 and −α1 respectively,
A. Overview which are calculated in (7)-(10).
To formally stating the problem solved in this section: Due to this rotation, p3′ now lies on the +z axis, at a dis-
given the endpoint p3 and the link lengths l1−3 of a three-link tance of r2 from O as shown in Fig. 6, making its location
rigid-link robot composed of spherical joints, find the end- [0 0 r2 ] . Considering +Op2′ p3′ , point p2′ can be any point
T
3568
axis, begin by placing it in the yz plane. Applying the law of tion tasks. Although traditional Jacobian null-space tech-
( )
cosines, γ 1 = cos −1 ( r22 + r12 − l32 ) 2r1r2 . The location of p2′ is niques could be used, these lack a user-centric method of
specifying how the trunk should be shaped to avoid these
therefore [ 0 h1 d1 ] where d1 = r1 cos γ 1 and h1 = r1 sin γ 1.
T
obstacles. To remedy this, the single-section kinematics de-
After rotating p2′ about the z axis by θ1, the following equa- scribed in this section were implemented by adding an addi-
tion rotates the coordinate frame back to OXYZ to obtain the tional control mode to the user interface routines described
coordinates of p2: in [16]. In this mode, the operator can select trunk sections
to move using the inverse kinematic algorithms given in
p2 = R z ,α1 R y , β1 R z , −θ1 p2′ , (5) section II and then control resulting trunk movement via the
joystick.
where R ω ,θ represents a rotation about axis ω by angle θ . A maneuver designed to illustrate potential obstacle
avoidance techniques produced using these algorithms is
Substituting the individual transformation matrices in equa-
pictured in Fig. 1. Beginning with a straight trunk shown in
tion (5) yields
Fig. 1(a), the user then selected the second to last section of
the trunk and moved it to the left via the joystick, while the
⎡ cθ1 cβ1 cα1 + sθ1 sα1 sθ1 cβ1 cα1 − cθ1 sα1 sβ1 cα1 ⎤
⎢ ⎥ algorithm kept all other points stationary. Thus shaped, the
p2 = ⎢ cθ1 cβ1 sα 1 − sθ1 cα1 sθ1 cβ1 sα1 + cθ1 cα1 sβ1 sα1 ⎥ p2′, (6) tip of the trunk could now be moved around an obstacle lo-
⎢ ⎥ cated at the bend in the second section.
⎣⎢ − sβ1 cθ1 − sθ1 sβ1 cβ1 ⎦⎥
To assess the suitability of the multi-section inverse kine-
where cθ = cos θ and sθ = sin θ . The rotation angles, taken matics algorithms presented for operation in real time, tim-
from a standard axis/angle rotation, are ing results for the multi-section algorithm obtained on a 3.0
GHz Pentium 4 show that the algorithm requires 0.3 ms to
execute for a 3 section continuum robot, making it emi-
sin α1 = k1 y k12x + k12y , (7)
nently suitable for real-time application. However, this algo-
rithm has not yet been evaluated on the actual robot.
cos α1 = k1x k12x + k12y , (8) In addition, the algorithms and derivations in section III.A
and IV.B were implemented in Matlab and visualized in a
sin β1 = k12x + k12y , and (9) 3D graphics library. Fig. 7 shows a three section continuum
manipulator starting at origin and reaching to [1 1 11]
T
3569
Conference on Robotics and Automation, Detroit, Michi-
P2 P3 P2 gan, 1999, pp. 2849-2854.
P3
[4] B. A. Jones and I. D. Walker, "Kinematics for Multisec-
tion Continuum Robots," IEEE Transactions on Robotics,
vol. 22, pp. 43-55, Feb. 2006.
P1 [5] R. J. Webster, A. M. Okamura, and N. J. Cowan, "Toward
P1
Active Cannulas: Miniature Snake-Like Surgical Robots,"
in IEEE/RSJ International Conference on Intelligent Ro-
bots and Systems, Beijing, China, 2006, pp. 2857-2863.
[6] R. Buckingham, "Snake arm robots," Industrial Robot: An
International Journal, vol. 29, pp. 242-245, 2002.
(a) [7] H. Mochiyama, "Whole-arm impedence of a serial-chain
(b)
manipulator," in Proceedings of the IEEE International
Conference on Robotics and Automation, Seoul, Korea,
Fig. 9 – Item (a) shows a singular configuration of the rigid-link robot pro- 2001, pp. 2223-2228.
duced by a “flat” triangle configuration where r1 = l1 + l2 . Image (b) shows [8] M. W. Hannan and I. D. Walker, "Kinematics and the
the continuum trunk developed from the knowledge of end-points given in Implementation of an elephant's trunk manipulator and
(a). Red, green, and blue coordinate axis represent x, y, and z axis respec-
tively. Red, green, and blue sections of trunk represent sections 1, 2, and 3
other continuum style robots," Journal of Robotic Systems,
respectively. vol. 20, pp. 45-63, Feb. 2003.
[9] S. Neppalli and B. A. Jones, "Design, Construction, and
Analysis of a Continuum Robot," in Proceedings of the In-
seen along the skeleton obtained from applying derivation
ternational Conference on Intelligent Robots and Systems,
IV.B. Singular configurations explored in Fig. 9 illustrate a San Diego, CA, USA, 2007, pp. 1503-1507.
case with a “flat” triangle (when r1 = l1 + l2); as a result [10] I. A. Gravagne, C. D. Rahn, and I. D. Walker, "Large de-
+Op1 p2 is no longer present. Two different singular configu- flection dynamics and control for planar continuum ro-
rations are illustrated in Fig. 8. Fig. 8(a) is a case where both bots," IEEE/ASME Transactions on Mechatronics, vol. 8,
III.A and IV.B achieve a singular configuration when robot pp. 299-307, June 2003.
is reaching the farthest point it can go to by stretching com- [11] P. Sears and P. Dupont, "A Steerable Needle Technology
pletely. Fig. 8(b) is a case where only IV.B produces a sin- Using Curved Concentric Tubes," in Proceedings of the
IEEE/RSJ International Conference on Intelligent Robots
gular configuration with all rigid links in one line.
and Systems, Beijing, China, 2006, pp. 2850-2856.
[12] W. McMahan, B. A. Jones, and I. D. Walker, "Design and
VI. CONCLUSION/POTENTIAL APPLICATIONS implementation of a multi-section continuum robot: Air-
The unique nature of a hyper-redundant continuum trunk Octor," in Proceedings of the IEEE/RSJ International
presents both daunting challenges and fascinating opportuni- Conference on Intelligent Robots and Systems, Edmonton,
ties for grasping and manipulation of a wide range of ob- Canada, 2005, pp. 3345-3352.
[13] W. McMahan, B. A. Jones, V. Chitrakaran, M. Csencsits,
jects. Given a desired tip position, algorithms presented in
M. Grissom, M. Pritts, C. D. Rahn, and I. D. Walker,
this paper provide a simple, closed-form solution to move a "Field trials and testing of the OctArm continuum manipu-
single trunk section (which possesses three degrees of free- lator," in Proceedings of the International Conference on
dom) to the given endpoint. The ability to choose the end- Robotics and Automation, Orlando, FL, USA, 2006, pp.
point for each section of a multi-section trunk allows fine 2336-2341.
control of trunk shape for obstacle avoidance, grasping, and [14] L. Han and L. Rudolph, "The inverse kinematics of a se-
related tasks as illustrated in Fig. 1. Additional algorithms rial chain with joints under distance constraints," in Pro-
allow specification of a single end-point for the entire trunk ceedings of Robotics: Science and Systems (RSS), Phila-
and provide insight into the solution space of the system. delphia, Pennsylvania, USA, 2006.
[15] L. Han and L. Rudolph, "A unified geometric approach for
These inverse kinematics tools provide a foundation for ad-
inverse kinematics of a spatial chain with spherical joints,"
ditional exploration into methods to make use of the marvel- in Proceedings of the IEEE International Conference on
ous dexterity present in continuum manipulators. Robotics and Automation, Rome, Italy, 2007, pp. 4420-
4427.
REFERENCES [16] M. Csencsits, B. A. Jones, and W. McMahan, "User inter-
[1] D. Nenchev, "Redundancy resolution through local opti- faces for continuum robot arms," in Proceedings of the
mization: a review," Journal of Robotic Systems, vol. 6, IEEE/RSJ International Conference on Intelligent Robots
pp. 769-798, 1989. and Systems, Edmonton, Canada, 2005, pp. 3011-3018.
[2] B. Siciliano, "Kinematic control of redundant robot ma-
nipulators: a tutorial," Journal of Intelligent and Robotic
Systems, vol. 3, pp. 201-212, Sept. 1990.
[3] G. Robinson and J. B. C. Davies, "Continuum robots - a
state of the art," in Proceedings of the IEEE International
3570