motion planning algorithms for general closed-chain...

11
Motion Planning Algorithms for General Closed-Chain Mechanisms Juan Cort´ es and Thierry Sim´ eon LAAS-CNRS 7, avenue du Colonel-Roche 31077 Toulouse - France fax: +33 561 33 64 55 email: {jcortes,nic}@laas.fr Corresponding author : Juan Cort´ es ([email protected]) Abstract: Kinematic loop-closure constraints significantly increase the difficulty of motion planning for articulated mechanisms. Configurations of closed-chain mechanisms do not form a single manifold, easy to parameterize, as the configurations of open kinematic chains. In general, they are grouped into several subsets with complex topology than cannot be globally parameterized. This paper presents a general approach for the extension of sampling-based motion planning algorithms to treat closed-chain mechanisms. The basic principle consists in separating configuration variables into two sets: active variables and passive variables. The planner directly acts on the active variables while the passive ones are obtained by solving loop-closure equations. Configurations of complex closed-chain mechanisms are computed by an algorithm called RLG that combines random sampling with simple geometrical operations. The practical efficiency of the extended planners is shown through several applications in robotics as well as in other domains such as graphic animation and computational biology. Keywords: Motion planning, closed kinematic chains, sampling-based algorithms. Submitted to IEEE Transactions of Robotics as Regular Paper 8 th September 2005

Upload: others

Post on 29-Aug-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Motion Planning Algorithms for General Closed-Chain Mechanismshomepages.laas.fr/nic/AMoRo/publi/05itro.pdf · Motion Planning Algorithms for General Closed-Chain Mechanisms Juan Cort´es

Motion Planning Algorithms for General Closed-Chain Mechanisms

Juan Cortes and Thierry Simeon

LAAS-CNRS7, avenue du Colonel-Roche

31077 Toulouse - Francefax: +33 561 33 64 55

email: {jcortes,nic}@laas.fr

Corresponding author : Juan Cortes ([email protected])

Abstract:Kinematic loop-closure constraints significantly increase the difficulty of motion planning for articulated mechanisms.

Configurations of closed-chain mechanisms do not form a single manifold, easy to parameterize, as the configurations ofopen kinematic chains. In general, they are grouped into several subsets with complex topology than cannot be globallyparameterized. This paper presents a general approach for the extension of sampling-based motion planning algorithms to treatclosed-chain mechanisms. The basic principle consists in separating configuration variables into two sets: active variables andpassive variables. The planner directly acts on the active variables while the passive ones are obtained by solving loop-closureequations. Configurations of complex closed-chain mechanisms are computed by an algorithm called RLG that combinesrandom sampling with simple geometrical operations. The practical efficiency of the extended planners is shown throughseveral applications in robotics as well as in other domains such as graphic animation and computational biology.

Keywords: Motion planning, closed kinematic chains, sampling-based algorithms.

Submitted to IEEE Transactions of Robotics asRegular Paper

8th September 2005

Page 2: Motion Planning Algorithms for General Closed-Chain Mechanismshomepages.laas.fr/nic/AMoRo/publi/05itro.pdf · Motion Planning Algorithms for General Closed-Chain Mechanisms Juan Cort´es

SUBMITTED TO IEEE TRANSACTIONS ON ROBOTICS, VOL. 0, NO. 00, SEPTEMBER 2005 1

Motion Planning Algorithms forGeneral Closed-Chain Mechanisms

Juan Cortes, Thierry Simeon

Abstract— Kinematic loop-closure constraints significantly in-crease the difficulty of motion planning for articulated mecha-nisms. Configurations of closed-chain mechanisms do not forma single manifold, easy to parameterize, as the configurationsof open kinematic chains. In general, they are grouped intoseveral subsets with complex topology than cannot be globallyparameterized. This paper presents a general approach for theextension of sampling-based motion planning algorithms to treatclosed-chain mechanisms. The basic principle consists in sepa-rating configuration variables into two sets: active variables andpassive variables. The planner directly acts on the active variableswhile the passive ones are obtained by solving loop-closureequations. Configurations of complex closed-chain mechanismsare computed by an algorithm called RLG that combines randomsampling with simple geometrical operations. The practicalefficiency of the extended planners is shown through severalapplications in robotics as well as in other domains such asgraphic animation and computational biology.

Index Terms— Motion planning, closed kinematic chains,sampling-based algorithms.

I. I NTRODUCTION

ROBOT motion planning has led to active research overthe two last decades [2], [3]. More recently, several

sampling-based approaches (e.g. [4], [5]) have been proposedand successfully applied to challenging problems that re-mained out of scope for previously existing techniques. Theyallow today to handle practical motion planning problemsarising in such diverse fields as robotics, graphic animation,virtual prototyping or computational biology [6].

In this paper, we consider motion planning for closed-chainmechanisms. We present an extended formulation of the mo-tion planning problem in presence of kinematic loop-closureconstraints and we introduce a framework for the developmentof sampling-based algorithms (Sections II and IV). The addi-tional difficulty of this instance of the problem is that feasibleconfigurations form lower-dimensional subsets in the search-space with no available representation. The performance of thevery few approaches proposed for closed-chain mechanisms(Section III) significantly degrades for reasonably complexsystems, mainly due to the difficulty of generating randomsamples in such subsets. We propose a general and simplegeometric algorithm, called Random Loop Generator (RLG),for sampling random configurations satisfying loop-closureconstraints (Section V). RLG enables virtually any sampling-based planning algorithm to be extended to closed-chainmechanisms. We have implemented and experimented withits integration within PRM-based and RRT-based planners,obtaining very good results (Section VI).

This paper is an extended version of [1].

Fig. 1. A “closed-chain” version of the piano mover’s problem. The pianois moved by three cooperating mobile manipulators, creating multiple closedkinematic chains.

Complex articulated mechanisms with closed kinematicchains appear in all the domains where motion planningtechniques can be applied. Figure 1 illustrates an exampleof coordinated manipulation for an object handled by severalrobots. The generality and the practical efficiency of the ex-tended planners incorporating RLG permit to tackle such kindof problems as well as problems involving parallel robots andhuman-like characters, or problems arising in computationalbiology for the structural analysis of protein loops. All theseapplications are commented in Section VII. We concludedevising new directions for future research (Section VIII).

II. PROBLEM FORMULATION

The motion planning problem consists in finding a pathbetween two given locations of a mobile system that satisfiesintrinsic constraints as well as constraints that arise fromthe environment. Basically, motion constraints are due tothe kinematic structure of the mechanism and to collisionavoidance. Under these constraints, the problem can be posedand solved in theconfiguration-spaceC [7]. Then, it is reducedto explore the connectivity of the subsetCfree of the collision-free configurations.

The problem has been clearly formulated for articulatedmechanisms without kinematic loops (see [2] for a detailedformulation). In this case,C corresponds to the space ofthe joint variablesQ, called the joint-space. Topologically,Q is a smooth manifold, with a simple parameterization[8]. For an articulated mechanism withm independent joint

Page 3: Motion Planning Algorithms for General Closed-Chain Mechanismshomepages.laas.fr/nic/AMoRo/publi/05itro.pdf · Motion Planning Algorithms for General Closed-Chain Mechanisms Juan Cort´es

2 SUBMITTED TO IEEE TRANSACTIONS ON ROBOTICS, VOL. 0, NO. 00, SEPTEMBER 2005

Q

q4

M1

M2

q5

q1

q2

Qobst

Qobst

Qobst

θ1

θ3

θ2

M3

M4

Sq3 M2

M1

Fig. 2. Illustration for the formulation of the motion planning problem underkinematic loop-closure constraints. Configurations are grouped into severalsubsets embedded in the joint-space.

variables defined in real intervals,Q can be seen as am-dimensional hypercube. If the articulated mechanism containsclosed kinematic chains, then some joint variables are relatedby loop-closure equations [9]. A general expression of loop-closure constraints is:f(Q) = I , where f(Q) is a systemof non-linear equations andI is the identity displacement.The configuration-spaceC of a closed-chain mechanism is thesubset ofQ satisfying such equations. The stratification ofC leads to severalρ-dimensional manifoldsMi which can beconnected through sets of lower dimensionSk [10], [11]. Notethat ρ corresponds to the global mobility of the mechanism.TheMi are calledself-motion manifoldsand theSk are sets ofsingular configurations. The number of self-motion manifoldsis bounded, and it tends to decrease asρ increases [10].

Figure 2 illustrates a fictive example with three joint vari-ables{θ1, θ2, θ3} andρ = 2. Let us consider a function of theform f(θ1, θ2, θ3) = 0, representing loop-closure constraints.This function maps to several surfaces embedded in the joint-spaceQ. Such surfaces are the different self-motion manifoldsMi. In this example,M1 andM2 intersect at a singular setS. We have represented the obstacle regionQobst in the joint-space.Qfree is the complementary subset:Qfree = Q\Qobst.Cfree is the intersection ofQfree with the differentMi.Several situations can rise in motion planning queries withinthis example. The best case is a query for a path betweenq1 and q2. These configurations lie on the same self-motionmanifold and in the same connected component ofCfree, thusthere is a free path between them. A path is also feasiblebetweenq1 andq3, even if it contains singular configurations.However, forq4 andq5, the presence of obstacles makes theseconfigurations cannot be connected by a free path. Finally, acase that does not appear for open kinematic chains can riseunder closure constraints:q1 andq4 lie on the same connectedcomponent ofQfree but on different components ofC.

III. AVAILABLE TECHNIQUES

Two difficult problems have to be solved for planning themotions of closed-chain mechanism: first, computing the so-lution of a system of non-linear equations that represent loop-closure constraints, and then, finding paths in this solution setthat satisfy collision avoidance and eventually other motion

constraints. This section provides a brief survey of techniquesto solve loop-closure equations and discusses the existingapproaches for closed-chain motion planning.

A. Solution Methods for Loop-Closure Equations

The solution of loop-closure equations is a usual require-ment for the kinematic analysis and the synthesis of mecha-nisms. Two main approaches have been classically used in thisfield: continuationand elimination (see [12] for a completesurvey of these techniques). Polynomial continuation methods[13], [14] are purely numerical procedures able to find allpossible solutions of the set of non-linear equations (in contrastto other numerical methods, such as Newton-Raphson, whichconverge to a single solution). These methods are based onhomotopy techniques for gradually transforming a “start” sys-tem whose solutions are known to the system whose solutionsare sought. These methods are robust and applicable to anyset of equations. However, since they are iterative procedures,they are too slow in practice. Elimination approaches useone of the next algebraic methods: the Grobner Basis method[15], which is an iterative variable elimination technique, orthe resultant method [16], capable of eliminating all but onevariable in a single step. In both cases, the elimination processnormally leads to an univariate polynomial, relatively easy tosolve [17]. The applicability of the Grobner Basis methodis mainly limited by its algorithmic complexity. Resultantmethods can provide computationally fast techniques, but theyrequire geometric intuition to find (if possible) the formula forthe resultant.

Lately, interval methodsfor solving systems of non-linearequations have been proposed as an alternative to continuationand elimination methods. They are based on interval arithmetic[18] and manipulate upper and lower bounds of variables. Twomain classes of interval-based methods have been applied inrobot kinematics: those based on the interval version of theNewton method [19], [20], and those based on subdivision[21]–[23]. They are completely numerical and robust tech-niques, although implemented techniques are still slow.

The techniques above provide a complete solution to theloop-closure equations (i.e. they find all the solutions). How-ever, their applicability is limited. They have been applied tonon-redundant mechanisms (for which the number of solutionsis finite), to particular classes of parallel mechanisms and tosingle-loop mechanisms with only a few (up to three) degreesof redundancy [12], [22], [23]. For more complex mechanisms,these solution methods have to be combined with samplingtechniques to obtain discrete points in the solution set.

When the aim is only to obtain one of the possible so-lutions satisfying loop-closure constraints, the problem canbe formulated in a different way. In robotics, the inversekinematics problem for redundant mechanisms has been oftenformulated as an optimization problem. Given a metric inthe Euclidean space, the problem consists in minimizing anerror function which represents the distance between thecurrent location and the desired location of the robot end-effector. Such a formulation is used for example in [24]–[26]. Such optimization-based approaches can be used to

Page 4: Motion Planning Algorithms for General Closed-Chain Mechanismshomepages.laas.fr/nic/AMoRo/publi/05itro.pdf · Motion Planning Algorithms for General Closed-Chain Mechanisms Juan Cort´es

CORTES AND SIMEON: MOTION PLANNING ALGORITHMS FOR GENERAL CLOSED-CHAIN MECHANISMS 3

sample the variety, solution to the loop closure equations,by iteratively choosing different initial (open) configurationsof the mechanism. These techniques are general and easy toimplement. Their drawbacks are that they are exposed to thelocal minima problem and that the convergence can be slow.These drawbacks are more significant for highly-redundantmechanisms.

B. Motion Planning for Closed Kinematic Chains

Exact algorithms for solving the general instance of thepiano mover’s problem (e.g. [27], [28]), are, in theory, ca-pable to handle closure constraints. These methods rely onan algebraic formulation of the motion planning problem inwhich polynomial equations defining closure constraints canbe directly treated as other holonomic constraints such asthose imposed by obstacles. However, these approaches areimpractical because of their computational complexity that, inthe best case, is exponential in the dimension ofC [28]. Furtherdevelopments have been carried out attempting to reducethe complexity of exact algorithms. In particular, algorithmspresented in [29] are more interesting for motion planningproblems under closure constraints since they are specificallydesigned to compute the connectivity of algebraic varieties,and their complexity mainly depends on the dimension of thevariety rather than on the dimension of the ambient space (thejoint-space in our case). But even for these improved tech-niques, problems involving complex mechanisms still remainintractable.

Sampling-based motion planners have demonstrated theirefficacy for solving difficult problems in high-dimensionalspaces. TheProbabilistic RoadMap (PRM) [4] and theRapidly-exploring Random Trees(RRT) [5] are two ap-proaches that have had a particular success. However, onlyfew attempts had been made to extend such sampling-basedplanners to closed-chain mechanisms.

The first PRM-based approach able to handle mechanismswith closed chains was presented in [26]. The problem is for-mulated in the joint-spaceQ. Closure constraints are expressedby error functions involving distances in the Euclidean space.Numerical optimization techniques are used to sample and toconnect configurations in the subset ofQ satisfying these con-straints within a given tolerance. The approach is general butsuffers the drawbacks of optimization-based methods whichcan have a very slow convergence. A technique to randomlysample the tangent space of the constraints is proposed forincreasing the efficiency of the process to connect sampledconfigurations. More details of the method and the extensionof RRT-based algorithms were subsequently published in [30],[31]. For the RRT approach, the random configurations used tobias the exploration are generated ignoring closure constraints.The argument is that computing closed configurations is tooexpensive and does not provide appreciable benefit. We willshow in Section VI that this last assertion is not totally right.

The approach described in [32] treats closed kinematicchains within a PRM-based planner. Each loop in the mech-anism is broken into two subchains. For computing nodes,uniform random sampling is used to generate the configu-ration of one of the subchains (calledactive subchain) and

then an inverse kinematics problem is solved to obtain theconfiguration of the remaining part of the loop (calledpassivesubchain) in order to force closure. For computing edges,the local planner is limited to act on the active configurationparameters and the corresponding passive variables are com-puted for each intermediate configuration along the local path.For the efficiency of the roadmap computation, the passivesubchain of each loop must be a non-redundant mechanismwith closed-form inverse kinematics solution. As the authorsadmit, this means an important drawback when the approachis applied to a highly-redundant loop. The probability ofrandomly generating configurations of a long active subchainfor which a configuration of the passive subchain satisfyingloop-closure constraints exists is very low. The performance ofthe algorithm drops off significantly due to this fact. Recently,a solution to handle highly-redundant loops has been proposedby the introduction of a technique calledIterative Relaxationof Constraints(IRC) [33] into this kind of sampling-basedmotion planning approach. IRC generates first configurationsof a simplified mechanism that only considers somepivotjoints in the original chain with rigid virtual links betweenthem. For each feasible configuration of such a simplifiedchain, the configuration of the original chain portions betweenconsecutive pivots is computed by inverse kinematics. Thedrawback of this kind of approach is that multiple inversekinematics sub-problems have to be solved to obtain theconfiguration of a single loop.

Another class of path planning method for closed kine-matic chains was proposed in [34]. The approach is basedon a complete understanding of the singularity sets in theconfiguration-space of the closed-chain mechanism. Unfortu-nately, techniques providing such a complete information areonly available for the limited classes of mechanisms treatedin the referred paper: spatial mechanisms with spherical jointsand planar mechanisms with revolute joints. Besides, thismethod neglects collision avoidance. For computing collision-free motions, the best option proposed by the author is touse this technique as the local planner within a PRM-basedalgorithm. Such hybrid motion planner cannot be consideredcomplete, but only probabilistically complete.

C. Contribution

We propose a practical method for planning the motionsof general closed-chain mechanisms. Our approach, describedin Section IV, consists in extending sampling-based plannersto treat problems with loop-closure constraints. The principle,that we share with [32], is to separate configuration variablesinto two sets: active variables and passive variables. Theconfiguration-space is explored playing on the active variables,while the value of the passive ones is obtained by solvingloop-closure equations. An important item within our approachis the RLG sampling technique (Section V) that permits toovercome the difficulty of computing random configurationsof complex closed-chain mechanisms. The various examplesprovided in Section VII show the generality and the efficiencyof the implemented planner to solve complex problems thatare out of the scope of other existing techniques.

Page 5: Motion Planning Algorithms for General Closed-Chain Mechanismshomepages.laas.fr/nic/AMoRo/publi/05itro.pdf · Motion Planning Algorithms for General Closed-Chain Mechanisms Juan Cort´es

4 SUBMITTED TO IEEE TRANSACTIONS ON ROBOTICS, VOL. 0, NO. 00, SEPTEMBER 2005

IV. SAMPLING-BASED MOTION PLANNING

UNDER LOOP-CLOSURECONSTRAINTS

This section presents a general framework to extendsampling-based approaches for planning the motions of gen-eral closed-chain mechanisms. The use of sampling-basedplanners is strongly justified since, for the kind of problemswe address (see Section VII), there is no available techniqueproviding a complete, exact representation ofCfree. However,there are important difficulties for sampling and for checkingthe connectivity of configurations of closed-chain mechanisms.Next, we discuss how to deal with these difficulties.

A. On the Parameterization ofCConfigurations of a closed-chain mechanism are grouped

into a finite number of lower-dimensional manifoldsMi

embedded in the joint-spaceQ (the search-space in ourproblem). These manifolds can be parameterized, at leastlocally, by a set ofρ independent parameters, selected fromthe joint variables. Points in the different manifolds can begenerated by sweeping theρ parameters through their rangeand evaluating the loop-closure equations that provide thevalue of the other (dependent) variables. Anatlasof each oneof these manifoldsMi can be constituted by a finite number(in general not exceeding the dimension ofQ, m) of localcharts considering different combinations ofρ parameters.Without loss of generality, sets ofρ consecutive joint variablesin a kinematic chain can be chosen as local coordinates [11].

Following a terminology also used in [32], we callac-tive variablesqa the set of theρ joint variables chosen asparameters of a local chart andpassive variablesqp theremaining set of them− ρ dependent joint variables, so that{qa, qp} = q ∈ C ⊂ Q.

B. Main Principle

The core of our approach is to explore the connectivityof Cfree by sampling configurations and by testing feasibleconnections through local parameterizations ofC. Motionplanning algorithms are applied on the local parametersqa.Using a roadmap method such as PRM, the nodes are gener-ated by samplingqa and local paths are obtained by applying alocal planner (also calledsteering method) to these parameters.In a similar way,qa are the configuration parameters directlyhandled by incremental search methods like RRT. Obviously,for each computed value of the parameters, loop-closure equa-tions must be solved for obtaining the whole configuration ofthe mechanismq ∈ C. Therefore, the efficiency of the plannerpartially relies on the efficient solution of these equations.

q1

q2

q3q3

q2q1

θ1 θ1

M1

θ2 θ3M1

Fig. 3. Projection ofM1 on the planesθ1θ2 andθ1θ3.

C. Configuration Sampling

Given a set of active variablesqa, loop-closure equationshave real solutions only for a range of values of each jointvariable, that we call theclosure range. Besides, the closurerange of a parameter depends on the value of the otherparameters. The last assertion is illustrated in Figure 3, thatshows the projection of the manifoldM1 of Figure 2 on theplanesθ1θ2 and θ1θ3. Let us considerqa = {θ1, θ2} (the leftimage). If we sample firstθ1 and thenθ2 for generating aconfigurationq1 ∈ M1, thenθ1 can be sampled in its wholeclosure range (i.e. the feasible range for any value of the otherjoint variables). However,θ2 is valid only in a subset of itswhole closure range, determined by the value ofθ1.

There is no general and efficient method to define closureranges of joint variables. Thus, in practice, the only possibilityfor sampling configurations is to use a trial method: samplingparametersqa in the intervals defined for joint variablesand solving the loop-closure equations. Nevertheless, when aclosure range is very restricted with respect to the interval of ajoint variable, too many samples maybe tested before findinga feasible configuration. Hence, too much computing time isspent in solving closure equations leading to imaginary values.This is an important drawback for the efficiency of motionplanners, and mainly for those using a roadmap approach, suchas the planner in [32]. The RLG algorithm, further discussedin Section V, resolves this problem using simple geometricaloperations.

D. Computing Local Path

Sampling-based roadmap methods check the connectivityof nearby configurations by local paths. Incremental searchmethods try to expand a configuration toward a local goal, pro-ducing also a sort of local path. Such paths can be computedby explicitly variating the local parametersqa and solvingloop-closure equations with a given resolution for obtainingqp.

Without a topological characterization ofC, the number ofdifferent sets of parametersqa required to determine if twoconfigurations are connected or not is a priori unknown. Thisfact can easily be understood on Figure 3. Let us considerthat a linear interpolation of the parametersqa producesa kinematically feasible path (i.e. there are no differentialconstraints). Then, any two configurations lying onM1 can beconnected (directly or indirectly) usingqa ={θ1, θ2} as localparameters. On the contrary, choosingqa = {θ1, θ3} leads toa non-complete solution of motion planning queries withinM1. A solution path between configurationsq1 and q2 canbe immediately obtained since they are directly connected bya local path. However, a path betweenq1 and q3 can not befound using sampling-based techniques. The point indicatedby the small square is a singularity of this parameterization.The probability of generating this point by sampling values ofqa ={θ1, θ3} is null, as well as the probability of sampling twopoints on a line (local path) passing through this singularity.Thus, finding a feasible path betweenq1 and q3 requiresanother set of local parameters than{θ1, θ3}.

Local paths have to satisfy other motion constraints besidesloop-closure, such as collision avoidance. In this paper, we

Page 6: Motion Planning Algorithms for General Closed-Chain Mechanismshomepages.laas.fr/nic/AMoRo/publi/05itro.pdf · Motion Planning Algorithms for General Closed-Chain Mechanisms Juan Cort´es

CORTES AND SIMEON: MOTION PLANNING ALGORITHMS FOR GENERAL CLOSED-CHAIN MECHANISMS 5

θ1

θ3

θ2

M2

M3

M4

M1

Fig. 4. Probabilistic roadmap capturing the connectivity ofCfree for thefictive motion planning problem involving kinematic closure constraints ofSection II.

do not talk about these other constraints, that can be checkedalong local paths by techniques similar to those used for open-chain mechanisms (e.g. [35]).

E. Dealing with Kinematic Singularities

Up to now we have limited our discussion to the case ofa single manifold. However,C may be composed of severalmanifolds. These manifolds are either disjoint, or they intersectat lower-dimensional subsets corresponding to kinematicallysingular configurations. Therefore, exploring the connectivityof Cfree requires to deal with these singularities.

The roadmap represented in Figure 4 has been built usingqa = {θ1, θ2} as only set of parameters. Each point{θ1, θ2}maps to two configurations (i.e. there are two solutions forqp =θ3) on different manifolds for all the domain underM1

andM2 except for the singular setS where they intersect,so that configurations in these manifolds are connected bythis singular set. This kinematic singularity corresponds to thesingularity of the parameterizationqa = {θ1, θ3} commentedabove. It can be traversed by a local path on the currentparameterization. When a local path is computed between twoconfigurations at different sides ofS, the bifurcation of thesolution can be easily detected when checking the local pathvalidity, and the singular configuration (marked by the smallrectangle in Figure 4) connectingM1 andM2 can then beidentified.

Let us consider now a more difficult case whereM1 andM2 do not intersect along a line but meet at a point. None ofthe three possible parameterizations would permit to identifysuch a singular point exactly. The difference in this case isthat the singular set has dimensionρ− 2 instead ofρ− 1. Intheory, sets of kinematically singular configurations can havedimension fromρ − 1 to zero. Using sampling techniquesfor generating configurations onC and steering methods onsubsets of configuration parametersqa, our approach hasonly the guarantee (if we do not admit a tolerance) to findconnections through singular sets of dimensionρ−1. The othersingular sets, from dimensionρ − 2 to isolated singularities,must be identified by other methods. The general treatment ofsuch singularities goes beyond the scope of this paper. As faras we know, techniques able to globally characterize singularconfigurations have been proposed only for particular classesof mechanisms (e.g. [34], [36]).

V. THE RLG ALGORITHM

We have developed an algorithm, that we call Random LoopGenerator (RLG), for sampling configurations of closed-chainmechanisms. The general approach was presented in [37].Then, a variant that treats more efficiently parallel mechanismswas introduced in [38]. More details can be found in [39]. Inthis section, we present a synthesis of the approach.

A. Mechanical System Decomposition

1) General Case:RLG is based on a decomposition of themechanism into open kinematic chains. In the general case,single loops are handled separately, in a determined order.For each loop, sets of active and passive joint variables aredefined consecutively such that they correspond to segmentsof the kinematic chain. We callpassive subchainthe segmentinvolving the passive variables andactive subchainsto theother segments. There can be one or two active subchainsdepending on the placement of the passive subchain. Thepassive subchain is a non-redundant mechanism whose end-frame can span full-rank subsets of the workspace. In general,this requires three joint variables for a planar mechanismand six for a spatial mechanism. Efficient methods to solveinverse kinematics problems for such mechanisms are usuallyavailable [12].

In multi-loops, some joint variables are involved in theconfiguration of several individual loops. Their value is com-puted for the single loop treated first, and then, these commonportions of the mechanism become rigid bodies when treatingthe other loops. Figure 5 shows an example of a planar multi-loop mechanism. The individual loops are designated byLi,where the indexi indicates the order for the treatment. Thefigure also illustrates the decomposition ofL2. This6R planarlinkage has mobilityρ = 3. Thus, qa and qp contain threejoint variables each. In this illustration we have chosenθ3, θ4

andθ5 (the variables associated with jointsJ3, J4 andJ5) tobe the passive variables. Then, active variables can be seenas configuration parameters of two open chains rooted at a(fictive) link A0,6.

passive subchain

active subchains

L3

L2

L1

A2 A4

A5A

1

A0,6

A3

J6

J5

J4J2 J3

J1

Fig. 5. Decomposition of a multi-loop in single loops, and a possible choiceof passive and active subchains in loopL2.

Page 7: Motion Planning Algorithms for General Closed-Chain Mechanismshomepages.laas.fr/nic/AMoRo/publi/05itro.pdf · Motion Planning Algorithms for General Closed-Chain Mechanisms Juan Cort´es

6 SUBMITTED TO IEEE TRANSACTIONS ON ROBOTICS, VOL. 0, NO. 00, SEPTEMBER 2005

2) Parallel Mechanisms:A parallel mechanism is an artic-ulated multi-loop structure in which a solid, the end-effectoror platformP, is connected to the baseA0 by at least twoindependent kinematic chainsKi. The pose ofP can bedefined by a vectorqP = {xP , yP , zP , γP , βP , αP}. Thethree first elements represent the position ofFP relative toFA0 , the frames associated withP andA0 respectively. Theorientation is given by three consecutive rotations around thecoordinate axes ofFP 1. We consider the configurationq ofa parallel mechanism is defined by the platform pose andthe configuration of the chainsKi: q = {qP , qK1 , . . . , qKnk

}.The parameters defining the platform poseqP are selected asactive variables. For a given platform pose, the base-frame andthe end-frame of each chainsKi have fixed relative location.Thus, they have to be treated as closed kinematic chains. If achainKi is redundant, it is decomposed in active and passivesubchains as explained above for a single loop. Thus, we canseparate joint variables as follows:qKi = {qa

Ki, qpKi}. Hence,

variables defining the configurationq of a parallel mechanismare divided into active and passive such that:

qa = {qP , qaK1

, . . . , qaKnk} , qp = {qp

K1, . . . , qp

Knk}

B. Sampling Process

RLG performs a “guided”-random sampling forqa thatnotably increases the probability of obtaining real solutions forqp when solving the loop-closure equations. Figure 6 illustratesthe process on a planar6R linkage (the loopL2 in Figure 5).The active joint variables are computed sequentially by thefunction SAMPLE qa detailed in Algorithm 1. The two activesubchains are treated alternately. The idea of the algorithmis to progressively decrease the complexity of the closedchain until only the configuration of the passive subchain,qp,remains to be solved (by inverse kinematics).

At each iteration, the function COMPUTECLOSURERANGE

returns a set of intervalsIc which approximate the closurerange of a joint variable, for a fixed configuration of theportions of loop previously generated. The approximation mustbe conservative in the sense that no region ofC is excludedfor the sampling. This is required in order to guaranteeany form of sampling-based completeness (e.g. probabilisticcompleteness) of motion planning algorithms. The value ofthe joint variable is randomly sampled inside the intervalsIc.

The problem of computing the closure range of a joint vari-able can be formulated as follows. Given a closed kinematicchainbKe involving joints fromJb to Je (we considerb < e inthis explanation), two open kinematic chains are obtained bybreaking the linkAb betweenJb andJb+1. A suitable break-point is the physical placement ofJb+1, but any other pointcan be chosen. A frameFc associated with this break-pointcan be seen as the end-frame of both open chains. The closurerange of the joint variable corresponding toJb is the subsetof values makingFc reachable by the chaineKb+1. Solvingsuch a problem requires to represent the workspace of thischain, which is in general very complicated. For our purpose,a simple and fast method is preferred versus a more accurate

1RLG could also handle other parameterizations (e.g. Euler angles).

d)

b)a)

c)

θ2

RWS(2K5)

θ1 θ6RWS(6K2)

RWS(5K3)

IK−

IK+

Fig. 6. Steps of the RLG algorithm performing on a6R planar linkage.

Algorithm 1: SAMPLE qa

input : the loopLoutput : the parametersqa

begin1 (Jb, Je) ← INITSAMPLER(L);

while not ENDACTIVECHAIN (L, Jb) doIc ← COMPUTECLOSURERANGE(L, Jb, Je);if Ic = ∅ then goto line 1;SETJOINTVALUE(Jb, RANDOM(Ic));Jb ← NEXTJOINT(L, Jb);if not ENDACTIVECHAIN (L, Je) thenSWITCH(Jb, Je);

end

but slower one. RLG handles simple volumes that bound thereachable workspace (i.e. only considering positional reach-ability). They are denoted by RWS in Figure 6. In general,a reasonable choice for the RWS is aspherical shell2 withexternal and internal radii corresponding respectively to anupper bound of the maximum length and a lower bound ofthe minimum length of the chain. Once defined RWS(eKb+1),computing the approximation of the closure intervals forJb

is very simple. IfJb is a revolute joint, then the origin ofFc

describes a circle around its axis. IfJb is a prismatic joint,the origin of Fc moves on a straight-line segment. Then,Ic

is obtained from the intersection of a circle or a line with asimple volume RWS.

The function to sampleqP for a parallel mechanism isbased on the same principle than SAMPLE qa. The parametersare sampled progressively from the computed closure rangeapproximations. The main difference is that the closure rangedepends now on the satisfaction of closure constraints thatsimultaneously involve several single loops. It its computed byintersecting the ranges obtained for each single loop separately.

2The region between two concentric balls of differing radii.

Page 8: Motion Planning Algorithms for General Closed-Chain Mechanismshomepages.laas.fr/nic/AMoRo/publi/05itro.pdf · Motion Planning Algorithms for General Closed-Chain Mechanisms Juan Cort´es

CORTES AND SIMEON: MOTION PLANNING ALGORITHMS FOR GENERAL CLOSED-CHAIN MECHANISMS 7

VI. PERFORMANCE OFRLG

RLG is a general technique, applicable to any sampling-based planner. In this section, we show examples of motionplanning problems solved by PRM and RRT planners extendedto handle loop-closure constraints. The goal of the experimentsis to compare the performance of the planners with andwithout incorporating RLG. The tests have been made withthe software Move3D [40], in which our algorithms have beenimplemented.

A. Results with a PRM-based Planner

PRM-based algorithms build a graph (the roadmap) whosenodes are randomly sampled configurations that satisfy motionconstraints. For a closed-chain mechanism, only the parame-ters qa are sampled, and loop-closure equations have to besolved to determine if the sample yields a valid configurationor not. We have compared the performance of the plannerusing an uniform random sampling3 or RLG for samplingqa.

Figure 7 shows four manipulators handling an object. Thewhole system can be seen as an articulated parallel structure.If the grasps are modeled as fixed attachments, the composedmechanism involvesm = 30 joint variables (6 for eachmanipulator and 6 for the movable object), and the mobilityis ρ = 6. Since the manipulators are non-redundant,qa = qP :the parameters defining the location of the object. Almostall (more than 90%) the configurationsqP generated byRLG make the object simultaneously reachable by the fourmanipulators. Using a uniform random sampling, the boundsof the parametersqP have first to be adjusted “by hand”with relation to the workspace of the manipulators (this isnot necessary for RLG). Even with a good setting of thebounds, less than 0.05% of the samples yield valid (closed)configurations. Let us see now the repercussion when solvingmotion planning problems using the PRM approach. In theproblem illustrated in the figure, the manipulators have tounhook an object and to insert it into the cylindrical axis.For computing a roadmap containing the solution path to

3Implemented using therand() function of the GNU C Library.

Fig. 7. Motion planning problem for four robotic arms manipulating anobject. Start and goal configurations (left) and trace of the solution path (right).

this problem, millions of poses generated by uniform randomsampling were necessary and the process took more than 20minutes4. Using RLG for sampling configurations, less than500 random platform poses were generated and the roadmapwas built in less than 20 seconds. This result show that RLGavoids an enormous number of futile operations (i.e. calls toinverse kinematics functions) which drop off the performanceof the planner.

B. Results with an RRT-based Planner

The principle of RRT is to use uniformly distributed config-urationsqrand, sampled at random inC, to bias the expansionof search trees inCfree. Under loop-closure constraints, theuse of samples inQ was proposed in [30] in order to evadethe cost of samplingC. We have compared the performance ofa uniform random sampling inQa versus RLG for generatingqarand.In the example illustrated in Figure 8, two robotic arms

coordinate for manipulating a twisted bar among two verticalbars that restrict its motion. The goal is to solve a motionplanning query between configurations in Figure 8.a andFigure 8.d. The figure shows a sequence of intermediateconfigurations of the solution of this puzzle-like problem. Thedifficulty of this problem depends on the distance between thevertical barsdbars. We have made tests with three settings:dbars = {150, 175, 200}. In this example,qa corresponds tothe configuration of one of the arms grasping the bar. Thenext table shows averaged results of tests.N is the number ofiterations for expanding the search trees.T is the computingtime. These results show the importance of an appropriatesampling considering the presence of kinematic loops. Thegain obtained using the RLG sampling technique increaseswith the difficulty of the motion planning problem.

dbarsUniform With RLG

N T N T gain T200 2719 42.26 118 3.23 × 13175 4995 102.92 424 6.30 × 16150 9761 312.76 615 9.14 × 34

4Tests were performed using a Sun Blade 100 Workstation with a 500-MHzUltraSPARC-IIe processor.

Fig. 8. Sequence of the solution to a difficult motion planning problem fortwo robotic arms manipulating an object among obstacles.

Page 9: Motion Planning Algorithms for General Closed-Chain Mechanismshomepages.laas.fr/nic/AMoRo/publi/05itro.pdf · Motion Planning Algorithms for General Closed-Chain Mechanisms Juan Cort´es

8 SUBMITTED TO IEEE TRANSACTIONS ON ROBOTICS, VOL. 0, NO. 00, SEPTEMBER 2005

VII. A PPLICATIONS

This section is an overview of some fundamental andpractical applications of closed-chain motion planning.

A. Beyond Basic Motion Planning

Kinematic loop-closure constrains appear in some extendedformulations of the motion planning problem. We have partic-ularly studied problems concerning robotic manipulation.

1) Coordinated Manipulation Planning:A system consist-ing of several manipulators grasping the same object can bemodeled like a closed-chain mechanism. Thus, closed-chainmotion planning queries have to be solved for computingcoordinated motions of the manipulators. This application hasbeen illustrated with the two examples in Section VI and theproblem shown in Figure 1.

2) Manipulation Task Planning:The practical closed-chainplanner described in this paper is at the origin of a novelmanipulation task planning approach presented in [41]. Theidea is to explore the connectivity of the subset where themanipulation sub-paths (i.e.transit and transfer paths) meetvia a virtual closed-chain mechanism consisting of the robotgrasping the movable object placed at a stable position. Ourmanipulation task planner automatically generates, amongcontinuous sets, the grasps and the intermediate placements ofthe movable object required to solve complicated problems. Itis the first general manipulation planner with this capability.

3) Contact Motion Planning:Existing approaches for con-tact motion planning (e.g. [42]) do not consider the constraints(such as collision avoidance, workspace limits or singularities)imposed by the manipulator that handles the mobile object.Simultaneously considering contact constraints and these othermotion constraints can be made via a virtual closed-chainmechanism consisting of the manipulator and the mobileobject touching the static contact surface. The techniquesthat we have presented, combined with other techniques toidentify classes of contacts (e.g. [43]), could solve this kindof problems.

B. Practical Applications

In the last years, we have investigated practical applicationsof closed-chain motion planning. Here we summarize theobtained results.

1) Parallel Robot Design and Control:Applied to parallelrobots, motion planning algorithms can help designers of thesemechanisms, or can provide useful data for real-time trajectoryplanning. Our work on parallel mechanisms [38] represents thefirst effective application of sampling-based planners to thiskind of articulated structures. The generality of our approachis demonstrated by the complexity of the systems that it isable to treat, such as the model of the Logabex-LX4 [44](Figure 9), whose configuration-space is a 25-dimensionalvariety embedded in a 97-dimensional joint-space. Planningqueries for moving the manipulator with the grasped bar fromone to another opening of the bridge were solved by theextended RRT-based algorithm in less than 1 minute.

Fig. 9. Model of the robot Logabex-LX4, composed of four Gough-Stewartplatforms connected in series, and trace of a collision-free path.

Fig. 10. Humanoid motion planning applications: a) Mechanical partassembly planning: the mannequin should remove the windscreen wipermotor with two hands (courtesy of Kineo-CAM). b) Coordinated human-robotmanipulation: one robot in the problem of Figure 1 is replaced by a human.

2) Humanoid Motions:Our closed-chain motion planningalgorithms have also been applied to several issues arisingin humanoid motion studies. The first one deals with me-chanical part assembly planning [45]. In such a context, theproblem is to validate the feasibility of a disassembly pathfor a mechanical part when moved by a digital mannequin.Figure 10.a shows an example in the automotive industry.The same algorithm has been applied to study human-robotinteraction planning [46]. The challenge here is to combineboth locomotion and coordinated motion (Figure 10.b). Finallythe same algorithm appears as a component of dynamic taskplanning for humanoid robots presented in [47].

3) Protein Loop Mobility Analysis:Motion planning tech-niques can be used as new tools to help the resolution ofimportant open problems in computational biology [48], [49].We discuss in [50], [51] their application to the structuralanalysis of protein loops. Such algorithms, acting on me-chanical models of molecules, can be used as efficient filtersfor conformational search methods by making a geometrictreatment of strong energetic constraints: maintaining the back-bone integrity (i.e. loop-closure) and avoiding steric classes.We have developed a conformational sampling algorithm that

Page 10: Motion Planning Algorithms for General Closed-Chain Mechanismshomepages.laas.fr/nic/AMoRo/publi/05itro.pdf · Motion Planning Algorithms for General Closed-Chain Mechanisms Juan Cort´es

CORTES AND SIMEON: MOTION PLANNING ALGORITHMS FOR GENERAL CLOSED-CHAIN MECHANISMS 9

Fig. 11. Geometrically feasible conformational change of the “thumb” hairpinloop of xylanase fromThermobacillus xylanilyticus.

provides random loop conformations achieving such geometricconstraints. The algorithm combines RLG for generating thebackbone conformation with other sampling and collisiondetection techniques [52] to obtain feasible conformationsof the side-chains. We also propose a new conformationalsearch technique, inspired by the RRT approach, for studyinggeometrically feasible loop motions. Preliminary results arepromising. They demonstrate the capacity of the techniquesto handle protein models with long loops that involve severaldozens of degrees of freedom in the backbone and in the side-chains. Figure 11 illustrates an example of such a long loopin the model of xylanase fromThermobacillus xylanilyticus.The articulated loop model involves 68 joint variables (42for the closed main-chain and 26 for the side-chains). Theloop motion represented in the figure was computed in onlysome seconds using our geometric motion-planning-basedalgorithms. Computing this kind of large-amplitude molecu-lar motions is too computationally expensive with availablemolecular modeling techniques, based on energy functions.

VIII. C ONCLUSIONS ANDFUTURE WORK

We have introduced sampling-based motion planning al-gorithms into a formulation of the motion planning prob-lem extended to closed-chain mechanisms. We have triedto give general directives without focusing on a particularimplementation. A main contribution in our approach is theRLG algorithm, which permits to overcome the challengeof sampling random configurations for general closed-chainmechanisms. The results obtained in different domains ofapplication when solving difficult problems with PRM-basedand RRT-based extended planners demonstrate the efficacy andthe generality of the approach.

Several points remain for future research. Some of themconcern the RLG sampling algorithm. RLG provided goodresults in all our experiments. Nevertheless, a deeper analyticalwork is necessary in order to characterize its performance.Also, combining RLG with other forms of sampling than thepseudo-random sampling used in the current implementationsshould be studied. Using recently proposed quasi-random

sequences or multi-resolution grids [53] seems to be an inter-esting way to follow. Another improvement of RLG involvesthe selection of active and passive subchains. A generalautomatic method, based on an analysis of kinematic diagramsof mechanisms, remains to be devised. A first attempt wasrecently proposed in [54]. However a robust method for realapplications should include further mechanical and kinematicconsiderations.

Recent interval methods [22], [23] appear to be anothermatter to study for the improvement of closed-chain motionplanning techniques. Interval methods can provide a completeapproximated representation of the whole set of configurationssatisfying loop-closure equations. They compute a set of boxesthat contain the continuum of solutions. Such a representationis very suitable for the application of sampling-based motionplanning algorithms.

Another possible improvement concerns local paths compu-tation. Techniques based on numerical continuation methods[13] appear to be efficient tools for “tracking” a point in thesolution space to loop-closure equations, given a variationof a set of independent parameters. Such techniques couldreplace the discrete process currently used for computing andvalidating local paths.

Although the integration of interval methods and con-tinuation methods within the algorithms could improve thesearch and the validation processes in closed-chain motionplanning, they will not completely solve difficulties imposedby the existence of singularities in the configuration-space. Ageneral methodology for the treatment of singularities withinsampling-based motion planning algorithms remains an opentopic to be further investigated.

Concerning the applications, our future research will mainlybe focused on computational biology. We intend to furtherstudy problems in structural biology that require the devel-opment of new techniques for the conformational analysisof protein loops. A first goal is to get efficient algorithmsto capture the whole subset of the geometrically feasibleconformations of one or several loops in the same protein.The next goal is to handle several proteins that interactwhile changing the conformation of loops on their surfaces.Applications to structural biology are attractive for the algo-rithmic development because of the kinematic complexity ofmolecular models. Obviously, robotic applications could alsobenefit from improvements achieved in this field.

ACKNOWLEDGMENTS

This work has been supported by the European projectIST-37185 MOVIE. We thank Lydia Kavraki, Steven LaValle,Jean-Paul Laumond, Jean-Pierre Merlet, Marc Renaud, LluısRos and Federico Thomas for helpful discussions.

REFERENCES

[1] J. Cortes and T. Simeon, “Sampling-based motion planning underkinematic loop-closure constraints,” inAlgorithmic Foundations ofRoadmaps VI (WAFR2004), M. Erdmann, D. Hsu, M. Overmars, andF. van der Stappen, Eds. Springer-Verlag, Berlin, 2005, pp. 75–90.

[2] J.-C. Latombe,Robot Motion Planning. Kluwer Academic Publishers,Boston, 1991.

Page 11: Motion Planning Algorithms for General Closed-Chain Mechanismshomepages.laas.fr/nic/AMoRo/publi/05itro.pdf · Motion Planning Algorithms for General Closed-Chain Mechanisms Juan Cort´es

10 SUBMITTED TO IEEE TRANSACTIONS ON ROBOTICS, VOL. 0, NO. 00, SEPTEMBER 2005

[3] S. M. LaValle,Planning Algorithms. Cambridge University Press (alsoavailable at http://msl.cs.uiuc.edu/planning/), to be published in 2006.

[4] L. E. Kavraki, P. Svestka, J.-C. Latombe, and M. Overmars, “Proba-bilistic roadmaps for path planning in high-dimensional configurationspaces,”IEEE Trans. Robot. Automat., vol. 12(4), pp. 566–580, 1996.

[5] S. M. LaValle and J. J. Kuffner, “Rapidly-exploring random trees:Progress and prospects,” inAlgorithmic and Computational Robotics:New Directions (WAFR2000), B. Donald, K. Lynch, and D. Rus, Eds.A.K. Peters, Boston, 2001, pp. 293–308.

[6] J.-C. Latombe, “Motion planning: A journey of robots, molecules, digitalactors, and other artifacts,”Int. J. Robot. Res., vol. 18(11), pp. 1119–1128, 1999.

[7] T. Lozano-Perez, “Spatial planning: A configuration space approach,”IEEE Trans. Comput., vol. 32(2), pp. 108–120, 1983.

[8] J. W. Burdick, “Kinematic analysis and design of redundant robotmanipulators,” Ph.D. dissertation, Stanford University, 1988.

[9] J. M. McCarthy,Geometric Design of Linkages. Springer-Verlag, NewYork, 2000.

[10] J. W. Burdick, “On the inverse kinematics of redundant manipulators:Characterization of the self-motion manifold,”Proc. IEEE Int. Conf.Robot. Automat., pp. 264–270, 1989.

[11] F. Thomas, “The self-motion manifold of the n-bar mechanism,” inComputational Kinematics, J. Angeles, G. Hommel, and P. Kovacs, Eds.Kluwer Academic Publishers, Dordrecht, 1993, pp. 95–107.

[12] J. Nielsen and B. Roth, “Formulation and solution for the direct andinverse kinematics problem for mechanisms and mechatronic systems,”Proc. NATO Adv. Study Inst. Comp. Meth. in Mech., vol. 1, pp. 233–252,1997.

[13] E. L. Allgower, Numerical Continuation Methods. Springer-Verlag,Berlin, 1990.

[14] C. W. Wampler, A. P. Morgan, and A. J. Sommese, “Numerical contin-uation methods for solving polynomial systems arising in kinematics,”ASME J. Mech. Design, vol. 112, pp. 59–68, 1990.

[15] B. Buchberger, “Grobner bases: An algorithmic method in polynomialideal theory,” in Recent Trends in Multidimensional Systems Theory,N. Bose, Ed. D. Reidel Publishing Company, Dordrecht, 1982, pp.184–229.

[16] I. M. Gelfand, M. M. Kapranov, and A. V. Zelevinsky,Discriminants,Resultants and Multidimensional Determinants. Birkhauser, Boston,1994.

[17] V. Y. Pan, “Solving a polynomial equation: Some history and recentprogress,”SIAM Review, vol. 39(2), pp. 187–220, 199.

[18] R. E. Moore,Methods and Applications of Interval Analysis. SIAM,Philadelphia, 1979.

[19] R. S. Rao, A. Asaithambi, and S. K. Agrawal, “Inverse kinematicsolution of robot manipulators using interval analysis,”ASME J. Mech.Design, vol. 120, pp. 147–150, 1998.

[20] A. Castellet and F. Thomas, “An algorithm for the solution of inversekinematics problems based on an interval method,” inAdvances inRobot Kinematics, M. Husty and A. Lenarcic, Eds. Kluwer AcademicPublishers, Dordrecht, 1998, pp. 393–403.

[21] E. C. Sherbrooke and N. M. Patrikalakis, “Computation of the solutionsof nonlinear polynomial systems,”Comput. Aided Geom. Design, vol.10(5), pp. 379–405, 1993.

[22] J.-P. Merlet, “A parser for the interval evaluation of analytical functionsand its applications to engineering problems,”J. Symbolic Comput.,vol. 31, pp. 475–486, 2001.

[23] J. M. Porta, L. Ros, F. Thomas, and C. Torras, “A branch-and-prunesolver for distance constraints,”IEEE Trans. Robot. Automat., vol. 21(2),pp. 176–187, 2005.

[24] C. Welman, “Inverse kinematics and geometric constraints for artic-ulated figure manipulation,” master’s thesis, Simon Fraser University,1999.

[25] J. M. Ahuactzin and K. Gupta, “The kinematic roadmap: A motionplanning based approach for inverse kinematics of redundant robots,”IEEE Trans. Robot. Automat., vol. 15(4), pp. 653–669, 1999.

[26] S. M. LaValle, J. H. Yakey, and L. E. Kavraki, “A probabilistic roadmapapproach for systems with closed kinematic chains,”Proc. IEEE Int.Conf. Robot. Automat., pp. 1671–1676, 1999.

[27] J. T. Schwartz and M. Sharir, “On the piano movers’ problem ii: Gen-eral techniques for computing topological properties of real algebraicmanifolds,” Adv. Appl. Math., vol. 4, pp. 298–351, 1983.

[28] J. F. Canny,The Complexity of Robot Motion Planning. MIT Press,Cambridge, MA, 1988.

[29] S. Basu, R. Pollack, and M.-F. Roy, “Computing roadmaps of semi-algebraic sets on a variety,”J. Am. Math. Soc., vol. 13(1), pp. 55–82,2000.

[30] J. H. Yakey, “Randomized path planning for linkages with closedkinematic chains,” master’s thesis, Iowa State University, 2000.

[31] J. H. Yakey, S. M. LaValle, and L. E. Kavraki, “Randomized pathplanning for linkages with closed kinematic chains,”IEEE Trans. Robot.Automat., vol. 17(6), pp. 951–958, 2001.

[32] L. Han and N. M. Amato, “A kinematics-based probabilistic roadmapmethod for closed kinematic chains,” inAlgorithmic and ComputationalRobotics: New Directions (WAFR2000), B. Donald, K. Lynch, andD. Rus, Eds. A.K. Peters, Boston, 2001, pp. 233–245.

[33] O. B. Bayazit, D. Xie, and N. M. Amato, “Iterative relaxation ofconstraints: A framework for improving automated motion planning,”Proc. IEEE Int. Conf. Intel. Rob. Syst., 2005, to appear.

[34] J. C. Trinkle and R. J. Milgram, “Complete path planning for closedkinematic chains with spherical joints,”Int. J. Robot. Res., vol. 21(9),pp. 773–789, 2002.

[35] M. C. Lin and D. Manocha, “Collision and proximity queries,” inHandbook of Discrete and Computational Geometry, J. Goodman andJ. O’Rourke, Eds. CRC Press, Boca Raton, 2004, pp. 787–808.

[36] C. Gosselin, “Kinematic analysis, optimization and programming ofparallel robotic manipulators,” Ph.D. dissertation, McGill University,1988.

[37] J. Cortes, T. Simeon, and J.-P. Laumond, “A random loop generator forplanning the motions of closed kinematic chains using prm methods,”Proc. IEEE Int. Conf. Robot. Automat., pp. 2141–2146, 2002.

[38] J. Cortes and T. Simeon, “Probabilistic motion planning for parallelmechanisms,”Proc. IEEE Int. Conf. Robot. Automat., pp. 4354–4359,2003.

[39] J. Cortes, “Motion planning algorithms for general closed-chain mecha-nisms,” Ph.D. dissertation, Institut National Polytechnique de Toulouse,2003.

[40] T. Simeon, J.-P. Laumond, and F. Lamiraux, “Move3D: A genericplatform for path planning,”Proc. IEEE Int. Symp. on Assembly & TaskPlanning, pp. 25–30, 2001.

[41] T. Simeon, J.-P. Laumond, J. Cortes, and A. Sahbani, “Manipulationplanning with probabilistic roadmaps,”Int. J. Robot. Res., vol. 23, pp.729–746, 2004.

[42] X. Ji and J. Xiao, “Planning motion compliant to complex contactstates,”Int. J. Robot. Res., vol. 20(6), pp. 446–465, 2001.

[43] J. Xiao and X. Ji, “On automatic generation of high-level contact statespace,”Int. J. Robot. Res., vol. 20(7), pp. 584–606, 2001.

[44] S. Charentus, “Modelisation et commande d’un robot manipulateurredondant compose de plusieurs plateformes de stewart,” Ph.D. disser-tation, Universite Paul Sabatier, 1990.

[45] J.-P. Laumond, E. Ferre, G. Arechavaleta, and C. Esteves, “Mechanicalpart assembly planning with virtual mannequins,”Proc. IEEE Int. Symp.Assembly Task Planning, 2005.

[46] C. Esteves, G. Arechavaleta, J. Pettre, and J.-P. Laumond, “Animationplanning for virtual mannequins cooperation,”ACM Trans. Graph.,2005, to appear.

[47] E. Yoshida, I. Belousov, C. Esteves, and J.-P. Laumond, “Humanoid mo-tion planning for dynamic tasks,”Proc. IEEE-RAS Int. Conf. HumanoidRobots, 2005, to appear.

[48] M. S. Apaydin, D. L. Brutlag, C. Guestrin, D. Hsu, and J.-C. Latombe,“Stochastic roadmap simulation: An efficient representation and algo-rithm for analyzing molecular motion,”Proc. RECOMB, pp. 12–21,2002.

[49] N. M. Amato, K. A. Dill, and G. Song, “Using motion planning to mapprotein folding landscapes and analyze folding kinetics of known nativestructures,”J. Comput. Biol., vol. 10, pp. 149–168, 2003.

[50] J. Cortes, T. Simeon, M. Remaud-Simeon, and V. Tran, “Geometricalgorithms for the conformational analysis of long protein loops,”J.Comput. Chem., vol. 25(7), pp. 956–967, 2004.

[51] J. Cortes, T. Simeon, V. Ruiz-deAngulo, D. Guieysse, M. Remaud-Simeon, and V. Tran, “A path planning approach for computing large-amplitude motions of flexible molecules,”Bioinformatics, vol. 21 Suppl.1, pp. 116–125, 2005.

[52] V. Ruiz-deAngulo, J. Cortes, and T. Simeon, “BioCD: An efficientalgorithm for self-detection and distance computation between highlyarticulated molecular models,”Proc. Robotics: Science and Systems,2005, to appear.

[53] S. M. LaValle and M. S. Branicky, “On the relationship between classicalgrid search and probabilistic roadmaps,” inAlgorithmic Foundations ofRoadmaps V (WAFR2002), J.-D. Boissonnat, J. Burdick, K. Goldberg,and S. Hutchinson, Eds. Springer-Verlag, Berlin, 2004, pp. 59–75.

[54] D. Xie and N. M. Amato, “A kinematics-based probabilistic roadmapmethod for high dof closed chain systems,”Proc. IEEE Int. Conf. Robot.Automat., pp. 473–478, 2004.