ROB-400 · Lesson 5 of 12 · 31 min
Grasp synthesis and planning
Lesson 4 answered a question about a grasp you already have: does it hold, and how well? Grasp synthesis asks the reverse question. Given an object, a hand and a task, where should the contacts go? In practice this is a search problem. The space of possible hand poses is large, most of it is useless, and the useful part is shaped by the object's geometry, the hand's kinematics, the surrounding clutter and the task that follows. This lesson covers the main families of grasp synthesis methods, the practical constraints that prune the search, and how a chosen grasp turns into a motion the arm can execute.
The methods fall into two broad groups. Analytic methods use models of the object and contact mechanics to compute grasps that satisfy closure and quality criteria. Data-driven methods learn, from examples or experience, which grasps tend to succeed, often directly from sensor data without a full object model. Modern systems mix both: a learned network proposes candidates, and analytic checks reject those that collide or lack closure.
The grasp synthesis problem
A grasp candidate for a parallel-jaw gripper can be described by six numbers: the 3-D position of the gripper's centre point, the approach direction and the rotation of the jaw axis about that approach, plus the opening width. For a multi-finger hand, the finger joint angles add more dimensions. The synthesis problem is to find candidates that satisfy four kinds of requirement at once: the grasp must hold the object (closure and quality), the hand must be able to reach the pose without colliding (reachability and collision), the object must not be damaged (force and contact area limits), and the grasp must suit what happens next (task compatibility).
Each requirement prunes the space. Closure eliminates most hand poses that touch the object at all. Reachability and collisions eliminate grasps on the side of a part facing a wall or the bin floor. Task compatibility eliminates grasps that would block the feature that must later be inserted, or that would leave the object in the wrong orientation for placing. A good planner applies the cheap filters first and the expensive ones last.
Analytic synthesis and antipodal sampling
For parallel-jaw grippers, antipodal sampling is the workhorse analytic method. Sample a point on the object surface, cast a ray inward along the surface normal until it exits the object, and record the exit point. If the angles between the line joining the two points and each surface normal are within the friction cone half-angle, the pair is antipodal, and lesson 4 showed that implies force closure in the plane. Check that the distance between the points fits inside the gripper's opening range, give the candidate a score, and repeat thousands of times.
Scoring usually combines several terms: the misalignment angle (smaller is more robust to friction uncertainty), the distance of the grasp axis from the centre of mass (smaller reduces the moment gravity applies about the grasp), the width compared with the gripper's range (a width near the limit leaves no tolerance), and clearance from neighbouring objects. Weighted sums are common; the weights are tuned on test objects.
# Antipodal sampling on an ellipse (semi-axes a, b): score pairs by misalignment and offset from the middle
import numpy as np
rng = np.random.default_rng(7)
a, b, mu, max_open = 0.05, 0.03, 0.4, 0.09 # m
half = np.degrees(np.arctan(mu))
def point(t): return np.array([a*np.cos(t), b*np.sin(t)])
def normal_in(t): # inward unit normal
n = -np.array([np.cos(t)/a, np.sin(t)/b]); return n / np.linalg.norm(n)
def exit_point(p, d): # second intersection of ray p + s d with the ellipse
A = (d[0]/a)**2 + (d[1]/b)**2; B = 2*(p[0]*d[0]/a**2 + p[1]*d[1]/b**2)
return p + (-B / A) * d # the other root is s = 0
best, kept = [], 0
for t in rng.uniform(0, 2*np.pi, 2000):
p1, n1 = point(t), normal_in(t)
p2 = exit_point(p1, n1)
t2 = np.arctan2(p2[1]/b, p2[0]/a); n2 = normal_in(t2)
axis = (p2 - p1) / np.linalg.norm(p2 - p1)
ang1 = np.degrees(np.arccos(np.clip(axis @ n1, -1, 1)))
ang2 = np.degrees(np.arccos(np.clip(-axis @ n2, -1, 1)))
width = np.linalg.norm(p2 - p1)
if max(ang1, ang2) < half and width < max_open:
kept += 1
mid = (p1 + p2) / 2
score = (half - max(ang1, ang2)) / half - 5 * np.linalg.norm(mid) / a
best.append((score, width, max(ang1, ang2), np.linalg.norm(mid)))
best.sort(reverse=True)
print(f"cone half-angle {half:.1f} deg; kept {kept} of 2000 samples")
for s, w, ang, off in best[:3]:
print(f"score {s:+.2f} width {1000*w:.1f} mm worst angle {ang:.1f} deg offset from middle {1000*off:.1f} mm")cone half-angle 21.8 deg; kept 663 of 2000 samples score +1.00 width 60.0 mm worst angle 0.0 deg offset from middle 0.0 mm score +1.00 width 60.0 mm worst angle 0.0 deg offset from middle 0.0 mm score +0.99 width 60.0 mm worst angle 0.0 deg offset from middle 0.0 mm
The best candidates pinch the ellipse straight across its short axis, 60 mm wide, where the surface normals point exactly at each other and the grasp passes through the centre. The equally well-aligned pinch along the long axis is 100 mm wide, more than the 90 mm opening, so it is rejected, and many oblique pairs fail the angle test; only about a third of the samples survive. On a real part the same sampler runs on a mesh or point cloud, and the surface normals come from the model or are estimated from neighbouring points.
Grasp databases and template matching
When the same objects recur, as in many factories, grasps can be planned once offline and stored. A grasp database associates each known object model with a ranked list of grasps in the object's frame. At run time the perception system estimates the object's pose (ROB-330), the stored grasps are transformed into the world frame, and the first one that is reachable and collision-free is executed. This approach is fast and predictable, and engineers can inspect and approve every grasp. Its weakness is that it requires an accurate model and pose for every object.
Template and shape-primitive methods sit between databases and full analytic search. An object is approximated by boxes, cylinders and spheres, each with a set of standard grasps: pinch a box across its narrow dimension, wrap a cylinder around its axis, pinch a sphere through its centre. These rules handle many household and warehouse items surprisingly well and are easy to explain.
Worked problem
Transforming a stored grasp
A stored grasp for a bracket places the gripper centre at \( (0.020, 0, 0.015) \) m in the bracket frame. Perception reports the bracket at position \( (0.60, -0.10, 0.05) \) m in the robot base frame, rotated \( 90^\circ \) about the vertical \( z \) axis. Where is the grasp point in the base frame?
Show solution
- A rotation of \( 90^\circ \) about \( z \) maps \( (x, y, z) \) to \( (-y, x, z) \).
- Rotated grasp point: \( (0, 0.020, 0.015) \).
- Add the bracket position: \( (0.60 + 0, -0.10 + 0.020, 0.05 + 0.015) = (0.60, -0.08, 0.065) \) m.
- The approach direction and jaw axis rotate the same way; a jaw axis along the bracket \( x \) now points along base \( y \).
Answer: The grasp point is \( (0.60, -0.08, 0.065) \) m in the base frame. The full transform is \( {}^{B}T_{G} = {}^{B}T_{O} \, {}^{O}T_{G} \), composing the object pose with the stored grasp pose.
Reachability, approach and retreat
A grasp that holds the object is useless if the arm cannot get there. Every candidate passes through an inverse kinematics check (ROB-210): is there a joint configuration that places the gripper at the grasp pose within joint limits? Many grasps around an object are unreachable, or reachable only at awkward configurations near singularities. Planners often prefer grasps with a comfortable configuration, measured by distance from joint limits or by manipulability, because those leave room for corrections.
The gripper also has to arrive and leave without hitting anything. The standard pattern is a pre-grasp pose a few centimetres back along the approach direction, a straight-line approach to the grasp pose, closing, a straight lift or retreat along a chosen direction, and then a free-space motion to the next waypoint. Each straight segment is checked for collisions with the scene and, during retreat, with the object now held in the gripper. Approach directions roughly along the surface normal at the grasp point are most forgiving, because small position errors then move the fingers along the surface rather than into it.
Worked problem
Choosing a pre-grasp distance
Perception estimates object position with a standard deviation of 4 mm along the approach direction, and the robot can stop within 2 mm once commanded. How far back should the pre-grasp pose be so that the fingers never touch the object before the slow approach segment begins?
Show solution
- A common design rule is to cover about three standard deviations of perception error: \( 3 \times 4 = 12 \) mm.
- Add the stopping distance: \( 12 + 2 = 14 \) mm.
- Add finger geometry: fingertip pads protrude 6 mm beyond the nominal grasp point when open, so the total is about 20 mm.
- Many cells round up to 30–50 mm to give the approach segment time to settle at low speed.
Answer: At least about 20 mm, and in practice 30–50 mm. Larger values cost a little cycle time; too small a value causes collisions that knock the object out of place.
Robust grasp planning
Because the pose estimate, the friction coefficient and the object model are all uncertain, robust planners evaluate a grasp not once but many times under sampled perturbations. Shift the grasp pose by random errors drawn from the perception uncertainty, sample \( \mu \) from its measured range, recompute closure, and count how often the grasp survives. The fraction of successful samples estimates the probability of success. Ranking grasps by this probability, rather than by a single nominal quality value, prefers grasps that sit in broad, forgiving regions over grasps that are excellent only at one exact pose.
Worked problem
Estimating grasp robustness by sampling
A candidate grasp is evaluated 500 times with sampled pose errors and friction values. It keeps force closure in 447 samples. A second candidate with a higher nominal epsilon keeps closure in 389 samples. Which should the planner prefer, and how confident can it be in the first estimate?
Show solution
- Estimated success probabilities: \( 447/500 = 0.894 \) and \( 389/500 = 0.778 \).
- Standard error of the first estimate: \( \sqrt{0.894 \times 0.106 / 500} \approx 0.014 \).
- An approximate 95 % interval is \( 0.894 \pm 0.027 \), from about 0.87 to 0.92, entirely above the second candidate's estimate.
Answer: Prefer the first candidate. Its nominal quality is lower, but it is far more tolerant of the errors the real system will have.
Data-driven grasp synthesis
Learned grasp detectors take an image or point cloud and output grasp candidates directly, together with a predicted success score. Training data come from simulation, where millions of grasps can be evaluated with analytic metrics and physics engines, from human labels, or from physical robots trying grasps and recording results. Such systems handle novel objects without a model, which is why they dominate mixed-item warehouse picking. Lesson 6 looks at their perception side in more detail.
Learned methods have their own failure modes. They can be confidently wrong on objects unlike their training data, such as transparent items or unusually shaped packages, and their scores are not guaranteed to be calibrated probabilities. Good practice combines them with analytic checks: reject candidates that collide, that exceed the gripper width, or that fail a simple closure test on the observed point cloud, and track real success rates by object type so weak categories can be retrained or routed to another station.
Task-oriented grasping
How an object is grasped should depend on what happens next. A mug picked to be washed can be grasped anywhere; a mug picked to be handed to a person should leave the handle free; a screwdriver picked to drive a screw must be grasped by its handle with the shaft aligned for torque. Task-oriented grasping adds constraints or scoring terms that encode these needs: keep a feature exposed, align an axis with the tool direction, place the grasp so the object can be set down in the required orientation without regrasping, or resist the specific wrenches the task will apply.
Placement is the most common task constraint in industry. If a part must be inserted into a fixture with a particular face down, only grasps that leave that face accessible and that let the arm reach the placement pose are useful. Planners therefore search grasp and placement together, a theme lesson 8 develops when regrasping becomes necessary.
Putting synthesis into a pipeline
A practical grasp planning pipeline for a parallel-jaw gripper typically runs: segment the target object; generate a few hundred candidates by sampling or by a learned network; filter by gripper width and simple collision checks against the scene; check reachability with inverse kinematics; score the survivors on quality, robustness and task terms; and try them in order of score until one succeeds, with the pre-grasp, approach, close, verify and retreat sequence. Logging every attempt, with the outcome, builds the data needed to improve the scoring over time.
Common mistakes
MistakeRanking grasps on nominal quality alone
InsteadEvaluate candidates under sampled pose and friction errors and prefer those with high estimated success.
MistakeIgnoring reachability until execution
InsteadCheck inverse kinematics and approach collisions while ranking, not after choosing.
MistakeApproaching at a steep angle to the surface
InsteadApproach roughly along the surface normal so position errors slide fingers along the surface.
MistakePlanning the grasp without the placement
InsteadCheck that the grasp leaves the required face free and lets the arm reach the placement pose.
MistakeTrusting learned grasp scores as calibrated probabilities
InsteadTrack real success rates by object type and add analytic checks.
Summary and key terms
- Grasp synthesis searches for contact placements that satisfy closure, reachability, damage limits and task needs.
- Antipodal sampling casts rays along surface normals and keeps pairs whose connecting line lies inside both friction cones.
- Grasp databases store approved grasps per object and transform them with the estimated object pose.
- Every grasp needs a reachable pose plus collision-free pre-grasp, approach and retreat segments.
- Robust planners estimate success probability by sampling pose, friction and model errors.
- Learned grasp detectors generalize to novel objects but should be paired with analytic checks and monitoring.
- Task-oriented grasping chooses grasps that suit placement, handover or tool use.
- Grasp synthesis
- Finding contact placements or hand poses that achieve a desired grasp.
- Antipodal sampling
- Generating parallel-jaw grasps by pairing surface points whose connecting line lies inside both cones.
- Grasp database
- A stored set of approved grasps for known object models.
- Pre-grasp pose
- A pose offset back along the approach direction from which the final approach starts.
- Approach direction
- The direction along which the gripper moves onto the grasp pose.
- Retreat
- The motion away from the grasp location while holding the object.
- Robust grasp planning
- Ranking grasps by their estimated success under sampled uncertainties.
- Task-oriented grasping
- Choosing grasps that suit the task that follows the grasp.
- Shape primitive
- A simple shape such as a box, cylinder or sphere with standard grasps.
- Reachability
- Whether the arm has a valid joint configuration for a given gripper pose.
Practice problems
Work each problem on paper first, then reveal the answer to check.
How many numbers describe a parallel-jaw grasp pose plus width?
Show answer
Seven: position (3), approach direction (2), rotation about approach (1) and width (1).
A pair has misalignment angles of 8 and 15 degrees with \( \mu = 0.3 \). Keep or reject?
Show answer
Keep: \( \arctan 0.3 \approx 16.7^\circ \), larger than both angles.
Why prefer grasps near the centre of mass?
Show answer
Gravity then applies less moment about the grasp, reducing slip and rotation.
What advantage do grasp databases have over online synthesis?
Show answer
They are fast, predictable and can be inspected and approved in advance.
A grasp at \( (0.01, 0.02, 0) \) in the object frame; the object is rotated 180 degrees about \( z \) at the origin. Base-frame point?
Show answer
\( (-0.01, -0.02, 0) \).
What is the purpose of the pre-grasp pose?
Show answer
To start a slow, straight final approach from a safe distance.
A grasp survives 912 of 1,000 sampled perturbations. Estimated success?
Show answer
About 0.91.
Name one failure mode of learned grasp detectors.
Show answer
Overconfidence on objects unlike the training data, such as transparent items.
Give an example of a task-oriented grasp constraint.
Show answer
Leave a mug handle free for a handover.
In what order should grasp filters be applied?
Show answer
Cheapest first, such as width and simple collision checks, then reachability and robustness.
Lesson quiz · 5 questions
Score 60% or more to complete this lesson.
Create a free account to save your progress, take quizzes and earn a certificate.