Planning Grasps for Assembly Tasks
11 Planning Grasps for Assembly Tasks
Weiwei Wan,
Member, IEEE , Kensuke Harada,
Member, IEEE , and Fumio Kanehiro,
Member, IEEE
Abstract —This paper develops model-based grasp planningalgorithms for assembly tasks. It focuses on industrial end-effectors like grippers and suction cups, and plans grasp configu-rations considering CAD models of target objects. The developedalgorithms are able to stably plan a large number of high-qualitygrasps, with high precision and little dependency on the qualityof CAD models. The undergoing core technique is superimposedsegmentation, which pre-processes a mesh model by peeling itinto facets. The algorithms use superimposed segments to locatecontact points and parallel facets, and synthesize grasp posesfor popular industrial end-effectors. Several tunable parameterswere prepared to adapt the algorithms to meet various require-ments. The experimental section demonstrates the advantagesof the algorithms by analyzing the cost and stability of thealgorithms, the precision of the planned grasps, and the tunableparameters with both simulations and real-world experiments.Also, some examples of robotic assembly systems using theproposed algorithms are presented to demonstrate the efficacy.
Index Terms —Grasp synthesis, Grasp planning, Regrasp
I. I
NTRODUCTION T HIS paper develops algorithms to automatically plangrasping poses for assembly tasks. It focuses on industrialend-effectors, and plans grasp configurations for these end-effectors considering CAD models of target objects.Developing grasp planning algorithms is important to man-ufacturing using “teachingless” robotic manipulators. Modernrobotic manipulation systems use manually annotated or pre-taught grasp configurations to perform certain tasks, which isnot only costly but also difficult to redeploy. Automatic graspsynthesis or planning algorithms could bypass the annoyingmanual work and enable fast redeployment for varying andchanging manufacture. For this reason, lots of studies inthe field of robotic grasp have been devoted to automaticgrasp planning and many grasp planning algorithms havebeen developed. These algorithms are able to plan graspsconsidering forces and collisions. However, they hardly meetthe requirements of fully automatic manufacturing applicationslike bin-picking and assembly. The requirements include butare not limited to: (1) Large number of candidate grasps:The grasp planner is expected to provide a large number ofcandidate grasp poses for optimization. (2) Stableness: Thegrasp planner must have little dependency on the quality ofCAD models. (3) Precision: Object poses do not change muchafter being grasped by the planned grasps.On the other hand, state-of-the-art grasp planning studiesconcentrate on theoretical aspects like grasp closures andqualities, or applicational aspects like grasping using multi-finger hands, dexterous hands, and hands with tactile and forcesensors. Grasp planning for popular industrial end-effectors,
Weiwei Wan and Kensuke Harada are with Graduate School of EngineeringScience, Osaka University, Japan. Fumio Kanehiro is with National Inst. ofAIST, Japan. E-mail: [email protected] e.g. parallel grippers and suction cups, is usually ignoredsince grasping rigid objects using suction cups and parallelgrippers is considered to be easy and solved. In this paper, wereinspect this opinion and restudy the grasp planning problemfor parallel grippers. After reviewing previous work, we foundthat although grasp planner for parallel grippers had existed fordecades, they do not really meet the requirements of industrialtasks: Some old-fashioned algorithms could plan grasps forsimple polytopes, but they cannot tackle complicated meshmodels and output satisfying number of grasps; Modern graspplanning algorithms aim to find stable grasps. They cannot finda large amount of grasping poses and don’t consider abouttheir precision. It is difficult to use the planned grasps forindustrial tasks like bin-picking and assembly, etc.Under this background, this paper develops new graspplanning algorithms for industrial bin picking and assembly.The problem setting is formulated as follows. The inputincludes: (1) Kinematic models of industrial end-effectors likesuction cups, parallel grippers, and three-finger-one-parametergrippers; (2) Water-tight models of rigid objects. The outputis: A set of automatically planned grasp configurations. Thealgorithms assume: (1) The objects have rigid bodies. Soft orchangeable objects are not considered; (2) The end-effectorsand manipulators are actuated using position control to ensurefast operation. Tactile or F/T sensors are not available.The undergoing core technique of the developed algorithmsis superimposed segmentation. The algorithms pre-process amesh model by peeling it into facets. Each facet is allowedto overlap with others and is thus called superimposed seg-mentation. The overlap and sizes of segments are controlledby several tunable parameters, which allow users to changethe quality of planned grasps following the requirements oftheir applications. The superimposed segments are used todetermine contact and compute parallel facets. Grasp posesfor popular industrial end-effectors are planned consideringthe contact and parallel facets.The developed algorithms could plan a large number ofprecise grasps with little dependency on the quality of CADmodels. Object positions change less than 2 mm after beinggrasped the planned grasps. The computational cost and thestability of the algorithms in the presence of low-qualityCAD models, as well as the number of planned grasps andtheir precision are analyzed in detail in the experimentalsection using both simulational and real-world experiments.The effect of the tunable parameters is analyzed by comparingthe results of varying values. A real dual-arm regrasp andassembly system is also implemented to show the efficacy ofthe proposed algorithms.The rest of the paper is organized as follows. Section IIreviews related work. Section III discusses the fundamen-tal technique like superimposed segmentation and sampling a r X i v : . [ c s . R O ] M a r contact points. Section IV presents details of grasp planningalgorithms using the fundamental technique. Section V is theexperimental section. Section VI draws conclusions.II. R ELATED W ORK
This paper develops model-based grasp planning algorithmsfor suction cups and parallel grippers. Accordingly, this sectionreviews related studies on grasp theories and grasp planningof suction cups and parallel grippers, with a special focus onthe preprocessing of mesh models.
A. Grasp theories and grasp planning
Grasp theories study form/force closure and closure qual-ities. The theoretical studies are applicable to suction cups,parallel grippers, as well as other robotic hands. Some earlywork like [1][2] studied point fingers and polygonal objects,with later extensions to more realistic scenarios like curvedsurfaces and fingers [3][4][5][6][7], considering grasp stability[8][9][10] and grasp metrics [11][12]. The early theoreticalstudies were mostly 2D, and the concentration was to estimatethe stability of grasps and the resistance to external wrenches.The theoretical studies were extended to 3D polyhedral objectsor mesh models composed of flat faces later, assuming to behard point contacts. Examples include [13], [14], etc. Someother studies optimized the planned grasps [15] using somequality metrics [16].Planning grasp poses for real-world objects and real-worldend-effectors are more challenging than the early theoreticalstudies. There is a big gap between the computed resultsand real-world executions. One has to consider many factorslike contact regions, object surface curvatures, resistance totorque caused by gravity forces, kinematics of robot hands,etc., to secure stable and exact grasps. Several previous studieschallenged these difficulties. For example, Wolter et al. [17]considered the geometry of grippers during the automaticgeneration of grasps for 3D rectilinear objects. Jones et al.[18] considered the parallel faces of a 3D object as wellas the mesh model of a robot gripper to plan two fingergrasps for pick-and-place operations. Liu et al. [19] used theattractive regions of an object to plan stable grasps. Pozzi etal. [20] discussed grasp qualities considering the kinematicstructures of underactuated and compliant hands. Shi et al.[21] considered about environmental constraints as well as thekinematic constraints of robot hands to plan accessible graspsfor bin-picking and kitting tasks. Li et al. [22] used stretchingropes (cord geometry) to find the contact of a hand jaw withobject surfaces and hence plan the grasps. Ciocarlie et al.[23] considered about local geometry and structures at contactpoints and modeled friction forces using soft models. Haradaet al. [24] discussed about a gripper with soft finger padsattached to the finger tips and analyzed object mesh modelsconsidering the depth of contacts. These studies used grippermodels and their kinematic structures to ensure feasibility, andconsidered about contact properties by analyzing the meshesaround contact regions.Our work plans grasp for suction cups and parallel grippers.For these simple end-effectors, the form/force closure theory is converted to comparing surface normals at the contacts.The kinematic constraints, contact, and quality of grasps areconsidered in segmentation, sampling, and nested collisiondetection. The quality of the planned grasps depends on thepreprocessing of mesh models, which is further reviewedbelow.
B. Preprocessing mesh models
Two major approaches to preprocess the mesh modelsfor grasp planning are (1) primitive fitting and (2) surfacesegmentation. The first approach represents mesh models usinga set of shape primitives, and plans grasp by consideringthe fitting errors or using pre-annotated grasps. The secondapproach represents mesh models using coplanar triangle sets.Each coplanar segmented triangle set is named a facet andequals to one constitutional polygon of a polyhedron.For primitive fitting-based grasp planning, Goldfeder et al.[25] represented a mesh model using recursive splitting andfitting of primitive superquadrics [26]. El-Khoury et al. [27] fit-ted segmented point clouds using primitive superquadrics andused pre-annotated training sets to learn grasp points from thefitted models. Xue et al. [28] also used primitive superquadricsto fit models and plan grasps for Schunk Anthromorph Hands.Other than superquadrics-based fitting, Miller et al. [29] rep-resented a mesh model using a set of primitive mesh modelslike boxes and spheres, and use a set of rules defined on theprimitives to generate grasps for the mesh model. Hueber etal. [30] fitted mesh models using different levels of primitiveboxes and planned grasp by evaluating the annotated graspson the primitives. Bonilla et al. [31] also fitted mesh modelsusing primitive boxes, and planned grasps using geometricinformation extracted from the primitive boxes. Nagata et al.[32] proposed an interactive method for grasp planning byassuming shape primitives. Yamanobe et al. [33] defined thegripping configurations of several shape primitives and usedprimitive shape representation to planning grasps for mobilemanipulators. Curtis et al. [34] used primitives to learn grasps.Instead of explicitly fitting primitives, the authors used learnedgrasping knowledge on a set of primitive objects to speed upthe process of planning successful grasps for novel objects.Harada et al. [35] used cylinders to fit banana point clouds,and planned robust grasps by analyzing the projections ofthe point clouds on the cylindrical axes denoted by the fittedcylinders. The grasp moduli space proposed by Porkorny et al.[36] is also a primitive fitting approach. The primitive fittingapproaches do not assure the stability of planned grasps andexact object poses after grasping. Some further evaluations oroptimizations are needed to make the results practical.For surface segmentation-based grasp planning, Harada etal. [24] clustered triangle meshes by using a parameter denot-ing softness of contacts and implemented grasp planning forgrippers with soft finger pads. Tsuji et al. [37] used multi-level clustering [38] to find the concavity and convexity ofmesh models, and used stress distribution models to plan stablegrasps. Hang et al. [39] also used multi-level clustering to plangrasps. The difference is their goal was not to find graspingfeatures. Instead, they use different levels of simplification for iterative searching of stable grasps under reachabilityconstraints. In a later work, Hang et al. [40] extended thestudy to fingertip spaces and used multi-resolution contactsto expedite grasp synthesis. The results of the multi-levelplanning were demonstrated in [41] using an Allegro hand.The hand could gait to different configurations as the weightsof objects change. Some of the primitive fitting approachesalso have a segmentation step, where meshes or point cloudsare segmented for fitting [27][42].The algorithms developed in this paper use surface segmen-tation to plan contacts and estimate closure qualities. Unlikeprevious work which segmented each triangle into a singlefacet or performed multi-level segmentation, the algorithmsallow superimposed segmentation. Each triangle is repeatedlysegmented into different facets, and the overlap and thicknessof facets are controlled by tunable parameters pertaining tosurface normals. By using sampled contact regions on thesuperimposed segmentations and leveraging torque resistance,one may automatically plan a large number of stable andprecise grasp configurations for suction cups and parallelgrippers. III. P RE - PROCESSING M ESH M ODELS
A. Superimposed segmentation
Superimposed segmentation provides uniform facets. Con-ventional approaches [38][43] cluster each triangle into a sin-gle facet, resulting in uneven facets – Some of them could bevery large, while others are very small. Unlike the conventionalapproaches, superimposed segmentation allows one triangle tobe repeatedly clustered to multiple facets, making all facetsuniform (equally large). The clustered facets do not exclusivelyoccupy the triangles that might also belong to other facets.Fig. 1: Segmenting mesh models into superimposed facets.Left: Original mesh model. Middle: Results of segmentation.Right: The facets are superimposed.The superimposed segmentation is computed as follows.First, the algorithm initiates a seed triangle and scans thesurrounding triangles of the seed. See the left part of Fig.2for example. The purple triangle is the seed triangle, andthe algorithm scans the triangles surrounding it. If the anglebetween the normal of the seed triangle and the normal of anearby triangle is smaller than a threshold θ pln , the adjacenttriangle is clustered into the same facet as the seed triangle. Inthe figure, the angles between the black arrows and the purplearrow are equal to or smaller than θ pln , the related triangles areclustered into the purple facet. In contrast, the angles betweenthe grey arrows and the purple arrow are larger than θ pln , therelated triangles are not included. θ pln is a tunable parameterwhich controls the planarity of a facet. After clustering the first facet, the algorithm initiates a newseed triangle and repeats the clustering by starting from thenew seed. The routine to initiate a new seed is as follows. Thealgorithm scans the surrounding triangles of the previous seedsand checks the angles between the normals of the previousseeds and the normals of the surrounding triangles. If an angleis larger than θ fct , the related triangle is selected as the newseed. The right part of Fig.2 shows an example. The anglebetween the green normal and the purple normal is larger than θ fct . Thus, the green the triangle with the green normal isselected as the new seed. The algorithm repeats the clusteringprocess by using new seed and generates a new facet (thegreen facet shown in the right part of Fig.2). θ fct is a tunableparameter which controls the superimposition of facets.During clustering, all triangles are repeatedly scanned,which allows one triangle to be clustered into multiple facets.The facets could superimpose with each other. On the otherhand, the normals of all previous seeds are compared wheninitiating a new seed, which ensures each facet to be uniqueand the algorithm to stop properly.Fig. 2: The superimposition is controlled by two parameters.(1) θ pln controls planarity of each facet. (2) θ fct controls theoverlap of facets. B. Sampling contact points1) Sampling and distributing:
Contact points are computedby sampling the surface of the object mesh model. The sam-pling is performed over the whole surface to provide evenlydistributed contact points on the mesh. After sampling, thesampled points are repeatedly distributed to the superimposedfacets as their contact points. Note that we avoided samplingindividual facets since it only provides evenly distributedcontact points on individual facets, the overall distributionrelies on segmenting methods. In cases where facets are small,individual sampling may fail to produce contact points.Fig. 3: Left: Sample over the whole mesh surface. Right: Dis-tribute the samples to each facet to avoid repeated sampling.Take Fig.3 for example. In the left part, the whole meshsurface is sampled. In the right part, the sampled points aredistributed to superimposed facets. The surface is sampledonce and the sampled points are distributed to individual facets repeatedly. The method ensures the contact points oneach facet have equal density and are evenly distributed. Itis irrelevant to the segmentation methods. Also, the methoddistributes the samples to multiple facets without samplingagain. It avoids repeated computation and improves algorithmefficiency.
2) Removing bad samples:
The output of sampling anddistributing cannot be used directly, since the distributedsamples might be (1) near the boundary of facets and (2)near to each other. In the first case, attaching fingerpads tothe sampled points near facet boundaries lead to unstablegrasps. In the second case, attaching fingerpads to the nearpoints produces similar grasping configurations, which resultsin a large number of similar grasps and is wasteful. To avoidthe problems, we perform two refining processes where thefirst one computes the distance between a contact point andthe boundary of its facet. The points with distances smallerthan t bdry will be removed. The second one removes thecontact points that are too close to others. The remainingcontact points after being refined by the first process arefurther screened using the Radius Nearest Neighbour (RNN)algorithm to remove nearby points with a distance smaller than t rnn . Like θ pln and θ fct , t bdry and t rnn are tunable parametersof the grasp planner.Fig. 4: Two refinements that remove the bad contact points.The first refinement removes the contact points with smalldistances to facet boundaries. The second refinement removesthe contact points that are too close to others.In practice, t rnn is determined by the size of finger pads.An end-effector contacts with objects at a region, instead ofa single point. t rnn specifies the radius of the contact region.It controls the density of planned grasps by removing nearbycandidates.As a demonstration, Fig.5 shows the process of samplingcontact points using a plastic workpiece shown in Fig.5(a).Fig. 5: Sampling contact points. (a) The original object. (b)The sampled contact points. (c) The contact points distributedto one facet. (d) Removing bad contact points. Especially in(d), the white points are removed since they are too near to theboundary. The red points are the results of RNN screening.
3) Stability:
The Soft-Finger Contact (SFC) model pro-posed in [44] is used to estimate the stability of a grasp. The force and torque exerted by one SFC is expressed as: f Tt f t + τ n e n ≤ µ f n (1)Here, f t indicates the tangential force at the contact. τ n indicates the torque at the contact. f n indicates the loadapplied in the direction of the contact normal. e n is theeccentricity parameter which captures the relationship betweenmaximum frictional force and moment. Under the Winlerelastic foundation model, e n is e n = max ( τ n ) max ( f t ) = (cid:82) S rµKu i ( r ) dS (cid:82) S µKu i ( r ) dS (2)where K is the elastic modules of the foundation over thethickness of the soft finger pad. S is the contact surfacebetween the finger pad and the object. r is the distance betweena differential contact point and the center of the contact region. u i ( r ) is the depth of the soft penetration. These symbols areillustrated in Fig.6.Fig. 6: (a) The soft finger contact model. (b) Curvature of afacet. (c) The goal is to make sure the object is stable at anarbitrary pose.Using R to denote the radius of the the contact curvature, u i ( r ) can be represented by u i ( r ) = (cid:112) R − r − ( R − h max ) (3)where h max is the maximum depth of the soft penetration.Following the definition of curvature, R could be computedusing max ( d / θ i ) , where d i is the distance between the center ofthe i th in the facet and the center of the seed triangle, θ i is theangle between the normal of the i th triangle and the normal ofthe seed triangle. The computation is illustrated in Fig.6(b). R is essentially determined by the geometry of a facet. h max isused as a tunable parameter to control the stability of plannedgrasps. Since the goal of stability estimation is to make surethe object is stable at an arbitrary pose (Fig.6(c)), a plannedgrasp must meet ( mgc ) ≤ e n ( µ f n − ( mg ) ) (4) Here, we are considering the worst case where the gripping torque mustresist the largest torque caused by gravity. During manipulation, the largestexternal torque appears when gravity direction is perpendicular to vector −−−−−−−−−−→ contact − com . where c is the distance between the com (center of mass) ofthe object and the center of contacts. From (2), (3), and (4)we obtain ( mgc ) ≤ ( 815 ) (2 Rh max − h max )( µ f n − ( mg ) ) (5)This equation is used to determine the stability of plannedgrasps.IV. P LANNING THE G RASP C ONFIGURATIONS
Using the superimposed facets and the sampled contactpoints, we develop algorithms to plan grasps for suction cupsand parallel grippers.
A. Suction cups
We assume a suction end-effector has only one suctioncup. The grasp planning algorithm for a single suction cupis a two-step process. In the first step, the algorithm findsthe possible orientations to attach the suction cup to thesampled and refined contact points. Since the approachingdirection must be perpendicular to the contact region, the end-effector’s orientation is only changeable by rotating aroundthe approaching direction. The algorithm poses the suctioncup to the contact points from the changeable orientationsand removes the infeasible (collided) grasps. In the secondstep, the algorithm examines the resistance of planned suctionconfigurations to external torques caused by gravity. Thepseudocode of the algorithm is shown in Fig.7.Fig. 7: The pseudocode of grasp planning for suction cups.It is a two step process where the first step finds possibleorientations and performs checkcollision , the second stepperforms checktorque .For each contact point, the algorithm discretizes the rotationaround the contact normal into discreteangles , and computesthe rotation matrices. The number of discretized values isdetermined by n da . The algorithm poses the eemesh (meshmodel of the end effector) using the computed rotation ma-trices and checks the collision between the eemesh and the objmesh (mesh model of the object). Line 3 of the pseudocodeiterates through the discrete orientations. Line 6 poses the eemesh to a contact with rotation matrix rotmat . Line 7checks the collision between eemesh and objmesh .In the second step, the algorithm further examines the resis-tance to external torques. The function checktorque ( contact , objcom , h max ) in line 8 of the pseudocode performs the examination. The function computes the Euclidean distancebetween contact and objcom (the com of the object), andchecks if Eq.(4) is met.Fig.8 shows the results of grasp planning for a suctioncup and a metal workpiece. A single grasp is shown inFig.8(a). All planned results are shown in Fig.8(b). Thered configurations in Fig.8(b) are the grasps deleted by the checkcollision ( eemesh , objmesh ) function.Fig. 8: Results of grasp planning for a suction cup and a metalworkpiece. (a) One of the planned grasps. (b) All results. Thered grasps collide with the metal workpiece. B. Two-finger parallel grippers
Grasp planning for two-finger parallel grippers is a three-step process. In the first step, the planner for two-finger parallelgrippers first finds parallel facets and computes candidatecontact pairs by examining the contact points on the parallelfacets. Compared with suction cups which need one contactpoint, the planner for two-finger parallel grippers needs twocontact points with opposite contact normals. Thus, the algo-rithm involves an extra step to prepare the candidate contactpairs. The second and third steps are similar to suction cups.In step two, the algorithm finds the possible orientations toattach the parallel gripper to the candidate contact pairs. Instep three, the algorithm examines the stability of the plannedgrasps.The pseudocode of the grasp planner for two-finger parallelgrippers is shown in Fig.9. In the first block (lines 1 to 8),the algorithm finds candidate contact pairs. For each pairof parallel facets, the algorithm initiates a ray that startsfrom a contact point on one facet and points to the inversedirection of the contact normal. It detects the intersectionbetween the ray and the other facet. If an intersection exists,the contact-intersection pair is saved as a candidate. Whethertwo facets in a pair are parallel is determined by a tunableparameter θ parl (see line 3). In the second block (lines 10 to22), the algorithm performs collision detection and examinesstability. The algorithm invokes two nested checkcollision functions in the second block. In the first call (line 14), thealgorithm checks if the stroke of the gripper collides withthe object. Stroke is represented by cylinders which do nothave orientation. In the second call (line 20), the algorithmchecks if the whole hand (both fingers and palm) collideswith the object. The algorithm poses the fingertips to thecenter of the contact pairs and performs collision at different rotations around the axis formed by the two contacts. Duringthe process, the planner attaches one finger pad to one positionof a contact pair, and attaches the other finger pad to theother position of the contact pair. Suppose the two parallelfingers are f , f , the contact pair is [ contact a , contact b ],the algorithm attaches f to contact a , attaches f to contact b ,rotates the gripper around the axis −−−−−−−−−−−−−−→ contact a − contact b , andchecks the collision between eemesh and objmesh at everyorientation (lines 15 to 20).Fig. 9: Pseudocode of grasp planning for two-finger parallelgrippers. stmesh denotes the collision model of a gripper’sstroke. eemesh denotes the collision model of a gripper.Fig. 10: Results of grasp planning for a Robotiq85 grip-per and an electric drill. (a) The CAD model of thedrill. (b.1-3) Some of the parallel facets and the results of checkcollision ( stmesh , objmesh ) . The cylinders indicatethe stroke of the gripper. The red ones collide with the drill.The white ones are collision-free. (b) The discretized grasps atone contact pair. The red hands indicate the obstructed grasps.The white ones are the planned grasps. Fig.10 shows the results of grasp planning for a Robotiq85gripper and an electric drill. The CAD model of the drill isshown in Fig.10(a). The collision between strokes and themodel is detected at line 14 of Fig.9. Fig.10(b.1-3) drawsome results of the collision detection. The red cylinders showthe strokes that collide with the object and are removed toavoid repeated collision checking at different orientations. Thewhite cylinders are further examined in line 20 of Fig.9 tosee if there is a collision between the whole hand and theobject. The discretized orientations at one contact pair andthe results of whole-hand collision detection are illustrated inFig.10(c). The red hands indicate the collided grasps found by checkcollision ( eemesh , objmesh ) . The white ones are theplanned grasps. C. Three-finger parallel grippers
In addition, the planner proposed in this paper is applicableto three-finger parallel grippers where two fingers are actuatedtogether against a third finger.Fig. 11: Pseudocode of grasp planning for three-finger parallelgrippers.Fig. 12: Results of grasp planning for a three-finger gripperand a tube connector. (a) Mesh model of the object. (b.1)Results of the collision detection on strokes. (b.2) A clear viewof the collision-free strokes of (b.1). (c.1) A collided graspconfiguration found by the second collision checking. (c.2) Acollision-free grasp configuration (it is also one planned graspconfiguration).The process is similar to grasp planning for two-fingerparallel grippers, except that the two fingers on one side of the parallel gripper are treated as a single finger. Its pseudocodeis shown in Fig.11. In the first step, the planner finds parallelfacets and computes candidate contact pairs (not shown inFig.11). In the second step, the planer poses the fingertipsto the center of the contact pairs and performs collisiondetection at different rotations around the axis formed by thetwo contacts (Fig.11). The algorithm also invokes two nested checkcollision functions. The first invocation checks thecollision of strokes (line 8). The second invocation checksthe collision of the whole hand (line 11). However, differentfrom the two-finger case, the stroke of a three-finger gripper isrepresented by three cylinders, which changes with hand ori-entation. Thus, both the two invocations are performed undera specific orientation (both are invoked inside the initializedby line 3). If the stroke is collision free, the planner attachesone finger pad to one position of a contact pair and attachesthe center of the other two finger pads to the other position ofthe contact pair (line 9). Suppose the three fingers are f , f ,and f where f is at one side of a parallel gripper, f and f are on the other side. The contact pair is named [ contact a , contact b ]. The algorithm attaches f to contact a , attaches f + f to contact b , and examines the distances between f and objmesh , and f and objmesh (line 9). The algorithm requires || f - objmesh || A. Tunable parameters In the algorithms, seven tunable parameters are preparedfor user configuration. The parameters and their functions areshown in Table.I. This section analyzes the parameters andcompares the performance of different parameter settings bycomparing the different planned results. In practice, users mayset the parameters according to the needs of their roboticsystems. Parameter 1: θ pln is used to control the planarity ofeach facet during the superimposed segmentation. Smaller θ pln leads to flatter and smaller facets. Fig.13(a) shows thesegmented results of the electric drill shown in Fig.10(a) usingdifferent θ pln . The facets are drawn with random offsets fromtheir original position to give a clear view. Each facet is givena random color. As θ pln becomes smaller, facets become flatter Fig. 13: (a) Results of superimposed segmentation usingdifferent θ pln . Each segment is shown in a random color, and isdrawn with a random offset from its original position to give aclear view. The results show that a smaller θ pln leads to flatterand smaller facets. (b) Results of superimposed segmentationusing different θ fct . The object used for demonstration is theone in Fig.12(a). The results show that a smaller θ fct leads tomore overlap.Fig. 14: (a) Results of contact sampling using different t bdry .The resulting samples are drawn in blue color. The resultsshow that a smaller t bdry leads to a smaller clearance betweencontact samples and facet boundaries. (b) Results of contactsampling using different t rnn . The resulting samples are drawnin red color. The results show that a smaller t rnn leads todenser contact samples.and smaller. In the extreme case where θ pln = ◦ , each triangleis treated as a facet. Parameter 2: θ fct is used to control the overlap of su-perimposed segmentation. Smaller θ fct leads to more overlapbetween facets. Fig.13(b) shows the segmented results of thetube connector shown in Fig.12(a) using different θ fct . LikeFig.13(a), each facet is drawn with a random offset and arandom color. As θ fct becomes smaller, facets become moreoverlapped. Parameter 3: t bdry is used to control the distance between TABLE I: The tunable parameters Name Function Where θ pln Control the planarity of each facet Appeared in superimpose segmentation θ fct Control the overlap of facets Appeared in superimpose segmentation t bdry Control the distance between contacts and facet boundaries Appeared in removing bad samples t rnn Control the radius of contact regions Appeared in removing bad samples h max Control the stability of the planned grasps Appeared in all grasp planners θ parl Control the parallelity of two facets Appeared in the planners for two and three-finger grippers t dct Control the distances between finger pads and object surfaces Appeared in the planner for three-finger grippers n da The number of discretized rotation angles around contact normals Appeared in all grasp planners Fig. 15: Results of parallel facets using different θ parl . Arrows indicate facet normals. Two facets with the same arrow colorare parallel. The left part of each subgroup shows two exemplary pairs. The results show that as θ parl decreases, less parallelfacets are accepted. The right part of a subgroup shows all pairs. Here, the facets are drawn with random offsets from theiroriginal position to give a good view. As θ parl decreases, more pairs are found.Fig. 16: (a) Results of grasp planning using different h max .As h max decreases, the hand grasps flat facets near the centerof mass to maintain stability. Object: Stanford bunny, the lastmodel in Fig.17. (b) Results of different t dct . As t dct increases,more grasps are found. Object: Tube connector, the fourthmodel in Fig.17. (c) Results of different n da . A larger n da leads to denser results. Object: Tube connector. contacts and facet boundaries. Fig.14(a) shows the results ofcontact sampling using the metal workpiece shown in Fig.8(a)and different t bdry . Only samples on the bottom of the objectare drawn and the resulting samples are drawn in blue color.A smaller t bdry leads to a smaller clearance between contactsamples and facet boundaries (hence less robust results). Parameter 4: t rnn is used to control the radius of contactregions or the density of contact sampling. Fig.14(b) shows thesampling results of the metal workpiece using different t rnn .The samples are drawn in red. A smaller t rnn leads to densercontact samples on the object surface (hence more plannedgrasps). Parameter 5: h max is used to control the stability of theplanned grasps. An example is shown in Fig.16(a). The objectis the Stanford bunny (the last model in Fig.17). As h max decreases, the planner reduces to grasp flat facets near thecenter of mass to maintain stability. Parameter 6: θ parl is used to control the parallelity ofthe facet pairs in the grasp planning. Values with a largeroffset from · lead to more candidate “parallel” facet pairsto attach the finger pads and hence more planned grasps. Onthe other hand, values with larger offsets result in unstablegrasping configurations. Fig.15 shows the parallel facets of atoy wheel using different θ parl . Arrows indicate facet normals.Two facets with the same arrow color are parallel. LikeFig.13(a), the facets are drawn with random offsets fromtheir original position to give a clear view. As θ parl becomessmaller, “parallel” facets become less parallel. Meanwhile, thenumber of parallel facets becomes larger. Fig. 17: Computational cost of the proposed algorithms. The rows marked by red and blue shadows denote the most timeconsuming process. The values are the average results of ten executions using the following parameter setting: θ pln = ◦ , θ fct = ◦ , t bdry =2 mm , t rnn =3 mm , t rss =50 mm , θ parl = ◦ , t dct =3 mm , n da =8. Parameter 7: t dct is used to control the distances betweenfinger pads and object surfaces in the grasp planning for three-finger grippers. Larger values indicate the planner allows alarge difference in distances between finger pads and objectsurfaces. In that case, there will be more planned grasps.Meanwhile, the results are less robust since two fingers cannottouch object surfaces at the same time. Fig.16(b) shows theplanned grasps of the tube connector shown in Fig.12(b)using different t dct . As t dct becomes larger, the planned graspconfigurations become denser. The object, which is obstructedby hands in the figure, is at the same pose as Fig.12(b). Theresults also show that when t dct equals 0 mm , there are nolateral grasps. As t dct becomes larger, the number of lateralgrasps increase. Parameter 8: In addition, n da determines the number ofdiscretized rotation angles around contact normals. A larger n da leads to denser results, as is shown in Fig.16(c). B. Performance1) Computational costs: The computational costs of plan-ning grasps for various objects using the method are shownin Fig.17. Six objects are used. From left to right, they are(1) a bearing housing, (2) a toy wheel, (3) an electric drill,(4) a tube connector, (5) a metal workpiece, and (6) a plasticworkpiece. The information of these mesh models, includingthe number of vertices and the number of triangle faces,is shown in an upper section of the table in Fig.17. Thedetails of computational cost, including the time spent onsuperimposed segmentation, sampling, removing bad samples1 (refinement 1 of Fig.4), removing bad samples 2 (refinement2 of Fig.4), planning contact pairs, and the two nested collisiondetection, are shown in a lower section of the table in Fig.17.The results are obtained by running the algorithms on aLENOVO ThinkPad P70 mobile workstation. One core of anIntel Xeon E3-1505M v5 @ 2.80GHz 4 Core CPU is used.The memory size is 16.0GB. The algorithms are implemented using python 2.7.11 32 bit. The results are the average valuesof ten executions using the following parameter settings: θ pln = ◦ , θ fct = ◦ , t bdry =2 mm , t rnn =3 mm , h max =1.5 mm , θ parl = ◦ , t dct =3 mm , n da =8.The top two time-consuming rows are marked byred and blue shadows in Fig.4. The first one is checkcollision ( eemesh , objmesh ) , which required a fewseconds for a few thousand triangles. The results are reason-able as we are performing mesh-to-mesh collision detections.The second one is “Remove Bad Samples 1” (see SectionIII.B.2) and Fig.4). The cost is also reasonable since itmeasures the distances of each sampled contact point to theboundaries of facets. 2) Influence of mesh quality: Fig.18 shows the performanceof the algorithms using a model with different mesh qualities.The meshes are drawn in Fig.18(1 ∼ θ pln = ◦ , θ fct = ◦ , t bdry =2 mm , t rnn =3 mm , h max =1.5 mm , θ parl = ◦ , t dct =3 mm , n da =8. The two curves in Chart (b)show the number of planned grasps. The red curve is thechanges of grasp number using the same parameter setting.The blue curve shows the results using a different θ parl value( θ parl = ◦ ). The two curves show that the algorithms arestable to low-quality mesh models: The number of plannedgrasps does not significantly decrease along with reducedvertices and triangles. For θ parl = ◦ , the number of plannedgrasps is considered to have similar values in the red shadow Fig. 18: Performance of the proposed algorithms using a model with decreasing mesh qualities. The meshes in 1 ∼ θ parl = ◦ , the number of plannedgrasps is considered to have similar values in the blue shadow(spans from 1 to 6). 3) Precision of the planned grasps: We further measure theprecision of the planned grasps using a Robotiq85 two-fingerparallel gripper and some objects. The experiment settings areshown in the right part of Fig.19. The objects include (a)the Stanford bunny, and (b) the bearing housing. AR markersare attached to the objects to precisely detect the changes ofposes before and after closing the fingers. The grasps withapproaching directions that have less than 40 degree anglefrom the vertical direction, as shown in the left part of Fig.19,are selected as the candidate grasps. They are used to graspthe objects. The difference in object poses (the difference inthe AR marker’s x and y positions, namely d x and d y ) beforeand after closing the fingers are measured as the precision.Fig. 19: Experimental settings used to examine the precisionof the planned grasps. The left part shows the grasps withapproaching directions that have less than ◦ angle from thevertical direction. The changes in object poses before and aftergrasping are measured by AR markers shown in the right. Twoobjects, a Stanford bunny and a bearing housing, are tested. The results of the Stanford bunny after grasping are shownin Fig.20. In the left case, θ parl was set to ◦ , and 6candidate grasps were found. The maximum change aftergrasping using these planned grasps was d x =1.00 mm and d y =4.5 mm . When θ parl was changed to ◦ (the right partof Fig.20), only 1 candidate grasp was found. Its change was d x =0.25 mm and d y =1.00 mm .Fig. 20: Changes in positions after grasping the Stanford bunnyusing the planned grasps. The small 3D figures show thecandidate grasps used for comparison. When θ parl = ◦ , 6candidate grasps are found. They are shown in the left 3Dfigure. When θ parl = ◦ , only 1 candidate grasp is found. Itis shown in the right 3D figure.The Stanford bunny does not have many graspable parallelpairs. The available data might not be enough to demon-strate the precision of the planned grasps. Thus, we furtherexamined the planned grasps of the bearing housing. The d x and d y before and after grasping the bearing housingusing the planned grasps are shown in Fig.21. The first tworows of the table are the results using parameter settings: θ pln = ◦ , θ fct = ◦ , t bdry =2 mm , t rnn =3 mm , h max =1.5 mm , θ parl = ◦ , t dct =3 mm , n da =8. The lower two rows are theresults using a different θ parl . θ parl = ◦ . When θ parl = ◦ ,there are 44 candidate grasps. Two failures are encounteredduring the experiments using these planned grasps. The failurecases are marked in red shadows. When θ parl = ◦ , there are32 candidate grasps, and all of them can successfully hold Fig. 21: Changes in x and y after grasping the bearing housing using planned grasps. When θ parl = ◦ , 44 candidate graspswere found. Their poses and precision are shown in the upper section of the table. The maximum positions change after graspingwere d x =2.19 mm and d y =1.90 mm . They are marked using red frames. Two failures were encountered when grasping usingthese planned grasps. They are marked using red shadows. When θ parl = ◦ , 32 candidate grasps were found. Their posesand precision are shown in the lower section. The maximum changes were d x =1.95 mm and d y =1.88 mm .Fig. 22: Changes of segmentation and planned grasps of the stanford bunny with different parameter settings. The parametersincluded θ pln , θ fct , and θ parl . At each row, two of these parameters are fixed to ◦ , the left one decreases from left to right.the object. The maximum position change after grasping are( d x =2.19 mm , d y =1.90 mm ), and ( d x =1.95 mm , d y =1.88 mm )in the two cases respectively. They are marked in red frames.With the results of these two models, we confirm that theplanned grasps have satisfying precision and are suitable to beused by assembly routines (e.g. spiral search). Also, we maychange the parameters of the algorithms and seek a balancebetween precision and the number of planned grasps accordingto the requirements of specific tasks (industrial bin-picking orassembly). For readers’ convenience, we summarize the detailedchanges of segmentation and planned grasps of the Stanfordbunny with different parameter settings in Fig.22. In (a), θ pln and θ fct are fixed to ◦ , θ parl decreases from left to right.The number of planned grasps increases as θ parl decreases.In (b), θ fct and θ parl are fixed to ◦ , θ pln decreasesfrom left to right. The sizes of facets increase significantlyas θ pln decreases (The sizes of facets are measured by theaverage number of triangles). Meanwhile, as the sizes of facetsincreases, the number of planned grasps increases significantly. In (c), θ pln and θ parl are fixed to ◦ , θ fct decreases fromleft to right. The number of facets decreases slightly as θ fct decreases. There are no necessary relations between θ fct andthe size of facets, and between θ fct and the number of plannedgrasps. C. Some robotic assembly examples using the grasp planner The proposed method is implemented as a plugin of anopen source project named PYHIRO (available on Github athttps://github.com/wanweiwei07/pyhiro), where the goal is tobuild a system that conducts assembly tasks without humanteach. The input to the system is the CAD models of objectsand kinematic parameters of robots and hands. The output is asequence of grasp configurations and robot poses for assembly.The proposed grasp planning is a pre-processing componentof the project. It prepares pre-annotated grasp configurationsfor regrasp planning and motion planning. This subsectionpresents some examples of robotic assembly using the systemsand the proposed grasp planning algorithms.The first example is to use a Kawada Nextage robot(Kawada Industries, Inc.) to assemble a wheel to a supportshown in Fig.23(a). The hands used were two Robotiq F-85grippers. The input is the initial positions and orientations ofthe wheel and the support in a robot’s workspace (the initialposes are shown in Fig.23(c)). The system automatically plansgrasps, invalidates collided grasp configurations, and plansmotion sequences using the collision-free grasps. The plannedcollision-free grasps for assembling the two objects are shownin Fig.23(b). Two exemplary planned sequences are shownin Fig.23(d.1) and (d.2). The real-world execution using onesequence is shown in Fig.23. The planned grasps are preciseenough to guarantee successful pick-and-place and regrasp.The second example is to use a dual-arm UR3 robot(Universal Robots A/S) to pick up a vacuum fastener andfasten a bolt. The robot plans a bunch of candidate graspsusing the proposed algorithms, and chooses a suitable graspto pick up the vacuum fastener in Fig.24(a-c). The plannedgrasp is precise enough to align the suction tooltip and fastenthe bolt in Fig.24(d). Like the first example, the gripper usedis the Robotiq F-85 gripper.The third example is to hand over an electric drill from theright hand of an HRP5P robot (BNational Inst. of AIST, Japan,http://y2u.be/ARpd5J5gDMk) to its left hand. The gripper isa three-finger parallel gripper. The robot could precisely holdthe object using the planned grasps (Fig.25(a-b)), which allowsthe left hand to insert its thumb into the narrow space betweenthe index and middle fingers of the right hand Fig.25(c-d).VI. C ONCLUSIONS AND F UTURE W ORK In this paper, we proposed grasp synthesis algorithms thatare efficient, have high precision, and are highly configurablewith several tunable parameters. The algorithms focused onindustrial end-effectors like grippers and suction cups, andcan be used in industrial tasks like bin-picking and assembly.The efficiency, precision, and configurability of the proposedmethod meet the requirements of these tasks. The proposed planner is demonstrated to be practical by a real-world roboticassembly task.We envision our future research focusing on non-continuouscontacts. In this paper, a finger pad is assumed to be con-tinuously in contact with a flat surface of an object, whichmakes it difficult to find grasps on non-continuous surfaces,e.g. grasp the screw threads of a bolt. In the future, we willuse surface simplification, reconstruction, and multi-contactanalysis to plan grasps and challenge the difficulty.R EFERENCES[1] J. K. Salibury, “Kinematic and Force Analysis of Articulated Hands,” in Robot Hands and the Mechanics of Manipulation , pp. 2–167, The MITPress, 1985.[2] B. Mishra, , J. T. Schwartz, and M. Sharir, “On the Existence andSynthesis of Multifinger Positive Grips,” Algorithmica , vol. 2, pp. 541–558, 1987.[3] V.-D. Nguyen, “Constructing Force-Closure Grasps,” in Proceedings ofIEEE International Conference on Robotics and Automation , pp. 1368–1373, 1986.[4] Y. Funahashi, T. Yamada, M. Tate, and Y. Suzuki, “Grasp Stability Anal-ysis Considering the Curvatures at Contact Points,” in Proceedings ofIEEE International Conference on Robotics and Automation , pp. 3040–3046, 1996.[5] E. Rimon and J. W. Burdick, “Mobility of Bodies in Contact – I:A New 2nd Order Mobility Index for Multiple-Finger Grasps,” IEEETransactions on Robotics and Automation , vol. 14, pp. 696–708, 1998.[6] Yun-Hui Liu, “Computing n-Finger Form-Closure Grasps on PolygonalObjects,” The International Journal of Robotics Research , vol. 19, no. 2,pp. 149–158, 2000.[7] A. F. van der Stappen, “Immobilization: Analysis, Existance, andOutput-sensitive synthesis,” in Computer-Aided Design and Manufac-turing , pp. 162–187, AMS-DIMACS, 2005.[8] D. J. Montatna, “The Condition for Contact Grasp Stability,” in Pro-ceedings of IEEE International Conference on Robotics and Automation ,pp. 412–417, 1991.[9] A. Bicchi, “On the Closure Properties of Grasping,” The InternationalJournal of Robotics Research , vol. 14, pp. 319–334, 1995.[10] W. S. Howard and V. Kumar, “On the Stability of Grasped Objects,” IEEE Transactions on Robotics and Automation , 1996.[11] B. Mishra, “Grasp metrics: Optimality and Complexity,” in Proceedingsof Workshop on Algorithmic Foundations of Robotics , pp. 137–165,1995.[12] M. A. Roa and R. Su´arez, “Grasp Quality Measures: Review andPerformance,” Journal of Autonomous Robots , vol. 38, pp. 65–88, 2015.[13] J. Ponce, S. Sullivan, A. Sudsang, and J. Merlet, “On Computing Four-finger Equilibrium and Force-closure grasps of Polyhedral Objects,” IEEE Transactions on Robotics and Automation , vol. 16, pp. 11–35,1997.[14] Y. Liu, M. Lam, and D. Ding, “A Complete and Efficient Algorithmfor Searching 3-D Form Closure Grasps in the Discrete Domain,” IEEETransactions on Robotics and Automation , vol. 20, pp. 805–816, 2004.[15] M. Fischer and G. Hirzinger, “Fast Planning of Precision Grasps for3D Objects,” in Proceedings of IEEE/RSJ International Conference onIntelligent Robots and Systems , pp. 120–126, 1997.[16] A. Miller and P. Allen, “Examples of 3D Grasp Quality Computations,”in Proceedings of IEEE International Conference on Robotics andAutomation , pp. 1240–1246, 1997.[17] J. D. Wolter, R. A. Volz, and A. C. Woo, “Automatic Generation of Grip-ping Positions,” IEEE Transactions on System, Man, and Cybernetics ,vol. 15, pp. 204–213, 1985.[18] J. L. Jones and T. Lozano-Perez, “Planning Two-Fingered Graspsfor Pick-and-Place Operations on Polyhedra,” in IEEE InternationalConference on Robotics and Automation , pp. 683–687, 1990.[19] C. Liu, H. Qiao, J. Su, and P. Zhang, “Vision-Based 3-D Grasping of3-D Objects With a Simple 2-D Gripper,” IEEE Trans. Systems, Man,and Cybernetics: Systems , vol. 44, no. 5, pp. 605–620, 2014.[20] M. Pozzi, M. Malvezzi, and D. Prattichizzo, “On Grasp Quality Mea-sures: Grasp Robustness and Contact Force Distribution in Underactu-ated and Compliant Robotic Hands,” IEEE Robotics and AutomationLetters , vol. 2, no. 1, pp. 329–336, 2017. Fig. 23: Using a Kawada Nextage robot to conduct an assembly task. (a) The goal of the assembly task. (b) The plannedcollision-free grasps for assembly. The cyan hands show the possible grasp configurations to hold the support. The yellowhands show the possible grasp configurations to hold the wheel. (c) The initial poses of the objects to be assembled. (d) Twoexemplary planned sequences using the planned grasps. (e) A real-world execution.Fig. 24: Using a dual-arm UR3 robot to pick up a vacuumfastener and fasten a bolt. (a-c) The robot chooses a suitablegrasp from preplanned grasps to pick up the vacuum fastener.(d) The planned grasp is precise enough to align the suctiontooltip and fasten the bolt. [21] J. Shi and G. S. Koonjul, “Real-Time Grasping Planning for RoboticBin-Picking and Kitting Applications,” IEEE Transactions on Automa-tion Science and Engineering , vol. 14, no. 2, pp. 809–819, 2017.[22] Y. Li, J. P. Saut, J. Pettr, A. Sahbani, and F. Multon, “Fast Grasp PlanningUsing Cord Geometry,” IEEE Transactions on Robotics , vol. 31, no. 6,pp. 1393–1403, 2015.[23] M. Ciocarlie, C. Lackner, and P. Allen, “Soft Finger Model withAdaptive Contact Geometry for Grasping and Manipulation Tasks,” in Proceedings of Joint EuroHaptics Conference and Symposium on HapticInterfaces for Virtual Environment and Teleoperator Systems , pp. 219–224, 2007.[24] K. Harada, T. Tsuji, K. Nagata, N. Yamanobe, K. Maruyama, A. Naka-mura, and Y. Kawai, “Grasp Planning for Parallel Grippers with Flex-ibility on Its Grasping Surface,” in Proceedings of IEEE InternationalConference on Robotics and Biomimetics , pp. 1540–1546, 2011.[25] C. Goldfeder, P. K. Allen, C. Lackner, and R. Pelossof, “Grasp Plan- Fig. 25: Handing over a tool driver from the right hand ofan HRP5P robot to its left hand. (a-b) The robot picks up theelectric drill using its left hand and prepares it for handover. (c)Handover. The right hand inserted its thumb into the narrowspace between the index and middle fingers of the right handto hold the drill. (d) The left hand released and the object issuccessfully delivered. ning via Decomposition Trees,” in Proceedings of IEEE InternationalConference on Robotics and Automation , pp. 4679–4684, 2007.[26] H. Zha, T. Hoshide, and T. Hasegawa, “A ecursive Fitting-and-splittingAlgorithm for 3-D Object Modeling using Superquadrics,” in Proceed-ings of International Conference on Pattern Recognition , pp. 658–662,1998.[27] S. El-Khoury, A. Sahbani, and V. Perdereau, “Learning the NaturalGrasping Component,” in Proceedings of IEEE/RSJ International Con-ference on Intelligent Robots and Systems , pp. 2957–2962, 2007.[28] Z. Xue, A. Kasper, J. M. Zoellner, and R. Dillmann, “An AutomaticGrasp Planning System for Service Robots,” in Proceedings of Interna-tional Conference on Advanced Robotics , pp. 1–6, 2009.[29] A. T. Miller, S. Knoop, H. I. Christensen, and P. K. Allen, “Automatic Grasp Planning Using Shape Primitives,” in Proceedings of IEEEInternational Conference on Robotics and Automation , pp. 1824–1829,2003.[30] K. Huebner, S. Ruthotto, and D. Kragic, “Minimum Volume BoundingBox Decomposition for Shape Approximation in Robot Grasping,”in Proceedings of IEEE International Conference on Robotics andAutomation , pp. 1628–1633, 2008.[31] M. Bonilla, D. Resasco, M. Gabiccini, and A. Bicchi, “Grasp Planningwith Soft Hands using Bounding Box Object Decomposition,” in Pro-ceedings of International Conference on Intelligent Robots and Systems ,pp. 518–523, 2015.[32] K. Nagata, T. Miyasaka, D. N. Nenchev, N. Yamanobe, K. Maruyama,S. Kawabata, and Y. Kawai, “Picking up An Indicated Object ina Complex Environment,” in Proceedings of IEEE/RSJ InternationalConference on Intelligent Robots and Systems , pp. 2109–2116, 2010.[33] N. Yamanobe and K. Nagata, “Grasp Planning for Everyday ObjectsBased on Primitive Shape Representation for Parallel Jaw Grippers,”in Proceedings of IEEE International Conference on Robotics andBiomimetics , pp. 1565–1570, 2010.[34] N. Curtis and J. Xiao, “Efficient and Effective Grasping of Novel Objectsthrough Learning and Adapting a Knowledge Base,” in Proceedings ofIEEE/RSJ International Conference on Intelligent Robots and Systems ,pp. 2252–2257, 2008.[35] K. Harada, K. Nagata, T. Tsuji, N. Yamanobe, A. Nakamura, andY. Kawai, “Probabilistic Approach for Object Bin Picking Approximatedby Cylinders,” in Proceedings of IEEE International Conference onRobotics and Automation , pp. 3727–3732, 2013.[36] F. T. Pokorny, K. Hang, and D. Kragic, “Grasp Moduli Spaces,” in Proceedings of Robotics: Science and Systems , 2013.[37] T. Tsuji, S. Uto, K. Harada, R. Kurazume, T. Hasegawa, and K. Mo-rooka, “Grasp Planning for Constricted Parts of Objects Approximatedwith Quadric Surfaces,” in Proceedings of IEEE/RSJ InternationalConference on Intelligent Robots and Systems , pp. 2447–2453, 2014.[38] M. Garland, A. Willmott, and P. S. Heckbert, “Hierarchical FaceClustering on Polygonal Surfaces,” in Proceedings of Symposium on Interactive 3D Graphics , pp. 49–58, 2001.[39] K. Hang, J. A. Stork, F. T. Pokorny, and D. Kragic, “CombinatorialOptimization for Hierarchical Contact-level Grasping,” in Proceedingsof IEEE International Conference on Robotics and Automation , pp. 381–388, 2014.[40] K. Hang, J. A. Stork, and D. Kragic, “Hierarchical Fingertip Spacefor Multi-fingered Precision Grasping,” in Proceedings of IEEE/RSJInternational Conference on Intelligent Robots and Systems , pp. 1641–1648, 2014.[41] K. Hang, M. Li, J. A. Stork, Y. Bekiroglu, F. T. Pokorny, A. Billard,and D. Kragic, “Hierarchical Fingertip Space: A Unified Framework forGrasp Planning and In-Hand Grasp Adaptation,” IEEE Transactions onRobotics , vol. 32, no. 4, pp. 960–972, 2016.[42] Y. Zhang, A. Koschan, and M. Abidi, “Superquadrics Based 3D ObjectRepresentation of Automotive Parts Utilizing Part Decomposition,” in Proceedings of International Conference on Quality Control by ArtificialVision , pp. 241–251, 2003.[43] A. D. Kalvin and R. H. Taylor, “Superfaces: Polygonal Mesh Simplifica-tion with Bounded Error,” IEEE Computer Graphics and Applications ,vol. 16, no. 3, pp. 64–77, 1996.[44] K. Harada, T. Tsuji, S. Uto, N. Yamanobe, K. Nagata, and K. Kitagaki,“Stability of soft-finger grasp under gravity,” in Proceedings of IEEEInternational Conference on Robotics and Automation (ICRA) , pp. 883–888, 2014.[45] W. Wan and K. Harada, “Developing and Comparing Single-arm andDual-arm Regrasp,” IEEE Robotics and Automation Letters , pp. 243–250, 2016.[46] W. Wan and K. Harada, “Integrated Assembly and Motion planningusing Regrasp Graphs,” Robotics and Biomimetics , vol. 3:18, 2016.[47] W. Wan and K. Harada, “Achieving High Success Rate in Dual-arm Handover Using Large Number of Candidate Grasps,” AdvancedRobotics , pp. 1111–1125, 2016.[48] W. Wan and K. Harada, “Regrasp Planning using 10,000 Grasps,” in