Uncertainty in Grasping and Feeding Frank van der Stappen Utrecht University Shanghai, China, May 9, 2011
Outline Algorithmic Automation Grasping: finger misplacements Feeding: pose variations Inaccurate manipulators and imprecise parts
RISC: 15 Years Ago ‘Simplicity in the factory’ [Whitney 86] instead of ‘ungodly complex robot hands’ [Tanzer & Simon 90] Reduced Intricacy in Sensing and Control [Canny & Goldberg 94] : simple ‘planable’ physical actions, by simple, reliable hardware components simple or even no sensors
Algorithmic Automation Complete, efficient, and provably correct planning algorithms using geometry, data structures, and modeling and simulation planner
Outline Algorithmic Automation Grasping: finger misplacements Feeding: pose variations Inaccurate manipulators and imprecise parts
Grasp Analysis Form Closure: Analysis of Instantaneous Velocities [1870s] Force Closure: Analysis of Forces and Moments [1970s] –4 fingers sufficient for most 2D parts –7 fingers sufficient for most 3D parts 2 nd Order Immobility: Analysis in Configuration Space [1990s] –3 fingers sufficient for most 2D parts –4 fingers sufficient for most 3D parts
Wrench Analysis Force closure: wrenches w 1,…,w k induced by fingers should be able to resist any external wrench [Lakshminarayana 1978], so w 1,…,w k form a positive basis for wrench space, so convex hull of w 1,…,w k has O in its interior. w1w1 w2w2 w3w3 w4w4
Computing the Grasps or Fixtures Four points along four edges n edges
Output-Sensitive Grasp Synthesis Naïve: Output-sensitive: x= x =
Algorithmic Approach 2D n n n²n² ? n²n² naive: n combinations 4 smart: ± n operations 2 data structure
Finger Misplacement Algorithm reports continuous set of all four-finger grasps Some grasps are very sensitive to finger mispacements Postprocessing step in ‘configuration space’ of all grasps: [Ponce et al 1995, vdS et al 2000] –determine grasp that minimizes sensivity to finger misplacement –select the grasps that allow for a given misplacement of all fingers
Independent Grasp Regions in 2D Identify combinations of regions on part boundary that allow for independent finger placements [Nguyen 1988]. w1w1 w2w2 w3w3 w4w4
Insensitivity to Finger Misplacements Place fingers at the centers of the independent grasp regions: allowed misplacement is computable.
Independent Grasp Regions in 3D Given a rectilinear polyhedron, identify all combinations of 7 patches that admit independent finger placement. Boundary is subdivided into n patches of size ε x ε to guarantee allowed misplacement of ε/2. ε ε
Different Algorithmic Challenges Red-blue containments and crossings instead of red- blue intersections
Caging Rigid motion of the fingers
Caging Rigid motion of the fingers forces part to move along
Caging Fingers cage a part if there exists no motion that takes the part from its current placement to a remote placement without colliding with a finger. If the current placement lies in a bounded component of free configuration space then the part is caged.
Outline Algorithmic Automation Grasping: finger misplacements Feeding: pose variations Inaccurate manipulators and imprecise parts
Part Feeding Feeders based on various actions: push, squeeze, topple, pull, tap, roll, vibrate, wobble, drop, … Parts Feeder
Feeding with Fences Every 2-dimensional part can be oriented by fences over a conveyor belt. Shortest fence design efficiently computable [Berretty, Goldberg, Overmars, vdS 98].
Vibratory Bowl Feeders Parts vibrate upward along a helical track. Obstacles force wrongly oriented parts back to the bottom of the bowl. Design of obstacles.
Algorithmic Trap Design Filtering traps for vibratory bowl feeders
Combination of rejection functionality of traps and reorientation functionality of fences Blades
Assumptions Parts –identical polyhedra –quasi-static motion –singulated Zero friction No toppling Locally linear track
Part Reorientation and Rejection Reorientation: track pose to blade pose –Blade angle –Blade height Rejection: blade pose −Blade width
Modeling blade angle blade width w blade height h INPUT Polyhedral part P & Center of mass C OUTPUT Set of blades b( ,h,w) feeding P ALGORITHM
Blade Space Blade width Blade height Blade angle h w Point represents a blade Surfaces subdivide space
Critical Surface Blade width Blade height Blade angle Critical surface for every initial pose, consisting of patches (one per possible reorientation) –Above surface: part in that pose falls –Below surface: part in that pose survives S
Critical Arrangement Blade width Blade angle B is a blade that feeds P 1 Valid solutions: points above all but one surface: 1-level P1P1 P2P2 P3P3 B Blade height
Physical Experiments pose I blade track wall Discrepancies with prediction by model –Part motion –Part model –Part variations
Uncertainty in Reorientation
pose A pose B
Height Uncertainty in Reorientation pose I Angle Width Patches of initial part pose I’s critical surface correspond to final part poses patch B patch A
Angle h=H Consider cross-section at blade height h Uncertainty in Reorientation Height Width
Angle Width blade Model predicts that the blade reorients the part to pose A after which it is rejected but the experiments shows that it occasionally gets fed in pose B Uncertainty in Reorientation patch B patch A
Alter Patches width patch A patch B angle w Pose B may be fed by the blade
width angle Adjust width of the patch Uncertainty in Reorientation patch A patch B
Outline Algorithmic Automation Grasping: finger misplacements Feeding: pose variations Inaccurate manipulators and imprecise parts
Uncertainty Determine manipulation plans that work despite given variations in –part shape –manipulator actions Analysis Existence Synthesis
Imperfect Parts For a given task and a family of shapes, plan actions that accomplish the task for any shape in the family
Inaccurate Manipulators For a given part, task, and a range of perturbations of any possible action, plan actions such that even the perturbed versions of the actions in the plan accomplish the task
AMPLIFI New project: Algorithms for manipulation planning with imperfect parts and inaccurate manipulators Open PhD position, funded by NWO: MSc degree in computer science or mathematics interest in (and preferably background) in algorithms design interest in applications in Robotics and Automation.
Thank You! Papers available from Joint work with: Mark Overmars, Ken Goldberg, Elon Rimon, Mark de Berg, Xavier Goaoc, Chantal Wentink, Robert-Paul Berretty, Jae-Sook Cheong, Onno Goemans, Mostafa Vahedi, Heinrich Kruger, Herman Haverkort, Anthony Lewandowski, Marshall Anderson, Gordon Smith