10.1.1.95.4317

21
Three degrees-of-freedom joint for spatial hyper-redundant robots Elie Shammas a , Alon Wolf b,c, * , Howie Choset b a Mechanical Engineering, Carnegie Mellon University, Pittsburgh, PA 15213, USA b Robotic Institute, Carnegie Mellon University, Pittsburgh, PA 15213, USA c Institute for Computer Assisted Orthopedic Surgery, Western Pennsylvania Hospital, Pittsburgh, PA 15213, USA Received 16 September 2004; received in revised form 15 March 2005; accepted 26 April 2005 Available online 6 July 2005 Abstract We present a new mechanical design for a compact three degrees-of-freedom joint mechanism. This joint design is ideal for use in robotic devices, especially hyper-redundant or snake-like robots. This joint exhibits an unprecedented range of motion: the origin of a coordinate frame attached to the output link of the joint can move on a spherical cone whose apex angle is 120° and this coordinate frame can be rotated around an axis passing through its origin and the center of the sphere. Moreover, the joint is optimized for strength, compactness and accuracy. These characteristics are verified by exploring the magnitude of the wrenches and errors that the joint can produce in its effective workspace. Finally, we present a mechatronic integra- tion of four of our joints to construct a 12 degrees-of-freedom spatial hyper-redundant robot. Ó 2005 Elsevier Ltd. All rights reserved. Keywords: Robotic joint; Mechanical design; Degrees-of-freedom; Hyper-redundant robot; Snake robot; Kinematics 0094-114X/$ - see front matter Ó 2005 Elsevier Ltd. All rights reserved. doi:10.1016/j.mechmachtheory.2005.04.008 * Corresponding author. Address: Mechanical Engineering, Carnegie Mellon University, Newell-Simon Hall, 5000 Forbes AV, Pittsburgh, PA 15213, USA. E-mail addresses: [email protected] (E. Shammas), [email protected] (A. Wolf), [email protected] (H. Choset). www.elsevier.com/locate/mechmt Mechanism and Machine Theory 41 (2006) 170–190 Mechanism and Machine Theory

Upload: praveen-cool

Post on 19-Jan-2016

8 views

Category:

Documents


0 download

DESCRIPTION

file

TRANSCRIPT

Page 1: 10.1.1.95.4317

Mechanism

www.elsevier.com/locate/mechmt

Mechanism and Machine Theory 41 (2006) 170–190

andMachine Theory

Three degrees-of-freedom joint for spatialhyper-redundant robots

Elie Shammas a, Alon Wolf b,c,*, Howie Choset b

a Mechanical Engineering, Carnegie Mellon University, Pittsburgh, PA 15213, USAb Robotic Institute, Carnegie Mellon University, Pittsburgh, PA 15213, USA

c Institute for Computer Assisted Orthopedic Surgery, Western Pennsylvania Hospital, Pittsburgh, PA 15213, USA

Received 16 September 2004; received in revised form 15 March 2005; accepted 26 April 2005Available online 6 July 2005

Abstract

We present a new mechanical design for a compact three degrees-of-freedom joint mechanism. This jointdesign is ideal for use in robotic devices, especially hyper-redundant or snake-like robots. This joint exhibitsan unprecedented range of motion: the origin of a coordinate frame attached to the output link of the jointcan move on a spherical cone whose apex angle is 120� and this coordinate frame can be rotated around anaxis passing through its origin and the center of the sphere. Moreover, the joint is optimized for strength,compactness and accuracy. These characteristics are verified by exploring the magnitude of the wrenchesand errors that the joint can produce in its effective workspace. Finally, we present a mechatronic integra-tion of four of our joints to construct a 12 degrees-of-freedom spatial hyper-redundant robot.� 2005 Elsevier Ltd. All rights reserved.

Keywords: Robotic joint; Mechanical design; Degrees-of-freedom; Hyper-redundant robot; Snake robot; Kinematics

0094-114X/$ - see front matter � 2005 Elsevier Ltd. All rights reserved.doi:10.1016/j.mechmachtheory.2005.04.008

* Corresponding author. Address: Mechanical Engineering, Carnegie Mellon University, Newell-Simon Hall, 5000Forbes AV, Pittsburgh, PA 15213, USA.E-mail addresses: [email protected] (E. Shammas), [email protected] (A. Wolf), [email protected]

(H. Choset).

Page 2: 10.1.1.95.4317

E. Shammas et al. / Mechanism and Machine Theory 41 (2006) 170–190 171

1. Introduction

Snake-like robots, technically termed as hyper-redundant robots, are, as their name suggests,elongated robotic devices that are designed to mimic their biological counterparts not only inshape but also in functionality. These types of robots are highly maneuverable, have inherent highmechanical redundancy, and are flexible. This allows such robots to easily maneuver throughcomplex environments cluttered with many obstacles when compared to conventional robots.Generally, hyper-redundant robots are constructed by connecting several rigid links via roboticjoints. Thus, designing a highly maneuverable and strong, yet compact, robotic joint is the mainmechanical design challenge for constructing hyper-redundant robots.Designing a three-dimensional hyper-redundant robot impacts several design choices for the ro-

botic joint. At the very least, the robotic joint should be strong enough to produce high torque tocounteract not only the static loads due the robot�s own weight but also the dynamic loads pro-duced by the robot�s spatial motions. Moreover, since snake robots have a serial kinematic struc-ture, any external load will be resisted by all joints throughout the snake robot as opposed toparallel kinematic structures where the external loads are divided among several limbs. This highstrength requirement should not add to the joint�s size and weight. Moreover, the joint shouldhave high maneuverability to demonstrate complex motions and attain small radii of curvature.Finally, each of the joints should have a reasonable speed of motion. Our joint design satisfies allthe above conflicting requirements.A three-dimensional section view of our joint can be seen in Figs. 1 and 2. The basic mechanical

components of our joint are two connected angular shafts. Rotating these shafts will produce aconic motion. By coordinating the rotation of these two shaft we can get useful degrees-of-free-dom: in-plane bending, orienting. These degrees-of-freedom will be explained in more details laterin the paper. Moreover, the joint uses three motors: Motor 1 actuates angular shaft 1 directly,Motor 2 actuates angular shaft 2 via an angular bevel gear train, and Motor 3 directly controlsan additional twisting degree-of-freedom (Fig. 2). The angular bevel gear train not only reduces

Fig. 1. A section view of our joint showing the wire passage.

Page 3: 10.1.1.95.4317

Fig. 2. An exploded section view of the main components of our joint.

172 E. Shammas et al. / Mechanism and Machine Theory 41 (2006) 170–190

the overall size of the joint but also allows for the relocation of Motor 2 parallel to Motor 1 andhence reduces the overall size of our joint.To verify that our joint is suitable for constructing hyper-redundant robots, we present a de-

tailed analysis of the joint properties. We study how the torque produced by joint varies as a func-tion of the end-effector location in the workspace. Moreover, we study how the backlash andaccuracy of the joint behave as a function of the end-effector location.This paper is organized as follows: first, we present a brief historical background of hyper-

redundant robots in Section 2. Then a detailed mechanical description of our joint is presentedin Section 3. In Section 4, we present the analysis of the joint�s kinematics, mechanical advantage,strength, and accuracy. Finally, we present the integration of our joint to construct a 12 degrees-of-freedom hyper-redundant robot in Section 5.

2. Prior work

Hirose at the Tokyo Institute of Technology who studied biological snakes, pioneered the ser-pentine locomotion research [15]. By observing how real snakes locomote, he was able to con-struct a snake-like robot that was able to reproduce similar locomotion gaits to its biologicalcounterpart. Hirose built many planar snake robots that have passive wheels on the bottom.These passive wheels allow motion only along the longitudinal direction of the robot. These ro-bots were used to perform several snake-like locomotion experiments on flat surfaces. Chirikjianand Burdick at the California Institute of Technology, who introduced the term hyper-redundantrobots in [4], experimented with a planar hyper-redundant robots and focused on novel end-effec-tor placement algorithms for these robots [2,3,5]. Miller demonstrated some nice lateral undula-tion gaits of planar snake robots [19]. Yim at PARC [29] used modules to construct a snake robot.The benefit of this design is modularity and simplicity. Other researchers, Haith at NASA Ames

Page 4: 10.1.1.95.4317

E. Shammas et al. / Mechanism and Machine Theory 41 (2006) 170–190 173

[10], readily used Yim�s modules to make snake robots exhibit nice locomotion capabilities. How-ever, the simplicity and modularity of Yim�s design came at a cost––that of strength, range ofmotion and low performance.We are interested in three-dimensional snake robots. Designing spatial snake robots proved to

be much more difficult due to the several opposing design metrics that have to be addressed simul-taneously [14,18]. Some of these metrics are: compactness, weight, strength, robustness and rangeof motion. Industrial robot wrist design satisfies most of the above metrics but not the compact-ness and weight constraints [22,25]. Three-dimensional hyper-redundant robots were pioneered byTakanashi at NEC who developed a new two degrees-of-freedom joint for snake robots that al-lowed for a more compact design [16,26]. This joint has two concentric kinematic paths, a passiveuniversal joint that prevents relative twist between adjacent bays and an angular swivel joint thatprovides the two degrees-of-freedom: bending and orienting. Researchers at JPL [20] ‘‘inverted’’Takanashi�s design by placing a small universal joint in the interior of the robot. This not onlyallowed for a compact design but also made the external structure more rugged. However, thisapproach came at the cost of strength and stiffness (high backlash). Recently, Ryun and Choi iter-ated on Takanashi�s design and developed a robotic joint mechanism that mimics human-like fin-ger motions [6]. Other design approaches used cables to actuate joints, but this required a largedriving system at the base of the robot which prohibited the robot from locomoting using its inter-nal degrees-of-freedom [1,14,15,17].Our previous involvement in hyper-redundant mechanism design employed two approaches:

The first design favors simplicity over range of motion. This approach uses an actuated universaljoint design [27]. This joint design uses a specially designed power screw assembly to actuate thecross of the universal joint as seen in Fig. 3. The limited linear motion of the power screw as wellas the inherent mechanical structure of universal joints limited the joint�s bending range of motionto ±55� along the two axes of the universal joint. This particular joint was used to build a 14 de-grees-of-freedom robot, named Snoopy, which was installed on a rugged weather-proof mobilebase. Already, we have deployed this robot in a mock urban search and rescue exercises: at Leb-anon, Indiana during August 2003; at New Jersey Task Force 1 during March 2004 (Fig. 4(a));and at Palo Alto NASA Ames Research Center during May 2004 (Fig. 4(b)).Our second joint design approach is an improvement on Takanashi�s angular swivel design [20].

We were able to devise an angular bevel gear mechanism to replace the universal joint in

U-jointcross

Bay Housing

Motor

Clevis

Clevis

Powerscrew

Nut

Fig. 3. Details of the actuated universal joint design.

Page 5: 10.1.1.95.4317

Fig. 4. Snoopy and Medusa snake robots being used in a two mock urban search and rescue scenarios: (a) Snoopy inNew Jersey, (b) Snoopy in NASA Ames, (c) Medusa in NASA Ames.

Angular swivel

cup

Angular swivel cup

Angularbevel gears

Bay

Bay

Fig. 5. Mechanical design of the angular bevel joint design.

174 E. Shammas et al. / Mechanism and Machine Theory 41 (2006) 170–190

Takanashi�s design as seen in Fig. 5. Doing so not only increased the overall strength of the jointbut also increased the bending range of motion by 50% from ±60� to ±90�. This is was made pos-sible by the inherent properties of bevel gears [7]. Nonetheless, the devised bevel gear mechanismrequired special internal angular bevel gears that are not available as a standard off-the-shelf prod-uct. Hence, in this paper we iterated on this joint design and not only we were able to use standardoff-the-shelf gears but also increased the range of motion by another 30% to reach the unprece-dented bending range of motion of ±120� as in [24].

3. Mechanical design

In this section, we present our final iteration on the angular bevel swivel design approach. Thisnew joint has three degrees-of-freedom: bending, orienting, and twisting. First we will present adetailed description of the joint mechanical design. We start by describing a detailed skeleton

Page 6: 10.1.1.95.4317

Fig. 6. Twelve degrees-of-freedom snake robot, named Medusa, constructed using our joint.

E. Shammas et al. / Mechanism and Machine Theory 41 (2006) 170–190 175

of our joint and an intuitive analysis of how the basic components of the joint are actuated. Then,we analyze the joint geometrically to verify the joint�s workspace and the extended range of mo-tion. Using this joint we are able to construct a snake robot composed of four joints (i.e.,4 · 3 = 12 degrees-of-freedom) and five bays with nominal overall diameter of 46 mm, a hallowthrough hole 6 mm in diameter, a total length of 829 mm, and total weight of 2240 g (see Fig.6). Moreover, each joint can produce 5 N m of torque.

3.1. Detailed mechanical description

Kinematically, the joint consists of four rigid links and three actuated revolute joints, as seen inFig. 7. The first rigid link, L0, is assumed fixed to the ground. As revolute joint R1 is actuated,

Fig. 7. The spherical cap with an apex angle of 120� represents the workspace of our joint.

Page 7: 10.1.1.95.4317

176 E. Shammas et al. / Mechanism and Machine Theory 41 (2006) 170–190

link L1 sweeps a cone C1. Similarly, cone C2 is swept by L2 as revolute joint R2 is actuated. Bysweeping the two cones we can see that the joint�s end-effector will move on a truncated sphere.However, this conic motion is not a useful type of motion for a hyper-redundant robot. In orderfor the joint to produce a more purposeful type of motion, the rotation of joints R1 and R2 haveto be coordinated. Later in this section, we will present how to coordinate the rotation of R1 andR2 to generate pure in-plane bending and orienting degrees-of-freedom. Finally, the third revolutejoint, R3, controls the twisting degree-of-freedom of the joint�s end-effector. This third degree-of-freedom can be used as an additional degree-of-freedom or to cancel out any relative twist be-tween the two adjacent bays on a hyper-redundant robot. Cancelling any twist is very importantnot to damage and electrical wires that go through the joint.Referring to a more detailed skeleton of our joint in Fig. 8, we see that revolute joints R1 and

R3 are actuated by a simple spur gear mechanism. This allows the motors actuating joints R1 andR3 to be parallel to the bay�s long axis. This reduces the outer diameter of the entire joint. Themain challenge in designing our joint is devising a mechanism to actuate the middle revolute joint,R2. Adding a motor in the middle would render the entire joint too bulky. Hence, we devised asolution consisting of an angular bevel gear mechanism. This allows the motor that actuates R2 tobe moved back inside one of the adjacent bays. This maintains the joint�s compactness withoutcompromising range of motion. Moreover, by using a bevel gear mechanism we incorporate theircapabilities to operate at high speeds, high loads, and for an extremely large number of load cycles[11–13].Hence, our joint has a three degrees-of-freedom: in-plane bending ±120�, orienting 360� and

twisting 360�. In-plane bending motion means that the joint�s end-effector bends in a verticalplane; orienting means that this bending plane can be oriented arbitrarily; and twisting meansthe joint�s end-effector can be rotated around the axis of link L3. The bending and orientingdegrees-of-freedom can be actuated indefinitely while the twisting degree-of-freedom is limited

Motor 1

Internal gear

Spur gear

Motor 2

Motor 3

End Effector

Angular bevel

gear 1

Angular bevel

gear 2

Revolute joint

L0

R2

R1

R3

L1

L2

L3

Fig. 8. Detailed skeleton of our joint.

Page 8: 10.1.1.95.4317

126.50 mm

4.980"

185.575 mm

7.305"59.075 m

m2.325"

46.00 mm1.811"

120o 6.00

mm

0.23

6"

Mot

or 1

Mot

or 3

Mot

or 2

a b

Fig. 9. The mechanical design of our joint shown in (a) bent and (b) straight configurations.

E. Shammas et al. / Mechanism and Machine Theory 41 (2006) 170–190 177

to one complete cycle. Twisting the joint indefinitely while possible mechanically is not allowedsince it will damage the wires going through the joint. Installing small slip rings could bypass thisproblem, however, even the smallest slip rings available are still too bulky for our joint.Fig. 9 shows the actual mechanical design of the joint. The joint has a nominal external diam-

eter of 46 mm and is 185 mm long. There is a 6 mm diameter channel going through the entirejoint as seen in Fig. 1. This feature allows signal and power wires to pass inside the joint, protectedby the joint structure, hence permitting to connect multiple joints together to construct a hyper-redundant robot.

3.2. Joint motion coordination

Now, we present how to coordinate the actuation on joints R1 and R2 to get the in-plane bend-ing and orienting degrees-of-freedom. Fig. 10 represents a simplified geometric structure of ourjoint. Point A represents the location of the origin of the joint�s end-effector coordinate frame,x 0y 0z 0. In the home position of the joint, point A is along z-axis of the world coordinate from,XYZ. When revolute joint R2 is actuated we effectively rotate link L2 around vector OH by anangle h2 (Fig. 10(a)). This motion moves point A moves to point B. To achieve in-plane bending,point B should stay in the YZ plane. This is done by actuating revolute joint R1. This motion

Page 9: 10.1.1.95.4317

OX Y

Z

x' y'

z'

H

B

A

θ2g

L1

R1

R2

L2

OX Y

Z

x' y'

Y

z'

Z

H

B

AC

NMθ2

θ1

L1

L2

β

OX Y

Z

x'

x''

y'y''

z'

z'' A

120o

β

L1

240o

a b c

Fig. 10. Motor coordination for in-plane bending.

178 E. Shammas et al. / Mechanism and Machine Theory 41 (2006) 170–190

moves point B to point C which belongs to the YZ plane. This is done by rotating link L1 by anangle h1 along the z-axis, where h1 represents the rotation in revolute joint R1 (Fig. 10(b)). Finally,we can compute the bending angle b which is the angle between z-axis of the coordinated framesx 0y 0z 0 and x00y00z00 (Fig. 10(c)). Now we use geometry to solve for the relation between the two an-gles, h2 and h2. Note that the points M and N are the orthogonal projections of points B and C onthe segments AH and AO, respectively. Let kAHk = kBHk = r and dHAO ¼ c ¼ p=6, r and c arephysical parameters of our joint. Hence, we have

cos h1 ¼�kBMkkBNk ¼ �kBMkffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi

kBMk2 þ kMNk2q ¼ �kBMkffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi

kBMk2 þ ðkAMk sin cÞ2q

¼ �r sin h2ffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiðr sin h2Þ2 þ ðsin cðr � r cos h2ÞÞ2

q ¼ �2 sin h2ffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffið2 sin h2Þ2 þ ð1� cos h2Þ2

q ð1Þ

By using simple geometry, we were able to find a relation between the motor angles, h1 and h2,such that point A moves in the YZ plane along the 240� sector (Fig. 10(c)). For zero twist in-planebending, i.e., the y-axis of the joint�s end-effector frame attached at point A, oy00 should lieentirely in the original YZ plane hence Motor 3 should cancel any rotation by Motor 1. Hencewe have

h3 ¼ �h1 ¼ cos�12 sin h2ffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi

ð2 sin h2Þ2 þ ð1� cos h2Þ2q

0B@1CA ð2Þ

Finally we compute the bending angle, b, which is represented by the angle between the z-axis andthe vector OC, we get

Page 10: 10.1.1.95.4317

0

2π/3

2ππ

π

π2

(θ2)

(β)

(-θ1,θ3)

Fig. 11. Motor angles relations to produce zero-twist in-plane bending.

E. Shammas et al. / Mechanism and Machine Theory 41 (2006) 170–190 179

cosb ¼ kONkkOCk ¼ kOAk � kANk

kOAk ¼ 1� kONkkOAk ¼ 1� kAMk cos c

kAHk= cos c ¼ 1� r � r cos h2r

cos2c

¼ 1� 3� 3 cos h24

¼ 1þ 3 cos h24

ð3Þ

Fig. 11 depicts the relation between the motor angles, (h1,h2,h3), for generating zero-twist in-planebending. The figure also verifies the range of bending angle, b, which is 120�. As for the orientingdegree-of-freedom, it is clear that h2 has to stay fixed and h1 = �h3. This will orient the verticalbending plane. Hence the joint can bend in any vertical plane passing through the origin of theinertial frame, XYZ.

4. Joint analysis

In this section we use the theory and notation developed by Denavit and Hartenberg (D–H) [8]to study the forward kinematics of our joint. We also propose a solution for the inverse kinematicproblem by solving for the internal angles of the joint for a given end-effector position and orien-tation. We also analyze the joints mechanical advantage by comparing the magnitude of the exter-nal loads to the motor resistive torques. Moreover, we compute the Jacobian matrix of the joint inorder to study its capabilities to deliver forces and torques at the joint�s end-effector as a functionof internal joint angles and torques. Finally, we study the accuracy of our joint throughout itsworkspace, that is, we will study how errors in the machined part, motor and gear backlash affectthe location and orientation of the joint�s end-effector coordinate frame.

4.1. Forward kinematics of the joint

Referring to Fig. 12 we can identify the D–H parameters of our joint which are given in Table 1.Using the D–H parameters we can easily compute the transformation matrices, Aiþ1

i for(i = 1,2,3), between the intermediate coordinate frames. Aiþ1

i is the matrix transformation

Page 11: 10.1.1.95.4317

Fig. 12. Kinematic skeleton of our joint.

Table 1The D–H parameters of our joint

Link ai�1 (mm) ai�1 (deg) di (mm) hi (deg)

1 0 60 126.5 h12 0 �60 0 h23 0 0 59.075 h3

180 E. Shammas et al. / Mechanism and Machine Theory 41 (2006) 170–190

between coordinate frame i and i + 1. Hence, the location and orientation of the joint�s end-effec-tor is represented by the matrix A30. This homogeneous transformation matrix has the form

ð4Þ

where R denotes the rotational transformation of the joint�s end-effector coordinate frame and pdenotes the location of the origin of the joint�s end-effector coordinate frame. Using the D–Hparameters from Table 1, A30 is given in Eq. (5), where Ci denotes cos hi, Si denotes sin hi, andCi+j denotes cosðhi þ hjÞ.

Page 12: 10.1.1.95.4317

E. Shammas et al. / Mechanism and Machine Theory 41 (2006) 170–190 181

ð5Þ

Referring to Eq. (5), note that the vector p is independent of h3 since h3 is a twist correction anglethat does not affect the position of the joint�s end-effector. We compute the bending angle b of thejoint by measuring the angle between the axes z3 and z0. Hence, the bending angle is

cosb ¼ pz ¼ kA30ð0; 0; 1; 0ÞTk ) b ¼ cos�1 1þ 3 cos h2

4

�ð6Þ

which agrees with our geometric computation of b given in Eq. (3).Moreover, we also solve for the relation between h1 and h2 that allows for in-plane bending

motion in the xz-plane. This is done by solving the equation, py = 0 resulting in

h1 ¼ cos�12 sin h2ffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi

ð2 sin h2Þ2 þ ðð1� cos h2ÞÞ2q

0B@1CA ð7Þ

This result also agrees with our geometric solution given in Eq. (2). Finally, we plot the location ofthe origin of the joint�s end-effector as a function of h1 and h2. The resulting work space reachedby origin of the joint�s end-effector is plotted in Fig. 13 which is the same as the truncated sphereshown in Fig. 7.

4.2. Inverse kinematics of the joint

The inverse kinematics is done in two steps: First, given a location of the joint�s end-effectororigin in the workspace shown in Fig. 13 we find the internal joint angles, h1 and h2, that corre-spond to this location. Then, for a given orientation of the joint�s end-effector we evaluate thethird internal angle, h3, that directly controls the twisting degree-of-freedom. Since we have aspherical workspace, we use spherical coordinates to specify a joint�s end-effector location. Theangles a and w denote the azimuth angle measured from the x-axis and the elevation anglemeasured from the z-axis, respectively (see Fig. 14).

Fig. 13. The workspace of our joint and its projection onto the yz-plane.

Page 13: 10.1.1.95.4317

Py

P

Px

Pz

XY

Z

α

ψ

Fig. 14. The geometric interpretation of the azimuth and elevation angles.

182 E. Shammas et al. / Mechanism and Machine Theory 41 (2006) 170–190

Given a and w, we compute h1 and h2 by solving the equations, cosw ¼ pz and

cos a ¼ px=ffiffiffiffiffiffiffiffiffiffiffiffiffiffiffip2x þ p2y

qwhere P = (px,py,pz) is given in Eq. (5). Solving for h1 and h2, we get !

h1 ¼ cos�1ffiffiffi2

psin affiffiffi3

psinw

ffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffifficosw � cos 2w

p� cos affiffiffi

3pcotw=2

ð8Þ

and

h2 ¼ cos�11

4ð1þ 3 coswÞ

�. ð9Þ

Fig. 15 shows the internal motor angles h1 and h2 versus the joint�s end-effector position angles aand w. Therefore, for a given azimuth and elevation angle one can resolve the corresponding inter-nal motors angles. Finally, we control h3 to align the joint�s end-effector coordinate frame with thedesired orientation.

ψ α

2π/3

-2π/32π

π

0

0

θ1

ψ α

2π/3

-2π/32π

π

0

0

θ2

a b

Fig. 15. A plot of the internal angles, h1 and h2, versus the azimuth and elevation angles, a and w.

Page 14: 10.1.1.95.4317

E. Shammas et al. / Mechanism and Machine Theory 41 (2006) 170–190 183

4.3. Force and torque analysis

Now we study how external loads (forces and torques) on the joint�s end-effector are transmit-ted throughout the joint. In particular, we interested in comparing the external torques to theresistive motor torques. This will give an indication about our joint�s mechanical advantage.External force loads are resisted mainly by bearings and solid components of the joint, however,external torque loads are resisted by the three motors of the joint. In other words, the internal mo-tors do not apply any torque to resist external force loads. Fig. 16 shows how an external puretorque load is propagated through the joint components. In particular, for a twist external loadsy, motorsM1,M2 andM3 see torques sm1, sm2 and sm3, refer to Fig. 16(b). In more details, theexternal torque sy acts on component C3. This torque on component C3 is balanced by two inter-nal torques: sm3 on motor 3 and sC2in on component C2. Then the torque on component C2 isbalanced by sC2out and sb2, where sb2 is resisted by the bearing between components C2 andC3 and sC2out is resisted by motor M2. The same argument can be used for sm1. Hence, for anexternal load torque sy, each of the three motors ‘‘sees’’ parts of sy. Doing the same geometricanalysis for external load torques, sx and sz, we find out that sx is ‘‘seen’’ by motors M1 andM2 only, while sz is ‘‘seen’’ by none of the three motors.For a uniform external torque load, we identify sx as the worst loading since this type of load-

ing is resisted by only two motors. On the other hand, sy loading is ‘‘seen’’ by three motors whilesz is not transferred to any of the three motors. Hence, from the motors� point of view, sx loadingis the worst case scenario where smi 6 sx/2.

4.4. Strength analysis

We use the Jacobian matrix of the joint in order to compute the forces and torques that thejoint can exert throughout its workspace. The Jacobian matrix for the joint is a 6 · 3 matrix givenas:

Fig. 1the jointernmotor

JðqÞ ¼z0 ðp � p0Þ z1 ðp � p1Þ z2 ðp � p2Þ

z0 z1 z2

�ð10Þ

6. Decomposition of external torques into internal motor torques: (a) A particular external torque sy is applied atint�s end-effector is resisted by internal motor torques smi. (b) An exploded figure depicting a schematic of all theal torques throughout the joint. Torques orthogonal to components are twisting torques that are resisted bys while torques parallel to components are bending torques that are resisted by bearings.

Page 15: 10.1.1.95.4317

184 E. Shammas et al. / Mechanism and Machine Theory 41 (2006) 170–190

where p denotes the position of the joint�s end-effector origin, p0, p1, and p2 denote the position ofthe origin of the intermediate coordinate frames x0y0z0, x1y1z1, and x2y2z2 respectively and z0, z1,and z2 denote the axes of the revolute joints of our joint design represented in the worldcoordinate frame [23]. The Jacobian for the joint at any configuration q = (h1,h2,h3) is given inEq. (11).

ð11Þ

Referring to Eq. (11), one can detect that R1 contributes a linear velocity and a constant angularvelocity with respect to the z-axis to the joint�s end-effector, R2 contributes both to the linear andthe angular velocity of the joint�s end-effector, and R3, as expected, contributes only to the angu-lar velocity of the joint�s end-effector. Moreover, by examining the Jacobian matrix given in Eq.(11), one can identify the singular configurations of the joint. These configurations occur whenh2 = kp where k 2 Z. For such values of h2, columns 1 and 3 of the Jacobian become linearlydependent and hence the Jacobian becomes rank deficient. This means that the joint, can movein only one direction instantaneously, but this is not a problem because one can use the orienta-tion degree-of-freedom to achieve any instantaneous direction.Next, we use the Jacobian matrix in order to map the joint�s internal torques to the external

wrench (force and torque). This is the wrench that the joint�s end-effector of the joint is capableof exerting on the environment as a function of its location in the workspace. Without loss ofgenerality, we assume a unit torque magnitude s ¼ sh1 ¼ sh2 ¼ sh3 is applied by each of the threemotors. By using the Penrose pseudo inverse of J, the external force and torque produced at thejoint�s end-effector is calculated:

F x F y F z sx sy szð ÞT ¼ JðJTJÞ�1 sh1 sh2 sh3ð ÞT. ð12Þ

By plotting the magnitudes of the force and torque vectors on the workspace of the joint one caninvestigate the properties of the joint on its workspace. Referring to Fig. 17(a), we infer that theforce produced by the joint increases in magnitude as the joint has a higher bending angle mea-sured from the vertical. This is an important observation that proves that the joint can producemore force as it bends away from the vertical to counteract the additional loads due to gravity.This characteristic is crucial for constructing a hyper-redundant robot that will be mounted ver-tically on a mobile base. In this case, as the robot deviates from the vertical position, higher exter-nal loads due to the robot�s own weight are induced on the base joint of the robot, our joint canproduce higher torques to resist the additional external loads. Another observation is that the tor-que produced at the joint�s end-effector is uniform throughout the entire work space as seen inFig. 17(b). This is due to the direct control of the twisting degree-of-freedom.

Page 16: 10.1.1.95.4317

Table 2An error estimate in the D–H parameters

Parameter ai (mm) ai (deg) di (mm) hi (deg)

Mean 0 0 0 0Variance 0.0852 0.0032 0.172 0.0067

-1

-0.5

0.5

1 -1-0.5

0.51

-0.5

0.5

1

-1

-0.5

0.5

1 -1-0.5

0.51

-0.5

0.5

1

Force Torque1.00.01

00.009y

z

x

y

z

x

Forc

e

Torq

ue

a b

Fig. 17. The magnitude of the external force and torque generated at each point of the workspace.

E. Shammas et al. / Mechanism and Machine Theory 41 (2006) 170–190 185

4.5. Backlash and accuracy estimation

In this section, we present an evaluation of the accuracy of our joint. The joint accuracy is af-fected by errors related to motor and gearing backlash, assembly errors, and manufacturing tol-erances. Such errors can be accounted for in the D–H parameters of the joint. Hence, the D–Hparameters of each of the links in our joint is given by: {ai + Dai,Dai + ai,di + Ddi,hi + Dhi} asseen in Table 2. Errors in the D–H parameters will produce will produce positional and angularerrors in the location and orientation of the joint�s end-effector. The method to compute the errorin the joint�s end-effector position and orientation is presented by Wu [28]. Hence, the total accu-mulating error is given by

AN0 þ dAN

0 ¼Y3i¼1

ðAi�1i þ dAi�1

i Þ. ð13Þ

where dAi�1i is the error in the sub-transformation matrices of the joint. Fig. 18 shows the magni-

tude of the angular and linear accuracy variation of the joint�s end-effector on its workspace. Alsonote that as the bending angle increases, both angular and translational error magnitudes dropwhile the corresponding wrench magnitude increases.

5. Entire snake robot system

In this section, we describe a hyper-redundant robot that was constructed by stacking four ofthe joints discussed in the previous sections. By mechanically connecting four joints serially, we

Page 17: 10.1.1.95.4317

Position AccuracyAngular Accuracy0.0201.32

0.0130.32

Posi

tion

Ang

le

-1

-0.5

0.5

1 -1 -0.5

0.51

-0.5

0.5

1

-1

-0.5

0.5

1-1

-0.5

0.51

-0.5

0.5

1

-

y

z

x

y

z

x

ba

Fig. 18. The position and angular accuracy of our joint as it varies in the workspace (high numbers indicate highererrors in positioning).

Fig. 19. Twelve degrees-of-freedom snake robot.

186 E. Shammas et al. / Mechanism and Machine Theory 41 (2006) 170–190

get a 12 degrees-of-freedom snake robot as seen in Figs. 6 and 19. In Sections 3 and 4, we provedthat not only does our joint have an extended range of motion but also that the joint exhibits highstrength. This fact together with the compactness and maneuverability features of our designmakes it suitable for constructing a spatial hyper-redundant robots.

Page 18: 10.1.1.95.4317

E. Shammas et al. / Mechanism and Machine Theory 41 (2006) 170–190 187

5.1. Mechanical description

Our joint was designed with inherent mechanical modularity. Two joints are connected togethervia a thin-walled tube. The joints are connected to the tube via four screws. Each tube has 46 mmouter diameter and 44 mm inner diameter. The space inside the tube house three (six) motors forthe tip (base) of the snake robot and a custom designed electronic board that drives the motors(Fig. 20). Electrical wires are passed through wire passage inside the joint to connect the electricalboards in adjacent links (Figs. 1 and 22).The joints are designed so that each joint can produce a torque of 5 N m. Consider the config-

uration shown in Fig. 21, where the base joint will see the maximum static load s. If each link hasweight W and length L, then we have

s ¼ WXni¼1

ði� 1Þlþ il2

�¼ n2lW

2.

We know that from the mechanical design of the joint that each link weighs 450 g and has a lengthof 185.575 mm. Hence the torque needed at the base joint to cantilever 4 links is

s ¼ 42ð0.18575Þ mð0.45 9.81Þ N

2¼ 6.55 N m.

This torque is higher than the nominal torque of the joint. To overcome this problem, westrengthened the base joints by doubling the number of motors for each actuated revolute joint,

M1

M1

M3

M3

46 mm

44 mm 13 mm

M2

M2

BoardHolder

Link i

Screws

Tube

Link i+1

Fig. 20. Mechanical connection between adjacent joints.

WWWW

τL LLL/2

Fig. 21. Weight loading in the hyper-redundant robot.

Page 19: 10.1.1.95.4317

188 E. Shammas et al. / Mechanism and Machine Theory 41 (2006) 170–190

i.e., installing another motor in parallel to drive the same revolute joint. Hence, the nominal tor-que for the base joint is 10 N m which is higher than the required torque. The compact design ofthe joint and the bevel gear mechanism allowed for doubling the number of motors per joint with-out increasing the overall size of the joint.

5.2. Electrical integration

Wiring to all 12 actuators and encoders would require 12(actuators) · 6(conductors per actua-tor) = 72(conductors) to run inside the hyper-redundant robot. Given the fact that space allowedfor wiring is only 6 mm in diameter, using 72 conductors was deemed infeasible; hence we decidedto use an I2C control bus (by Philips) to reduce the total number of wires running the entire robotto only five conductors: two for the power bus and three for the signal bus. We added two extraconductors that can be used for a sensor mounted on the tip of the snake robot such a video cam-era. Special electronic boards were designed for this robot. Each board fits inside a single bay ofthe hyper-redundant robot and houses three independent controllers to control all three motorsinside a specific bay. Each controller contains a Microchip PIC16F876 micro-controller, anLSI/CSI LS7166 24 bit (quadrature) counter, an Allegro A3953 H-bridge amplifier IC, a linearvoltage regulator for logic power supply, and several passive components. The motors are con-nected directly to the circuit board while circuit boards are connected to each other and to themain control computer via an I2C link as seen in Fig. 22. The overall physical size of the boardis 28 · 63.5 mm.The firmware installed on each PIC microcontroller includes code to send and receive I2C mes-

sages. Additionally, the firmware has a local PID control loop to drive each motor to the desiredposition using the motor encoder for feedback. This reduces the communication messages be-tween the on-board electronics and the main computer. Motor position is updated with a50 Hz data rate while the local PID control loop on the board runs at a 1 kHz rate. This frequencyis limited by the current microchip that is being used and can be increased using a different model.All PID control parameters as well as the firmware on the boards can be updated over the I2C bus

Fig. 22. Custom built electronic board for the hyper-redundant robot.

Page 20: 10.1.1.95.4317

E. Shammas et al. / Mechanism and Machine Theory 41 (2006) 170–190 189

independently, hence, the snake robot does not need to be disassembled whenever the boards needto be re-programmed.One of the intended tasks of this robot is search and rescue in collapsed building. The hyper-

redundant robot is mounted on a mobile base which will be driven to a point of interest (Fig. 4).Then, the hyper-redundant robot will poke into available holes and tight spaces to inspect andsearch for victims. The camera on the tip of the robot will help navigate the robot.

6. Conclusion

In this paper, we presented a novel three degrees-of-freedom robotic joint which is compact,rigid, and has a very large workspace. The joint has a cylindrical shape with a 46 mm diameterand 186 mm length. The joint�s workspace is ±120� in bending, ±360� in orienting and ±360�in twisting. We verified this workspace by studying the forward kinematics of the joint. We alsopresented the Jacobian matrix of the joint and identified its singular configurations. Moreover, theJacobian Penrose inverse was used to compute the forces and torques that the joint can producealong its workspace. We proved that the joint can produce higher forces as the bending angle in-creases from the horizontal. We also proved that the positional accuracy of the joint increaseswith the bending angle of the joint. Both these force and accuracy properties of the joint makeit ideal for use in hyper-redundant mechanisms.Finally, we presented a snake-like robot which is composed of four joints that are connected in

a serial kinematics chain forming a 12 degrees-of-freedom snake-like robot. The robot has all thelow level electronics on board. The low level control implements an I2C data bus and uses a sep-arate power bus to minimize the number of wires running inside the snake. Each joint has a 6 mmdiameter channel going through it to allow the wiring all four joints. Moreover, during bendingand orienting, the third twisting degree-of-freedom is controlled to cancel any relative twist be-tween adjacent links. This prevents the internal wires from twisting and getting damaged. Thisparticular snake robot was deployed in two mock search and rescue scenarios where rescue work-ers learned about this new robotic tool. The rescue workers gave use valuable feedback on how toimprove our systems such as simplifying the operating console and making the entire system asrugged as possible.

References

[1] R. Cieslak, A. Morecki, Elephant trunk type manipulator––A tool for bulk and liquid materials transportation,Robotica 17 (1999) 11–16.

[2] G.S. Chirikjian, J. Burdick, Kinematics of hyper-redundant locomotion with applications to grasping, in:Proceedings of the IEEE International Conference on Robotics and Automation, Sacramento, CA, April 1991, pp.720–727.

[3] G.S. Chirikjian, J. Burdick, Kinematically optimal hyper-redundant manipulator configurations, IEEE Transac-tions on Robotics and Automation 11 (1995) 794–806.

[4] G.S. Chirikjian, J. Burdick, A modal approach to hyper-redundant manipulator kinematics, IEEE Transactions onRobotics and Automation 10 (1994) 343–354.

[5] G.S. Chirikjian, J. Burdick, A Hyper-redundant manipulator, IEEE Robotics and Automation 1 (December)(1994) 22–29.

Page 21: 10.1.1.95.4317

190 E. Shammas et al. / Mechanism and Machine Theory 41 (2006) 170–190

[6] H.R. Choi, S.M. Ryew, Anthropomorphic joint mechanism with two degrees-of-freedom, in: Proceedings ofICRA�00. IEEE International Conference on Robotics and Automation, 2000, vol. 2, 24–28 April 2000, pp. 1525–1530.

[7] H. Choset, J. Luntz, E. Shammas, T. Rached, D. Hull, C. Dent, Design and motion planning for serpentine robots,in: Proceedings of the Tokyo Institute of Technology Super Mechano Systems Workshop, Tokyo, Japan, 2000.

[8] J. Denavit, R.S. Hartenberg, Kinematic Synthesis of Linkages, McGraw-Hill, New York, 1964.[10] G.L. Haith, H. Thomas, A. Wright, A serpentine robot for planetary and asteroid surface exploration, Oral

presentation at the Fourth IAA International Conference on Low-Cost Planetary Missions, 2–5 May 2000,Laurel, MD.

[11] R.F. Handschuh, Comparison of experimental and analytical tooth bending stress of aerospace spiral bevel gears,NASA/TM-1999-208903, 1999.

[12] R.F. Handschuh, Testing of face-milled spiral bevel gears at high-speed and load, NASA/TM-2001-210743, 2001.[13] R.F. Handschuh, Experimental comparison of face-milled and face-hobbed spiral bevel gears, NASA/TM-2001-

210940, 2001.[14] M.A. Hannan, I.D. Walker. A novel ‘‘Elephant�s Trunk’’ robot, in: Proceedings of the 1999 IEEE/ASME

International Conference on Advanced Intelligent Mechatronics, Atlanta, Georgia, September 1999, pp. 410–415.[15] S. Hirose, Biologically Inspired Robots: Snake-like Locomotors and Manipulators, Oxford University Press, 1993.[16] H. Ikeda, N. Takanashi, Joint assembly movable like a human arm, US Patent 4 683 406, July 1987.[17] G. Immega, K. Antonelli, The KSI tentacle manipulator, IEEE Conference on Robotics and Automation (1995)

3149–3154.[18] W.M. Kier, K.K. Smith, Tongues, Tentacles, and Trunk: The biomechanics of movement in muscular hydrostat,

Zoological Journal of the Linnean Society 8 (1985) 307–324.[19] G. Miller, Goal-directed snake motion over uneven terrain, in: Computer Graphics�89, Blenheim Online

Publications, November 1989, pp. 257–272.[20] E. Paljug, T. Ohm, S. Hayati, The JPL serpentine robot: a 12-DOF system for inspection, in: Proceedings of the

1995 IEEE/ICRA, vol. 3, 1995, pp. 3143–3148.[22] M.E. Rosheim, Robot Wrist Actuators, John-Wiley & Sons, 1989.[23] L. Sciavicco, B. Siciliano, Modelling and control of robot manipulators, second ed.Advanced Textbooks in

Control and Signal Processing Series, Springer-Verlag, London, UK, 2000.[24] E. Shammas, A. Wolf, H.B. Brown, H. Choset, New joint design for three-dimensional hyper redundant robots, in:

Proceedings. 2003 IEEE/RSJ International Conference on Intelligent Robots and Systems, 2003 (IROS 2003), vol.4, 27–31 October 2003, pp. 3594–3599.

[25] T. Stackhouse, A new concept in wrist flexibility, in: Proceedings of the 9th International Symposium on IndustrialRobots, Washington, DC, 1979, pp. 589–599.

[26] N. Takanashi, K. Aoki, S. Yashima, A gait control for the hyper-redundant robot O-RO-CHI, in: Proceedings ofROBOMEC�96, Ube, Japan, 1996, pp. 79–80.

[27] A. Wolf, H.B. Brown, R. Casciola, A. Costa, M. Schwerin, E. Shammas, H. Choset, A mobile hyper redundantmechanism for search and rescue tasks, in: Proceedings. 2003 IEEE/RSJ International Conference on IntelligentRobots and Systems, 2003 (IROS 2003), vol. 3, 27–31 October 2003, pp. 2889–2895.

[28] C.H. Wu, A kinematic CAD tool for the design and control of a robot manipulator, The International Journal ofRobotics Research 3 (1) (1984) 58–67.

[29] M. Yim, Locomotion with a Unit Modular Reconfigurable Robot, Ph.D. Thesis, Dept. of Mech. Eng., StanfordUniversity, 1994.