[Paper Notes] KaRMA: A Kinematic Metric for Fine Manipulation Ability in Robotic Hands

12 minute read

Published:

This post supports English / 中文 switching via the site language toggle in the top navigation.

TL;DR

A hand can reach a point with both fingertips and still struggle to move an object there while keeping hold of it. KaRMA, short for Kinematic Rolling Manipulation Ability, evaluates that continuous motion: a thumb and index finger pinch a sphere, then translate and reorient it through a search that checks contact and kinematic feasibility. The output separates translation, rotation, and sensitivity to the initial grasp.

I would use KaRMA to diagnose hand geometry and compare designs for precision pinch manipulation. Its scores describe a particular model of contact and reachable motion. Predicting performance on real objects still requires testing the controller, sensing, actuation, and contact surfaces.

Paper and source version

Martin Peticco and Pulkit Agrawal, from MIT’s Improbable AI Lab, wrote A Kinematic Metric for Fine Manipulation Ability in Robotic Hands. These notes follow the eight-page arXiv:2605.15548v1 PDF, submitted May 15, 2026. The arXiv entry prefixes the title with “KaRMA.” The authors’ repository README identifies the work as an IROS 2026 paper.

Implementation observations below refer to repository revision c8d3698, checked on September 11, 2026. The numerical tables are from the v1 PDF. I have read the paper and repository documentation; I have not rerun the 16-hand experiment.

1. Measure what the object can do while contact persists

Fingertip workspace overlap indicates where a pinch might form. A Jacobian describes local motion at a configuration. Neither calculation by itself establishes a continuous sequence of object motions that respects joint limits, avoids collisions, and maintains contact. KaRMA makes that sequence the object of evaluation.

The standardized task uses a sphere held between the thumb and index finger, with rolling contact and no regrasping or finger gaiting. Finger links are approximated by capsules. The contacting link on each finger can change as the search proceeds, so the modeled contact need not stay on the anatomical fingertip. These assumptions remove many object-specific details and make the score inexpensive to compute from a kinematic model plus per-hand configuration.

Hand size is normalized using

\[L_{\mathrm{ref}}=d_{\mathrm{knuckle,max}}+\ell_{\mathrm{finger,median}},\]

where the first term is the maximum distance between finger knuckle origins and the second is the median knuckle-to-tip chain length. The nominal sphere radius and voxel edge are both 10 mm at $L_{\mathrm{ref}}=200$ mm; lengths scale with $L_{\mathrm{ref}}/200\,\mathrm{mm}$. The standard experiment uses friction coefficient $\mu=0.6$ and a search budget of 10,000 states. Consequently, differently sized hands manipulate proportionally sized test spheres. This comparison measures relative geometric capability; handling one fixed industrial part is a separate evaluation. Sections III–V

2. A search over object motion, with a local contact solve

The pipeline samples candidate joint configurations, solves for feasible two-contact pinches, and evaluates the resulting initial grasps, called seeds. Each seed defines a voxel grid aligned with the principal directions of its object-motion manipulability ellipsoid.

For a capsule and sphere, the contact gap is

\[g=\|p-c\|-r_s-r_\ell,\]

where $p$ is the sphere center, $c$ is the closest point on the capsule axis, and $r_s,r_\ell$ are the two radii. Both contacts must remain within a gap tolerance. Additional checks enforce joint bounds, modeled collisions, and an antipodal feasibility condition based on the contact normals and friction coefficient. This last check supplies a geometric force-feasibility filter; actuator torque limits and dynamic load support are outside the calculation.

Each candidate translation uses a quadratic program. With joint displacement $\Delta q$, sphere rotation $\Delta\theta$, and $x=[\Delta q^\top,\Delta\theta^\top]^\top$, Eq. (5) is

\[\min_x\;\|Mx-b\|^2 +\lambda_\theta\|\Delta\theta-\Delta\theta^*\|^2 +\lambda_r\|\Delta q\|^2.\]

$M$ encodes linearized rolling constraints at both contacts; $b$ represents the requested translation’s contact motion. The second term favors the geometrically expected rolling rotation, and the last regularizes joint motion. The solve also enforces joint position, step-size, and linearized gap constraints. Small integration steps and a contact projection limit accumulated error. Rotation primitives use a related solve with zero target translation. Section IV

flowchart TD
    A["Hand model, coupling and contact geometry"] --> B["Scale lengths and find feasible initial pinches"]
    B --> C["Translation BFS: six neighboring directions"]
    C --> D["Rolling QP, contact projection and feasibility checks"]
    D --> E["Accept reachable sphere-center voxels"]
    E --> C
    E --> F["Explore rotation at reached voxels"]
    F --> G["Compute T, R and initial-grasp sensitivity S"]

The first phase expands translation along six positive/negative grid directions until the frontier is exhausted or the budget is reached. The second explores rotations at reached voxels. This gives a numerical estimate under the chosen primitives and tolerances. Local linearization, seed sampling, and a finite search budget leave open whether additional feasible trajectories exist.

3. Read the aggregation before reading the ranking

For a seed $s$, translational coverage is

\[T_s=\frac{N_{\mathrm{voxels},s}h^3}{L_{\mathrm{ref}}^3}.\]

It is the occupied voxel volume relative to an $L_{\mathrm{ref}}$-sided cube. The published KaRMA-T averages the top three seeds. A score of 0.098 therefore describes normalized spatial coverage under this protocol; it has no interpretation as a 9.8% task success rate.

Rotation needs an additional qualification. In the two-contact model, twist about the line joining the contacts is uncontrollable. KaRMA removes that degree of freedom, tracks the pinch-axis direction in the sphere’s body frame, and treats opposite directions as equivalent. The implementation uses 228 orientation bins. For a seed,

\[R_s=\frac{1}{|\mathcal V_5|} \sum_{v\in\mathcal V_5}\frac{|\mathcal B_s(v)|}{228},\]

where $\mathcal V_5$ contains the five voxels with the largest orientation coverage. KaRMA-R also averages over the top three seeds. R characterizes the best local regions of a reduced orientation space. It does not describe full three-axis orientation coverage everywhere in the reachable workspace.

The third score is

\[S=\frac{\operatorname{median}_s T_s}{\max_s T_s}.\]

Despite the name sensitivity, a larger S means less dependence on the initial grasp. S near one can also mean that every seed performs equally poorly, so T and S must be read together. Moreover, S depends on the evaluated seed population; it does not measure a deployed grasp planner’s probability of choosing a useful grasp. Section III-D

4. What changes across hands

The paper evaluates 16 hands. This subset of Table I captures several useful contrasts. DOF counts only the active thumb–index chains, with coupling accounted for; it is not the whole-hand actuator count.

HandThumb–index DOFKaRMA-TKaRMA-RKaRMA-S
LEAP80.0980.2950.44
Allegro80.0530.3370.53
D’Claw60.0360.2380.12
Sharpa90.0320.2240.40
Wuji80.0280.2350.44
Shadow90.0130.1610.19
Inspire30.00030.0040.33

LEAP reaches the largest normalized translation volume, while Allegro leads in rotation. D’Claw’s relatively large T comes with strong dependence on its starting grasp. Shadow’s larger thumb–index DOF count does not yield the largest coverage. These are comparisons within the test’s contact model. Table I

Workspace overlap is already a strong first-pass proxy: its Spearman correlation with T is 0.92. KaRMA adds information about which motion survives the constraints and where rotation remains available. T and R themselves have rank correlation 0.97, so the experiment supports related capabilities with some meaningful ordering differences. Claims of a wholly independent rotational ability measure would overstate this evidence.

The constraint ablation makes the design value concrete. For LEAP, Table IV reports T falling from 0.580 with the contact-gap condition alone to 0.236 after joint limits, 0.111 after collision checks, and 0.098 with the full constraint stack. For xHand1, adding joint limits takes T from 0.782 to 0.005. These large losses explain why an apparently generous geometric workspace can offer little maintained-contact motion. Because constraints are added cumulatively, the reductions depend on the ablation order. Sections VI-B–D

5. Where the interpretation needs care

Task validation remains limited. The paper compares its ordering qualitatively with selected published results, including DexMachina and ISyHand. It does not provide a common-controller, common-task evaluation of all 16 hands. A stronger validation would test whether KaRMA predicts held-out manipulation outcomes after controlling for training budget, sensing, and actuation.

The contact approximation matters most near the score floor. The pinned README’s limitations state that rolling uses a per-step tangential-slip gate. The authors report median residual slip below 0.5% of commanded motion for hands above the low-DOF floor, while the lowest-DOF hands rely on 11–32% slip to move. These figures are implementation documentation, not measurements reproduced here. They make the low-end nonzero scores especially sensitive to what “rolling” permits. Capsule geometry also omits real finger-pad shape and compliance.

Reproducibility and physical accuracy are separate checks. The v1 paper reports repeated-run determinism alongside small coordinate/scale deviations, including up to 13% change for Shadow at half scale in its reduced-budget test. The later README describes canonicalization and snapping that produce exact invariance on a fixed machine and pinned environment. Reproduction should pin the code revision and configuration before comparing numbers. Neither form of numerical consistency establishes the accuracy of the contact model on hardware.

The authors describe KaRMA as a standardized lower bound on dexterity. I read that as a restriction to one manipulation mode. Approximate geometry, allowed slip, and omitted dynamics mean the computed score is not a certified lower bound on what a physical hand can execute.

Using it for design decisions

For a thumb–index redesign, I would first inspect the modeled contact links, tip lengths, joint coupling, and limits, then compare T, R, S and the spatial coverage under identical settings. An improvement is more convincing if it persists across nearby object sizes and several initial grasps. The released repository includes the 16-hand reachable sets and a viewer, so inspecting the shapes does not require rerunning the search.

Extra palm motion or better ring/little-finger coordination may matter greatly for assembly while barely changing this pinch test. I would use KaRMA to locate restrictions in the relevant finger pair, then validate promising changes with actual parts and a controller. The most useful output is the region where motion becomes infeasible and the constraint responsible for it.