ROB-400 · Lesson 8 of 12 · 32 min

Manipulation planning: pick-and-place, regrasping and task and motion planning

A grasp is one moment in a longer sequence. To be useful, the robot must plan how to reach the object, take it, carry it without collisions, put it down in the right place and pose, and recover when something goes wrong. Manipulation planning connects the grasp choices of lesson 5 with the arm motion planning of ROB-350 and with the logic that sequences many actions into a task. This lesson covers the standard pick-and-place pipeline, placement and stability, regrasping when no single grasp works, and the family of methods called task and motion planning that reason about actions and geometry together.

The central difficulty is that choices interact. The grasp determines which placements are reachable. The placement determines which grasps are acceptable. An early choice, such as stacking a box on the left, can block a later action, such as reaching a part behind it. Simple systems avoid most of this by fixing the sequence and the grasp in advance; flexible systems must search.

The pick-and-place pipeline

Nearly every pick-and-place system follows the same skeleton. Perceive the scene. Choose a target object and a grasp. Plan a free-space motion to the pre-grasp pose. Approach in a straight line, close the gripper and verify the grasp. Retreat, carrying the object, along a straight line. Plan a free-space motion to the pre-place pose with the object attached to the hand in the collision model. Approach the place pose, release, verify the placement and retreat. Each step can fail, so each has a check and a recovery branch.

A state machine with rounded boxes in a loop: perceive, choose grasp, move to pre-grasp, approach and close, verify grasp, retreat, move to pre-place, place and release, verify place, then back to perceive. Red dashed arrows lead from verify grasp to a retry box and from verify place to a recovery box, both returning to perceive.
A pick-and-place state machine with verification and recovery branches

Writing the pipeline as an explicit state machine or behavior tree (ROB-110 and ROB-360) keeps the logic testable. Every transition has a condition: the grasp is verified when vacuum exceeds its threshold, the place is verified when the object is seen at the target within tolerance. Every failure has a defined response: retry with the next-best grasp, re-perceive, nudge the object, or ask for help after a set number of attempts. Production cells usually spend more engineering effort on these failure branches than on the nominal path.

Worked problem

Counting attempts and recoveries

A cell has a first-attempt grasp success of 92 %. On failure it re-perceives and retries, and the retry succeeds 80 % of the time. After two failures the item is set aside for a person. Out of 1,000 items, how many are picked on the first attempt, on the retry, and set aside?

Show solution
  1. First attempt: \( 1000 \times 0.92 = 920 \) picked; 80 fail.
  2. Retry: \( 80 \times 0.80 = 64 \) picked; 16 fail again.
  3. Set aside: 16 items, 1.6 %.
  4. Overall automatic success: \( (920 + 64) / 1000 = 98.4 \) %.

Answer: 920 first-time picks, 64 on retry and 16 set aside. A single retry lifts automatic success from 92 % to 98.4 %, which is why recovery logic matters so much.

Carrying the object

Once the object is in the hand, it becomes part of the robot for planning purposes. The motion planner must check collisions for the arm plus the gripper plus the held object, whose shape comes from the model or from the point cloud observed before grasping. A long object changes the arm's reach and collision envelope dramatically. Planners also respect limits that protect the grasp: maximum accelerations so the inertial load stays within the sizing of lesson 7, orientation limits so a tray of liquid stays level, and speed limits near people.

Carrying adds dynamic effects. A heavy object shifts the arm's payload, changing the loads on joints and the accuracy of position control. Robots that know the payload mass and center of mass, either from configuration or from a quick identification move with a wrist force-torque sensor, compensate better and avoid overloads.

Placing and placement stability

Placing is harder than it looks. The object must end up in a pose that is stable, meaning it will not tip or slide when released; that is within tolerance of the target; and that the next process can use. Stability for an object resting on a horizontal surface has a simple test: the vertical projection of its center of mass must lie inside the support polygon, the convex hull of the points where it touches the surface. Margin matters, because small disturbances and uncertainty in the center of mass can tip an object placed near the edge of its support.

\[\text{stable} \iff \operatorname{proj}(\mathbf{c}) \in \operatorname{conv}\{\mathbf{s}_1, \ldots, \mathbf{s}_k\}\]
Checking placement stability by the signed distance of the projected center of mass from the support polygon edges
# Placement stability: is the projected COM inside the support polygon, and by how much?
import numpy as np
def margin(poly, c):
    """Signed distance from point c to the edges of a convex polygon (counter-clockwise). Positive = inside."""
    d = []
    for i in range(len(poly)):
        p, q = np.array(poly[i]), np.array(poly[(i + 1) % len(poly)])
        e = q - p; n = np.array([e[1], -e[0]]) / np.linalg.norm(e)   # outward normal for CCW order
        d.append(-(np.array(c) - p) @ n)
    return min(d)
support = [(0, 0), (0.12, 0), (0.12, 0.08), (0, 0.08)]       # 120 x 80 mm footprint, m
for name, com in (("middle", (0.06, 0.04)), ("offset", (0.10, 0.04)), ("overhang", (0.13, 0.04))):
    m = margin(support, com)
    print(f"{name:9s} COM {com}: margin {1000*m:+.0f} mm -> {'stable' if m > 0 else 'tips'}")
# tilt needed to tip a 120 mm box whose COM is 50 mm above the base, from the middle placement
h, half = 0.050, 0.06
print(f"tipping angle about the near edge: {np.degrees(np.arctan(half / h)):.1f} deg")
Output
middle    COM (0.06, 0.04): margin +40 mm -> stable
offset    COM (0.1, 0.04): margin +20 mm -> stable
overhang  COM (0.13, 0.04): margin -10 mm -> tips
tipping angle about the near edge: 50.2 deg

The margin tells the planner how much uncertainty the placement tolerates. A part placed with its center of mass 20 mm inside the edge survives a center-of-mass estimate that is off by 10 mm; a part placed with 2 mm margin does not. Placement planners therefore prefer poses with large margins, and for stacking they check the stability of the whole stack, not just the top item.

Worked problem

Placing on a sloped conveyor

A box with a 100 mm square base and its center of mass 120 mm above the base is placed on a conveyor that slopes down by \( 10^\circ \). The friction coefficient between box and belt is 0.35. Will the box slide or tip?

Show solution
  1. Sliding starts when \( \tan\theta > \mu \): \( \tan 10^\circ = 0.176 < 0.35 \), so it does not slide.
  2. Tipping about the downhill edge starts when \( \tan\theta > \dfrac{b/2}{h} = \dfrac{0.05}{0.12} = 0.417 \), about \( 22.6^\circ \).
  3. At \( 10^\circ \) the box neither slides nor tips, with about 9 degrees of extra tilt before sliding (\( \arctan 0.35 \approx 19.3^\circ \)) and about 13 degrees before tipping.
  4. Sudden belt acceleration adds an effective tilt; at 1 m/s² it adds about \( \arctan(1/9.81) \approx 5.8^\circ \).

Answer: It stays put, but sliding is closer than tipping once belt accelerations are included; a higher-friction belt or a gentler start would add margin.

Regrasping

Sometimes no single grasp works for both pick and place. A part lying on its side may only be graspable from above in a way that leaves it upside down for the fixture; a mug grasped by the body cannot be hung by its handle. The robot must then regrasp: place the object somewhere intermediate in a new stable pose, or hand it from one gripper or hand to another, and grasp it again differently.

Regrasp planning is naturally a graph search. Nodes are combinations of a stable object placement and a grasp compatible with it; edges connect nodes that share a grasp (pick up and put down in a new pose) or share a placement (set down and pick up with a different grasp). The planner searches for a path from the initial placement to a node whose grasp allows the final placement, preferring paths with fewer steps because each regrasp costs time and risks a failure.

A graph with circles representing stable poses of a part (upright, on side, upside down) and boxes representing grasps (top pinch, side pinch). Edges connect each pose to the grasps it allows. A highlighted path runs from on side, through side pinch, to upright, through top pinch, to the goal pose upright in the fixture.
A regrasp graph: alternating stable placements and grasps, with the shortest path to the goal highlighted

Worked problem

A regrasp graph by hand

A part has three stable poses: A (on its side, as found), B (upright) and C (upside down). Grasp 1 (top pinch) works from poses B and C; grasp 2 (side pinch) works from poses A and B. The fixture needs the part upright and only accepts grasp 1, because grasp 2 collides with the fixture walls. Find the shortest sequence.

Show solution
  1. Start in pose A. Only grasp 2 is available there.
  2. Pick with grasp 2 and set the part down in pose B, which grasp 2 allows.
  3. In pose B, pick again with grasp 1.
  4. Place into the fixture upright with grasp 1.

Answer: Pick A with grasp 2, place in B, regrasp with grasp 1, place in the fixture: one regrasp. A part feeder or a tilting station could remove the regrasp entirely, which is often a better engineering answer.

Many industrial cells avoid regrasping with mechanical aids: a passive flipping fixture, a tilting tray, a part feeder that presents parts in a known orientation, or a second robot. Choosing between planning sophistication and simple hardware is a recurring engineering trade-off; the cheapest reliable option usually wins.

Task and motion planning

Task and motion planning, often shortened to TAMP, combines symbolic reasoning about what to do with geometric reasoning about how to do it. A task planner works with discrete facts and actions: the cup is on the table, the robot can pick a free object, placing requires a clear region. A motion planner works with continuous configurations and collisions. Neither alone is enough. A symbolic plan such as "pick the cup, place it on the shelf" can be geometrically impossible if the shelf is blocked by a box, and a motion planner cannot decide that the box must be moved first.

TAMP methods interleave the two. One common approach generates a symbolic plan, tries to find grasps, placements and motions that realize it, and if the geometry fails, records why (for example, the box blocks the shelf) and asks the task planner for a plan that addresses the obstacle. Other approaches sample continuous values such as grasps and placements as part of the search itself. These methods have become practical for household and laboratory tasks with tens of objects, and research systems increasingly combine them with learned models that suggest promising actions and with language models that translate instructions into goals. In factories, the same ideas appear in a simpler form as offline sequence planning.

Worked problem

Why the task plan needs geometry

Goal: put the book on the shelf. A symbolic planner returns: pick(book), place(book, shelf). The motion planner finds no collision-free placement on the shelf because a vase occupies most of it. What should a TAMP system do?

Show solution
  1. Record the geometric failure and its cause: the vase occupies the target region.
  2. Add a symbolic fact such as "shelf region blocked by vase" and ask the task planner again.
  3. New plan: pick(vase), place(vase, table), pick(book), place(book, shelf).
  4. Check geometry for each action, including that the vase's new placement on the table does not block the path to the book.

Answer: The system must move the vase first. TAMP loops between symbolic plans and geometric checks until both are satisfied, or reports that the goal is unreachable.

Reacting during execution

Plans meet reality: objects shift when neighbors are removed, grasps slip, people walk into the cell. Robust systems re-perceive at decision points, monitor force and vacuum during motion, and replan locally when the world differs from the model. Model predictive control for manipulation and reactive behavior trees are two ways to make execution responsive; at the simplest level, re-imaging the bin after every pick, as lesson 6 described, is the most effective reactive behavior in industry.

Common mistakes

  • MistakeDesigning only the nominal path

    InsteadGive every step a verification and a defined recovery branch.

  • MistakePlanning motions without the held object in the collision model

    InsteadAttach the object to the gripper model after grasping.

  • MistakePlacing objects with little stability margin

    InsteadKeep the projected center of mass well inside the support polygon and check stacks as a whole.

  • MistakeSolving every orientation problem with regrasp planning

    InsteadConsider fixtures, feeders or tilt stations that remove the need for regrasping.

  • MistakeTreating a symbolic plan as executable without geometry

    InsteadCheck grasps, placements and motions for every action and feed failures back to the task planner.

Summary and key terms

  • Pick-and-place follows perceive, grasp, approach, verify, retreat, carry, place, verify, with recovery branches.
  • Retries after verified failures raise overall success dramatically, so failure logic deserves design effort.
  • Carried objects join the collision model and limit accelerations and orientations.
  • A placement is statically stable when the projected center of mass lies inside the support polygon, with margin.
  • Regrasp planning searches a graph of stable placements and compatible grasps.
  • Task and motion planning interleaves symbolic action planning with geometric feasibility checks.
  • Re-perception and monitoring during execution let systems react when the world differs from the plan.
Pick-and-place pipeline
The standard sequence of steps for moving an object from one place to another.
Pre-place pose
A pose above or beside the target from which the final placing motion starts.
Support polygon
The convex hull of the contact points between an object and its supporting surface.
Stability margin
The distance from the projected center of mass to the nearest support polygon edge.
Regrasp
Putting an object down or handing it over to grasp it differently.
Regrasp graph
A graph of stable placements and grasps used to plan regrasp sequences.
Task and motion planning
Planning that combines symbolic actions with geometric motion feasibility.
Behavior tree
A hierarchical structure for sequencing actions, checks and fallbacks.
Attached object
A held object added to the robot's collision model.
Recovery branch
A defined response to a detected failure, such as retry or re-perception.

Practice problems

Work each problem on paper first, then reveal the answer to check.

  1. First-attempt success 90 %, retry success 75 %. Overall after one retry?

    Show answer

    97.5 %.

  2. Why add the held object to the collision model?

    Show answer

    So the planner avoids collisions with what the gripper carries.

  3. A box's COM projects 15 mm inside the nearest edge. What is the stability margin?

    Show answer

    15 mm.

  4. Tipping angle for a 60 mm wide base with COM 90 mm high?

    Show answer

    \( \arctan(0.03/0.09) \approx 18.4^\circ \).

  5. A box on a belt with \( \mu = 0.3 \). Sliding angle?

    Show answer

    About 16.7 degrees.

  6. Name a hardware alternative to regrasp planning.

    Show answer

    A flipping fixture, tilt tray or part feeder.

  7. What are the nodes of a regrasp graph?

    Show answer

    Combinations of stable placements and compatible grasps.

  8. Why can a symbolic plan fail geometrically?

    Show answer

    An obstacle or reach limit may make an action impossible.

  9. Give one reactive behavior common in bin picking.

    Show answer

    Re-imaging the bin after every pick.

  10. Why limit acceleration while carrying a heavy part?

    Show answer

    To keep inertial loads within the grip sizing.

Lesson quiz · 5 questions

Score 60% or more to complete this lesson.

Take the quiz