Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Planning Pick-and-Place tasks with two-hand regrasping Jean-Philippe Saut1,2 , Mokhtar Gharbi1,2 , Juan Cortés1,2 , Daniel Sidobre1,2 , Thierry Siméon1,2 {jpsaut, mgharbi, jcortes, daniel, nic}@laas.fr 1 CNRS ; LAAS ; 7 avenue du colonel Roche, F-31077 Toulouse, France 2 Université de Toulouse; UPS, INSA, INP, ISAE ; LAAS ; F-31077 Toulouse, France Abstract— This paper proposes a planning framework to deal with the problem of computing the motion of a robot with dual arm/hand, during an object pick-and-place task. We consider the situation where the start and goal configurations of the object constrain the robot to grasp the object with one hand, to give it to the other hand, before placing it in its final configuration. To realize such a task, the proposed framework treats the grasp computation, for one or two multifingered hands, of an arbitrarily-shaped object, the exchange configuration and finally the motion of the robot arms and body. In order to improve the planner performance, a contextindependent grasp list is computed offline for each hand and for the given object as well as computed offline roadmap that will be adapted according to the environment composition. Simulation results show the planner performance on a complex scenario. I. I NTRODUCTION While humanoid torso robots offer better manipulation capacities compared to single arm/hand robots, they also introduce new issues. For instance, in the case of a twoarm robot, if the object start and goal configurations are not within the workspace of the same arm, it is necessary to change the grasping hand to achieve the task. An efficient and elegant way to change the grasp is to plan a dual-hand grasp of the object. Among the earlier work on this topic, [1] proposed a practical planner for arms manipulating an object using a predefined set of grasps. More recent work addressed a similar problem for the case of dual-arm manipulation with regrasping for a humanoid robot [2]. This paper describes a practical framework to resolve the pick-and-place problems with a humanoid robot in scenarios such as the one illustrated in Fig. 1. DLR’s robot Justin [3] equipped with two multi-fingered hands has to pick the horse statuette from its right side and place it at its left. The pick-and-place problem is then defined by the initial and final configurations of the robot and of the object. The idea developed in this work is to use several offline computed data structures such as grasp list and robot roadmap to reduce the online planning time. First, a scored grasp list is generated for each hand, using the method presented in Section IVA. Also, a roadmap is preprocessed using the coordination roadmap approach [4] described in Section V-A, that does not account for the manipulated object. To resolve a specific pick-and-place task (online planning), a list of collision-free This work has been supported by the European Community’s Seventh Framework Program FP7/2007-2013 “DEXMART” under grant agreement no. 216239. This work was also supported by the ANR project ASSIST. Fig. 1. Example of pick-and-place problem that needs regrasping in constrained environment. DLR’s robot Justin [3] has to move the horse statuette from its initial to its final configuration. grasp configurations are generated and sorted given some criterion as described in Section V-C. These two lists are used to filter the large number of double grasp candidates. A scored double grasp list is then produced (Section IV-B). The top-ranked double grasps are used to define the path planning queries and determine the grasp exchange position (Section V-B). II. R ELATED W ORK This section briefly presents most closely related work on grasp planning, motion planning and manipulation planning that addresses the interdependency between the two first planning stages. A. Grasp Planning Early work on grasp planning does not account for finger nor arm kinematics and is often referred as contact-level techniques e.g. [5]. More recent works give more focus on finger or arm inverse kinematics issues [6], [7] or on smart selection of the possible hand approaches [8], [9]. Work in [7] investigates how to find grasp configurations in cluttered environments. From different object approaches, a set of stable grasps is first computed and a grasp scoring function is used to evaluate the grasps that are more likely to succeed the inverse kinematics and collision tests. Other recent works pay more attention on path planning for the robot base and arm [10]. Those last methods are clearly the most complete and generic as they deal with the complete pickregrasping-and-place task. However, unlike works focusing on grasp planning, they consider simple objects or assume a given set of grasps. Our planner includes a generic grasp planner for multifingered hands and determines a set of single grasps that can be used to find an exchange double grasp, even in a cluttered environments and for an object with a complex shape. B. Motion Planning Sampling-based planners are able today to solve complex problems in high-dimensional spaces. In particular, the probalistic methods like PRM, introduced in [11], and RRT [12] have been shown to perform well for a broad class of problems, even if their performance degrades in the presence of narrow passages. Many variants and extensions have been proposed to alleviate this problem (see [13] for a survey). Our planner is based on recent work [4], that proposes a roadmap coordination approach for multi-arm systems. C. Manipulation Planning One of the challenging issues of manipulation planning is to integrate the additional difficulty of planning the grasping and re-grasping operations to the path planning problem. This interdependency between path and grasp planning was first touched in early work on automatic robot programming systems (e.g. [14]). The manipulation planning approach in [15] provided a unified framework allowing to better tackle the interdependency issues between both planning levels. More recently, the BiSpace, algorithm [10] was proposed to plan how to go and grasp an object. The idea is to first compute a set of grasp configurations for the hand alone. Once one or more collision-free configurations for the hand are found, they become the start nodes of several RRT trees [12], that explore the hand workspace, while another RRT is grown from the robot start configuration, that explores the robot configuration space (CS). Our work also considers a particular instance of manipulation planning problem and focuses on the combination of efficient grasp and motion synthesis techniques to solve a pick-and-place task requiring two-hand regrasping. III. P ROBLEM F ORMULATION AND A PPROACH The studied system is composed of a dual-arm robot, with a hand mounted on each arm, an object and a set of static obstacles. The problem inputs are the initial and final (goal) configurations of the robot (qri and qrf ) and of the object (qoi and qof ). qoi and qof correspond to stable placements of the object on a support. qoi is such that the object is only reachable with one of the arm, referred as Arm1 . qof is such that the object is only reachable with the other arm, referred as Arm2 . The robot will thus have to exchange the object between its two hands. The exchange configuration is qoe for the object, qre for the whole robot (torso plus arms). The robot will grasp the object in qoi with configuration qrg and will place it in qof with configuration qrp . The method proposed in this paper for planning pickand-place tasks relies on two sub-task planners: The Grasp planner presented in next section and the path planner presented in Section V. Fig. 2. The object mesh is uniformly sampled with a point set and then partitioned using a kd-tree. IV. G RASP P LANNING Grasp planning basically consists in finding a configuration for the hand(s) or end effector(s) that will allow to pick up the object. In the present context, we are interested in two kinds of grasps: One-handed grasps (or single grasps) and two-handed grasps (or double grasps). We consider only precision grasps i.e. contacts are made with fingertips only. This allows to reason with point contact only, that is the most common case in literature. It also gives more grasping possibilities as smaller parts can be grasped, at the cost of a weaker stability compared to power grasps. We have implemented our algorithm for the Schunk Anthropomorphic hand (SAH hand, depicted on Fig. 3). Our method is not specific to this hand but we will use it for illustration purpose. The first stage of our grasp planner consists in building a grasp list to capture the variety of the possible grasps. A. Single Grasp Planning A single grasp is defined for a specific hand type and for a specific object. It is defined by: • A grasp frame, i.e. a relative pose of the hand reference frame (e.g. palm or wrist frame) wrt. the object frame. • A set of contact points (a point on the object surface and the ID of the finger realizing the contact). • A hand configuration (finger joint parameters). As our main concern is motion planning, it is not possible to rely on the computation of an only grasp or on a heuristic that could introduce a bias on the choice of the grasp. It is preferable to compute a grasp list that aims to reflect the best the variety of all possible grasps of the object. Our algorithm applies the following steps that will be detailed further: • Build a set of grasp frame samples. • Compute a list of grasps from the set of grasp frames. • Perform a stability filter step and compute a quality score for each grasp. 1) Grasp frame sampling: To avoid biasing the possible approach of the hand when we compute the grasp, we choose to uniformly sample the possible grasp frames, by the mean of a grid. We have chosen a grasp frame that is centered on the intersection of the finger workspaces so that it is roughly centered where the contacts may occur. We set as an input the numbers of positions and orientations, each pair positionorientation defining a frame. The positions are uniformly sampled in the object axis-aligned bounding box with a step computed to fit the desired number of position samples. The orientations are computed with an incremental grid as in [16]. For each grasp frame, a set of grasps will be computed. 2) Grasp list computation: As the proposed grasp planning method does not restrict the possible hand poses or contact surface on the object, it requires a lot of computation. Therefore, we have to introduce some data structures to reduce the computation times. Except for collision test, the most expensive computation is the finger inverse kinematics. One has to be able to know the fastest possible if, for a given hand pose (relative to the object), a finger can establish a contact on the object surface and, if it can, where. The contacts can only occur in the intersection of the finger workspace and the object surface. For each finger, it is consequently crucial to find this intersection or at least an approximation. We propose to approximate the object surface with a point set. The set is obtained by a uniform sampling of the object surface. The sampling step magnitude is chosen from the fingertip radii. A kd-tree is built upon the point set in order to have a hierarchical space partition of the points (Fig. 2). We then need to find the intersection of each finger workspace with the object kd-tree. As spheres are invariant in rotation, they are interesting to build an approximation of the finger workspace. Starting from grid approximations of the finger workspace’s interior volume W and envelope E (Fig. 3), we build incrementally a set of spheres fitting inside the workspace using Algorithm 1. The interior volume grid is obtained by sampling the three joint angles over their respective ranges. The envelope grid is obtained by blocking one of the joint angle to its limit values (lower then upper) and sampling the two others. By construction, the sphere hierarchy starts from the biggest ones, corresponding to workspace parts that are the farthest to the finger joint bounds. Algorithm 1: Finger workspace approximation : W = a set of points strictly inside the finger workspace ; E= a set of points on the envelope of the finger workspace ; kmax = the desired maximal number of spheres ; rmin = the desired minimal sphere radius ; output : S= a set of spheres Sk S=∅;k=1; while k < kmax do foreach p ∈ W do d(p) = min (kp − pi k) ; input pi ∈(E∪S) pbest = {p ∈ W : d(p) = max (d(pi ))}; Once we have both the kd-tree and the sphere hierarchy, it is very fast to determine the intersection of the two sets and so the contact points. The intersection is tested from the biggest to the smallest sphere, guarantying that the “best” parts of the workspace will be tested first, i.e. the one farthest to workspace singularities, due to the joint bounds. For a given grasp frame, the grasp is computed finger by finger, i.e., if we have the contact and configurations of the fingers 1 to i − 1, we search a contact point for finger i and test collision only with fingers 1 to i as the other finger configurations are not yet known. We start from the thumb as no stable grasp can be obtained without it. If a finger can not establish a contact, it is left in a “rest” (stretched) configuration. if we have three contacts or more, we can proceed to the stability test. Note that, at this stage, we have a collision-free grasp i.e. no collision between the hand and the object and do not yet consider collision with the environment or the robot arms or body. 3) Stability filter and quality score: The stability test is based on a point contact with friction model. From the contact positions and normals, we compute a force-closure stability score [17]. All the grasps that do not verify forceclosure are discarded. The stability score is not sufficient to discriminate good grasps so we build a more general quality score. Several aspects can be taken into account to compute a grasp quality measure [18]. A tradeoff is often chosen with a score that is a weighted sum of several measures. We used the following scores: the above force-closure score, the distance from the contact centroid to the mass center of the object, the sum of the angles between each contact normal and the force ellipsoid major axis of the associate finger, the sum of the object’s surface inverse curvature at the contact points. The curvatures are normalized over all the values on the sampled object’s surface. The weights were set manually.We found that (1.0, 1.0, 1.0, 6.0 (curvature score)) offers a good trade-off even though it might not always be the case. Combining different quality scores remains however a hard problem, beyond the scope of this paper. B. Double Grasp Planning A double grasp is a grasp involving both hands. It is computed from two single grasp lists L1 and L2 , obtained for each hand. Each single grasp pair sg1 and sg2 , belonging to L1 and L2 respectively, is tested. All colliding pairs are rejected. To avoid an excessive number of pairs to test, we first filter L1 and L2 to remove all the grasps that lead to a collision with the environment for the given initial and final pi ∈W Sk = sphere(center = pbest , radius = d(pbest )) ; S = S ∪ Sk ; W = W − {p ∈ W : p ⊂ Sk } ; k =k+1 ; if d(pbest ) < rmin then break ; return S ; Fig. 3. The finger workspace discretized with a grid (forefinger workspace, left image). The grid is converted to a volumetric approximation as a set of spheres (right image). Fig. 4. The decomposition of the humanoid system into elementary parts. The two arms and the head are the “independent” parts and the torso is the “common” one. object poses. For instance, all the grasps that take the object from “below” will be removed as they lead to a collision between the object support and the hand. For each double grasp, a score is then computed based on two scores: the quality of each single grasp and a robot configuration score. • The minimum of sg1 and sg2 quality is used as a the first score for the double grasp. • A robot configuration score is computed for sg1 and sg2 , based on how “natural” is the way to grasp the object in its start and goal configuration using sg1 and sg2 . For the double grasp, we take the minimum of the robot configuration scores of sg1 and sg2 . After normalizing these two scores separately for all the computed double grasps, we sum them for each double grasp to obtain its score. V. PATH PLANNING A. Offline roadmap Computing an offline roadmap is suitable to speed up the task resolution. This roadmap is computed using specially designed one for multi-arm systems [4]. During this generation, only self-collisions and collisions against static objects are considered while ignoring the object to move. The multiarm systems roadmap composition algorithm [4] is a suitable method to efficiently plan multi-arm systems motions in constrained workspaces. It is based on the decomposition of the system into kinematically independent parts, which are treated as individual robots in a multi-robot roadmap composition approach. Fig. 4 illustrates the different parts of Justin. Each arm is independent from the other. If the value of an arm joint is modified, the change does not affect the position of any other part in the system. However, a change in one of the torso joints modifies the pose of the arms and the head. In general case, a part is said to be independent, if the change of its configuration does not affect the pose of other system parts. Thus, this system involves three independent parts P I : the right and the left arms (PrI and PlI respectively), and the head (PhI ); and a common one: the torso (PtC ). Given the relatively low mobility of the head, it can be considered together with the torso in order to simplify the system decomposition. This decomposition permits to split the roadmap construction into two stages. The first stage is to compute two collision-free roadmaps Rr and Rl for the two sub-systems composed by the torso and the right and left arms respectively. Such roadmaps construction considers self-collisions of the sub-system and collisions with the obstacles in the Fig. 5. On the left, a representation of elementary roadmaps computed for the presented system (circle and square). The generated Super Graph on the right. workspace. Any PRM-like method can be used to generate these roadmaps. However, the use of methods generating compact roadmaps such as [19] or [20] is preferable in order to limit the size of the composite roadmap, which is defined as the Cartesian product of all the sub-system roadmaps, and whose size may become huge if standard PRM methods are used. The constructed roadmaps are then merged into a composite one, called Super Graph (SG), extending the idea initially proposed in [21] for the case of multiple car-like robots. Merging two nodes from Rr and Rl creates SG node. The SG nodes are connected via SG edges. Fig. 5 illustrates the principle of the SG construction. Creation of nodes and edges are explained below. 1) Super Graph Nodes: The SG nodes are created by the composition of elementary nodes xr and xl , in Rr and Rl respectively. Due to change of common configuration parameters in xr and xl , merging consists of creating two SG nodes, obtained by fusing configurations of the independent parts. Each SG node is only partially checked for self-collision, since nodes of the elementary roadmaps are collision-free with the environment. Each independent part configuration added up to an elementary node has been checked against the other independent parts, the common parts, and the workspace obstacles. Only the collision-free nodes are kept in SG. 2) Super Graph Edges: Once a node X is created and inserted into SG, its connection to the other SG nodes Y is computed. In order to preserve the efficiency of the roadmap construction, a filter, based on the information given by the elementary nodes, only considers connections between two SG nodes X and Y if their composing nodes, xr and yr , and xl and yl are connected in Rr and Rl respectively. Another possible strategy for saving computing time is to construct a roadmap tree instead of a graph. In this case, connection tests (using a local planner) are only performed between SG nodes belonging to different connected component of SG. Like for the SG nodes, validating SG edges only requires to test collisions between pairs of parts and with workspace obstacles that have not been checked when computing the edges of the elementary roadmaps. A SG edge is added to the SG if it is collision-free. B. Online planning We explain below how robot motions are computed online in order to realize the pick, regrasp and place task, given the precomputed single / double grasps and roadmap. The task can be decomposed into four consecutive steps: Grasp the object (from qri to qrg ) g e • Carry it to the exchange position (from qr to qr ) p e • Place it (from qr to qr ) f p • Goto rest configuration (from qr to qr ) with qri and qrf given as input and the three other configurations (qrg , qre and qrp ) are generated by the planner. Once the grasp configurations have been generated (Section V-C), the path planner executes the four previously presented queries sequentially. To obtain collision-free paths, the previously computed roadmap has to take into account the manipulated object. In fact, by adding an object in the robot working space, the collision-free CS of the robot changes. The CS also changes when the robot carries the object. Revalidating online the entire roadmap would be too costly. We use instead a lazy node and edge revalidation as in [22]. First the query is executed in the precomputed roadmap disregarding the collisions of the existing nodes and edges in the graph. Once a path is found, each local path composing it is checked for collision against the manipulated object that is not considered in the preprocessed roadmap. If a collision is detected for some local paths, replanning strategy is performed as follows. First, the collision-free configurations bounding the collision portion are determined. An alternative path between the disconnected configurations is then searched in the precomputed graph. If no solution is found, local reconnections are computed using RRT-like planners [12]. The path is iteratively modified until all its local paths are collision-free. Our implementation uses the same data structure for storing PRM roadmaps and RRT diffusion trees. Then, it is easy to enrich a graph computed using PRMs with RRTs to efficiently reconnect the disconnected components in the graph. • C. Grasp Configuration The grasp and place configurations of the robot are simply derived from the object initial and final placement qoi and qof provided as input. However, the exchange configuration qoe of the object is unknown. The object position is determined by minimizing wrist motions to perform the task. The minimization is done on a 3D grid. The object exchange position is the collision-free grid node that minimizes the length sum of the edges depicted on Fig. 6, in 3D space. Once a position i Arm 1 VI. R ESULTS To evaluate the performance of the planner, we propose to plan a pick-and-place task with Justin [3], equipped with two SAH hands (Fig. 1). Justin is composed of a 3-DoFs torso, two 7-DoFs DLR-Lightweight-Robot-III arms, and a 2-DoFs head. The SAH hands are composed of four 3-DoFs fingers plus a movable thumb base. Disregarding the neck joints, which are considered to be fixed in our experiments, Justin involves 43-DoFs. The object to work with is a highly nonconvex body with several parts (a horse statuette, whose 3D model (widely used in CG community) has been simplified to 672 vertices and 1334 triangles). In this task, Justin has to pick the object at his right and place it behind the desk lamp at his left. The legged lamp and the vase constrain the robot motions and the exchange configuration. As the single grasp generation is i Arm 2 e Arm 1-2 f g Arm 1 is selected, the object is tested against the static obstacles in predetermined orientations to ensure a collision-free object exchange. Unlike object exchange position, the orientation is determined by the selected double grasp directions and the object position wrt. the robot torso. The grasp, place and exchange configurations are generated in nearly the same way. All robot joints are sampled except the arm(s) grasping the object (one arm for grasp and place configurations and both for exchange configuration), that are computed using the inverse kinematics characterized by the grasps and the object position. Then, a collision test is performed on the generated configuration. For exchange configuration, the object configuration is sampled following a Gaussian distribution centered on the theoretical best qoe previously computed. The robot grasp configuration score used in the double grasp scoring formula, takes into account grasping and freearm configurations. The grasping arm score is determined with cosine of the angle between the selected grasp and the object robot-base directions. This will give a bad score for grasps whose direction is far from the object-(robot base) axis. The free-arm score is added to favor “natural” robot configurations. This score is composed of the joint distance between the sampled arm configuration and a user defined rest configuration of the arm. It is also composed by the height difference between the sampled and rest configurations, and the distance between the arm wrist and the plane composed by the robot’s torso and shoulders. Arm 1 f Arm 2 p Arm 2 Fig. 6. Top view of a pick-and-place task showing the elementary distances to be minimized over a 3D grid in order to compute the double grasp position (the center red circle). Superscripts corresponds to the different key-configurations of the arms ([i=initial, f=final, g=grasping, e=exchange, p=placement]-configuration). Fig. 7. Example of computed exchange positions for different initial (red) and final (green) object poses, taking into account the cost to minimize and obstacle collision avoidance. TABLE I N UMERICAL R ESULTS Problem Online Planning Path Validation Total Grasp n T (s) 65 2.7 3 0.3 68 3 n 53 18 71 Carry T (s) 2.6 1.5 4.1 n 32 12 44 Place T (s) 1.2 1.1 2.3 n 49 3 51 Rest T (s) 1.9 0.3 2.1 a deterministic and workspace independent operation, the same single grasps lists (one for each hand) are used for all tests. Right grasp list contains 17 valid grasps and 22 for left list, each one computed in about 1 minute1 . In the presented scenario, given the single grasp lists, the planner generates 4 (right) and 7 (left) collision-free single grasps configurations in 4.2 seconds, and 4 double-grasp configurations in 2.6 seconds. Fig. 7 shows two examples of computed double grasps, used for regrasping. They are computed for the same object but for different initial and final object poses. The computed exchange configuration brings the object near the robot torso, leading to a motion that looks more “natural” than a simple straight line linking initial and final poses. Table I reports the numerical results (n= node number, T = computation time) obtained for the presented pick-andplace planner, following the task decomposition presented in Section V-B. The offline roadmap is computed in about 5 minutes and contains near 1700 nodes. The nodes are produced by merging two elementary roadmaps generated using Vis-PRM algorithm [19], each one containing 50 nodes. Using this offline roadmap, our planner solves the entire task in 11.6 seconds. Comparatively, by putting a single query planner [12], one needs 35 seconds to solve the same problem. These two last results do not include the time needed to compute single and double grasps configurations. Table I also shows that the time consumed in path validation for Carry and Place phases is more important than for the two other planning phases. This is due to the bigger change of the robot CS, induced by considering the object as a robot’s body instead of just a static obstacle. However, the time needed to plan (without revalidation) Grasp and Rest phases are higher because of the highly constrained grasp and place configurations. VII. C ONCLUSION AND F UTURE W ORK We have presented a planner that can automatically compute the motion of a dual-arm/hand robot during a pick-andplace task requiring an object exchange between the hands. The planner computes as well all the necessary intermediate configurations. The integration of several offline computed and reusable data structures such as grasp lists and arm roadmaps, allows the planner to significantly reduce its computation times compared to the use of simple singlequery techniques. Simulation results show the efficiency of the planner for solving a difficult manipulation task involving a humanoid robot equipped with two redundant arms and two 1 All numerical results in the paper have been averaged over 20 runs of the planner. Computing time corresponds to a Dual-Core AMD Opteron processor 2222 at 3.0 GHz multi-fingered hand, a complex-shaped object and a cluttered environment. In some situations, no solution may be found by the planner because the initial pose of the object constrains too much the choice of the single grasp used to pick the object up, that in turn constrains the choice of the exchange double grasp, constraining in turn the choice of the single grasp used to place the object in its final configuration. To treat such a case, one or more intermediate placements are mandatory. A more complex version of our planner could try to integrate such notions. R EFERENCES [1] Y. Koga and J.-C. Latombe, “On multi-arm manipulation planning,” IEEE Conf. on Rob & Autom., vol. 2, pp. 945–952, 1994. [2] N. Vahrenkamp and et al., “Humanoid motion planning for dualarm manipulation and re-grasping tasks,” in IEEE/RSJ Int. Conf. on Intelligent Robots & Systems, October 2009. [3] C. Ott and et al., “A humanoid two-arm system for dexterous manipulation,” in IEEE-RAS Int. Conf. on Humanoid Robots, 2006. [4] M. Gharbi, J. Cortés, and T. Siméon, “Roadmap composition for multiarm systems path planning,” in IEEE/RSJ Int. Conf. on Intelligent Robots & Systems, Oct. 2009, pp. 2471–2476. [5] V.-D. Nguyen, “Constructing force-closure grasps,” IEEE Conf. on Rob. & Autom., vol. 3, pp. 1368–1373, Apr 1986. [6] Z. Xue, J. Marius Zoellner, and R. Dillmann, “Grasp planning: Find the contact points,” IEEE Int. Conf. on Robotics and Biomimetics, pp. 835–840, Dec. 2007. [7] D. Berenson, R. Diankov, K. Nishiwaki, S. Kagami, and J. Kuffner, “Grasp planning in complex scenes,” in IEEE-RAS International Conference on Humanoid Robots (Humanoids07), December 2007. [8] A. Miller, S. Knoop, H. Christensen, and P. Allen, “Automatic grasp planning using shape primitives,” IEEE Conf. on Rob. & Autom., vol. 2, pp. 1824–1829 vol.2, Sept. 2003. [9] K. Huebner, S. Ruthotto, and D. Kragic, “Minimum volume bounding box decomposition for shape approximation in robot grasping,” IEEE Conf. on Rob. & Autom., pp. 1628–1633, May 2008. [10] R. Diankov, N. Ratliff, D. Ferguson, S. Srinivasa, and J. Kuffner, “Bispace planning: Concurrent multi-space exploration,” in Robotics: Science and Systems, vol. IV, Zurich, Switzerland, June 2008. [11] L. E. Kavraki, P. Svestka, J.-C. Latombe, and M. H. Overmars, “Probabilistic roadmaps for path planning in high-dimensional configuration spaces,” IEEE Trans. on Rob. & Autom., vol. 12(4), pp. 566–580, 1996. [12] S. M. LaValle and J. J. Kuffner, “Rapidly-exploring random trees: Progress and prospects,” in Proceedings of Workshop on the Algorithmic Foundations of Robotics, 2000. [13] S. M. LaValle, Planning Algorithms. New York: Cambridge University Press, 2006. [14] T. Lozano-Pérez, J. L. Jones, P. A. O’Donnell, and E. Mazer, Handey: a robot task planner. Cambridge, MA, USA: MIT Press, 1992. [15] T. Siméon, J. Laumond, J. Cortés, and A. Sahbani, “Manipulation planning with probabilistic roadmaps,” The Int. J. of Robotics Research, vol. 23, iss. 7-8, pp. 729–746, August 2004. [16] A. Yershova and S. LaValle, “Deterministic sampling methods for spheres and so(3),” in IEEE Int. Conf. Robot. & Autom., 2004. [17] B. Bounab, D. Sidobre, and A. Zaatri, “Central axis approach for computing n-finger force-closure grasps,” IEEE Conf. on Rob. & Autom., pp. 1169–1174, May 2008. [18] R. Suarez, M. Roa, and J. Cornella, “Grasp quality measures,” in Universitat Politecnica de Catalunya (UPC), Technical Report, 2006. [19] T. Siméon, J.-P. Laumond, and C. Nissoux, “Visibility-based probabilistic roadmaps for motion planning,” Advanced Robotics Journal, vol. 14(6), pp. 477–494, 2000. [20] L. Jaillet and T. Siméon, “Path deformation roadmaps: Compact graphs with useful cycles for motion planning,” Int. J. of Robotics Research, vol. 27, no. 11-12, pp. 1175–1188, 2008. [21] P. Svestka, “Robot motion planning using probabilistic roadmaps,” Ph.D. dissertation, Universiteit Utrecht, 1997. [22] L. Jaillet and T. Siméon, “A prm-based motion planner for dynamically changing environments,” in IEEE/RSJ Int. Conf. on Intelligent Robots & Systems, vol. 2, Sept. 2004, pp. 1606 – 1611 vol.2.