Week 10 — Grasping and Manipulation Day 4 of 7


Why This Matters

A parallel-jaw gripper with a fixed grasp can only do one thing per grasp. Pick the part. Move it. Put it down. If the part lands 15° off from where the downstream fixture expects it, the cell stops, a human reaches in, and cycle time dies. Industrial integrators report that regrasp failures and part misalignment are among the top causes of unplanned stoppages in bin-picking cells. In-hand manipulation is the capability that removes the regrasp. It lets the hand rotate, translate, and reorient an object between the fingers without releasing it.

Without this capability, every orientation change costs a full release-and-regrasp cycle. On a typical 6-axis arm that is 2–4 seconds per regrasp plus the risk of dropping the part. A three-finger hand doing a 90° in-hand rotation can complete the same reorientation in 0.8–1.5 s with no release. That is the engineering motivation: fewer regrasps, tighter cycle times, and the ability to place a part into a slot with 0.5 mm clearance where a fixed grasp would collide.

The real-world failure mode is subtle. A grasp that looks stable in simulation slips during a fast rotation because the fingers cannot maintain contact force. Object inertia and finger compliance interact. You get a part that walks out of the hand mid-motion. This lesson covers the mechanics that let you predict and prevent that.

Core Concepts

Multi-fingered hands and contact models

A multi-fingered hand differs from a gripper in one structural way: it has more contact points than strictly needed to hold the object. That redundancy is the resource that enables in-hand motion. A three-finger hand on a spherical object gives three contact points. A four-finger hand gives four. Each contact can push but generally cannot pull, so contacts are unilateral.

Contact type determines what the finger can transmit. Three standard models matter:

Contact modelTransmits forceTransmits momentDOF constrainedTypical hardware
Point contact (frictionless)Normal onlyNo1Rare, idealized
Point contact with frictionNormal + tangential (friction cone)No3Fingertip spheres
Soft-finger contactNormal + tangential + torsionalYes (about normal)4Rubber/silicone pads

A soft-finger contact is what you actually get with a compliant pad, and it matters. The torsional friction term lets the finger resist object spin about the contact normal. The torsional friction limit is $\tau_{max} = \int r , \mu , p , dA$ over the contact patch. For a 10 mm diameter flat pad with uniform pressure and $\mu = 0.8$, the torsional capacity is roughly 0.5–0.8 N·mm per newton of normal force. Ignore it and your rotation planner will command spins the finger cannot hold.

The key insight for in-hand manipulation: you cannot move all fingers at once and keep the object. You must break the grasp into phases where a subset of fingers hold (the “fixed” set) while others reposition (the “free” set). This is grasp gaiting. A three-finger hand rotating an object uses a sequence of finger swaps, each swap a small rotation. The total rotation is the sum of per-swap rotations.

In-hand manipulation primitives and grasp gaits

In-hand manipulation splits into two families. Finger gaiting moves the object by coordinated finger repositioning while it stays in the hand. Regrasp planning releases and re-grips, either within the same hand or by handing off. For continuous motion, finger gaiting is what you want.

The canonical primitive set for a multi-fingered hand:

Each primitive is realized as a gait: a cyclic sequence of finger motions where contact is never entirely lost. The classic three-finger gait for spinning an object is a “walking” pattern. Finger 1 lifts, moves to a new contact point ahead of the object, and re-establishes contact. Then finger 2 does the same. Finger 3 anchors. The object rotates by the arc the fingers sweep.

The critical constraint is force closure during the swap. At every instant, the remaining contacts must still form a force-closing grasp. This is where the Ferrari-Canny quality metric enters. You compute the largest inscribed ball in the convex hull of the primitive wrenches, and the radius is your grasp quality $\epsilon$. During a gait, $\epsilon$ dips when one finger lifts. If it hits zero, the object slips. A well-designed gait keeps $\epsilon \geq 0.15$ throughout, meaning the hand retains at least 15% margin against the worst-case disturbance direction.

Concrete worked example: a three-finger hand with 25 mm fingertip spheres grips a 60 mm cube. With all three fingers in contact on three faces, the grasp is force-closing with $\epsilon \approx 0.22$ (normalized to the friction cone). When finger 1 lifts to reposition, the remaining two fingers on two opposing faces no longer force-close a cube. The gait must therefore keep the object pressed against the palm or a fourth contact. This is why three-finger hands usually manipulate against a palm surface, and four-finger hands can manipulate freely. The Anthropic-style dexterous hands and the Shadow Hand both rely on the thumb as an anchor to maintain closure during gaiting.

Mathematical Foundation

The core equation for in-hand manipulation is the grasp map. It relates finger contact forces to the net wrench on the object.

Let the hand have $n$ contacts. Each contact $i$ exerts a force $\mathbf{f}_i \in \mathbb{R}^3$ at position $\mathbf{p}_i$ with contact normal $\mathbf{n}_i$. The wrench contribution is:

$$ \mathbf{w}_i = \begin{bmatrix} \mathbf{f}_i \ \mathbf{p}_i \times \mathbf{f}_i \end{bmatrix} \in \mathbb{R}^6 $$

The grasp matrix $G \in \mathbb{R}^{6 \times 3n}$ stacks these contributions. The equilibrium condition for holding the object statically is:

$$ G \mathbf{f} + \mathbf{w}_{ext} = 0 $$

where $\mathbf{f} = [\mathbf{f}_1; \dots; \mathbf{f}n]$ is the stacked contact force vector and $\mathbf{w}{ext}$ is the external wrench (gravity plus any applied load).

For force closure, the contact forces must lie inside their friction cones and sum to resist any external wrench. The friction cone at contact $i$ is:

$$ \mathcal{F}i = \left{ \mathbf{f}i : |\mathbf{f}{i,t}| \leq \mu_i f{i,n}, ; f_{i,n} \geq 0 \right} $$

where $\mathbf{f}{i,t}$ is the tangential component, $f{i,n}$ the normal component, and $\mu_i$ the friction coefficient.

Worked numeric example. Take a 0.5 kg object (weight 4.9 N) held by three soft-finger contacts, each with $\mu = 0.6$. The object’s center of mass is 30 mm from the palm. Gravity creates a moment of $4.9 \times 0.030 = 0.147$ N·m about the palm edge. Suppose the three contacts are arranged so that two carry the load and one anchors. The required normal force per load-bearing contact is:

$$ f_n = \frac{W}{2 \mu} = \frac{4.9}{2 \times 0.6} = 4.08 \text{ N} $$

That is the minimum to prevent slip under pure vertical load. Add the moment: the anchoring contact must supply a tangential force of $0.147 / 0.06 = 2.45$ N (assuming 60 mm moment arm). That force must stay inside the friction cone, so the anchor’s normal force must be at least $2.45 / 0.6 = 4.08$ N. Total normal force across the hand: about 12.2 N. If your fingers can only produce 8 N each, the grasp is marginal. This is exactly the calculation that catches a bad grasp before the robot drops the part.

For gaiting, the same equations apply at each phase with the active contact set. The quality metric during the gait is:

$$ \epsilon = \min_{|\mathbf{w}{ext}| = 1} \max{\mathbf{f} \in \mathcal{F}} \left( \mathbf{w}_{ext}^T G \mathbf{f} \right) $$

which is the Ferrari-Canny formulation. Compute it for every phase of the gait and plot $\epsilon$ versus time. The minimum is your safety margin.

Practical Example

Scenario: A four-finger hand (three fingers + opposing thumb) on a 6-DOF arm must pick a 40 mm × 40 mm × 80 mm aluminum block (mass 0.35 kg) from a bin and insert it into a vertical slot with 0.8 mm clearance. The bin presents the block at random orientation. The slot requires the long axis vertical within ±2°.

Step 1 — Initial grasp. The hand approaches and closes on the block with the thumb opposing two fingers. Contact is on the two 40×80 faces and one 40×40 face. Friction coefficient of the rubber pads is $\mu = 0.7$. The grasp is force-closing with $\epsilon = 0.31$. Good.

Step 2 — Orientation error. The block arrives with its long axis at 25° from vertical. The slot tolerates 2°. The hand must rotate the block 23° in-hand.

Step 3 — Gait design. A full regrasp would cost 3 s. Instead, design a three-phase gait. Phase A: thumb and finger 1 hold, finger 2 and 3 reposition. Phase B: thumb and finger 2 hold, fingers 1 and 3 reposition. Phase C: all four re-establish. Each phase rotates the block by about 8°. Total 24°, with one degree of margin.

Step 4 — Check closure during each phase. During Phase A, only two contacts hold the block. Two point contacts on opposing faces of a rectangular block do not force-close it against rotation about the axis joining them. The block will spin. Fix: keep the thumb plus two fingers in contact at all times. That means the gait must be a “rolling” pattern where fingers slide along the block face rather than lift. Sliding contacts maintain closure because the contact point moves but normal force is preserved. The cost is friction work and pad wear. With $\mu = 0.7$ and 4 N normal force, the sliding friction is 2.8 N per finger. Over 8° of rotation at a 30 mm radius, the arc is 4.2 mm, so work is $2.8 \times 0.0042 \approx 0.012$ J per finger per phase. Negligible thermally but the pads wear. Budget pad replacement every 50,000 cycles.

Step 5 — Verify slip margin. During the sliding phases, the required tangential force is the friction force plus the inertial term. At a rotation rate of 90°/s, angular acceleration is about 300°/s². The block’s moment of inertia about the vertical axis is $m(w^2 + d^2)/12 = 0.35(0.04^2 + 0.04^2)/12 = 9.3 \times 10^{-5}$ kg·m². Torque is $9.3\times10^{-5} \times 5.24 \text{ rad/s}^2 = 4.9 \times 10^{-4}$ N·m. Tiny. The dominant load is gravity and the finger normal force. The grasp holds with a margin of about 2.1× on the friction cone. Safe.

Step 6 — Insert. With the block vertical within 1.5°, the arm translates down into the slot. The hand opens 0.3 mm per finger to release. Done in 1.1 s total versus 3.4 s for regrasp.

Common Pitfalls

1. Planning a gait that breaks force closure. You design a finger-swap sequence assuming the object stays put when a finger lifts. It does not. Two contacts on a flat object cannot resist rotation. Why: the planner ignores the instantaneous grasp matrix. Detect: compute $\epsilon$ at every gait phase and log the minimum. Fix: use sliding contacts or keep three contacts engaged, and add a palm or thumb anchor.

2. Ignoring torsional friction at soft contacts. Your rotation planner commands a spin about the contact normal. The finger pad cannot supply the torsional moment and the object slips. Why: the contact model was point-with-friction, not soft-finger. Detect: compare commanded torsional moment to the pad’s $\tau_{max}$; if it exceeds, you have a modeling error. Fix: model soft-finger contacts and cap the spin rate, or use a larger pad.

3. Too-fast rotation causing inertial slip. At high angular rates the object’s inertia exceeds the friction cone margin. The object walks out of the hand. Why: the planner optimized for cycle time and ignored the dynamic wrench. Detect: compute the required tangential force including $I\alpha$ and compare to $\mu f_n$. Fix: cap angular acceleration so the dynamic term stays below 30% of the friction margin.

4. Finger collision during gaiting. Fingers reposition into each other’s workspace and jam. Why: the gait was designed per-finger in isolation. Detect: run the gait in a kinematic simulator with collision checking (e.g., FCL) across the full finger trajectories. Fix: stagger the swap timing and add inter-finger clearance constraints.

5. Assuming the object is rigid. The block flexes under grasp force, the contact points shift, and the planned rotation is off by a degree or two. Why: rigid-body assumption broke. Detect: measure actual object pose with a wrist camera or fiducial after the gait. Fix: use lower grasp force and add a visual servo correction before insertion.

Key Takeaways

  1. In-hand manipulation removes regrasps, cutting cycle time by 50–70% on reorientation tasks. That is the business case, and it is measurable.
  2. Multi-fingered hands enable manipulation through contact redundancy. Design gaits so at least three contacts (or a thumb/palm anchor) remain engaged at every phase.
  3. Model soft-finger contacts, not point contacts. The torsional friction term is what lets you spin an object without dropping it.
  4. Compute the Ferrari-Canny quality $\epsilon$ at every gait phase. Keep the minimum above 0.15, and account for inertial wrenches at speed.
  5. Sliding contacts preserve closure better than lifting contacts, at the cost of pad wear. Budget the wear and pick pad material accordingly.

Tomorrow

Tomorrow we cover Gripper Design and Selection — how to choose between parallel-jaw, angular, vacuum, and multi-fingered end effectors based on payload, part geometry, and cycle time.