toward autonomous free-climbing robots - stanford ai...

12
Toward Autonomous Free-Climbing Robots Tim Bretl 1 , Jean-Claude Latombe 2 , and Stephen Rock 1 1 Aerospace Robotics Lab, Department of Aeronautics and Astronautics 2 Robotics Laboratory, Computer Science Department Stanford University, Stanford CA 94305, USA {tbretl,rock}@sun-valley.stanford.edu, [email protected] Abstract. The goal of this research is to enable a multi-limbed robot to climb vertical rock using techniques similar to those developed by human climbers. The robot consists of a small number of articulated limbs. Only the limb end-points can make contact with the environment—a vertical surface with small, arbitrarily distributed features called holds. A path through this environment is a sequence of one-step climbing moves in which the robot brings a limb end-point to a new hold. The robot maintains balance during each move by pushing and/or pulling at other holds, exploiting contact and friction at these holds while adjusting internal degrees of freedom to avoid sliding. The paper first considers a planar three-limbed robot, then a 3-D four-limbed robot modeled after a real hardware system. It proposes an efficient test of the quasi-static equilibrium of these robots and describes a fast planner based on this test to compute one-step climbing moves. This planner is demonstrated in simulation for both robots. 1 Introduction Our goal is to enable a multi-limbed robot to climb vertical rock using skills and techniques similar to those developed by human climbers (see Fig. 1). We refer here to “free-climbing” techniques, where the climber only uses natural features and friction of the terrain for upward progress. These techniques are in contrast to “aid climbing,” where the climber relies on additional gear for progress [18]. The robots we consider consist of a small number of articulated limbs attached to a pelvis (see Fig. 2). Only the limb end-points make contact with the environment—a vertical surface with small, arbitrarily distributed features (e.g., protrusions, holes) called holds.A one-step climbing move for the robot consists of bringing a limb endpoint to a new hold while maintaining balance by pushing or pulling at other holds [9]. The robot exploits friction at these holds while adjusting internal degrees of freedom (DOF’s) to avoid sliding. Humans have not been created, nor have they evolved to climb vertical rock. Nevertheless, some climb steep rock surfaces, with small and sparse holds. In fact, natural vertical terrain may often be climbed without significant strength by using balancing techniques known as stem, back-step, lie-back, etc., which share one idea—opposition—i.e., exert two opposing forces against each other [18]. Similarly, we do not intend to design a new robot for rock-climbing activities. Instead, our goal is to develop generic control, planning, and sensing capabilities to enable a wide class of multi-limbed robots to climb vertical terrain. The availability of non-specific autonomous rock-climbing robots could benefit several application areas. These include search-and-rescue in mountainous terrain or broken urban environments, exploration of sub-surface environments such as caves, and planetary exploration, particularly on Mars where sites with potentially high science value have been identified on cliff faces. This research may also yield the discovery of new modes of mobility for limbed robots. Indeed, human climbers often report on discovering “new degrees of freedom” providing increased balance and range of movement in everyday activity. This paper focuses on the problem of computing the one-step climbing moves of multi-limbed robots. Motion is assumed quasi-static, as is usually the case in human climbing. Section 3 studies this problem for a planar three-limbed robot. Section 4 considers a more complex 3-D four-limbed robot. Both sections give simulation results obtained with the implemented software. Our current goal is to implement the results of Section 4 on a real robot, “LEMUR II”, created by the Jet Propulsion Laboratory [27, 28]. 2 Previous Related Work 2.1 Climbing robots Various robots capable of climbing vertical artificial surfaces have been proposed:

Upload: trinhkien

Post on 18-Jul-2018

227 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Toward Autonomous Free-Climbing Robots - Stanford AI …ai.stanford.edu/~latombe/papers/climbing-robot-2003/paper.pdf · The robot maintains balance during each move by pushing and/or

Toward Autonomous Free-Climbing Robots

Tim Bretl1, Jean-Claude Latombe2, and Stephen Rock1

1 Aerospace Robotics Lab, Department of Aeronautics and Astronautics2 Robotics Laboratory, Computer Science Department

Stanford University, Stanford CA 94305, USA{tbretl,rock}@sun-valley.stanford.edu, [email protected]

Abstract. The goal of this research is to enable a multi-limbed robot to climb vertical rock usingtechniques similar to those developed by human climbers. The robot consists of a small numberof articulated limbs. Only the limb end-points can make contact with the environment—a verticalsurface with small, arbitrarily distributed features called holds. A path through this environmentis a sequence of one-step climbing moves in which the robot brings a limb end-point to a new hold.The robot maintains balance during each move by pushing and/or pulling at other holds, exploitingcontact and friction at these holds while adjusting internal degrees of freedom to avoid sliding. Thepaper first considers a planar three-limbed robot, then a 3-D four-limbed robot modeled after areal hardware system. It proposes an efficient test of the quasi-static equilibrium of these robotsand describes a fast planner based on this test to compute one-step climbing moves. This planneris demonstrated in simulation for both robots.

1 Introduction

Our goal is to enable a multi-limbed robot to climb vertical rock using skills and techniques similar tothose developed by human climbers (see Fig. 1). We refer here to “free-climbing” techniques, where theclimber only uses natural features and friction of the terrain for upward progress. These techniques arein contrast to “aid climbing,” where the climber relies on additional gear for progress [18]. The robotswe consider consist of a small number of articulated limbs attached to a pelvis (see Fig. 2). Only thelimb end-points make contact with the environment—a vertical surface with small, arbitrarily distributedfeatures (e.g., protrusions, holes) called holds. A one-step climbing move for the robot consists of bringinga limb endpoint to a new hold while maintaining balance by pushing or pulling at other holds [9]. Therobot exploits friction at these holds while adjusting internal degrees of freedom (DOF’s) to avoid sliding.

Humans have not been created, nor have they evolved to climb vertical rock. Nevertheless, some climbsteep rock surfaces, with small and sparse holds. In fact, natural vertical terrain may often be climbedwithout significant strength by using balancing techniques known as stem, back-step, lie-back, etc., whichshare one idea—opposition—i.e., exert two opposing forces against each other [18]. Similarly, we do notintend to design a new robot for rock-climbing activities. Instead, our goal is to develop generic control,planning, and sensing capabilities to enable a wide class of multi-limbed robots to climb vertical terrain.

The availability of non-specific autonomous rock-climbing robots could benefit several applicationareas. These include search-and-rescue in mountainous terrain or broken urban environments, explorationof sub-surface environments such as caves, and planetary exploration, particularly on Mars where siteswith potentially high science value have been identified on cliff faces. This research may also yield thediscovery of new modes of mobility for limbed robots. Indeed, human climbers often report on discovering“new degrees of freedom” providing increased balance and range of movement in everyday activity.

This paper focuses on the problem of computing the one-step climbing moves of multi-limbed robots.Motion is assumed quasi-static, as is usually the case in human climbing. Section 3 studies this problemfor a planar three-limbed robot. Section 4 considers a more complex 3-D four-limbed robot. Both sectionsgive simulation results obtained with the implemented software. Our current goal is to implement theresults of Section 4 on a real robot, “LEMUR II”, created by the Jet Propulsion Laboratory [27, 28].

2 Previous Related Work

2.1 Climbing robots

Various robots capable of climbing vertical artificial surfaces have been proposed:

Page 2: Toward Autonomous Free-Climbing Robots - Stanford AI …ai.stanford.edu/~latombe/papers/climbing-robot-2003/paper.pdf · The robot maintains balance during each move by pushing and/or

2

(a) High-Step (b) Back-Step

Fig. 1. Typical configurations of a human climber.

(a) (b)

Fig. 2. Simulation of three-limbed and four-limbed robots.

1. Robots that “stick” to a featureless, flat or smoothly curved surface by using specific end-effectors—e.g., suction cups and pads, or magnets—exploiting a uniform property of the surface [19, 22]. Ap-plications include cleaning, painting, and inspection of building facades and ship hulls.

2. Robots whose end-effectors exploit features of the environment—e.g., holes (in which they insert peg-shaped end-effectors) [5, 52], handrails or bars [1], and poles [47]. Applications include construction,inspection, and repair of truss structures, like space stations, electricity pylons, and bridges.

3. Robots designed to climb within pipes and ducts [34, 39, 48]. These are multi-limbed robots that,like in our work, exploit friction by pushing at multiple contact points along opposite directions. Butthe regularity of the environment allows them to use pre-computed, gaited motions.

These robots exploit surface properties that are not available in natural terrain. To our knowledge,there has been little research on robots climbing vertical natural terrain. An exception is the Gecko robotof iRobot which is inspired from the adhesion mechanism in gecko toes [2, 25].

2.2 Track and legged robots

Wheeled and track rovers have been used to ascend natural slopes of up to 50 degrees, and to climb oversmall obstacles in rough terrain. They use a variety of techniques, such as tracks that conform to theshape of the terrain [56], active or rocker-bogie suspension [13, 24, 50], and rappelling [43]. None of thesetechniques scale up to vertical terrain.

Similar results have been obtained using legged robots [3, 23, 42, 55] and snake-like robots [41, 54].The legged robots, in particular, are like those considered in our work. They must move one (or several)limbs at a time, while using contacts of the other limbs with the terrain to remain stable. However, on flator sloped terrain, many legged robots use predefined gaits that adapt reactively to sensory inputs suchas contact detection [29, 32, 37, 42, 51, 53]. On steep, irregular terrain, predefined gaits are not possible.Instead, the robot must choose carefully where to place its feet.

Fewer works consider the problem of foot-placement. Algorithms in [7, 12, 21, 30, 31] are based onassumptions that are not valid for climbing vertical terrain. In particular, in [7, 21] legs are assumed

Page 3: Toward Autonomous Free-Climbing Robots - Stanford AI …ai.stanford.edu/~latombe/papers/climbing-robot-2003/paper.pdf · The robot maintains balance during each move by pushing and/or

3

W

Free LimbHold g

Contact Chain

Hold k

Pelvis

Hold i

θ1

θ2

L

(xk,yk)(xi,yi)

(xp,yp)

Fig. 3. Three-limbed climbing robot.

massless and friction is not modeled. In [30, 31] a randomized planner computes dynamically-stablemotions of a humanoid biped robot among obstacles, but considers horizontal foot-placements only.Motion strategies for a planar quadruped robot are given in [45], but are restricted to horizontal tunnels,and require form-closure configurations during each motion step.

2.3 Grasping and multi-fingered manipulation

The relationship between multi-fingered manipulation and legged locomotion has been established before(e.g., in [45]). While a robot hand grasps an object, a legged robot “grasps” its environment. A multi-stepmotion of a legged robot is loosely similar to re-grasping an object by successively re-positioning fingerson the object. The same relation exists with a multi-limbed climbing robot.

A key concept in grasping is force-closure. A grasp is force-closure if it can resist forces (and torques)applied to the object along (about) any direction [6]. The smallest number of fingers needed to achieveclosure of an arbitrary object has been studied for various models of contacts [35, 38, 46]. Algorithms forcomputing force-closure grasps of given objects are described in [11, 16, 40, 44].

However, a climbing robot need not achieve force-closure, since it must only resist gravity. Moreover,when a climbing robot’s limb moves to reach a new hold, the robot itself must remain in equilibriumduring the motion as its center of mass changes. In contrast, when fingers are re-positioned on an object,the object is what needs to remain in equilibrium, but its center of mass does not change.

3 Planar Three-Limbed Robot

3.1 Model and problem

The robot (see Fig. 3) moves in a vertical plane W . It consists of three identical limbs meeting at a pointcalled the pelvis. Each limb has two links and two actuated revolute joints, one located at the pelvis, theother between the two links. We ignore self-collision, meaning that we allow links to cross each other.We also assume all six links have equal mass and equal length L, and that joints are not limited by anyinternal mechanical stops. A fixed coordinate system Oxy is embedded in W , with gravity pointing inthe negative direction of the y-axis. Any configuration of the robot can be defined by 8 parameters, thecoordinates (xp, yp) of the pelvis and the joint angles (θ1, θ2) of each limb.

The plane W contains scattered holds. Each hold i is defined by a point (xi, yi) and a direction νi.In figures, it is depicted as an elongated isosceles triangle; but the hold itself is located at the midpointof the long edge of the triangle and is oriented along the outgoing normal to this edge. The endpoint ofeach limb of the robot is called a foot. In Fig. 3, two feet are at holds i and k, respectively, while the thirdlimb is moving. The holds i and k are the supporting holds. The two-limbed linkage between i and k iscalled the contact chain and the other limb the free limb. The motion takes place in a 4-D subspace Cik

of the robot’s configuration space, since the fixed positions of two feet at the supporting holds reduce thenumber of DOFs of the contact chain to 2.

Friction at each hold is modeled using Coulomb’s law. If a foot is located at hold i, the reactionforce f i that the hold may exert on the foot spans a cone FCi—the friction cone at i—of half-angleϕi ≤ π/2. The apex of this cone is at (xi, yi) and its main axis points along νi. For the robot to bein quasi-static equilibrium, there must exist reaction forces at the supporting holds whose sum exactlycompensates for the gravitational force on the robot. (Henceforth, for simplicity, “equilibrium” will alwaysmean “quasi-static equilibrium.”)

Page 4: Toward Autonomous Free-Climbing Robots - Stanford AI …ai.stanford.edu/~latombe/papers/climbing-robot-2003/paper.pdf · The robot maintains balance during each move by pushing and/or

4

We consider the following problem:

One-Step-Climbing Problem. Given a start configuration qs of the robot in Cik and a hold g,compute a path of the robot connecting qs to a configuration that places the foot of the free limbat hold g and such that the robot remains in equilibrium along the entire path.

3.2 Motion computation (basic algorithm)

Let Fik denote the subset of Cik where the robot is in equilibrium. We call it the feasible space at holds iand k. A solution path, if one exists, must lie in Fik. A PRM (Probabilistic RoadMap) motion planningapproach [26] can be used to compute such a path. For most PRM planners, the feasible space consistsof collision-free configurations. Here, it is made of equilibrium configurations. But this does not changethe general planning approach. See [31] for a prior PRM planner that handles equilibrium constraints.

The planner samples configurations at random from Cik (including the start configuration qs amongthem). It retains each sampled configuration where the robot is in equilibrium as a vertex of the roadmap.(An efficient equilibrium test will be described in Section 3.3.) In addition, for any two vertices that aresufficiently close, if the robot remains in equilibrium along the linear path joining them, then the plannerretains the path as an edge of the roadmap. The planner builds the roadmap until either the connectedcomponent containing qs also contains a configuration that places the foot of the free limb at g, or theroadmap reaches a pre-specified maximal size, in which case the planner returns failure.

Thus, the planner must sample configurations of the contact chain. The problem of sampling config-urations of a closed-loop kinematic chain has been addressed in [10, 20, 33]. Here, it is solved in a simplefashion: Cik is divided into four disjoint regions, each corresponding to a distinct combination of “kneebends” of the two limbs forming the contact chain. The knee bend of a limb is the sign of its joint angleθ2. In each region, a configuration is uniquely specified by four parameters: the pelvis coordinates (xp, yp)and the free-limb joint angles (θ1, θ2). To sample a configuration, we pick the values of the two knee bendsand the values of the four parameters xp, yp, θ1, and θ2 independently at random. The values of (xp, yp)are sampled in the intersection of the two discs of radius 2L centered at holds i and k, respectively.

In general, the end configuration of a solution path is not uniquely defined by hold g. Instead, theconfigurations that place the foot of the free limb at g form a 2-D subspace G of Cik. No such configurationscan be obtained by sampling Cik at random. So, the planner specifically samples configurations in G bysampling positions (xp, yp) of the pelvis in the intersection of the three discs of radius 2L centered atholds i, k, and g, respectively. For each value of (xp, yp) a straightforward inverse-kinematics operationyields two values of the joint angles (θ1, θ2) of the free limb.

Algorithm 1 presents the overall method, where V and E denote the sets of vertices and edges of theroadmap, respectively, and N1 and N2 are input parameters used to bound the computation. Notice thathold g usually must be reached so that the robot can use holds i and g (or k and g) as supporting holdsfor a subsequent move. Thus, the equilibrium test at Step 3b only retains goal configurations that lie inFik ∩ Fig or Fik ∩ Fkg. An appropriate metric at Step 5b is the sum of the magnitudes of the joint angledifferences. Simple smoothing techniques [4] are used to improve the path produced by the algorithm.

Algorithm 1 One-Step-Climbing1. V ← {}, E ← {}2. If qs satisfies the equilibrium test, then add qs to V , else exit with failure.3. (Sample the goal region) Loop N1 times:

(a) Sample uniformly at random a combination of knee bends of the contact chain and a pelvis position(xp, yp) within distance 2L from each of the three holds i, k, and g.

(b) For each of the corresponding two configurations q where the foot of the free limb is at g, if q satisfiesthe equilibrium test, then add q to V .

4. If no vertex was added to V at Step 3, then exit with failure.5. (Sample the feasible space) Loop N2 times:

(a) Sample uniformly at random a configuration q ∈ Fik. If it satisfies the equilibrium test, then add q to V .(b) For every configuration q′ previously in V that is closer to q than some predefined distance, if the linear

path joining q and q′ satisfies the equilibrium test, then add this path to E.(c) If the connected component containing qs also contains a configuration sampled at Step 3 (goal configu-

ration), then exit with a path.6. Exit with failure.

Page 5: Toward Autonomous Free-Climbing Robots - Stanford AI …ai.stanford.edu/~latombe/papers/climbing-robot-2003/paper.pdf · The robot maintains balance during each move by pushing and/or

5

(a) Lie-Back (b) Back-Step

Fig. 4. Two configurations where the robot is in equilibrium.

3.3 Equilibrium test

The only external forces acting on the robot are gravity and the reaction forces at holds i and k. Thegravitational force acts at the robot’s center of mass (CM), the position of which varies as the robotmoves. Hence, the equilibrium constraint restricts the range of positions of the CM.

Since the gravitational force has fixed magnitude and orientation, if the robot is in equilibrium atsome configuration q in Cik (hence, q ∈ Fik) that places the CM at abscissa xc, then the robot is inequilibrium at any configuration q′ in Cik that places the CM at the same abscissa. Let E denote therange of values of the abscissa of the CM where the robot is in equilibrium.

We extend the work of [36] to construct E. Assume that the robot has mass m, that the CM is locatedat (xc, yc), and that the gravitational force is g = (0, 0,−g). Let ri = (xi, yi) and rk = (xk, yk).

The reaction forces at the two holds i and k are constrained to vary within friction cones FCi andFCk. Define unit vectors f̂i1, f̂i2 along each edge of FCi. The sum of any two contact forces f i1 = fi1f̂i1

and f i2 = fi2f̂i2 lies within FCi if and only if fi1, fi2 ≥ 0. So, equilibrium can be expressed as thefollowing linear equation:

f̂i1

ri × f̂i1

f̂i2

ri × f̂i2

f̂k1

rk × f̂k1

f̂k2

rk × f̂k2

00

−mg

000

fi1

fi2

fk1

fk2

xc

yc

=

0mg0

(1)

As mentioned above, Eq. 1 has zero dependence on yc. E is the set of all xc feasible under this relation,with the additional constraint that all fij , fkj ≥ 0.

Let M be the first matrix of Eq. 1. If M were full-rank, Eq. 1 would have a unique solution (if any).However, there is often some redundancy in choosing fij , fkj and xc. Let M−1 be the right pseudo-inverseof M and let N be a basis for the null space of M. We re-write Eq. 1 as follows, where η is a vector ofdimension dim(null(M)):

fi1

fi2

fk1

fk2

xc

yc

= M−1

0mg0

+ Nη (2)

Further, let:

b = M−1

0mg0

and f =

fi1

fi2

fk1

fk2

(3)

Finally, express Eq. 2 in block form as:

f = N1η + b1 (4)[xc

yc

]= N2η + b2 (5)

Page 6: Toward Autonomous Free-Climbing Robots - Stanford AI …ai.stanford.edu/~latombe/papers/climbing-robot-2003/paper.pdf · The robot maintains balance during each move by pushing and/or

6

0.0L

0.5L

0.5L

0.9L

0.0L-0.5L

-0.9L

-0.5L

-0.9L

0

0

π

π−π−π

θ2

θ1

(a)

0 π−πθ1

Θf+

Θf-

Θf

(b)

Fig. 5. Space Θ.

To find all possible positions of the CM, we first find all η satisfying Eq. 4, then project this solutionspace through Eq. 5. The linear equality yields a polytope of dimension dim(null(M)) by an intersectionof halfspaces. So, the region in η is convex, E is a single interval, and the region in (xc, yc) is a verticalcolumn. Finding the region in η is the problem of vertex enumeration for a polyhedron in H-format, forwhich methods are available [14, 15].

To test a given configuration q sampled from Cik for equilibrium, it suffices to compute E and theabscissa xc of the CM for this configuration, and check if xc ∈ E. Fig. 4 shows two configurations producedby our software. In each case, the column defined by E is the shaded region and the CM is the bold blackdot. In the rock-climbing literature [18], the configuration on the left is a called a “lie-back” and theone on the right a “back-step” (compare to Fig. 1b). Note that in the lie-back configuration, the shadedcolumn is entirely to the left of both holds.

To test that a linear path between two configurations q and q′ keeps the robot in equilibrium, onemay sample the path at some resolution and test sampled points for equilibrium. A better approachadapted from [49] is the following. Compute an upper-bound λ on the length of the path traced out bythe CM when the robot configuration is linearly interpolated between q and q′. If at either q or q′ theminimum distance between xc and the bounds of E exceeds λ, then accept the path. Otherwise, set qmid

to (q+q′)/2. If the robot is not in equilibrium at qmid, then reject the path, else apply the same treatmentrecursively to the two sub-paths joining q and qmid, and qmid and q′.

3.4 Feasible space for a given configuration of the contact chain

Assume the contact chain is in a given configuration specified by the location (xp, yp) of the pelvis and itsknee bends. Let Θ = {(θ1, θ2)|θ1, θ2 ∈ [−π, π]} denote the configuration space of the free limb and Θf thesubset of Θ that corresponds to equilibrium configurations of the robot. Here we analyze the connectivityof Θf . It will result in a refined version of the algorithm of Section 3.2.

The abscissa xc of the robot’s CM must be in the interval E = [xmin, xmax]. Since the CM of thecontact chain is fixed, this constraint can be transformed into a constraint on the CM of the free limb.Let xc/chain and xc/free denote the abscissas of the CM of the contact chain and the free limb, respectively.We have xc/free = 3xc − 2xc/chain, so xc/free must lie in the interval (xmin/free, xmax/free), where:

xmin/free = 3xmin − 2xc/chain and xmax/free = 3xmax − 2xc/chain (6)

The abscissa of the CM of the free limb can be expressed as:

xc/free = xp +L

4(3 cos θ1 + cos (θ1 + θ2)) (7)

When θ1 and θ2 span Θ, δ = xc/free − xp ranges between −L and L. The values of θ1 and θ2 thatare solutions of Eq. 7 for any δ ∈ [−L,L] define a curve in Θ. Since the mapping from (θ1, θ2) to Θ issingle-valued, no two such curves intersect. Fig. 5a shows these curves for δ = −0.9L,−0.5L, 0, 0.5L, and0.9L for some configuration of the contact chain. The subset Θf is the region between the two curvesdefined by δmin = xmin/free−xp and δmax = xmax/free−xp. It is shown in Fig. 5b (shaded area), wherethe configuration of the contact chain yields δmin = −0.1L and δmax = 0.7L.

Θf is empty if and only if [δmin, δmax] ∩ [−L, L] is empty. So, for given knee bends of the contactchain, a pelvis location is feasible with respect to the robot’s equilibrium constraint if:

δmin < L and δmax > −L (8)

Page 7: Toward Autonomous Free-Climbing Robots - Stanford AI …ai.stanford.edu/~latombe/papers/climbing-robot-2003/paper.pdf · The robot maintains balance during each move by pushing and/or

7

(a) (b) (c) (d)

(e) (f) (g) (h)

Fig. 6. Example of motion computed by Alg. 1 for the three-limbed robot.

When Eq. 8 is satisfied, we divide Θf into two subsets: Θf−, where θ1 ≤ 0 (the first link of thefree limb points downward), and Θf+, where θ1 ≥ 0 (the first link points upward). For any given δ ∈[δmin, δmax] ∩ [−L,L], the values of θ1 and θ2 that are solutions of Eq. 7 form a single continuous curvesegment in Θf− and another one in Θf+. Since no two curves for distinct values of δ intersect, Θf− andΘf+ are each connected. In addition, since (θ1, θ2) = (− cos−1(δ/L), 0) and (θ1, θ2) = (cos−1(δ/L), 0) aresolutions of Eq. 7, they belong to Θf− and Θf+, respectively. So, each of the two segments defined byΘf− ∩ {θ2 = 0} and Θf+ ∩ {θ2 = 0} span all feasible values of δ. Similarly, if two configurations (θ1, θ2)and (θ′1, θ

′2) correspond to the same δ = δ′ and both belong to Θf− (resp., Θf+), a line of constant δ

joining them lies entirely in Θf− (resp., Θf+).It follows from the last statement that Θf is connected if and only if there exists θ2 such that (0, θ2)

or (±π, θ2) belongs to both Θf− and Θf+. This is the case if and only if at least one of the followingconditions holds:

δmin /∈ [−L/2, L/2] or δmax /∈ [−L/2, L/2] (9)

3.5 Motion computation (refined version)

Hence, any feasible continuous path of the contact chain can be lifted into Fik by letting the free limbmove in either Θf− or Θf+. This remark yields a refined version of Alg. 1 that only samples the 2-Dpelvis location space, instead of the 4-D feasible space Fik.

More precisely, Step 5 samples N2 pelvis locations (and combinations of knee bends of the contactchain). Each sample satisfying Eq. 8 is lifted to two configurations q1, q2 ∈ Fik by computing the corre-sponding free limb’s configurations in Θf− and Θf+ at θ2 = 0. Also, if Eq. 9 is satisfied (i.e., if Θf isconnected) the pelvis position is also lifted to a third configuration q3 where the joint angle θ1 of the freelimb is either 0 or ±π. These configurations are added to the set V of vertices of the roadmap. Whenever aconfiguration q3 is generated, it is immediately connected to both q1 and q2 in the roadmap. The purposeof adding q3 is to allow changes in the sign of θ1. At Step 5b, the algorithm only tries to connect pairs ofconfigurations with different (xp, yp), since the other connections have already been created.

The sampling of the goal region at Step 3 is unchanged. However, for each sampled pelvis position,the algorithm also adds two or three configurations q1, q2, and q3 to V as above, and connects q1 to q3

and q2 to q3. Each of the two goal configurations created at Step 3b is also immediately connected toeach of the configurations q1, q2, and q3, for which the free limb is in the same component Θf− or Θf+.Step 2 is modified in the same way.

Page 8: Toward Autonomous Free-Climbing Robots - Stanford AI …ai.stanford.edu/~latombe/papers/climbing-robot-2003/paper.pdf · The robot maintains balance during each move by pushing and/or

8

(a) LEMUR II (courtesy of the Plane-tary Robotics Laboratory, JPL)

Body Hold j

Hold kHold g

Hold i

Free Limb(α,β,γ,γknee) (θi,θj,θk)

(x,y,z,hx,hy,hz)

Contact Chain

Terrain

W

(b) Robot model

γ

α

β

γknee

(c) Limb model

Fig. 7. The 3-D four-limbed robot.

3.6 Simulation results

We have implemented the refined version of Alg. 1 for the three-limbed robot. Fig. 6 shows snapshots alonga path computed by this software. The friction cone at each hold has a half-angle ϕ = π/8. The goal is forone limb endpoint to reach the upper-most hold. Frames 6b-6g show the motion along the path, duringwhich the robot is standing on the two right-most holds. Frames 6a and 6h show the robot configurationimmediately before the transition to the initial configuration and immediately after the transition to theinitial configuration of the next move. Both the friction cones and the direction of the reaction forces atthe supporting holds are shown in each frame. As required, the forces remain within the friction conesat all times. Likewise, the CM remains in the region E. A graphic animation of a sequence of climbingmoves computed by the algorithm can be downloaded from http://arl.stanford.edu/~tbretl/.

We have run the software on many examples. The produced motion is often closely related to well-known human climbing techniques (e.g., Fig. 6 begins with a high-step and moves through lie-backconfigurations). On average, the size of the roadmap needed to find a path is small, because Fij isusually “well-connected.” Narrow passages can occur in Fij , but most of them exist only in the entire 4-Dspace, not in the 2-D space of pelvis positions. The deterministic algorithm used in the refined versionof the planner for generating free limb motions allows these passages to be traversed without search.Disconnections occasionally occur in Fij when supporting holds are poorly positioned or oriented relativeto each other, and/or their friction cones are narrow.

4 3-D Four-Limbed Robot

4.1 Description of robot

The robot is modeled after the LEMUR II robot shown in Fig. 7a [27, 28]. The original LEMUR II robotconsists of six identical limbs attached to a hexagonal chassis. We intend to retain only four limbs forour initial hardware experiments, although the techniques presented below apply to any number of limbs.Thus, our model has only four limbs (Fig. 7b). We also assume that small hooks have been added to eachlimb endpoint, so that the robot can both push and pull on holds.

Each limb (Fig. 7c) has one spherical joint at the shoulder, which consists of three collocated revolutejoints in ZYX-Euler sequence, and one revolute joint at the knee, which is parallel to the third axis ofrotation at the shoulder (X). The joints are limited by internal mechanical stops, such that α ∈ [−π, π],β ∈ [−π/2, π/2], γ ∈ [−π/2, 0], and γknee ∈ [−3π/4, 0]. Each limb has length 30cm and mass 1kg. Thechassis has radius 18.5cm and mass 3kg.

The robot moves in a 3-D space W . A fixed coordinate system Oxyz is embedded in W , with gravitypointing in the negative direction of the z-axis. Each hold i in W is defined by a point (xi, yi, zi) and adirection νi. During a one-step motion, three limb endpoints of the robot are in contact with supportingholds, while one limb (the free limb) is moving. The linkage between the supporting holds is still calledthe contact chain. The motion takes place in a 13-D space Cik, since the fixed positions of three feetreduce the number of DOF’s of the contact chain to 9. As in the planar case, friction at each hold ismodeled using Coulomb’s law. But unlike in the planar case, the robot’s self-collision and collision withthe environment are not allowed.

Page 9: Toward Autonomous Free-Climbing Robots - Stanford AI …ai.stanford.edu/~latombe/papers/climbing-robot-2003/paper.pdf · The robot maintains balance during each move by pushing and/or

9

4.2 Motion computation

The algorithm to plan one-step climbing moves for the 3-D robot is essentially Alg. 1 presented inSection 3.2, with the following modifications:

1. The joint limits are such that the inverse kinematics of each limb has at most one solution. Therefore,no decomposition of Cik according to knee bends is needed.

2. Sampling configurations of the contact chain is much harder than in the planar case, so we now usea technique similar to those presented in [10, 20, 33].

3. The equilibrium test of Section 3.3 is modified slightly, as described in Section 4.3.4. We used PQP [17] to check for both self-collision of the robot and collision with the environment.

The refined version of Section 3.5 does not scale directly to handle free limbs with more than 2 DOF’sor additional constraints such as collision avoidance and joint limits.

4.3 Equilibrium test

As in the planar case, the only external forces acting on the robot are gravity and the reaction forces atthree holds i, j, and k. Analogous to the planar case, if the robot is in equilibrium at some configurationq ∈ Cijk that places the CM at (xc, yc, zc), then the robot is in equilibrium at any configuration q′ ∈ Cijk

such that z′c = zc. Let E denote the range of values of the coordinates (xc, yc) of the CM where the robotis in equilibrium.

Assume that the robot has mass m, that the CM is located at (xc, yc, zc), and that the gravitationalforce is g = (0, 0,−g). Let rh = (xh, yh, zh) for holds h = i, j, k. The reaction force at each hold his constrained to vary with a friction cone FCh. However, we define a conservative approximation toFCh as an n-gonal pyramid. This approximation can be made arbitrarily precise by increasing n (in ourimplementation, n = 4). Define unit vectors f̂h1, . . . , f̂hn along each edge of the pyramid. The sum of n

contact forces fh1 = fh1f̂h1, . . . ,fh1 = fhnf̂hn lies within the pyramid approximating FCh if and onlyif all fh1, . . . , fhn ≥ 0. Therefore, we replace the friction cone constraint on each reaction force by thislinear constraint on n contact forces, defined as above for each hold h.

Let fh = (fh1, . . . , fhn) and define the following matrix for each hold h:

Ah =[

f̂h1

rh × f̂h1· · · f̂hn

rh × f̂hn

](10)

Then the equilibrium equations can be expressed as follows:Ai Aj Ak

0000

mg0

000

−mg00

000000

f i

f j

fk

xc

yc

zc

=

00

mg000

(11)

This equation has zero dependence on zc. Finding the region E from Eq. 11 follows identically theprocess described in Section 3.3. E is a convex polygonal region and the region in (xc, yc, zc) is the verticalcolumn whose cross-section is E. To test a given configuration q sampled from Cik for equilibrium, wecompute E and the projection (xc, yc) of the CM for this configuration, and we check if (xc, yc) ∈ E.Testing linear paths between two configurations is done as in Section 3.3.

This analysis can easily be extended to cases where the robot is supported by arbitrary many holds,simply by modifying Eq. 1 and 11.

4.4 Simulation results

Fig. 8a-8e shows snapshots of a one-step motion computed by our algorithm. In this example, the robotmoves out of a “cross-through” limb position to reach for the left-most hold, on 3-D terrain with a slightoverhang. During the motion, the robot rotates its pelvis, but maintains a “backstep” configuration withits two bottom limbs in order to keeps its CM within E (not shown). Fig. 8f-8j shows snapshots of ahuman climber executing a similar motion. The climber also maintains a “backstep” configuration, andturns his torso to reach for the left-most hold just as the robot does.

Page 10: Toward Autonomous Free-Climbing Robots - Stanford AI …ai.stanford.edu/~latombe/papers/climbing-robot-2003/paper.pdf · The robot maintains balance during each move by pushing and/or

10

(a) (b) (c) (d) (e)

(f) (g) (h) (i) (j)

Fig. 8. Example of motion computed by Alg. 1 for the 3-D four-limbed robot.

5 Future Work

This paper presented a PRM planning algorithm—One-Step-Climbing—to compute the motion of a multi-limbed robot climbing vertical terrain. To prevent the robot from falling as it moved a limb to reach anew hold, the algorithm exploits friction at supporting holds and adjusted the robot’s internal degreesof freedom. This algorithm was demonstrated in simulation for a planar three-limbed robot and for a3-D four-limbed robot modeled after the LEMUR II robot created by JPL. Many trajectories computedby this algorithm has striking similarities with classical moves developed by human climbers. The basicalgorithm is fast enough to be used on-line. Nevertheless, in the case of the three-limbed robot, an analysisof the geometry of the robot’s feasible space made it possible to capture narrow passages more efficientlyby only sampling a subspace of the feasible space. We hope to extend this improvement to the four-limbedrobot.

We are currently working on applying the One-Step-Climbing algorithm to the four-limbed versionof LEMUR II, in a real hardware experiment. To accomplish this, additional constraints need to beconsidered that are ignored in the current software. For example, the algorithm will have to computetorques and reject configurations where torque limits are exceeded.

Enabling multi-limbed robots to climb natural vertical terrain raises many other challenging problemsnot addressed in this paper. Sensing, grasping, and control are prominent among them. Visual and tactilesensing will be needed to localize and test potential holds. In natural terrain, holds are not just points,but 3-D features that can be “grasped” in many different ways [8]. Closed-loop motion control, usingtactile feedback (slippage detection), should be developed to adjust computed paths during execution.Multi-step planning [9] based on incomplete information about the terrain ahead will also be needed tochoose which hold to reach next, when multiple holds are within reach.

Acknowledgements. T. Bretl is partially supported by a Herbert Kunzel Fellowship. The authors would like to thank D. Halperin,

T. Miller, and M. Moll for their helpful comments. In particular, they would like to thank B. Kennedy and E. Baumgartner of the

Planetary Robotics Laboratory at JPL for their contributions.

References

[1] H. Amano, K. Osuka, and T.-J. Tarn. Development of vertically moving robot with gripping handrails forfire fighting. In IEEE/RSJ Int. Conf. on Intelligent Robots and Systems, Maui, HI, 2001.

[2] K. Autumn, M. Sitti, Y. Liang, A. Peattie, W. Hansen, S. Sponberg, T. Kenny, R. Fearing, J. Israelachvili,and R. Full. Evidence for van der waals adhesion in gecko setae. PNAS, 99(19):11252–12256, Jan 1999.http://www.pnas.org/content/vol99/issue19/cover.shtml.

[3] J. E. Bares and D. S. Wettergreen. Dante ii: Technical description, results and lessons learned. Int. J. ofRobotics Research, 18(7):621–649, 1999.

[4] J. Barraquand and J. Latombe. Robot motion planning: A distributed representation approach. Int. J. ofRobotics Research, 10(6):628–649, 1991.

Page 11: Toward Autonomous Free-Climbing Robots - Stanford AI …ai.stanford.edu/~latombe/papers/climbing-robot-2003/paper.pdf · The robot maintains balance during each move by pushing and/or

11

[5] D. Bevly, S. Farritor, and S. Dubowsky. Action module planning and its application to an experimentalclimbing robot. In IEEE Int. Conf. on Robotics and Automation, volume 4, pages 4009–4014, 2000.

[6] A. Bicchi and V. Kumar. Robotic grasping and contact: A review. In IEEE Int. Conf. on Robotics andAutomation, pages 348–353, San Francisco, CA, 2000.

[7] J.-D. Boissonnat, O. Devillers, and S. Lazard. Motion planning of legged robots. SIAM J. on Computing,30(1):218–246, 2001.

[8] T. Bretl, T. Miller, S. Rock, and J.-C. Latombe. Climbing robots in natural terrain. In i-SAIRAS, Nara,Japan, May 2003.

[9] T. Bretl, S. Rock, and J.-C. Latombe. Motion planning for a three-limbed climbing robot in vertical naturalterrain. In IEEE Int. Conf. on Robotics and Automation, Taipei, Taiwan, 2003.

[10] J. Cortes, T. Simeon, and J. Laumond. A random loop generator for planning the motions of closed kinematicchains using prm methods. In IEEE Int. Conf. on Robotics and Automation, Washington, D.C., 2002.

[11] A. V. der Stappen, C. Wentink, and M. Overmars. Computing form-closure configurations. In IEEE Int.Conf. on Robotics and Automation, pages 1837–1842, 1999.

[12] C. Eldershaw and M. Yim. Motion planning of legged vehicles in an unstructured environment. In IEEEInt. Conf. on Robotics and Automation, Seoul, South Korea, 2001.

[13] T. Estier, Y. Crausaz, B. Merminod, M. Lauria, R. Pguet, and R. Siegwart. An innovative space rover withextended climbing abilities. In Space and Robotics, Albuquerque, NM, 2000.

[14] K. Fukuda. cdd+ reference manual. Technical report, Institute for Operations Research, Swiss FederalInstitute of Technology, Zurich, Switzerland, 1995. http://www.ifor.math.ethz.ch/˜fukuda/fukuda.html.

[15] K. Fukuda and A. Prodon. Double description method revisited. LNCS, 1120:91–111, 1996.[16] K. Gopalakrishnan and K. Goldberg. Gripping parts at concave vertices. In IEEE Int. Conf. on Robotics

and Automation, 2001.[17] S. Gottschalk, M. Lin, and D. Manocha. Obb-tree: A hierarchical structure for rapid interference detection.

In ACM SIGGRAPH, pages 171–180, 1996.[18] D. Graydon and K. Hanson. Mountaineering: The Freedom of the Hills. Mountaineers Books, 6th rev edition,

Oct 1997.[19] J. C. Grieco, M. Prieto, M. Armada, and P. G. d. Santos. A six-legged climbing robot for high payloads. In

IEEE Int. Conf. on Control Applications, Trieste, Italy, 1998.[20] L. Han and N. Amato. A kinematics-based probabilistic roadmap method for closed chain systems. In Int.

Workshop on Algorithmic Foundations of Robotics, 2000.[21] S. Hirose and O. Kunieda. Generalized standard foot trajectory for a quadruped walking vehicle. Int. J. of

Robotics Research, 10(1):3–12, 1991.[22] S. Hirose, A. Nagabuko, and R. Toyama. Machine that can walk and climb on floors, walls, and ceilings. In

5th Int. Conf. on Advanced Robotics, pages 753–758, Pisa, Italy, 1991.[23] S. Hirose, K. Yoneda, and H. Tsukagoshi. Titan vii: Quadruped walking and manipulating robot on a steep

slope. In IEEE Int. Conf. on Robotics and Automation, Albuquerque, NM, 1997.[24] K. Iagnemma, A. Rzepniewski, S. Dubowsky, P. Pirjanian, T. Huntsberger, and P. Schenker. Mobile robot

kinematic reconfigurability for rough-terrain. In Sensor Fusion and Decentralized Control in Robotic SystemsIII, volume 4196 of SPIE, Boston, MA, 2000.

[25] iRobot. Gecko wall climbing robot: Component technologies for climbing.http://www.irobot.com/rd/p05 Gecko.asp.

[26] L. E. Kavraki, P. Svetska, J.-C. Latombe, and M. Overmars. Probabilistic roadmaps for path planning inhigh-dimensional configuration spaces. IEEE Tr. on Robotics and Automation, 12(4):566–580, 1996.

[27] B. Kennedy, H. Aghazarian, Y. Cheng, M. Garrett, G. Hickey, T. Huntsberger, L. Magnon, C. Mahoney,A. Meyer, and J. Knight. Lemur: Legged excusion mechanical utility rover. Autonomous Robots, 11:201–205,2001.

[28] B. Kennedy, A. Okon, H. Aghazarian, M. Robinson, M. Garrett, and L. Magnon. Second generation six-limbed robot. Technical Report NPO-35140, NASA, 2003. http://prl.jpl.nasa.gov/.

[29] E. Krotkov and R. Simmons. Perception, planning, and control for autonomous walking with the amblerplanetary rover. Int. J. of Robotics Research, 15:155–180, 1996.

[30] J. Kuffner, J., K. Nishiwaki, S. Kagami, M. Inaba, and H. Inoue. Footstep planning among obstacles forbiped robots. In IEEE/RSJ Int. Conf. on Intelligent Robots and Systems, Maui, HI, 2001.

[31] J. Kuffner, J., K. Nishiwaki, S. Kagami, M. Inaba, and H. Inoue. Motion planning for humanoid robotsunder obstacle and dynamic balance constraints. In IEEE Int. Conf. on Robotics and Automation, 2001.

[32] V. Kumar and K. Waldron. Gait analysis for walking machines for omnidirectional locomotion on uneventerrain. In 7th Symp. on Theory and Practice of Robots and Manipulators, pages 47–67, 1988.

[33] S. LaValle, J. Yakey, and L. Kavraki. A probabilistic roadmap approach for systems with closed kinematicchains. In IEEE Int. Conf. on Robotics and Automation, Detroit, MI, 1999.

[34] A. Madhani and S. Dubowsky. Motion planning of mobile multi-limb robotic systems subject to force andfriction constraints. In IEEE Int. Conf. on Robotics and Automation, volume 1, pages 233–239, Nice, France,1992.

[35] K. Markenscoff, L. Ni, and C. Papadimitriou. The geometry of grasping. Int. J. of Robotics Research,9(1):61–73, 1990.

Page 12: Toward Autonomous Free-Climbing Robots - Stanford AI …ai.stanford.edu/~latombe/papers/climbing-robot-2003/paper.pdf · The robot maintains balance during each move by pushing and/or

12

[36] R. Mason, E. Rimon, and J. Burdick. Stable poses of 3-dimensional objects. In IEEE Int. Conf. on Roboticsand Automation, Albuquerque, NM, 1997.

[37] R. McGhee and S. Sun. On the problem of selecting a gait for a legged vehicle. In Tr. of the VI IFAC Symp.,pages 53–62, 1974.

[38] B. Mishra, J. Schwartz, and M. Sharir. On the existence and synthesis of multifinger positive grips. Algo-rithmica, 2(4):541–558, 1987.

[39] W. Neubauer. A spider-like robot that climbs vertically in ducts or pipes. In IEEE/RSJ/GI Int. Conf. onIntelligent Robots and Systems, pages 1178–1185, Munich, Germany, 1994.

[40] V. Nguyen. Constructing force-closure grasps. Int. J. of Robotics Research, 7(3):3–16, 1998.[41] M. Nilsson. Snake robot - free climbing. IEEE Control Systems Magazine, 18(1):21–26, Feb 1998.[42] D. Pai, R. Barman, and S. Ralph. Platonic beasts: Spherically symmetric multilimbed robots. Autonomous

Robots, 2(4):191–201, 1995.[43] P. Pirjanian, C. Leger, E. Mumm, B. Kennedy, M. Garrett, H. Aghazarian, S. Farritor, and P. Schenker.

Distributed control for a modular, reconfigurable cliff robot. In IEEE Int. Conf. on Robotics and Automation,Washington, D.C., 2002.

[44] J. Ponce, J. Burdick, and E. Rimon. Computing the immobilizing three-finger grasps of planar objects. InWorkshop on Computational Kinematics, 1995.

[45] E. Rimon, S. Shoval, and A. Shapiro. Design of a quadruped robot for motion with quasistatic force con-straints. Autonomous Robots, 10:279–296, 2001.

[46] R. Rimon and J. Burdick. On force and form closure for multiple finger grasps. In IEEE Int. Conf. onRobotics and Automation, 1996.

[47] Z. M. Ripin, T. B. Soon, A. B. Abdullah, and Z. Samad. Development of a low-cost modular pole climbingrobot. In TENCON, volume 1, pages 196–200, Kuala Lumpur, Malaysia, 2000.

[48] T. Roßmann and F. Pfeiffer. Control of an eight legged pipe crawling robot. In Int. Symp. on ExperimentalRobotics, pages 353–346, 1997.

[49] F. Schwarzer, M. Saha, and J. Latombe. Exact collision checking of robot paths. In Workshop on AlgorithmicFoundations of Robotics, Nice, France, Dec 2002.

[50] R. Simmons, E. Krotkov, L. Chrisman, F. Cozman, R. Goodwin, M. Hebert, L. Katragadda, S. Koenig,G. Krishnaswamy, Y. Shinoda, W. R. L. Whittager, and P. Klarer. Experience with rover navigation forlunar-like terrains. In Intelligent Robots and Systems, pages 441–446. IEEE, 1995.

[51] D. Wettergreen, H. Thomas, and C. Thorpe. Planning strategies for the ambler walking robot. In IEEE Int.Conf. on Systems Engineering, 1990.

[52] Y. Xu, H. Brown, M. Friendman, and T. Kanade. Control system of the self-mobile space manipulator.IEEE Tr. On Control Systems Technology, 2(3):207–219, 1994.

[53] M. Yim. A reconfigurable modular robot with many modes of locomotion. In JSME Int. Conf. on AdvancedMechatronics, Tokyo, Japan, 1993.

[54] M. Yim, S. homans, and K. Roufas. Climbing with snake-robots. In IFAC Workshop on Mobile RobotTechnology, Jejudo, Korea, 2001.

[55] K. Yoneda, F. Ito, Y. Ota, and S. Hirose. Steep slope locomotion and manipulation mechanism with minimumdegrees of freedom. In IEEE/RSJ Int. Conf. on Intelligent Robots and Systems, pages 1897–1901, 1999.

[56] K. Yoneda, Y. Ota, and S. Hirose. Development of a hi-grip stair climbing crawler with hysteresis compliantblocks. In 4th Int. Conf. on Climbing and Walking Robots, pages 569–576, 2001.