pose-constrained manipulation planning © the author(s) 2011 · (a) (b) (c) (d) fig. 1. the herb...

26
Task Space Regions: A framework for pose-constrained manipulation planning The International Journal of Robotics Research 30(12) 1435–1460 © The Author(s) 2011 Reprints and permission: sagepub.co.uk/journalsPermissions.nav DOI: 10.1177/0278364910396389 ijr.sagepub.com Dmitry Berenson 1 , Siddhartha Srinivasa 2 and James Kuffner 1 Abstract We present a manipulation planning framework that allows robots to plan in the presence of constraints on end-effector pose, as well as other common constraints. The framework has three main components: constraint representation, constraint-satisfaction strategies, and a general planning algorithm. These components come together to create an efficient and probabilistically complete manipulation planning algorithm called the Constrained BiDirectional Rapidly-exploring Random Tree (RRT) – CBiRRT2. The underpinning of our framework for pose constraints is our Task Space Regions (TSRs) representation. TSRs are intuitive to specify, can be efficiently sampled, and the distance to a TSR can be evaluated very quickly, making them ideal for sampling-based planning. Most importantly, TSRs are a general representation of pose constraints that can fully describe many practical tasks. For more complex tasks, such as manipulating articulated objects, TSRs can be chained together to create more complex end-effector pose constraints. TSRs can also be intersected, a prop- erty that we use to plan with pose uncertainty. We provide a detailed description of our framework, prove probabilistic completeness for our planning approach, and describe several real-world example problems that illustrate the efficiency and versatility of the TSR framework. Keywords Path planning for manipulators, manipulation planning, domestic robots 1. Introduction Constraints involving the pose of a robot’s end-effector are some of the most common constraints in manipulation plan- ning. They arise in tasks such as reaching to grasp an object, carrying a cup of coffee, or opening a door. Although ubiq- uitous, these constraints present significant challenges for planning algorithms. Because the allowed configurations of the robot are not known a priori, a planning algorithm must discover valid configurations as it plans. In the con- text of sampling-based motion planning, this exploration is done through sampling. Yet sampling pose constraints in an efficient and probabilistically complete manner is dif- ficult because they can produce lower-dimensional mani- folds in the configuration space of the robot. It is unclear how to represent such constraints in a general way, how to ensure that the exploration is efficient, and how to guarantee probabilistic completeness. Researchers have developed several algorithms capable of planning with end-effector pose constraints (Koga et al. 1994; Yamane et al. 2004; Yao and 2005; Bertram et al. 2006; Drumwright and Ng-Thow-Hing 2006; Stilman 2007). Although often able to solve the problem at hand, these algorithms suffer from problems with efficiency (Stilman 2007), probabilistic incompleteness (Koga et al. 1994; Yamane et al. 2004; Yao and Gupta 2005), and overly-specialized constraint representations (Bertram et al. 2006; Drumwright and Ng-Thow-Hing 2006). We present a manipulation planning framework that allows robots to plan in the presence of pose constraints. The framework has three main components: an intuitive constraint representation, constraint-satisfaction strategies, and a general planning algorithm. These three components come together to create an efficient and probabilistically complete manipulation planning algorithm called the Con- strained BiDirectional RRT (CBiRRT2). The underpinning of our framework for pose-related constraints is our Task Space Regions (TSRs) representation. TSRs are intuitive to specify, can be efficiently sampled, and the distance to a TSR can be evaluated very quickly, making them ideal for sampling-based planning. Most importantly, TSRs are a 1 The Robotics Institute, Carnegie Mellon University, USA 2 Intel Labs, Pittsburgh, USA Corresponding author: Dmitry Berenson, The Robotics Institute, Carnegie Mellon University, Pittsburgh, PA 15213, USA. Email: [email protected]

Upload: others

Post on 19-May-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: pose-constrained manipulation planning © The Author(s) 2011 · (a) (b) (c) (d) Fig. 1. The HERB and HRP3 robots executing paths planned using our pose-constrained manipulation planning

Task Space Regions: A framework forpose-constrained manipulation planning

The International Journal ofRobotics Research30(12) 1435–1460© The Author(s) 2011Reprints and permission:sagepub.co.uk/journalsPermissions.navDOI: 10.1177/0278364910396389ijr.sagepub.com

Dmitry Berenson1, Siddhartha Srinivasa2 and James Kuffner1

AbstractWe present a manipulation planning framework that allows robots to plan in the presence of constraints on end-effectorpose, as well as other common constraints. The framework has three main components: constraint representation,constraint-satisfaction strategies, and a general planning algorithm. These components come together to create an efficientand probabilistically complete manipulation planning algorithm called the Constrained BiDirectional Rapidly-exploringRandom Tree (RRT) – CBiRRT2. The underpinning of our framework for pose constraints is our Task Space Regions(TSRs) representation. TSRs are intuitive to specify, can be efficiently sampled, and the distance to a TSR can be evaluatedvery quickly, making them ideal for sampling-based planning. Most importantly, TSRs are a general representation of poseconstraints that can fully describe many practical tasks. For more complex tasks, such as manipulating articulated objects,TSRs can be chained together to create more complex end-effector pose constraints. TSRs can also be intersected, a prop-erty that we use to plan with pose uncertainty. We provide a detailed description of our framework, prove probabilisticcompleteness for our planning approach, and describe several real-world example problems that illustrate the efficiencyand versatility of the TSR framework.

KeywordsPath planning for manipulators, manipulation planning, domestic robots

1. Introduction

Constraints involving the pose of a robot’s end-effector aresome of the most common constraints in manipulation plan-ning. They arise in tasks such as reaching to grasp an object,carrying a cup of coffee, or opening a door. Although ubiq-uitous, these constraints present significant challenges forplanning algorithms. Because the allowed configurationsof the robot are not known a priori, a planning algorithmmust discover valid configurations as it plans. In the con-text of sampling-based motion planning, this exploration isdone through sampling. Yet sampling pose constraints inan efficient and probabilistically complete manner is dif-ficult because they can produce lower-dimensional mani-folds in the configuration space of the robot. It is unclearhow to represent such constraints in a general way, how toensure that the exploration is efficient, and how to guaranteeprobabilistic completeness.

Researchers have developed several algorithms capableof planning with end-effector pose constraints (Kogaet al. 1994; Yamane et al. 2004; Yao and 2005; Bertramet al. 2006; Drumwright and Ng-Thow-Hing 2006;Stilman 2007). Although often able to solve the problem athand, these algorithms suffer from problems with efficiency

(Stilman 2007), probabilistic incompleteness (Koga et al.1994; Yamane et al. 2004; Yao and Gupta 2005), andoverly-specialized constraint representations (Bertramet al. 2006; Drumwright and Ng-Thow-Hing 2006).

We present a manipulation planning framework thatallows robots to plan in the presence of pose constraints.The framework has three main components: an intuitiveconstraint representation, constraint-satisfaction strategies,and a general planning algorithm. These three componentscome together to create an efficient and probabilisticallycomplete manipulation planning algorithm called the Con-strained BiDirectional RRT (CBiRRT2). The underpinningof our framework for pose-related constraints is our TaskSpace Regions (TSRs) representation. TSRs are intuitiveto specify, can be efficiently sampled, and the distance toa TSR can be evaluated very quickly, making them idealfor sampling-based planning. Most importantly, TSRs are a

1The Robotics Institute, Carnegie Mellon University, USA2Intel Labs, Pittsburgh, USA

Corresponding author:Dmitry Berenson, The Robotics Institute, Carnegie Mellon University,Pittsburgh, PA 15213, USA.Email: [email protected]

Page 2: pose-constrained manipulation planning © The Author(s) 2011 · (a) (b) (c) (d) Fig. 1. The HERB and HRP3 robots executing paths planned using our pose-constrained manipulation planning

1436 The International Journal of Robotics Research 30(12)

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

Fig. 1. The HERB and HRP3 robots executing paths planned using our pose-constrained manipulation planning framework.

general representation of pose constraints that can describemany practical tasks. TSRs can also be chained to describeconstraints on articulated objects and intersected to addresspose uncertainty. CBiRRT2 explores the constraints of agiven problem by sampling from TSRs and TSR chainsusing projection methods and direct sampling of parame-ters. These samples are used to determine goals for the plan-ner and to construct paths on the manifold of configurationsallowed by the constraints.

Our constrained manipulation planning framework alsoallows planning with multiple simultaneous constraints.For instance, collision, torque, and balance constraintscan be included along with multiple constraints on end-effector pose. Closed-chain kinematics constraints can alsobe included as a relation between end-effector pose con-straints without requiring specialized projection operators(Yakey et al. 2001) or sampling algorithms (Cortes andSimeon 2004).

We have applied our framework to a wide range of prob-lems for several robots (Figure 1), both in simulation and inthe real world. These problems include grasping in clutteredenvironments, lifting heavy objects, two-armed manipu-lation, and opening doors, to name a few. Despite thiswide range of problems our approach only requires threeparameters, all of which are constant across the examplesdescribed in this paper. We also provide a method for short-ening paths generated by our planner, an important com-ponent for producing practical paths with sampling-basedplanners. Finally, since we are operating in the sampling-based planning paradigm, our constraint representationsand constraint-satisfaction strategies can be used by otherplanners such as Probabilistic RoadMaps (PRMs) (Kavrakiet al. 1996).

In the following sections, we first discuss previous workrelated to our approach (Section 2). We then formulatethe constrained path planning problem and discuss threestrategies for planning with constraints on configuration(Section 3). Section 4 presents TSRs, which can representconstraints on end-effector poses and goals. We then extend

this representation to handle more complex constraints bychaining TSRs together (Section 5). Section 6 describesthe CBiRRT2 planner, which is capable of planning withTSRs and TSR chains, among other constraints. Section7 describes several example problems and shows how toformulate constraints for these problems using TSRs. Theperformance of CBiRRT2 is also evaluated on each exam-ple problem. We then describe an extension of the TSRframework that allows planning with object pose uncer-tainty in Section 8. Finally, we provide a summary of theproof of probabilistic completeness for a class of planningalgorithms which includes CBiRRT2 in Appendix A.

2. Background

Our framework builds on several developments in controltheory and motion planning research. Some of the mostsuccessful methods in control theory for manipulation havecome from local controllers that seek to minimize a givenfunction in the neighborhood of the robot’s current config-uration through gradient-descent. For instance, controllershave been developed for balancing two-legged robots(Sugihara and Nakamura 2002), placing the end-effectorsomewhere in task space (Khatib 1987), and collision-avoidance (Sentis and Khatib 2005). The technique ofrecursive null-space projection (Sentis and Khatib 2005)can satisfy multiple constraints simultaneously by prioritiz-ing the constraints and satisfying lower-priority constraintsin the null-space of higher-priority ones. These controllerscan succeed or fail depending on the prioritization of con-straints, and it is unclear which of the multiple simultane-ous constraints should be prioritized ahead of which others.Even if the prioritization issue is resolved, controllers basedon gradient-descent only guarantee that a local minimum ofthe function is found, which may not be sufficient to solvethe problem.

Researchers in control theory have also pursued moreglobal solutions, such as building control policies throughdynamic programming (Bellman 1957). However, such

Page 3: pose-constrained manipulation planning © The Author(s) 2011 · (a) (b) (c) (d) Fig. 1. The HERB and HRP3 robots executing paths planned using our pose-constrained manipulation planning

Berenson et al. 1437

approaches do not scale to the high-dimensional configu-ration spaces of most manipulators because of the exponen-tial cost of computing optimal policies. Another popularapproach has been to learn policies from demonstration(Atkeson and Schaal 1997; Bentivegna et al. 2004; Howardet al. 2008). However, for our scope of manipulation prob-lems, finding a set of examples that spans the space of tasksthe manipulator is expected to perform, as well as a robustway to generalize from these examples, has proven quitedifficult.

In motion planning, a number of efficient sampling-basedplanning algorithms have been developed for searchinghigh-dimensional C-spaces (Kavraki et al. 1996; LaValleand Kuffner 2000). Sampling-based planners are designedto explore the space of solutions efficiently, without theexhaustive computation required for dynamic programmingand without being trapped by local minima like gradient-descent controllers. This global planning ability is acutelyimportant for manipulation because even the most commonconstraints (like collision-avoidance) can trap approachesbased on gradient-descent. Yet sampling-based planners fal-ter when the constraints of a problem restrict the valid con-figurations to a lower-dimensional manifold in the C-space.It is unclear how to sample such manifolds efficiently andhow to ensure probabilistic completeness.

Our strategy is to merge the best aspects of controltheory and sampling-based planning to produce an algo-rithm that searches globally while satisfying constraintslocally. The CBiRRT2 planner uses a bidirectional RRTto explore the constraint manifold while enforcing con-straints via rejection sampling and projection methodsbased on gradient-descent. Although CBiRRT2 is basedon the Rapidly-exploring Random Tree (RRT) algorithm(LaValle and Kuffner 2000), it is possible to adapt some ofthe ideas and techniques in this paper to other search algo-rithms such as the PRM (Kavraki et al. 1996). We selectedRRTs for their ability to explore C-space while retaining anelement of “greediness” in their search for a solution. Thegreedy element is most evident in the bidirectional versionof the RRT algorithm (BiRRT), where two trees, one grownfrom the start configuration and one grown from the goalconfiguration, take turns exploring the space and attempt-ing to connect to each other. In this paper, we demonstratethat such a search strategy is also effective for motion plan-ning problems involving pose constraints when it is coupledwith the proper strategies for handling those constraints.

The task of the CBiRRT2 planner is to construct aC-space path that lies on the constraint manifolds inducedby pose constraints (as well as constraints like collision-avoidance, balance, and torque). We distinguish this taskfrom the task of tracking pre-scripted end-effector paths(Seereeram and Wen 1995; Oriolo et al. 2002; Oriolo andMongillo 2005) because we do not assume an end-effectorpath is given. CBiRRT2 uses gradient-descent inverse-kinematics techniques (Sciavicco and Siciliano 2000; Sen-tis and Khatib 2005) to meet pose constraints and sample

goal configurations. The algorithm plans in the full C-spaceof the robot, which implicitly allows it to search the null-space of pose constraints, unlike task-space planners (Kogaet al. 1994; Yamane et al. 2004; Yao and Gupta 2005), whichassign a single configuration to each task-space point (froma potentially infinite number of possible configurations).Exploration of the null-space is necessary for probabilisticcompleteness and can be useful for satisfying other con-straints, such as avoiding obstacles or maintaining balance,though our constraint representation could be incorporatedinto task-space planners as well.

Algorithms similar to CBiRRT2 have been proposed byYakey et al. (2001) and Stilman (2007). Yakey et al. (2001)proposed using Randomized Gradient Descent (RGD)to meet closed-chain kinematics constraints. RGD usesrandom-sampling of the C-space to iteratively project asample toward an arbitrary constraint (Yao and Gupta2005). Although Yakey et al. (2001) showed how toincorporate RGD into a sampling-based planner and theirmethod is quite general, it requires significant parameter-tuning and they dealt only with closed-chain kinematic con-straints, which are a special case of the pose constraintsused in this paper. Furthermore, Stilman (2007) showedthat when RGD is extended to work with more generalpose constraints it is significantly less efficient than Jaco-bian pseudo-inverse projection and it is sometimes unableto meet more stringent constraints. Our approach is simi-lar to Stilman (2007) in that we use an RRT-based plannerwith Jacobian pseudo-inverse projection, although we dif-fer in the specifics of the planning algorithm and use TSRs,which are a more general constraint representation.

Another key feature of CBiRRT2 is that it can sam-ple TSRs to produce goal configurations. Other researchershave approached the problem of ambiguous goal specifi-cation by sampling some number of goals before runningthe planner (Hirano et al. 2005; Stilman et al. 2007), whichlimits the planner to a small set of solutions from a regionwhich is really continuous. Another approach is to bias asingle-tree planner toward the goal regions, although thisapproach usually considers single points in the task space(Drumwright and Ng-Thow-Hing 2006; Vande Weghe et al.2007) or is hand-tuned for specific goal regions (Bertramet al. 2006).

3. Constraints on configuration

Depending on the robot and the task, many types of con-straints can limit a robot’s motion. This paper focuseson scleronomic holonomic constraints, which are time-invariant constraints evaluated at a given configuration ofthe robot. Let the configuration space of the robot be Q.A path in that space is defined by τ : [0, 1] → Q. Weconsider constraints evaluated as a function of a config-uration q ∈ Q in τ . The location of q in τ determineswhich constraints are active at that configuration. Thus aconstraint is defined as the pair {C( q), s}, where C( q)∈

Page 4: pose-constrained manipulation planning © The Author(s) 2011 · (a) (b) (c) (d) Fig. 1. The HERB and HRP3 robots executing paths planned using our pose-constrained manipulation planning

1438 The International Journal of Robotics Research 30(12)

R ≥ 0 is the constraint-evaluation function. C( q) deter-mines whether the constraint is met at that q, and s ⊆ [0, 1]is the domain of this constraint, i.e. where in the path τthe constraint is active. To say that a given constraint issatisfied we require that C( q)= 0 ∀q ∈ τ ( s). Each con-straint defined in this way implicitly defines a manifold in Qwhere τ ( s) is allowed to exist. Given a constraint, the man-ifold of configurations that meet this constraint MC ⊆ Q isdefined as

MC = {q ∈ Q : C( q)= 0}. (1)

In order for τ to satisfy a constraint, all the elements ofτ ( s) must lie within MC . If ∃q /∈MC for q ∈ τ ( s) then τis said to violate the constraint.

In general, we can define any number of constraints fora given task, each with their own domain. Let a set of nconstraint-evaluation functions be C and the set of domainscorresponding to those functions be S. Then we define theconstrained path planning problem as

find τ : q ∈MCi ∀q ∈ τ (Si)∀i ∈ {1 . . . n}. (2)

Note that the domains of two or more constraints mayoverlap, in which case an element of τ may need to liewithin two or more constraint manifolds.

3.1. Difficulties of constrained path planning

Two main issues make solving the constrained pathplanning problem difficult. First, constraint manifolds aredifficult to represent. There is no known analytical repre-sentation for many types of constraint manifolds (includingpose constraints) and the high-dimensional C-spaces ofmost practical robots make representing the manifoldthrough exhaustive sampling prohibitively expensive. Itis possible to parameterize some constraint manifolds,though this can be insufficient for planning paths becausethe mapping from the parameter space to the manifoldcan be non-smooth (see Figure 2). Thus, although we canconstruct a smooth path in the parameter space, its imageon the constraint manifold may be disjoint. Restrictionsimposed on the mapping to render it smooth, like impos-ing a one-to-one mapping from pose to configuration,compromise on completeness.

Second, and acutely important for pose constraints, isthe fact that constraint manifolds can be of a lower dimen-sion than the ambient C-space. Lower-dimensional man-ifolds cannot be sampled using rejection sampling (thesampling technique used by most sampling-based plan-ners) and thus more sophisticated sampling techniques arerequired. A key challenge is to demonstrate that the dis-tribution of samples produced by these techniques denselycovers the constraint manifold, which is necessary forprobabilistic completeness.

We address the first issue by using a sampling-basedplanner that explores the constraint manifold in the C-space(not in the parameter space). This planner uses a variety

(a) (b)

Fig. 2. (a) Pose constraint for a 3-link manipulator: The end-effector must be on the line with an orientation within ±0.7 radof downward. (b) The manifold induced by this constraint in theC-space of this robot.

Fig. 3. The three sampling strategies used in our framework. Reddots represent invalid samples and green dots represent valid ones.Left: Rejection sampling. Center: Projection sampling. Right:Direct sampling from a parameterization of the constraint.

of sampling techniques to generate samples on constraintmanifolds (Section 3.2). One of these techniques is ableto sample lower-dimensional constraint manifolds, and wevalidate the probabilistic completeness of this approach inAppendix A, thus addressing the second issue.

3.2. Sampling on constraint manifolds

In order to solve the constrained path planning problem, asampling-based planning algorithm must be able to gen-erate configurations that lie on constraint manifolds. Wedescribe three general strategies for generating these con-figurations: rejection, projection, and direct sampling (seeFigure 3).

In the rejection strategy, we simply generate a sampleq ∈ Q and check if C( q)= 0; if this is not the case, wedeem q invalid. This strategy is effective when there is ahigh probability of randomly sampling configurations thatsatisfy this constraint; in other words, MC occupies somesignificant volume in Q. This strategy is used to satisfytorque, balance, and collision constraints, among others.

The projection strategy is robust to more stringent con-straints, namely ones whose manifolds do not occupy asignificant volume of the C-space. However, this robustnesscomes at the price of requiring a function to evaluate howclose a given configuration is to the constraint manifold,i.e. C( q) needs to encode some measure of distance to themanifold. The projection strategy first generates a q0 ∈ Q

Page 5: pose-constrained manipulation planning © The Author(s) 2011 · (a) (b) (c) (d) Fig. 1. The HERB and HRP3 robots executing paths planned using our pose-constrained manipulation planning

Berenson et al. 1439

then moves that q0 onto MC . The most common type ofprojection operator relevant for our application is an itera-tive gradient-descent process. Starting at q0, the projectionoperator iteratively moves the configuration closer to theconstraint manifold so that C( qi+1)< C( qi). This processterminates when the gradient-descent reaches a configura-tion on MC , i.e. when C( qi)= 0. A key advantage of theprojection strategy is that it is able to generate valid config-urations near other configurations on MC , which allows usto use it in algorithms based on the RRT. This strategy isused to sample on lower-dimensional constraint manifolds,such as those induced by end-effector pose or closed-chainkinematics constraints.

Finally, the direct sampling strategy uses a parameteri-zation of the constraint to generate samples on MC . Thisstrategy is specific to the constraint representation, and themapping from the parameterization to MC can be arbi-trarily complex. Although this strategy can produce validsamples, it can be difficult to generate samples in a desiredregion of MC , for instance generating a sample near othersamples (a key requirement for building paths). Thus wewill use this strategy only when sampling goals for our plan-ner, not to build paths. We will describe how to do directsampling with our constraint representation in Section 4.

A given constraint may be sampled using one or moreof these strategies. The choice of strategy depends on thedefinition of the constraint as well as the path planning algo-rithm. Sometimes a mix of strategies may be appropriate.For instance, a PRM planning with pose constraints may usethe direct sampling strategy to generate a set of map nodesbut may switch to the projection strategy when constructingedges between those nodes.

4. Task Space Regions

We now focus on a specific constraint representation thatwe have developed for planning paths for manipulatorswith end-effector pose constraints. The pose of a manip-ulator’s end-effector is represented as a point in SE( 3),the six-dimensional space of rigid spatial transformations.Many practical manipulation tasks, like moving a large boxor opening a refrigerator door, impose constraints on themotion of a robot’s end-effector(s) as well as allowing free-dom in the acceptable goal pose of the end-effector. Forexample consider a humanoid robot placing a large boxonto a table (see Figure 1(d)). Although the humanoid’shands are constrained to grasp the box during manipulation,the task of placing the box on the table affords a wide rangeof box placements and robot configurations that achieve thegoal. We propose a framework for pose-constrained manip-ulation planning which is capable of trading off constraintsand affordances to produce manipulation plans for highdegree of freedom (DOF) robots, like humanoids or mobilemanipulators.

Our constrained manipulation planning framework uses anovel unifying representation of constraints and affordanceswhich we term Task Space Regions (TSRs) (Berenson et al.

2009c). TSRs describe end-effector constraint sets as sub-sets of SE( 3). These subsets are particularly useful for spec-ifying manipulation tasks ranging from reaching to graspan object and placing it on a surface or in a volume, tomanipulating objects with constraints on their pose, suchas transporting a glass of water without spilling or sliding amilk jug on a table.

TSRs are specifically designed to be used with sampling-based planners. As such, it is straightforward to specifyTSRs for common tasks, to compute distance from a givenpose to a TSR (necessary for the projection strategy), andto sample from a TSR using direct sampling. Furthermore,multiple TSRs can be defined for a given task, which allowsthe specification of multiple simultaneous constraints andaffordances.

TSRs are not intended to capture every conceivable con-straint on pose. Instead they are meant to be simple descrip-tions of common manipulation tasks that are useful forplanning. We have also developed a more complex rep-resentation for articulated constraints called TSR chains,which is discussed in Section 5. Finally, we discuss thelimitations of these representations in Section 9.

4.1. TSR definition

Throughout this section, we will be using transformationmatrices of the form Ta

b, which specifies the pose of b in thecoordinates of frame a. Ta

b, written in homogeneous coor-dinates, consists of a 3 × 3 rotation matrix Ra

b and a 3 × 1translation vector ta

b:

Tab =

[Ra

b tab

0 1

]. (3)

A TSR consists of three parts:

• T0w: transform from the origin to the TSR frame w;

• Twe : end-effector offset in the coordinates of w;

• Bw: 6× 2 matrix of bounds in the coordinates of w:

Bw =

⎡⎢⎢⎢⎢⎢⎢⎣

xmin xmax

ymin ymax

zmin zmax

ψmin ψmax

θmin θmax

φmin φmax

⎤⎥⎥⎥⎥⎥⎥⎦

. (4)

The first three rows of Bw bound the allowable transla-tion along the x, y, and z axes (in meters) and the last threebound the allowable rotation about those axes (in radians),all in the w frame. Note that this assumes the Roll-Pitch-Yaw (RPY) Euler angle convention, which is used becauseit allows bounds on rotation to be specified intuitively.

In practice, the w frame is usually centered at the origin ofan object held by the hand, or at a location on an object thatis useful for grasping. We use an end-effector offset trans-form Tw

e because we do not assume that w directly encodesthe pose of the end-effector. Tw

e allows the user to specify

Page 6: pose-constrained manipulation planning © The Author(s) 2011 · (a) (b) (c) (d) Fig. 1. The HERB and HRP3 robots executing paths planned using our pose-constrained manipulation planning

1440 The International Journal of Robotics Research 30(12)

Fig. 4. The w and e frames used to define end-effector goal TSRs for a soda can and a pitcher.

an offset from w to the origin of the end-effector e, whichis extremely useful when we wish to specify a TSR for anobject held by the hand or a grasping location which is off-set from e; for instance in between the fingers. For someexample Tw

e transforms, see Figure 4.

4.2. Distance to TSRs

When using the projection strategy with TSRs, it will benecessary to find the distance from a given configurationqs to a TSR (please follow the explanation below in Figure5). Because we do not have an analytical representation ofthe constraint manifold corresponding to a TSR, we com-pute this distance in task space. Given a qs, we use forwardkinematics to get the position of the end-effector at this con-figuration T0

s . We then apply the inverse of the offset Twe to

get T0s′ , which is the pose of the grasp location or the pose

of the object held by the hand in world coordinates:

T0s′ = T0

s ( Twe )−1 . (5)

We then convert this pose from world coordinates to thecoordinates of w:

Tws′ =( T0

w)−1 T0s′ . (6)

Now we convert the transform Tws′ into a 6 × 1 displace-

ment vector from the origin of the w frame. This displace-ment represents rotation in the RPY convention so it isconsistent with the definition of Bw:

dw =

⎡⎢⎢⎢⎣

tws′

arctan 2( Rws′32

, Rws′33

)

− arcsin( Rws′31

)

arctan 2( Rws′21

, Rws′11

)

⎤⎥⎥⎥⎦ . (7)

Taking into account the bounds of Bw, we get the 6 × 1displacement vector to the TSR, �x:

�xi =⎧⎨⎩

dwi − Bw

i,1 if dwi < Bw

i,1dw

i − Bwi,2 if dw

i > Bwi,2

0 otherwise, (8)

where i indexes through the six rows of Bw and six ele-ments of �x and dw. ‖�x‖ is the distance to the TSR.Note that we implicitly weigh rotation in radians and trans-lation in meters equally when computing ‖�x‖, but the

Fig. 5. Transforms and coordinate frames involved in computingthe distance to TSRs. The robot is in a sample configuration whichhas end-effector transform s, and the hand near the soda can attransform e represents the Tw

e defined by the TSR.

two types of units can be weighed in an arbitrary man-ner to produce a distance metric that considers one orthe other more important. Because of the inherent redun-dancy of the RPY Euler angle representation, there areseveral sets of angles that represent the same rotation. Tofind the minimal distance by our metric, we evaluate thenorm of each of the possible RPY angle sets capable ofyielding the minimum displacement. This set consists ofthe {�x4,�x5,�x6} defined above as well as the eightequivalent rotations {�x4 ± π ,−�x5 ± π ,�x6 ± π}.

If we define multiple TSRs for a given manipulator, weextend our distance computation to evaluate distance to allrelevant TSRs and return the smallest.

4.3. Direct sampling of TSRs

When using TSRs to specify goal end-effector poses, it willbe necessary to sample poses from TSRs. Sampling froma single TSR is done by first sampling a random value

Page 7: pose-constrained manipulation planning © The Author(s) 2011 · (a) (b) (c) (d) Fig. 1. The HERB and HRP3 robots executing paths planned using our pose-constrained manipulation planning

Berenson et al. 1441

between each of the bounds defined by Bw with uniformprobability. These values are then compiled in a displace-ment dw

sample and converted into the transformation Twsample.

We can then convert this sample into world coordinates afterapplying the end-effector transform:

T0sample′ = T0

wTwsampleTw

e . (9)

We observe that while our method ensures a uniform sam-pling in the bounds of Bw, it could produce a biased sam-pling in the subspace of constrained spatial displacementsSE( 3) that Bw parameterizes. However, this bias has not hada significant impact on the runtime or success-rate of ouralgorithms.

In the case of multiple TSRs specified for a singletask, we must first decide from which TSR to sample. Ifthe bounds of all TSRs enclose six-dimensional volumes,we can choose among TSRs in proportion to their vol-ume. However a volume-proportional sampling will ignoreTSRs that encompass volumes of fewer than six dimen-sions because they have no volume in the six-dimensionalspace. To address this issue we use a weighted samplingscheme that samples TSRs proportional to the sum of thedifferences between their bounds:

ζi =6∑

j=1

(Bwi

j,2 − Bwij,1

), (10)

where ζi and Bwi are the weight and bounds of the ithTSR, respectively. Sampling proportional to ζi allows usto sample from TSRs of any dimension except 0 whilegiving preference to TSRs that encompass more volume.TSRs of dimension 0, i.e. points, are given a fixed probabil-ity of being sampled. In general, any sampling scheme forselecting a TSR can be used as long as there is a non-zeroprobability of selecting any TSR.

4.4. Planning with TSRs as goal sets

TSRs can be used to sample goal end-effector placementsof a manipulator, as would be necessary in a grasping orobject-placement task. The constraint for using TSRs in thisway is

{C( q)= DistanceToTSR( q) , s = [1]}, (11)

where the DistanceToTSR function implements the methodof Section 4.2, and s refers to the domain of the constraint(Section 3).

To generate valid configurations in the MC correspond-ing to this constraint, we can use direct sampling of TSRs(Section 4.3) and pass the sampled pose to an Inverse Kine-matics (IK) solver to generate a valid configuration. In orderto ensure that we don’t exclude any part of the constraintmanifold, the IK solver used should not exclude any con-figurations from consideration. This can be achieved usingan analytical IK solver for manipulators with six or fewer

Algorithm 1: J+Projection(q)

while true do1

�x← DisplacementFromTSR(q);2

if ‖�x‖ < ε then3

return q;4

end5

J← GetJacobian(q);6

�qerror← JT( JJT)−1�x;7

q← ( q−�qerror);8

end9

DOF. For manipulators with more than six DOF we can usea pseudo-analytical IK solver, which discretizes or samplesall but six joints.

Alternatively, we can use the projection strategy to sam-ple the manifold. This would take the form of an iterativeIK solver, which starts at some initial configuration. Thisconfiguration should be randomized to ensure explorationof the constraint manifold. Note that this strategy is proneto local minima and can be relatively slow to compute, sowe use it only when an analytical or pseudo-analytical IKsolver is not available (for instance with a humanoid).

Of course, the same definition and strategies apply tosampling starting configurations as to goal configurations.

4.5. Planning with TSRs as pose constraints

TSRs can also be used for planning with constraints onend-effector pose for the entire path. The constraint defi-nition for such a use of TSRs differs from Equation 11 inthe domain of the constraint:

{C( q)= DistanceToTSR( q) , s = [0, 1]}. (12)

Since the domain of this constraint spans the entire path,the planning algorithm must ensure that each configura-tion it deems valid lies within the constraint manifold.While the rejection strategy can be used to generate validconfigurations for TSRs whose bounds encompass a six-dimensional volume, the projection strategy can be used forall TSRs.

One method of projection for TSRs is shown in Algo-rithm 1. This method uses the Jacobian pseudo-inverse (J+)(Sciavicco and Siciliano 2000) to iteratively move a givenconfiguration to the constraint manifold defined by a TSR(Berenson et al. 2009d).

The DisplacementFromTSR function returns the dis-placement from q to a TSR, i.e. the result of Equation 8. TheGetJacobian function computes the Jacobian of the manip-ulator at q. Although Algorithm 1 describes the projectionconceptually, in practice we must also take into accountthe issues of step-size, singularity avoidance, and jointlimits when projecting configurations. We will show, inAppendix A, that the distribution of samples generated onthe constraint manifold by this projection operator covers

Page 8: pose-constrained manipulation planning © The Author(s) 2011 · (a) (b) (c) (d) Fig. 1. The HERB and HRP3 robots executing paths planned using our pose-constrained manipulation planning

1442 The International Journal of Robotics Research 30(12)

the manifold, which is a necessary property for probabilisticcompleteness.

It is important to note that we can also use the methodof Section 4.3 to generate samples directly from TSRs andthen compute IK to obtain configurations that place the end-effector at those samples. Such a strategy would be espe-cially useful when planning in task space (i.e. the parameterspace of pose constraints) instead of C-space because itwould allow the task space to be explored while provid-ing configurations for each task-space point (similar to Yaoand Gupta (2005)). However, we prefer the completenessproperties of C-space planners, so we focus on those in thispaper.

5. TSR chains

While we showed that TSRs are intuitive to specify, can bequickly sampled, and the distance to TSRs can be evalu-ated efficiently, a single TSR, or even a finite set of TSRs,is sometimes insufficient to capture the pose constraints ofa given task. To describe more complex constraints suchas those required to manipulate articulated objects, thissection introduces the concept of TSR chains (Berensonet al. 2009a), which are defined by linking a series of TSRs.Although direct sampling of TSR chains follows clearlyfrom that of TSRs, the distance metric for TSR chains isextremely different.

To motivate the need for a more complex representationconsider the task of opening a door while allowing the end-effector to rotate about the door handle (see Figure 6). Itis straightforward to specify the rotation of the door aboutits hinge as a single TSR and to specify the rotation of theend-effector about the door’s handle as a single TSR if thedoor’s position is fixed. However, the product of these twoconstraints (allowing the end-effector to rotate about thehandle for any angle of the hinge) cannot be completelyspecified with a finite set of TSRs. In order to allow morecomplex constraint representations in the TSR framework,we present TSR chains, which are constructed by linking aseries of TSRs.

5.1. TSR chain definition

A TSR chain C = {C1, C2, . . . , Cn} consists of a set of nTSRs with the following additional property:

Ci.T0w =( Ci−1.T0

w) ( Ci−1.Twsample) ( Ci−1.Te

w) (13)

for i = {2 . . . n}, where Ci corresponds to the ith TSR inthe chain and Ci.{·} refers to an element of the ith TSR. Ofcourse a TSR chain can consist of only one TSR, in whichcase it is identical to a normal TSR. Ci.Tw

sample can be anytransform obtained by sampling from inside the bounds ofCi.Bw. Thus, we do not know Ci.T0

w until we have deter-mined Tw

sample values for all previous TSRs in the chain. By

Fig. 6. The virtual manipulator for the door example. The greendotted lines represent the links of the virtual manipulator and thered dot and arrow represent the virtual end-effector, which is attransform T0

vee.

coupling TSRs in this way the TSR chain structure can rep-resent constraints that would otherwise require an infinitenumber of TSRs to specify.

A TSR chain can also be thought of as a virtual serial-chain manipulator. Again, consider the door example. Todefine the TSR chain for this example, we can imagine avirtual manipulator that is rooted at the door’s hinge. Thefirst link of the virtual manipulator rotates about the hingeand extends from the hinge to the handle. At the handle, wedefine another link that rotates about the handle and extendsto where a robot’s end-effector would be if the robot weregrasping the handle (see Figure 6). Here C1.Tw

sample wouldbe a rotation about the door’s hinge corresponding to howmuch the door had been opened. In this way, we could seethe Tw

sample values for each TSR as transforms induced bythe “joint angles” of the virtual manipulator. The joint limitsof these virtual joints are defined by the values in Bw.

5.2. Direct sampling from TSR chains

To directly sample a TSR chain we first sample from withinC1.Bw to obtain C1.Tw

sample. This is done by sampling uni-formly between the bounds in Bw, compiling the sampledvalues into a displacement dw

sample = [x y z ψ θ φ], and con-verting that displacement to the transform C1.Tw

sample. We

then use this sample to determine C2.T0w via Equation 13.

We repeat this process for each TSR in the chain until wereach the nth TSR. We then obtain a sample in the worldframe:

T0sample′ =( Cn.T0

w) ( Cn.Twsample) ( Cn.Tw

e ) . (14)

Note that the sampling of TSR chains in this way isbiased, but the sampling will cover the entire set. To see this,imagine a virtual manipulator with many links. It can be

Page 9: pose-constrained manipulation planning © The Author(s) 2011 · (a) (b) (c) (d) Fig. 1. The HERB and HRP3 robots executing paths planned using our pose-constrained manipulation planning

Berenson et al. 1443

readily seen that many sets of different joint values (essen-tially Tw

sample values) of the virtual manipulator will mapto the same end-effector transform. However, if the vir-tual manipulator’s end-effector is at the boundary of thevirtual manipulator’s reachability, only one set of joint val-ues maps to the end-effector pose (when the manipulatoris fully outstretched). Thus some T0

sample′ values can have ahigher chance of being sampled than others, depending onthe definition of the TSR chain. Clearly a uniform samplingwould be ideal but we have found that this biased samplingis sufficient for the practical tasks we consider.

If there is more than one TSR chain defined for a singlemanipulator, this means that we have the option of drawinga sample from any of these TSR chains. We choose a TSRchain for sampling with probability proportional to the sumof the differences between the bounds of all TSRs in thatchain.

5.3. Distance to TSR chains

Although the sampling method for TSR chains followsdirectly from the sampling method for TSRs, evaluat-ing distance to a TSR chain is fundamentally differentfrom evaluating distance to a TSR. This is because wedo not know which Tw

sample values for each TSR in thechain yield the minimum distance to a query transformT0

s (derived from a query configuration qs using forwardkinematics).

To approach this problem, it is again useful to think ofthe TSR chain as a virtual manipulator (see Figure 7(a)).Finding the correct Tw

sample values for each TSR is equiva-lent to finding the joint angles of the virtual manipulator thatbring its virtual end-effector as close to T0

s as possible. Thuswe can see this distance-checking problem as a form of thestandard IK problem, which is to find the set of joint anglesthat places an end-effector at a given transform. Dependingon the TSR chain definition and T0

s , the virtual manipula-tor may not be able to reach the desired transform, in whichcase we want the virtual end-effector to get as close as pos-sible. Thus we can apply standard iterative IK techniquesbased on the Jacobian pseudo-inverse to move the virtualend-effector to a transform that is as close as possible toT0

s (see Figure 7(b)). Once we obtain the joint angles ofthe virtual manipulator, we convert them to Tw

sample valuesand forward-chain to obtain the virtual end-effector posi-tion T0

vee. We then convert T0s to the virtual end-effector’s

frame:Tvee

s =( T0vee)−1 T0

s , (15)

and then convert to the displacement form

dvees =

⎡⎢⎢⎣

tvees

arctan 2( Rvees32

, Rvees33

)− arcsin( Rvee

s31)

arctan 2( Rvees21

, Rvees11

)

⎤⎥⎥⎦ . (16)

Here ‖dvees ‖ is the distance between T0

s and T0vee.

(a) (b) (c)

Fig. 7. Depiction of the IK handshaking procedure. (a) The vir-tual manipulator starts in some configuration. (b) Finding theclosest configuration of the virtual manipulator. (c) The robot’smanipulator moves to meet the constraint.

Once the distance is evaluated we can employ the pro-jection strategy by calling the IK algorithm for the robot’smanipulator to move the robot’s end-effector to T0

vee to meetthe constraint specified by this TSR chain (Figure 7(c)). Weterm this process of calling IK for the virtual manipulatorand the robot in sequence IK handshaking.

Just as with TSR chains used for sampling, we may definemore than one TSR chain as a constraint for a single manip-ulator. This means that we have the option of satisfying anyof these TSR chains to produce a valid configuration. Tofind which chain to satisfy, we perform the distance checkfrom our current configuration to each chain and choose theone that has the smallest distance.

5.4. Physical constraints

In the door example, the first TSR corresponds to a physi-cal joint of a body in the environment, but the second oneis purely virtual; it defines a relation between two framesthat is not enforced by a joint in the environment (in thiscase the relation is between the robot’s end-effector andthe handle of the door). It is important to note that TSRchains inherently accommodate such mixing of real and vir-tual constraints. In fact a TSR chain can consist of purelyvirtual or purely physical constraints. However, when plan-ning with TSR chains, special care must be taken to ensurethat any physical joints (such as the door’s hinge) be syn-chronized with their TSR chain counterparts. This is doneby including the configuration of any physical joints cor-responding to elements of TSR chains in the configurationspace searched by the planner (see Section 6.3).

In the case that the physical constraints included inthe TSR chain form a redundant manipulator, the inverse-kinematics algorithm for the TSR chain should be modi-fied to account for the physical properties of the chain. Forinstance, if the chain is completely passive, a term that min-imizes the potential energy of the chain should be appliedin the null-space of the Jacobian pseudo-inverse to find a

Page 10: pose-constrained manipulation planning © The Author(s) 2011 · (a) (b) (c) (d) Fig. 1. The HERB and HRP3 robots executing paths planned using our pose-constrained manipulation planning

1444 The International Journal of Robotics Research 30(12)

local minimum-energy configuration of the chain. In gen-eral, chains can have various physical properties that maynot be easy to account for using an IK solver. In that case,we recommend a physical simulation of the movement ofthe end-effector from it’s initial pose to T0

vee as it is beingpulled by the robot to find the resting configuration of thechain.

5.5. Notes on implementation

Whenever we create a TSR chain, we also create its virtualmanipulator in simulation so that we can perform IK on thismanipulator and get the location of the virtual end-effector.When we refer to the joint values of a TSR chain, we areactually referring to the joint values of that TSR chain’s vir-tual manipulator. Also, to differentiate whether a TSR chainshould be used for sampling goals or constraining configu-rations or both, we specify how the chain should be used inits definition. When inputing TSR chains into our planner,we specify which manipulator of the robot they correspondto as well as any physical DOFs that correspond to elementsof the chain.

6. The CBiRRT2 algorithm

This section describes the Constrained BiDirectional RRT(CBiRRT2) planner, which is capable of planning with TSRchains among other constraints. Since the representation ofTSR chains subsumes that of TSRs, the planner can incor-porate the uses of TSRs already described. In this sectionwe describe the operations of the planner. Several exam-ple problems, as well as CBiRRT2’s performance on theseproblems, are shown in Section 7. We prove the proba-bilistic completeness of CBiRRT2 when planning with poseconstraints in Appendix A.

6.1. Planner operation

CBiRRT2 takes into account constraints on the configura-tion of the robot during its path as well as constraints on thegoal configuration of the robot. Constraints on the posesand goal locations of the robot’s end-effectors are specifiedas TSR chains.

CBiRRT2 operates by growing two trees in the C-spaceof the robot (please follow the explanation below in Algo-rithm 2). At each iteration CBiRRT2 chooses between oneof two modes: exploration of the C-space using the two treesor direct sampling from a set of TSR chains. The prob-ability of choosing to sample is defined by the parameterPsample.

If the algorithm chooses to sample, it calls the AddRootfunction, which tries to inject a goal configuration into thebackward tree Tgoal. If the algorithm chooses to explore theC-space, one of the trees grows a branch toward a randomly-sampled configuration qrand using the ConstrainedExtendfunction. The branch grows as far as possible toward qrand

Algorithm 2: CBiRRT2( Qs, Qg)

Ta.Init( Qs); Tb.Init( Qg);1

while TimeRemaining( ) do2

Tgoal = GetBackwardTree( Ta, Tb);3

if size( Tgoal)= 0 or rand( 0, 1) < Psample then4

AddRoot( Tgoal);5

else6

qrand ← RandomConfig( );7

qanear ← NearestNeighbor( Ta, qrand);8

qareach ← ConstrainedExtend( Ta, qa

near, qrand);9

qbnear ← NearestNeighbor( Tb, qa

reach);10

qbreach ← ConstrainedExtend( Tb, qb

near, qareach);11

if qareach = qb

reach then12

P← ExtractPath( Ta, qareach, Tb, qb

reach);13

return ShortenPath( P);14

else15

Swap( Ta, Tb);16

end17

end18

end19

return ∅;20

Algorithm 3: ConstrainedExtend( T , qnear, qtarget)

qs← qnear; qolds ← qnear;1

while true do2

if qtarget = qs then3

return qs;4

else if ‖qtarget − qs‖ > ‖qolds − qtarget‖ then5

return qolds ;6

end7

qolds ← qs;8

qs← qs +min(�qstep, ‖qtarget − qs‖) (qtarget−qs)‖qtarget−qs‖ ;9

c← GetConstraintValues(T , qolds );10

{qs, c}← ConstrainConfig(qolds , qs, c, ∅);11

if qs �= ∅ then12

T .AddVertex( qs, c);13

T .AddEdge( qolds , qs);14

else15

return qolds ;16

end17

end18

but may be stalled due to collision or constraint viola-tion and will terminate at qa

reach. The other tree then growsa branch toward qa

reach, again growing as far as possibletoward this configuration. If the other tree reaches qa

reach,the trees have connected and a path has been found. If not,the trees are swapped and the above process is repeated.

The ConstrainedExtend function (see Algorithm 3) iter-atively moves from a configuration qnear toward a config-uration qtarget with a step size of �qstep. After each step

Page 11: pose-constrained manipulation planning © The Author(s) 2011 · (a) (b) (c) (d) Fig. 1. The HERB and HRP3 robots executing paths planned using our pose-constrained manipulation planning

Berenson et al. 1445

Fig. 8. Depiction of one ConstrainedExtend operation. The oper-ation starts at qnear, which is a node of a search tree on the con-straint manifold and iteratively moves toward qtarget, which is aconfiguration sampled from the C-space. Each step toward qtarget

is constrained using the ConstrainConfig function to lie on theconstraint manifold.

toward qtarget, the function checks if the new configura-tion qs has reached qtarget or if it is moving farther fromqtarget; in either, case the function terminates. If the aboveconditions are not true then the algorithm takes a steptoward qtarget and passes the new qs to the ConstrainConfigfunction, which is problem-specific. If ConstrainConfig isable to project qs to a constraint manifold, the new qs isadded to the tree and the stepping process is repeated.Otherwise, ConstrainedExtend terminates (see Figure 8 foran illustration). ConstrainedExtend always returns the lastconfiguration reached by the extension operation. The cvector is a vector of TSR chain joint values of all TSRchains. Every qs has a corresponding c which is storedalong with qs in the tree. We store the c vector so that theConstrainConfig function has a good initial guess of theTSR chain joint values when taking subsequent steps. Thisgreatly decreases the time used by the inverse-kinematicssolver inside ConstrainConfig.

After a path is found, we shorten it using the ShortenPathfunction. This function implements the popular “short-cut” method to iteratively shorten the path. However,instead of using straight lines which would violate con-straints, we use the ConstrainedExtend function (Algorithm4) for each short-cut. Using ConstrainedExtend guaran-tees that constraints will be met along the shortened path.Also, it is important to note that a short-cut generated byConstrainedExtend between two nodes is not necessarilythe shortest path between them because the nodes may have

Algorithm 4: ShortenPath( P)

while TimeRemaining( ) do1

Tshortcut← {};2

i← RandomInt( 1, size( P)−1);3

j← RandomInt( i, size( P) );4

qreach ← ConstrainedExtend( Tshortcut, Pi, Pj);5

if qreach = Pj and6

Length( Tshortcut)< Length( Pi · · ·Pj) thenP← [P1 · · ·Pi, Tshortcut, Pj+1 · · ·P.size];7

end8

end9

return P;10

Algorithm 5: AddRoot( T)

for i = 1 . . .m do1

C← GetTSRChainsForManipulator(i);2

{T0target, c}← SampleFromTSRChains(C);3

Targets.AddTarget( T0target, i);4

end5

{qs, c}← GetInitialGuess( );6

{qs, c}← ConstrainConfig(∅, qs, c, Targets);7

if qs �= ∅ then8

T .AddVertex( qs, c);9

end10

Algorithm 6: ConstrainConfig( qolds , qs, c, Targets)

CheckDist = False;1

if Targets = ∅ then2

CheckDist = True;3

for i = 1 . . .m do4

C← GetTSRChainsForManipulator(i);5

T0s ← GetEndEffectorTransform(qs, i);6

{T0target, c}← GetClosestTransform(C, T0

s , c);7

Targets.AddTarget( T0target, i);8

end9

end10

qs ← UpdatePhysicalConstraintDOF(qs, c);11

qs ← ProjectConfig(qs, Targets);12

if qs = ∅ or13

( CheckDist and∣∣qs − qold

s

∣∣ > 2�qstep) then14

return ∅;15

end16

return {qs, c};17

been projected in an arbitrary way. This necessitates check-ing whether Length( Pshortcut) is shorter than the originalpath between i and j.

Note that CBiRRT2 can also be seeded with multiplestart and goal configurations (Qs/Qg). If no goals are speci-fied, the AddRoot function will insert the first goal into the

Page 12: pose-constrained manipulation planning © The Author(s) 2011 · (a) (b) (c) (d) Fig. 1. The HERB and HRP3 robots executing paths planned using our pose-constrained manipulation planning

1446 The International Journal of Robotics Research 30(12)

backward tree. In fact, the AddRoot function can be calledfor both the start and the goal trees, if this is desired.

6.2. Planning with TSR chains

Accounting for TSR chains is done in the AddRootand ConstrainConfig functions. When CBiRRT2 choosesto sample a goal configuration, it calls the AddRootfunction (see Algorithm 5). This function retrieves therelevant set of TSR chains for each manipulator andsamples a target transform for each manipulator using theSampleFromTSRChain function, which is an implementa-tion of the methods described in Section 5.2. It then formsan initial guess of the robot’s joint values and c, and callsthe ConstrainConfig function. In practice we usually usethe initial configuration of the robot and a vector of zerosfor c as the guess, but these can be randomized as well. Ifthe ConstrainConfig does not return ∅, the resulting qs andcorresponding c are added to the tree.

The ConstrainConfig function is problem-specific: anexample of a ConstrainConfig function that considers onlyTSR chains is given in Algorithm 6. If ConstrainConfigis not passed a set of targets (i.e. it is called fromConstrainedExtend instead of AddRoot), then it gener-ates a set of targets for each manipulator using theGetClosestTransform function, which is an implementa-tion of the methods described in Section 5.3. Note thatthis function also updates the c vector with the joint val-ues of the TSR chain that generated the closest trans-form. The c values for the TSR chains that did notyield the closest transform to T0

s are not updated. Afterthe target transforms for each manipulator are obtained,ProjectConfig projects the configuration of the robot usingstandard inverse-kinematics algorithms based on the Jaco-bian pseudo-inverse to produce a qs which meets the con-straints represented by the TSR chains. This completes theIK handshaking process described in Section 5.3.

If ConstrainConfig was called by AddRoot, the distancebetween qold

s and qs is unimportant. However, we do notwish for qs to be too far from qold

s when extending usingConstrainedExtend because the intermediate configurationsare not likely to meet the constraints. Thus we enforce asmall step size to reduce deviation from constraints betweennodes.

In most situations, we are also interested in satisfyingother constraints, such as balance and collision, using therejection strategy. Checks for these constraints should beinserted at line 14 of ConstrainConfig.

6.3. Augmenting configuration with statesof physical DOF

Because TSR chains can specify constraints correspond-ing to physical DOF of objects in the world (such as

the hinge of a door) as well as purely virtual con-straints, we have to account for physical DOF when check-ing collision and measuring distances in the C-space. Toachieve this, we include the configuration of all phys-ical DOF in the configuration vector q. We set theseDOF by extracting their values from the vector of all theTSR chains’ virtual manipulator joint values c using theUpdatePhysicalConstraintDOF function. This is done online 11 of the ConstrainConfig function. Note that theseDOF are not affected by the ProjectConfig function.

6.4. Parameters

One of the strengths of CBiRRT2 is that it uses only threeparameters, all of which require minimal tuning. The firstparameter encodes the RRT step size �qstep. �qstep can beincreased to speed up planning or decreased to allow finermotions but we have found that tuning this parameter israrely necessary for the manipulation tasks we consider.

The numerical error allowed in meeting a pose constraintε (in Algorithm 1) is necessitated by the numerical natureof our projection operator. Our projection method is quiteaccurate, so CBiRRT2 performs well even for small valuesof ε.

Finally, the third parameter Psample is only used whengoal sampling is required. A higher Psample biases CBiRRT2toward goal sampling, a lower one biases it toward buildingpaths. We showed in Berenson et al. (2009c) that the algo-rithm performs well for a wide range of values for Psample,though we recommend setting the value to be low becausein our problem domain building paths usually requires morecomputation than sampling an adequate goal.

7. Example problems

This section describes six example problems and the con-straints specified for those problems as well as results forrunning CBiRRT2 in simulation and experiments on phys-ical hardware. These examples illustrate the use of TSRsand TSR chains for common problems in manipulationplanning. They are also meant to show the wide range ofproblems and robots which can be handled by the TSRframework.

The first three examples are implemented on a 7-DOFBarrett WAM and the last three on the 28-DOF HRP3humanoid. Since the TSR chain representation subsumesthe TSR representation, each problem can be implementedusing TSR chains. However, we do not describe a chainedimplementation when only chains of length one are usedso that the explanation is clearer. Unless otherwise noted,we use the ConstrainConfig function of Algorithm 6 andinclude collision and balance (for HRP3) constraints on line14, so all paths produced by the planner are guaranteed tobe collision-free and quasi-statically balanced. We set theallowable error for meeting a constraint to ε = 0.001 andthe RRT stepsize �qstep = 0.05. Psample is only used in the

Page 13: pose-constrained manipulation planning © The Author(s) 2011 · (a) (b) (c) (d) Fig. 1. The HERB and HRP3 robots executing paths planned using our pose-constrained manipulation planning

Berenson et al. 1447

Fig. 9. Snapshots from three runs of three trajectories plannedusing CBiRRT2. Top row: Grasping and throwing away a boxof rice. Middle row: Grasping and throwing away a juice bottle.Bottom row: Grasping and throwing away a soda can.

first and fifth examples, where its value is 0.1. All experi-ments were performed on a 2.4 GHz Intel CPU with 4 GBof RAM.

7.1. Clearing a table

In this problem the robot’s task is to clear a table (seeFigure 9). Each object on the table has a set of TSRs associ-ated with it, similar to the TSRs defined in Figure 4. For thesoda can and juice bottle we define allowable grasp posessimilar to those used for the soda can in Figure 4. For thenotebook and rice box, we define a TSR for each side ofthe object with the hand facing that side. Note that we donot specify which object to grasp, we simply input all theTSRs for all the objects into the planner and execute the firstpath the planner returns. After the robot grasps one of theobjects, we plan a path to throw it away using a TSR placedover the recycling bin. This TSR allows translation freedomover the top of the bin and full rotation freedom. Snapshotsfrom the execution of this task are shown in Figure 9. Theobjects were recognized and localized using a vision algo-rithm based on SIFT feature matching (Collet et al. 2009).Seven objects were picked up and dropped into the recy-cling bin. The average time for planning a reaching pathwas 3.5 s and the average planning time for planning a pathto the recycling bin was 2.44 s (all runs were successful).

7.2. The maze puzzle

In this problem, the robot must solve a maze puzzle bydrawing a path through the maze with a pen (see Figure 10).The constraint is that the pen must always be touching thetable, although the pen is allowed to pivot about the contactpoint up to an angle of α in both roll and pitch. We definethe end-effector to be at the tip of the pen with no rotationrelative to the world frame. To specify the constraint in this

Fig. 10. A trajectory found for the maze puzzle using α = 0.4 rad.The black points represent positions of the tip of the pen along thetrajectory.

Table 1. Simulation results for the maze puzzle

α (rad) 0.0 0.1 0.2 0.3 0.4 0.5

Avg. Runtime(s) >83.5 >58.8 >49.0 19.5 14.3 15.2Success Rate 40% 60% 90% 100% 100% 100%

problem, we define one pose constraint TSR with T0w to be

at the center of the maze with no rotation relative to theworld frame (z being up). Tw

e is identity and Bw is

Bw =

⎡⎢⎢⎢⎢⎢⎢⎣

−∞ ∞−∞ ∞

0 0−α α

−α α

−π π

⎤⎥⎥⎥⎥⎥⎥⎦

. (17)

This example is meant to demonstrate that CBiRRT2is capable of solving multiple narrow passage problemswhile still moving on a constraint manifold. It is also meantto demonstrate the generality of CBiRRT2; no special-purpose planner is needed even for such a specializedtask.

IK solutions were generated for both the start and goalpositions of the pen using the given grasp and input as Qs

and Qg. The values in Table 1 represent the average of 10runs for different α values. Runtimes with a “>” denote thatthere was at least one run that did not terminate before 120s. For such runs, 120 was used in computing the average.No goal sampling is performed in this example.

The shorter runtimes and high success rates for larger αvalues demonstrate that the more freedom we allow for thetask, the easier it is for the algorithm to solve it. This showsa key advantage of formulating the constraints as boundson allowable pose as opposed to requiring the pose of theobject to conform exactly to a specified value. For prob-lems where we do not need to maintain an exact pose for an

Page 14: pose-constrained manipulation planning © The Author(s) 2011 · (a) (b) (c) (d) Fig. 1. The HERB and HRP3 robots executing paths planned using our pose-constrained manipulation planning

1448 The International Journal of Robotics Research 30(12)

object we can allow more freedom, which makes the prob-lem easier. See Figure 10 for an example trajectory of thetip of the pen.

7.3. Heavy object with sliding surfaces

In this problem the task is to move a heavy dumbbell froma start position to a given goal position (see Figure 12). Theweight of the dumbbell is known but we do not know whatconfigurations allow acceptable torques a priori. Slidingsurfaces are also provided so that the planner may use theseto support the object if necessary. The planner is allowed toslide the object along a sliding surface or to hold the objectif the torques in the holding configuration are within torquelimits. The constraint on torque is formulated as

{C( q)=

{1 if InTorqueLimits( q)0 otherwise

, s = [0, 1]

}.

(18)

We employ the rejection strategy with respect to torque con-straints, so we need to calculate the torques on the joints ina given q. This is done using standard Recursive Newton-Euler techniques (Walker and Orin 1982). We will refer tothe total end-effector mass as m. Note that this formulationonly takes into account the torque necessary to maintain agiven q, i.e. it assumes the robot’s motion is quasi-static.The end-effector frame is defined to be at the bottom of thedumbbell.

Each sliding surface is a rectangle of known width andlength with an associated surface normal. In general, thesurfaces may be slanted so they may only support part ofthe object’s weight, which is taken into account when cal-culating joint torques. Each sliding surface gives rise to aconstraint manifold and there can be any number of slid-ing surfaces. To represent the sliding surfaces, we definepose constraint TSRs at the centers of each sliding surfacewith T0

w at the center with the z axis oriented normal tothe surface and Tw

e being identity. The Bw for each of theseTSRs is

Bw =

⎡⎢⎢⎢⎢⎢⎢⎣

−length/2 length/2−width/2 width/2

0 00 00 0−π π

⎤⎥⎥⎥⎥⎥⎥⎦

. (19)

The ConstrainConfig function for this example dif-fers slightly from the one in Algorithm 6. Instead ofalways satisfying one of the pose constraint TSRs, theConstrainConfig function for this example first checks ifthe configuration meets the torque constraint and, if it doesnot, attempts to satisfy the closest pose constraint TSRin the same way as Algorithm 6 (see Figure 11). Finally,ConstrainConfig for this example checks if the projected

Fig. 11. Finding the closest pose constraint TSR withinConstrainConfig. The shortest distance from T0

e to T0wi

(computedusing the DistanceToTSR function of Section 4.2) determineswhich TSR is chosen for projection.

configuration supports enough weight to ensure that thetorque constraint is met.

We generate Qs and Qg the same way as in the maze puz-zle. The values in Table 2 represent the average of 10 runsfor different weights of the dumbbell. The weight of thedumbbell was increased until the algorithm could not find apath within 120 s for one of the 10 runs. No goal samplingis performed in this example.

The shorter runtimes and higher success rates for lowerweights of the dumbbell match our expectations aboutthe constraints induced by torque limits. As the dumbbellbecomes heavier, the manifold of configurations with validtorque becomes smaller and thus finding a path through thismanifold becomes more difficult.

We also implemented this problem on our physical WAMrobot. Snapshots from three trajectories for three differentweights are shown in Figure 12. As with the simulationenvironment, the robot slid the dumbbell more when theweight was heavier, and sometimes picked up the weightwithout any sliding for the mass of 4.98 kg. Note that wetake advantage of the compliance of our robot to help exe-cute these trajectories but in general such trajectories shouldbe executed using an appropriate force-feedback controller.

7.4. Closed chain kinematics

One of the major research areas in two-arm manipula-tion is the handling of closed chain kinematics constraints.Some researchers approach the problem of planning withclosed chain kinematics by implementing specialized pro-jection operators (Yakey et al. 2001) or sampling algo-rithms (Cortes and Simeon 2004). However, in the TSRframework no special additions are required. In fact, closedchain kinematics can be enforced using straightforwardTSR definitions.

Page 15: pose-constrained manipulation planning © The Author(s) 2011 · (a) (b) (c) (d) Fig. 1. The HERB and HRP3 robots executing paths planned using our pose-constrained manipulation planning

Berenson et al. 1449

Table 2. Simulation results for heavy object sliding

Weight (kg) 7 8 9 10 11 12 13 14

Avg.Runtime(s) 1.89 2.06 3.84 5.51 7.29 12.4 27.5 >53.9Success Rate 100% 100% 100% 100% 100% 100% 100% 80%

Fig. 12. Experiments on the 7-DOF WAM arm for three dumbbells. Top row: m = 4.98 kg. Middle row: m = 5.90 kg. Bottom row:m = 8.17 kg. The trajectory for the lightest dumbbell requires almost no sliding, whereas the trajectories for the heavier dumbbellsslide the dumbbell to the edge of the table. Time proceeds from left to right.

Consider the problem shown in Figure 13(a). The taskfor the HRP3 humanoid is to pick up a box from the bot-tom of the bookshelf and place it on top. Note that thereare two closed chains which must be enforced by the plan-ner: the legs and arms form two separate loops. We rootthe kinematic tree of the robot at the right foot, though thefloating-base formulation can also be used.

We define three pose constraint TSRs. The first TSR isassigned to the left leg of the robot and allows no deviationfrom the current left-foot location (i.e. Bw = 06×2). Thesecond and third TSRs are assigned to the left and rightarms and are defined relative to the location of the box (i.e.the 0 frame of T0

w is the frame of the box). The bounds aredefined such that the hands will always be holding the sidesof the box at the same locations (Bw = 06×2). The geometryof the box is “attached” to the right hand. We get the goalconfiguration of the robot from inverse kinematics on thetarget box position; no goal sampling is performed in thisexample.

The result of this construction is that whenConstrainedExtend generates a new qs, the box moveswith the right hand and the frame of the box changes, thus

breaking the closed-chain constraint. This qs is passed toConstrainConfig, which projects qs to meet the constraint(i.e. moving the left arm). The right hand is constrainedto not deviate from its pose in qs by its TSR chain, whichensures that the box does not move during the projectionoperation. The same process happens simultaneously forthe left leg of the robot as well.

We implemented this example in simulation and on thephysical HRP3 robot. Runtimes for 30 runs of this problemin simulation can be seen in Table 3. On the real robot, thetask was to stack two boxes in succession; snapshots fromthe execution of the plan can be seen in Figure 14. Theexperiments on the robot show that we can enforce strin-gent closed-chain constraints using the CBiRRT2 plannerand TSRs.

7.5. Simultaneous constraints andgoal sampling

The task in this problem is to place a bottle held by HRP3into a refrigerator (see Figure 13(b)). Usually, such a taskis separated into two parts: first open the refrigerator and

Page 16: pose-constrained manipulation planning © The Author(s) 2011 · (a) (b) (c) (d) Fig. 1. The HERB and HRP3 robots executing paths planned using our pose-constrained manipulation planning

1450 The International Journal of Robotics Research 30(12)

(a) (b)

(c)

Fig. 13. Snapshots from paths produced by our planner for the three examples using HRP3 in simulation. (a) Closed chain kinematicsexample. (b) Simultaneous constraints and goal sampling example. (c) Manipulating a passive chain example.

Fig. 14. Snapshots from the execution of the box stacking task on the HRP3 robot.

then place the bottle inside. However, with TSRs, there isno need for this separation because we can implicitly sam-ple how much to open the refrigerator and where to put thebottle at the same time. The use of TSR chains is importanthere, because it allows the right arm of the robot to rotateabout the handle of the refrigerator, which gives the robotmore freedom when opening the door. We assume that thegrasp cages the door handle (as in Diankov et al. (2008))so the end-effector can rotate about the handle without thedoor escaping.

There are four TSR chains defined for this problem. Thefirst is the TSR chain (1 element) for the left leg, whichis the same as in the previous example. This TSR chainis marked for both sampling goals and constraining pose.The second TSR chain (2 element) is defined for the rightarm and is described in Section 5.1. This chain is alsomarked for both sampling goals and constraining pose. Thethird TSR chain (1 element) is defined for the left arm andconstrains the robot to disallow tilting of the bottle during

the robot’s motion. This chain is used only as a poseconstraint. Its bounds are

Bw =

⎡⎢⎢⎢⎢⎢⎢⎣

−∞ ∞−∞ ∞−∞ ∞

0 00 0−π π

⎤⎥⎥⎥⎥⎥⎥⎦

. (20)

The final TSR chain (1 element) is also defined for the leftarm and represents the allowable placements of the bot-tle inside the refrigerator. Its Bw has freedom in x and ycorresponding to the refrigerator width and length, and nofreedom in any other dimension. This chain is only used forsampling goal configurations.

The result of this construction is that the robot simulta-neously samples a target bottle location and wrist positionfor its right arm when sampling goal configurations, so it

Page 17: pose-constrained manipulation planning © The Author(s) 2011 · (a) (b) (c) (d) Fig. 1. The HERB and HRP3 robots executing paths planned using our pose-constrained manipulation planning

Berenson et al. 1451

Table 3. Runtimes for example problems using HRP3

Mean Std Dev % Success

Closed chain kinematics 4.21 s 2.00 s 100%Simultaneous constraints

and goal sampling 1.54 s 0.841 s 100%Manipulating a passive chain 1.03 s 0.696 s 100%

can perform the task in one motion instead of in sequence.Another important point is that we can be rather sloppywhen defining TSRs for goal sampling. Observe that manysamples from the right arm’s TSR chain will leave the doorclosed or marginally open, thus placing the left arm into col-lision if it is reaching inside the refrigerator. However, thisis not an issue for the planner because it can always sam-ple more goal configurations and the collision constraint isincluded in the ConstrainConfig function. Theoretically, aTSR chain defined for goal sampling need only be a super-set of the goal configurations that meet all constraints (aslong as it is of the same dimensionality). However, as theprobability of sampling a goal from this TSR chain whichmeets all constraints decreases, the planner will requiremore time to generate a goal configuration, thus slowingdown the algorithm.

Runtimes for 30 runs of this problem in simulation canbe seen in Table 3.

7.6. Manipulating a passive chain

The task in this problem is for the robot to assist in placinga disabled person into bed (see Figure 13(c)). The robot’stask is to move the person’s right hand to a specified pointnear his body. The person’s arm is assumed to be completelypassive and the kinematics of the arm (as well as joint lim-its) are assumed to be known. In this problem, we get thegoal configuration of the robot from inverse kinematics onthe target pose of the person’s hand. The robot’s grasp of theperson’s hand is assumed to be rigid. No goal sampling isperformed in this example.

There are two TSR chains defined for this problem, bothof which are used as pose constraints. The first is the TSRchain (1 element) for the left leg, which is the same as theprevious example. The second is a TSR chain (6 element)defined for the person’s arm. Every element of this chaincorresponds to a physical DOF of the person’s arm. Notethat since the arm is not redundant, we do not need to per-form any special IK to ensure that the configuration of theperson matches what it would be in the real world.

The result of this construction is that the person’s armwill follow the robot’s left hand. Since the configuration ofthe person’s arm is included in q, there cannot be any signif-icant discontinuities in the person’s arm configuration (i.e.elbow-up to elbow-down) because such configurations aredistant in the C-space.

This example shows that the TSR framework is capa-ble of handling complex chains of constraints in addition

to the simpler constraints of the previous problems. Run-times for 30 runs of this example in simulation can be seenin Table 3.

8. Extension: Addressing pose uncertaintywith TSRs

In an effort to broaden the applicability of our framework tolarger classes of real-world problems, we have been study-ing how to compute safe plans in the presence of uncer-tainty (Berenson et al. 2009b). A common assumption whenplanning for robotic manipulation tasks is that the robot hasperfect knowledge of the geometry and pose of objects inthe environment. For a robot operating in a home environ-ment it may be reasonable to have geometric models of theobjects the robot manipulates frequently and/or the robot’swork area. However, these objects and the robot often movearound the environment, introducing uncertainty into thepose of the objects relative to the robot. Laser-scanners,cameras, and sonar sensors can all be used to help resolvethe poses of objects in the environment, but these sen-sors are never perfect and usually localize the objects tobe within some hypothetical set of pose estimates. Plan-ning without regard to this set of estimates can violate taskspecifications.

Suppose that a robot arm is to pick up an object by plac-ing its end-effector at a particular pose relative to the objectand closing the fingers. If there is any uncertainty in thepose of the object, generally no guarantee can be made thatthe end-effector will reach a specific point relative to thetrue pose of the object. Depending on the task, this lackof precision may range from being the source of minordisturbances to being the cause of critical failure.

TSRs allow planning for manipulation tasks in the pres-ence of pose uncertainty by ensuring that the given taskrequirements are satisfied for all hypotheses of an object’spose. TSRs also provide a way to quickly reject tasks whichcannot be guaranteed to be accomplished given the currentpose uncertainty estimates. In this section, we show how tomodify the TSRs of a given task to account for pose uncer-tainty and guarantee that samples drawn from the modifiedTSRs will meet task specifications. The methods presentedin this section apply only to the TSR representation; wehave not yet generalized them to account for TSR chainsbecause we do not yet have a method for intersecting theimplicit sets of poses defined by TSR chains.

8.1. Intersecting TSRs

Let the set of pose hypotheses for a given object be a set oftransformation matrices H. Also, let the set of TSRs definedfor this object be T . The process for generating a new setof TSRs Tnew that takes into account H is shown in Algo-rithm 7. The goal of this process is to find the intersection ofcopies of each TSR corresponding to each pose hypothesis.Any point sampled from within the volume of intersection

Page 18: pose-constrained manipulation planning © The Author(s) 2011 · (a) (b) (c) (d) Fig. 1. The HERB and HRP3 robots executing paths planned using our pose-constrained manipulation planning

1452 The International Journal of Robotics Research 30(12)

Algorithm 7: ApplyUncertainty(T ,H)

T0h0← Any element of H;1

Tnew ← ∅;2

for t ∈ T do3

Tsplit ← SplitRotations( t, T0h0

,H);4

for ts ∈ Tsplit do5

A← ∅; b← ∅;6

for T0h ∈ H do7

V ← GetVertices( ts);8

Vxyz ←( T0h0

)−1 T0hVxyz;9

F ← GetFaces( V );10

{Atemp, btemp} ←11

FacesToLinInequalities( F);A← A ∪ Atemp;12

b← b ∪ btemp;13

end14

P← GetVerticesFromInequalities( A, b);15

if P = ∅ then16

ts.T0w ← h0;17

ts.Bw ← BoundingBox( P);18

ts.Twe ← t.Tw

e ;19

ts.LI← {A, b};20

Tnew ← Tnew ∪ ts;21

end22

end23

end24

return Tnew;25

is guaranteed to meet the task specification despite poseuncertainty.

This algorithm first splits every TSR t ∈ T to take intoaccount the rotation uncertainty in H, generating a set Tsplit

for each t. See Figure 15 for an illustration of this process.It then places a duplicate of each ts ∈ Tsplit at every loca-tion defined by the transforms in H. Next, it computes thevolume of intersection of all duplicates for every ts (see Fig-ure 16). Recall that TSR bounds define a cuboid in posespace. The volume of intersection between multiple cuboidsis computed by first converting all faces of all cuboids intolinear constraints via the FacesToLinInequalities functionand then converting those linear constraints into verticesP of a 6D polytope via the GetVerticesInequalities func-tion. Since TSRs are convex we know that the polytopeof intersection must be convex as well. If the uncertaintyis too great (i.e. there is no 6D point where all duplicatesintersect), P will be empty. If P is not empty, we place anaxis-aligned bounding box around P, set this as the newbounds of ts, and add ts to Tnew. Note that it is irrelevantwhich element of H is used as T0

h0because the results will

always be the same in the world frame.

Fig. 15. Process for splitting TSRs to take into account rotationuncertainty. Only one dimension of rotation is shown here. Thethree concentric circles correspond to a single TSR’s bound inRoll that has been rotated by transforms T0

h0, T0

h1, and T0

h2. Blue

regions correspond to allowable rotations and black regions tounallowable rotations. The circles are cut at π = −π and over-laid on the right. The strips where all rotations are valid (thereare no black regions) are extracted as new separate bounds forthis dimension. This process is identical for Roll, Pitch, and Yaw.The cartesian product of the new bounds for Roll, Pitch, and Yaw,along with the original x, y, and z bounds, produces a new set ofTSRs Tsplit.

Fig. 16. Intersection of five instances of a TSR. Left: x–y view.Right: y–z view. The red points are sampled within the polytope ofintersection using rejection sampling.

8.2. Direct sampling from the volumeof intersection

In order to guarantee that a directly sampled 6D point meetsthe uncertainty specification of the problem, samples drawnfrom ts must lie inside the polytope defined by P. Ideally,we would like to generate uniformly random samples fromwithin P directly. Indeed, this is always possible because thepolytope defined by P is convex. Because the polytope isconvex, it can always be divided into simplices using Delau-nay Triangulation. To generate a uniformly random samplefrom a collection of simplices, we first select a simplex pro-portional to its area and then sample within that simplex

Page 19: pose-constrained manipulation planning © The Author(s) 2011 · (a) (b) (c) (d) Fig. 1. The HERB and HRP3 robots executing paths planned using our pose-constrained manipulation planning

Berenson et al. 1453

Fig. 17. Sampled goal configurations of the WAM arm that are guaranteed to meet task specifications despite uncertainty for threereaching tasks. The intersecting boxes above show several of the intersecting TSRs for these tasks. In the task shown in the center theTSR for grasping the box from the top is eliminated by uncertainty (there is no point where all the boxes intersect) while the one forgrasping it from the side is not.

by generating a random linear combination of its vertices(Devroye 1986). For simple polytopes this method is quiteefficient, however as the polytope defined by P grows morecomplex, the Delaunay Triangulation becomes more costly,so this method usually does not scale well with the numberof hypotheses in H.

Rejection sampling can also be used to sample from thepolytope defined by P. When using rejection sampling, wesample a point x uniformly at random from the bounding-box of P until we find an x which satisfies b−Ax ≥ 0, wherethe matrix A and the vector b describe the hyperplanes andoffsets, respectively, that define the faces of P. This methodis quite fast in practice and does not require triangulatingthe polytope defined by P, thus it is more suitable for use inan online planning scenario.

In order to accommodate rejection sampling with TSRs,we add another element to our TSR definition (Section 4.1)for tasks with pose uncertainty:

• LI: Linear inequalities of the form b− Ax ≥ 0.

If the Tnew returned by ApplyUncertainty( T ,H) isempty, then we know that it is impossible to accomplishthis task with the uncertainty in H. We can thus reject thistask without calling the planner, a key advantage of thisapproach.

Several example reaching tasks and associated TSRs areshown in Figure 17. The scene contains duplicates of everyobject at its pose estimates to ensure that the path generatedby the planner is collision-free for all hypotheses of objectpose.

9. Discussion

The main advantage of our framework is the generality inthe constraint representation and planning method. We areable to tackle a wide range of problems without resorting tohighly specialized techniques. This is evidenced in part bythe low number of parameters in our algorithm and that,despite a wide range of problems and robots, the valuesof these parameters were constant across all the exampleproblems.

Another advantage of our approach is that short-cuttingpaths produced by our planner uses the same process asgrowing branches. This allows us to easily shorten our pathsin the presence of multiple constraints, which was left as anopen problem in previous work (Yakey et al. 2001; Stilman2007).

Since our framework is built around a sampling-basedplanner we inherit many of the difficulties of this approachto planning. For instance, it would be difficult to incorporatenon-holonomic constraints and dynamics into our frame-work because these constraints would disrupt the distancemetric used by the RRT. On the other hand, we can employa wide range of techniques that speed up sampling-basedplanning and repair paths in the presence of moving obsta-cles. These techniques can be incorporated into our plannerto make it faster and more robust.

One criticism of the TSR framework is that the constraintrepresentation may not be sufficiently rich. For instance,some modifications to TSR chains are necessary to accom-modate constraints where DOF are coupled (as with screwconstraints). Indeed, TSRs and TSR chains cannot cap-ture every conceivable constraint, nor are they intended to.Instead, these representations attempt to straddle the trade-off between practicality and expressivity. TSRs have proven

Page 20: pose-constrained manipulation planning © The Author(s) 2011 · (a) (b) (c) (d) Fig. 1. The HERB and HRP3 robots executing paths planned using our pose-constrained manipulation planning

1454 The International Journal of Robotics Research 30(12)

sufficient for solving a wide range of real-world manipu-lation problems while still remaining relatively simple andefficient to use in a sampling-based planner. While a moreexpressive representation is surely possible, we have yetto find one that is as straightforward to specify and asconvenient for sampling-based planning.

Even if we were to adopt a different constraint repre-sentation to solve a specific problem, many parts of ourframework would still be applicable. For instance, we wouldstill be able to use CBiRRT2 as long as the representationprovided for fast sampling and distance-checking meth-ods. The proof of probabilistic completeness (Appendix A)would also apply, because it addresses pose constraints ingeneral, not only TSRs.

One drawback of the TSR framework is that we havenot yet devised a method to prioritize constraints. As aresult, we can only specify simultaneous constraints usingan OR structure if we use the projection strategy. Thismeans that the planner has the option of satisfying con-straint 1 OR constraint 2 OR constraint 3, and so on. Oneway to address this issue would be to attempt to satisfy con-straints in order of their priority, though this is not equiv-alent to a truly prioritized framework. Another approachwould be to use projection operators that allow prioriti-zation, like those discussed in Section A.7.2, although itis unclear how to retain probabilistic completeness whileusing those operators. We are very interested in investigat-ing how to incorporate prioritization into the framework inthe future.

Finally, a practical issue with our method of planning onconstraint manifolds is that the distribution of samples maysometimes be undesirable, i.e. the projection strategy biasessamples toward the boundaries of the manifold (Figure 18).This bias leads to an over-exploration of the boundaries ofthe manifold to the detriment of exploring the manifold’sinterior. It can cause the algorithm to perform slowly if aninterior point of the manifold is needed to complete a path.On the other hand, the algorithm is much faster at find-ing configurations on the boundary, which can be usefulfor problems such as the weight-lifting example, where therobot must slide the dumbbell to the edge of the table inorder to lift it.

10. Conclusion

We have presented a practical framework for represent-ing and planning with end-effector pose constraints, amongothers. The underpinnings of our approach are the TSRand TSR chain representations, which allow us to easilyspecify constraints for a given problem. These representa-tions are designed specifically for sampling-based plannersand as a result possess fast sampling and distance-checkingmethods. The TSR framework uses these representations tocharacterize and solve many real-world problems rangingfrom reaching to grasp to manipulating articulated objects.Most importantly, the framework is designed for real-world

(a) (b)

Fig. 18. The depiction of a TSR and the samples on the corre-sponding manifold generated using the CBiRRT2. (a) The end-effector must be on the line with an orientation within ±0.7 radof downward. (b) The sampling is biased toward the boundaries ofthe manifold.

robots, such as the mobile manipulator and humanoidshown earlier. We discuss the completeness properties ofplanning with end-effector pose constraints and present aproof for a class of planning algorithms in Appendix A.This provides a theoretical foundation for our frameworkand reinforces its generality. Finally, we have begun toapply our framework to planning with uncertainty, wherewe developed a method that exploits freedoms in taskspecification to compensate for uncertainty in object pose.

Funding

This research was partially supported by Intel Labs Pittsburgh,and by the National Science Foundation (grant number EEC-0540865).

Conflict of interest

The authors declare that they have no conflicts of interest.

Acknowledgements

Thanks are due to Ross Knepper, Julius Ziegler, Joel Chestnut,Nico Blodow, and David Handron for helpful discussions.

References

Atkeson, CG and Schaal, S (1997) Learning tasks from a sin-gle demonstration. In: Proc. IEEE International Conference onRobotics and Automation (ICRA), 1706–1712.

Bellman, R (1957) Dynamic Programming. Princeton, NJ: Prince-ton University Press.

Bentivegna, D, Atkeson, CG, and Cheng, G (2004) Learningtasks from observation and practice. Robotics and AutonomousSystems 47:163–169.

Berenson, D, Chestnutt, J, Srinivasa, SS, Kuffner, JJ, and Kagami,S (2009a) Pose-Constrained Whole-Body Planning using TaskSpace Region chains. In: Proc. IEEE-RAS International Con-ference on Humanoid Robots (Humanoids 09).

Page 21: pose-constrained manipulation planning © The Author(s) 2011 · (a) (b) (c) (d) Fig. 1. The HERB and HRP3 robots executing paths planned using our pose-constrained manipulation planning

Berenson et al. 1455

Berenson, D and Srinivasa, S (2010) Probabilistically completeplanning with end-effector pose constraints. In: IEEE Interna-tional Conference on Robotics and Automation (ICRA).

Berenson, D, Srinivasa, S, and Kuffner, J (2009b) Address-ing Pose Uncertainty in Manipulation Planning Using TaskSpace Regions. In: Proc. IEEE/RSJ International Conferenceon Intelligent Robots and Systems (IROS).

Berenson, D, Srinivasa, SS, Ferguson, D, Collet, A, and Kuffner, J(2009c) Manipulation planning with workspace goal regions.In: Proc. IEEE International Conference on Robotics andAutomation (ICRA).

Berenson, D, Srinivasa, SS, Ferguson, D, and Kuffner, J (2009d)Manipulation planning on constraint manifolds. In: Proc.IEEE International Conference on Robotics and Automation(ICRA).

Bertram, D, Kuffner, J, Dillmann, R, and Asfour, T (2006)An integrated approach to inverse kinematics and path plan-ning for redundant manipulators. In: Proc. IEEE InternationalConference on Robotics and Automation (ICRA), 1874–1879.

Burdick, J (1989) On the inverse kinematics of redundant manip-ulators: characterization of the self-motion manifolds. In: Proc.IEEE International Conference on Robotics and Automation(ICRA), 264–270.

Collet, A, Berenson, D, Srinivasa, SS, and Ferguson, D (2009)Object recognition and full pose registration from a singleimage for robotic manipulation. In: Proc. IEEE InternationalConference on Robotics and Automation (ICRA).

Cortes, J and Simeon, T (2004) Sampling-based motion planningunder kinematic loop-closure constraints. In: Workshop on theAlgorithmic Foundations of Robotics (WAFR).

Devroye, L (1986) Non-Uniform Random Variate Generation.New York: Springer-Verlag, 567–571.

Diankov, R, Srinivasa, SS, Ferguson, D, and Kuffner, J (2008)Manipulation planning with caging grasps. In: Proc. IEEE-RASInternational Conference on Humanoid Robots (Humanoids08).

Drumwright, E and Ng-Thow-Hing, V (2006) Toward interactivereaching in static environments for humanoid robots. In: Proc.IEEE/RSJ International Conference on Intelligent Robots andSystems (IROS).

Hauser, K and Latombe, J (2008) Multi-Modal Motion Planningin Non-Expansive Spaces. In: Workshop on the AlgorithmicFoundations of Robotics (WAFR).

Hirano, Y, Kitahama, K, and Yoshizawa, S (2005) Image-basedobject recognition and dexterous hand/arm motion planningusing rrts for grasping in cluttered scene. In: Proc. IEEE/RSJInternational Conference on Intelligent Robots and Systems(IROS).

Howard, M, Klanke, S, Gienger, M, Goerick, C, and Vijayakumar,S (2008) Learning potential-based policies from constrainedmotion. In: Proc. 8th IEEE-RAS International Conference onHumanoid Robots (Humanoids 08).

Kavraki, LE, Svestka, P, Latombe, JC, and Overmars, MH (1996)Probabilistic roadmaps for path planning in high-dimensionalconfiguration spaces. IEEE Transactions on Robotics andAutomation 12:566–580.

Khatib, O (1987) A unified approach for motion and force con-trol of robot manipulators: The operational space formulation.IEEE Transactions on Robotics and Automation 3:43–53.

Koga, Y, Kondo, K, Kuffner, J, and Latombe, J-C (1994) Planningmotions with intentions. In: SIGGRAPH.

Kuffner, JJ Jr and LaValle, SM (2000) RRT-connect: An effi-cient approach to single-query path planning. In: Proc.IEEE International Conference on Robotics and Automation(ICRA).

LaValle, S and Kuffner, J (2000) Rapidly-exploring random trees:Progress and prospects. In: Workshop on the Algorithmic Foun-dations of Robotics (WAFR).

LaValle, SM (2006) Planning Algorithms. Cambridge, UK: Cam-bridge University Press.

Oriolo, G and Mongillo, C (2005) Motion planning formobile manipulators along given end-effector paths. In: Proc.IEEE International Conference on Robotics and Automation(ICRA).

Oriolo, G, Ottavi, M, and Vendittelli, M (2002) Probabilisticmotion planning for redundant robots along given end-effectorpaths. In: Proc. IEEE/RSJ International Conference on Intelli-gent Robots and System (IROS).

Sciavicco, L and Siciliano, B (2000) Modeling and Con-trol of Robot Manipulators, 2nd edition. London: Springer,96–100.

Seereeram, S and Wen, J (1995) A global approach to pathplanning for redundant manipulators. IEEE Transactions onRobotics and Automation 11:152–160.

Sentis, S and Khatib, O (2005) Synthesis of whole-body behaviorsthrough hierarchical control of behavioral primitives. Interna-tional Journal of Humanoid Robotics 2:505–518.

Stilman, M (2007) Task constrained motion planning in robotjoint space. In: Proc. IEEE/RSJ International Conference onIntelligent Robots and Systems (IROS).

Stilman, M, Schamburek, JU, Kuffner, J, and Asfour, T (2007)Manipulation planning among movable obstacles. In: Proc.IEEE International Conference on Robotics and Automation(ICRA).

Sugihara, T and Nakamura, Y (2002) Whole-body cooperativebalancing of humanoid robot using COG Jacobian. In: Proc.IEEE/RSJ International Conference on Intelligent Robots andSystems (IROS).

Svestka, P (1996) On probabilistic completeness and expectedcomplexity of probabilistic path planning. Technical report,UU-CS-96-20. Department of Computer Science, Utrecht Uni-versity, Utrecht, Netherlands.

Vande Weghe, M, Ferguson, D, and Srinivasa, SS (2007) Random-ized path planning for redundant manipulators without inversekinematics. In: Proc. IEEE-RAS International Conference onHumanoid Robots (Humanoids 07).

Walker, M and Orin, D (1982) Efficient dynamic computer sim-ulation of robotic mechanisms. ASME Journal of DynamicSystems Measurement and Control 104:205–211.

Yakey, JH, LaValle, SM, and Kavraki, LE (2001) Randomizedpath planning for linkages with closed kinematic chains. IEEETransactions on Robotics and Automation 17:951–958.

Yamane, K, Kuffner, J, and Hodgins, J (2004) Synthesizinganimations of human manipulation tasks. In: SIGGRAPH.

Yao, Z and Gupta, K (2005) Path planning with general end-effector constraints: using task space to guide configurationspace search. In: Proc. IEEE/RSJ International Conference onIntelligent Robots and Systems (IROS).

Page 22: pose-constrained manipulation planning © The Author(s) 2011 · (a) (b) (c) (d) Fig. 1. The HERB and HRP3 robots executing paths planned using our pose-constrained manipulation planning

1456 The International Journal of Robotics Research 30(12)

A. Appendix: Probabilistic completeness

We now discuss a proof of probabilistic completenessfor our approach to planning with end-effector pose con-straints. Since the proof is quite lengthy, we provide onlya summary here (for details see Berenson and Srinivasa(2010)). We emphasize that this proof is valid for a class ofalgorithms that plan with constraints on end-effector pose,not only CBiRRT2. We also note that, while we focus onthe TSR representation in the rest of this paper, this sec-tion makes no assumptions about the representation of poseconstraints. Our only restriction is that the dimensionalityof the manifold described by the constraint is fixed for agiven problem.

Depending on the definition of an end-effector pose con-straint, it can induce a variety of manifolds in the robot’sconfiguration space. If these manifolds have non-zero vol-ume in the C-space (see Figure 19(d)) it is straightforwardto show that an RRT-based algorithm is probabilisticallycomplete because rejection sampling in the C-space willeventually place samples inside of the manifold. However, ifa pose constraint induces a lower-dimensional manifold, i.e.one that has zero volume in the C-space (see Figure 19(e)and (f)), rejection sampling in the C-space will not generatea sample on the constraint manifold.

RRT-based algorithms can overcome this problem byusing the projection strategy: sampling coupled with a pro-jection operator to move configuration space samples ontothe constraint manifold. However, it is not clear whether theprojection strategy produces adequate coverage of the con-straint manifold to guarantee probabilistic completeness.The proof presented in this section guarantees probabilis-tic completeness for a class of RRT-based algorithms givenan appropriate projection operator. This proof is valid forconstraint manifolds of any fixed dimensionality.

Our proof of probabilistic completeness has two parts:first, we present a set of properties for the projection opera-tor and prove that these properties allow the projection strat-egy to cover the constraint manifold. Second, we describea class of RRT-based algorithms (such as CBiRRT2 andTCRRT (Stilman 2007)), which use such a projection oper-ator and prove that they are probabilistically complete.

A.1. Definitions

A topological manifold is a second-countable Hausdorffspace where every point has a neighborhood homeomor-phic to an open Euclidean n-ball, where n is allowed to vary.Manifolds can be disjoint, with each piece of the manifoldcalled a connected component. Manifolds that have a fixedn (i.e. n-dimensional manifolds) are called pure manifolds.

Let μn be a measure of volume in an n-dimensionalspace. If the volume of a manifold in an embedding spaceis zero, then the probability of generating a sample on themanifold by rejection sampling in the embedding space iszero. Conversely if the volume of a manifold in an embed-ding space is not zero, then the probability of generating a

(a) (b) (c)

(d) (e) (f)

Fig. 19. Three pose constraints and their corresponding C-spaceconstraint manifolds for a 3-link manipulator. (a) The end-effectormust be in the green rectangle with an orientation ±0.7 rad ofdownward. (b) The end-effector must be on the line with an orien-tation ±0.7 rad of downward. (c) The end-effector must be on theline pointing downward. (d)–(f) show graphs created from sam-pling on the manifolds corresponding to the constraints in (a)–(c),respectively. Black points are nodes and blue lines are edges. Themanifold in (d) has non-zero volume in the C-space, the manifoldsin (e) and (f) do not.

sample on the manifold by rejection sampling in the embed-ding space will go to one as the number of samples goes toinfinity.

A sampling method covers a manifold if it generates a setof samples such that any open n-dimensional ball containedin the manifold contains at least one sample.

Our proof of manifold coverage hinges on the conceptof self-motion manifolds, which were described in Burdick(1989). A self-motion manifold is the set of configurationsin C-space which place the end-effector of the robot in acertain pose.

Let the reachable manifold of end-effector poses of thegiven manipulator be R ⊆ SE( 3). Here R is defined by theForward Kinematics function of the robot:

x : Q→ R, (21)

where Q is the C-space; x is always surjective and can beone-to-one or many-to-one, depending on the manipulator.We restrict our proof to manipulators whose Q and R areboth pure manifolds.

Let Q be n-dimensional, where n is the number of DOFof the manipulator. We will parameterize SE( 3) locallyusing three variables for translation and three for rotation,i.e. a pose will be a vector in R

6. Let R be r-dimensional,where r ≤ 6.

Let the manifold of end-effector poses allowable by thetask be T ⊆ R. Let this manifold have dimensionality d ≤r. We will assume that d is fixed, though we will discussthe implications of allowing d to vary in Section A.7. Let

Page 23: pose-constrained manipulation planning © The Author(s) 2011 · (a) (b) (c) (d) Fig. 1. The HERB and HRP3 robots executing paths planned using our pose-constrained manipulation planning

Berenson et al. 1457

the manifold of configurations that place the robot’s end-effector in T be M ⊆ Q. M is the union of all self-motionmanifolds that map to a pose in T :

M =⋃t∈T{q ∈ Q | x( q)= t}. (22)

Here M has dimensionality m = n−( r− d).We will be using the (weighted-)Euclidian distance met-

ric on SE( 3), which we will denote as dist. This distancemetric has the property that each pose in T has at least an( r − d)-dimensional Voronoi cell in R. A Voronoi cell isthe set of points that are closer to a certain point than to anyother, given a distance metric (LaValle 2006).

Table 4 summarizes the definitions and dimensionalitiesof manifolds used in the proof.

A.2. Proof of manifold coverage by the projectionstrategy

The projection strategy first produces a sample in the C-space and then projects that sample onto M using a pro-jection operator P : Q → M. In order to show that analgorithm using the projection strategy is probabilisticallycomplete, we must first show that this method covers M.

This section will show that the projection strategy doesindeed cover M if the projection operator has the followingproperties:

1. P( q)= q if and only if x( q)∈ T ;2. if x( q1) is closer to x( q2)∈ T than to any other point in

T and dist( x( q1) , x( q2) )< ε for an infinitesimal ε >0, then x( P( q1) )= x( q2).

The first property guarantees that a configuration that isalready in M will project to itself. The second propertyensures that any pose in T can be chosen for projection.We will describe the underlying mechanics of the projectionoperator in Section A.4.

If d = r then μn(M)> 0. By the first property ofP, a sample placed in M will project to itself. Thus theprojection strategy will cover M by the same principle asrejection sampling when M is of the same dimension as theC-space.

The remainder of this section will focus on proving cov-erage when d < r, i.e. when μn(M)= 0. Consider an openm-dimensional ball Bm( q)⊆M for any q ∈M. Note thatopen in this context refers to the openness of the set withrespect to M. For notational simplicity, let Bm represent anyBm( q) for any such q. We will show that the projection strat-egy places a sample in any Bm as the number of iterationsgoes to infinity, thus covering M.

Consider an n-dimensional manifold C( Bm)= {q :P( q)∈ Bm, q ∈ Q}. If such a C exists for any Bm, theprojection strategy will place a sample inside C with prob-ability greater than zero (because C is n-dimensional) andthat sample will project into Bm. This will guarantee cover-age of M as the number of iterations goes to infinity. Buthow do we guarantee that such a C exists for any Bm?

Table 4. Definitions used throughout the proof of probabilisticcompleteness

Name Symbol Dimension

C-space Q nConfiguration q 0Constraint Manifold M m = n−( r− d)Reachability R rPose x( q) 0Task Constraint T d ≤ r

We will show that C can be defined as the intersec-tion of two n-dimensional manifolds, x−1(N ) and UH,both of which must exist for any Bm (notation will beexplained in subsequent subsections). The following sub-sections describe each of these manifolds and show that( x−1(N )∩UH) must be n-dimensional and all configu-rations in ( x−1(N )∩UH) must project into Bm. Thus,( x−1(N )∩UH) meets the requirements of C, which com-pletes the proof of coverage.

A.3. To task space and back again: definingx−1(N )

In this section we will define a manifold x−1(N ), whichprojects into a set of self-motion manifolds S ⊆ M thatintersects Bm. We do this by mapping Bm into task space,constructing an r-dimensional manifold of poses N thatproject into x( Bm) and then mapping N back into C-space.We summarize these three steps in Figure 20. N is guar-anteed to exist by the second property of the projectionoperator but the construction of this manifold is somewhatdetailed, so we refer the reader to Berenson and Srinivasa(2010) for a full explanation.

The manifold produced at the end of the three-stepprocess is x−1(N ), which has the following properties:

1. x−1(N ) is n-dimensional;2. x−1(N ) contains Bm;3. P( x−1(N ) )= S.

Here S is defined as the manifold of configurations whichmap into x( Bm), i.e. S = {q ∈ M | x( q)∈ x( Bm) } (seeFigure 21). We will use S to show coverage of M inSection A.5.

S has the following properties:

1. if a self-motion manifold intersects Bm, it is a subsetof S;

2. if a self-motion manifold does not intersect Bm, it is nota subset of S;

3. S �= ∅.

Page 24: pose-constrained manipulation planning © The Author(s) 2011 · (a) (b) (c) (d) Fig. 1. The HERB and HRP3 robots executing paths planned using our pose-constrained manipulation planning

1458 The International Journal of Robotics Research 30(12)

Fig. 20. An example showing the process used to define x−1(N ). d = 1, r = 2, and n = 3.

Fig. 21. An example of P( x−1(N ) )= S. d = 1, r = 2, and n = 3.

A.4. Projection into a ball on a self-motionmanifold

We have shown that P( x−1(N ) )= S and described someproperties of S, however we have not stated where onS a projected configuration will go. It is possible that aq ∈ x−1(N ) will project to a configuration outside of Bm

because S may contain configurations outside of Bm (seeFigure 21).

In order to show that the probability of placing a sampleinside Bm using the projection strategy is greater than zero,we need to show that there exists an n-dimensional mani-fold around a ball on a self-motion manifold that projectsinto that ball. The purpose of this subsection is to prove thisproperty of self-motion manifolds. The remainder of thissubsection will consider a self-motion manifold in isolationin order to show this property.

Let us now look closer at the mechanism of projectionused by P. In this paper, we focus on projection opera-tors based on Jacobian pseudo-inverse or Jacobian trans-pose. These kinds of projection operators step toward apose target, and this process can be written as a differentialequation:

dq

dt= f ( q( t) ) , t ∈ [0,∞) . (23)

An equilibrium point q of Equation (23) satisfiesf ( q)= 0. q is asymptotically stable if any q( 0) inside aneighborhood containing q will converge to q as the numberof iterations of Equation (23) goes to infinity.

The set of equilibrium points for the task of placing theend-effector at a given pose is the self-motion manifold Q,which is ( n − r)-dimensional. In Berenson and Srinivasa(2010), we showed that, for any q ∈ Q, there exists anr-dimensional ball Br( q) within which the conditions forasymptotic stability hold. Thus the evolution of Equation

(23) results in the projection P( q( 0) )= q for all q ∈ Q,for all q( 0)∈ Br( q). Note that this fact is only valid for aself-motion manifold in isolation.

Let us now consider an open ( n − r)-dimensionalball BQ( q)⊆ Q. Define H( BQ( q) ) as the manifoldBr( q)×BQ( q) embedded in Q (see Figure 22).

Fig. 22. A self-motion manifold in C-space. r = 2 and n = 3.

H has the following properties:

1. H is n-dimensional;2. H contains BQ( q);3. P( q)∈ BQ( q) for all q ∈ H (conditional).

It is important to note that we have only described H fora self-motion manifold in isolation. The third property of His only valid when x( q) is closer to x( Q) than to any x( k),for a self-motion manifold k ⊆(M− Q). That is, the thirdproperty holds only when Q is “chosen” by the projectionoperator.

A.5. Putting it all together

We will now bring the concepts developed thus far togetherto show coverage of M by the projection strategy. Recallthat, to show coverage of M, we must show that theprojection strategy places a sample inside any Bm ⊆M.

Section A.3 showed that a configuration inside x−1(N )will project into S, which consists of all self-motion man-ifolds that intersect Bm. Let us construct an n-dimensional

Page 25: pose-constrained manipulation planning © The Author(s) 2011 · (a) (b) (c) (d) Fig. 1. The HERB and HRP3 robots executing paths planned using our pose-constrained manipulation planning

Berenson et al. 1459

manifold UH( Bm) by taking the union of the n-dimensionalH manifolds around every Q ∩ Bm for all Q ⊆ S:

UH( Bm)=⋃Q⊆S

H( Q ∩ Bm) . (24)

Here UH inherits the properties of H, as well as the con-dition on the third property: a configuration q ∈ UH willproject to a configuration inside Bm by the third property ofH if, for some Q ⊆ S, x( q) is closer to x( Q) than to anyx( k), for a self-motion manifold k ⊆(M− S).

Let C =( x−1(N )∩UH) (see Figure 23). C has thefollowing properties:

1. C is n-dimensional;2. P( q)∈ Bm for all q ∈ C.

Theorem 1. The projection strategy places a sample insideany Bm as the number of samples goes to infinity.

Proof: By the first property of C, μn( C)> 0. Thus the prob-ability of sampling a q ∈ C is greater than zero and, as thenumber of samples goes to infinity, the probability of sam-pling a q ∈ C goes to one. P( q)∈ Bm by the second propertyof C. Thus we have shown that the projection strategy placesa sample inside any Bm as the number of samples goes toinfinity, which entails that the projection strategy covers M.

A.6. Probabilistic completeness of RRT-basedalgorithms using the projection strategy

We can use the fact that the projection strategy coversM to prove that RRT-based methods that plan paths onM are probabilistically complete. We focus on a class ofRRT-based algorithms that plan with end-effector pose con-straints, for example CBiRRT2 and TCRRT (Stilman 2007).These algorithms grow trees on M by sampling near anexisting node on M and then projecting that sample to M.An RRT-based algorithm with the following properties isprobabilistically complete:

1. Given a node of the existing tree, the probability of sam-pling in an n-dimensional ball centered at that node isgreater than zero and the sampling covers this ball.

2. The algorithm uses a projection operator with the prop-erties of P to project samples to M.

We know that the algorithm will cover any ball in Mcentered at an existing configuration in the tree by Theorem1. We can then use the series-of-balls argument to showthat we place a node in any Bm which is connected to thestarting configuration. The basis of this argument is that wecan construct a series of overlapping balls on the manifoldwhich contains some node in the tree and overlaps with Bm.We can use Theorem 1 to show that an RRT node will beplaced in each region of overlap between subsequent ballsuntil the tree reaches Bm. For a more detailed explanation ofthe series-of-balls argument see Svestka (1996) and Kuffnerand LaValle (2000).

Thus we have shown that the RRT can reach any Bm con-nected to the starting configuration, which entails that thealgorithm is probabilistically complete.

A.7. Implications of the proof

We now discuss the implications of our proof for sam-pling goals, choosing projection operators, and planningwith mixed-dimensional constraint manifolds.

A.7.1. Probabilistically complete goal sampling Theabove proof also applies to pose goal constraints, where wewould like to ensure that projection sampling covers themanifold of configurations corresponding to some set ofpose goals in task space. The same principles apply as inthe above proof, except that we do not rely on a plannerto explore the manifold, we simply sample it using theprojection strategy. It follows clearly from Theorem 1 thatthis goal manifold will be covered if we sample it using theprojection strategy.

A.7.2. Projection operators Section A.2 describes a pro-jection operator that guarantees probabilistic complete-ness for RRT-based algorithms. The regularized Jacobianpseudo-inverse or Jacobian transpose IK methods can beused to perform the projection because they possess therequisite properties. Unfortunately, there are some com-mon iterative methods which will not yield probabilisticcompleteness.

The null-space projection method (Sentis and Khatib2005) operates by using the null-space of the primary task(placing the end-effector in some pose) to satisfy secondarytasks such as collision-avoidance or balancing. For thismethod, the dq

dt of Equation (23) is

dq

dt= J+x+( I− J+J) qnull, (25)

where J+ is the generalized pseudo-inverse of the Jacobian,x is the error in pose, and qnull is the error in meeting asecondary objective. This type of projection attains opti-mal configurations by sliding along a self-motion manifoldwhen x = 0. The secondary task induces local minima onthe self-motion manifold which attract configurations fromthe rest of the self-motion manifold. Thus, if a ball on theself-motion manifold does not contain a local minimum ofthe secondary task, configurations projecting to that ballmay escape by sliding along the manifold. It follows thatthis projection operator will not cover M. Although usingthis projection operator in an RRT-based algorithm mayyield an effective planner, it will not be probabilisticallycomplete.

A.7.3. Mixed-dimensional constraint manifolds The proofof coverage and probabilistic completeness assumed thatthe pose constraint T had a fixed dimensionality d. If we

Page 26: pose-constrained manipulation planning © The Author(s) 2011 · (a) (b) (c) (d) Fig. 1. The HERB and HRP3 robots executing paths planned using our pose-constrained manipulation planning

1460 The International Journal of Robotics Research 30(12)

Fig. 23. An example of C =( x−1(N ) ∩ UH). d = 1, r = 2, and n = 3.

allow d to vary, then m (the dimensionality of M) will varyas well. Since our proof of coverage used only local proper-ties of M, we can extend this proof to the case of varying msimply by applying the proof to each m-dimensional com-ponent of M for every m. However, there is the case when aball around a point on M contains components of varyingdimension. In this case, the ball can be split according tothe dimensionality of its components and C can be shownto exist for one of these components, thus guaranteeing asample will be placed in this ball.

Although we can show that the projection strategy coversM, the proof of probabilistic completeness for RRT-basedalgorithms only holds when M is pure. The reason is thatmixed-dimensional manifolds can be constructed such thatall paths between two configurations must go through anarrow passage, which is of lower dimension than any

component of the manifold. For instance, suppose M werecomposed of two lines that intersect at some configura-tion qp. To get from one line to the other, the algorithmwould need to find a path which contained qp. Yet thereis zero probability of generating qp exactly, thus a pathmay never be found, though one exists. This difficulty isnot caused by the projection strategy and is not limitedonly to pose constraints. Rather this difficulty arises for allRRT-based planners when they must find a path through alower-dimensional narrow passage. Coverage of M doesnot entail probabilistic completeness in this case. In orderto guarantee probabilistic completeness, the algorithm mustbe able to generate samples in these lower-dimensional nar-row passages, which can be done in a problem-specific way(as in Hauser and Latombe (2008)).