cs.ROMar 4, 2026
SaveCompliant In-hand Rolling Manipulation Using Tactile Sensing
Organizations: Center for Robotics and Biosystems and the Department of Mechanical Engineering, Northwestern University, Evanston, IL 60208 USA · Northwestern Institute on Complex Systems (NICO)
Abstract
We investigate in-hand rolling manipulation using a multifingered robot hand, where each finger is compliant and equipped with a tactile fingertip providing contact location and wrench information. We derive the equations of motion for compliant quasistatic in-hand rolling manipulation and formulate a fingertip rolling manipulation controller for multiple fingers to achieve a desired object twist within a grasp. The contact mechanics are demonstrated in simulation and the controller is tested on an experimental robot system.
Figures & tables
Fig. 1: Most in-hand manipulation requires rolling, sliding, and/or spinning at finger contact patches, as illustrated in this example of three-fingered in-hand twisting of the lid of a jar.
Fig. 2: Three major categories of dexterous manipulation in a common example of tool use. The lower chopstick is held in a fixed grasp, the upper chopstick undergoes in-hand manipulation, and the chopsticks push the steamed bun (nonprehensile manipulation) before grasping it.
Fig. 3: A classification of types of dexterous manipulation. This paper focuses on quasistatic in-hand rolling manipulation of rigid bodies.
Fig. 4: Simplified model of a finger. The “anchor” is driven by high-impedance, effectively position-controlled, finger joints, typical of the highly-geared actuators used in many robot hands. The fingertip is mounted to the anchor by a 6-dof flexure, providing passive compliance and the possibility of force control for safe manipulation of rigid objects.
Fig. 5: The Barrett WAM robot arm and Allegro hand equipped with Visiflex tactile sensors.
Fig. 6: A fingertip displaced from the flexure’s relaxed position and making contact with an object, with defined frames. The fingertip’s pose when the flexure is relaxed is drawn in grey. All the frames at the contact point have their -axes normal to the tangent plane. is the rotation angle about the -axis of frame {l 1 }/{c 1 } from the -axis of {l 1 }/{c 1 } to that of {l 2 }/{c 2 }.
Fig. 7: A compliant fingertip moving on the object surface while applying the contact force . A local surface patch and a coordinate frame are defined with the origin at the contact point and two axes and orthogonal to each other. The contact point velocity can be represented in that frame as .
| Frame | Definition |
|---|---|
| {w} | World frame. |
| {o} | Object frame, attached to the object. |
| {a} | Fingertip anchor frame connected to the robot hand palm through finger links (phalanges) and joints. |
| {f} | Fingertip frame, attached to the hemispherical fingertip, connected with {a} through the flexure. |
| {f 0 } | Fingertip rest frame, attached to {a} but coincident with {f} when the flexure is at rest. |
| {l 1 },{l 2 } | Stationary contact frames at the current contact points, attached to {o} and {f}, respectively, each with its -axis pointing outwards and , -axes tangential to the local coordinate system of the surface patch. |
TABLE I: Frame definitions
| Variable | Description |
|---|---|
| Position vector pointing from the origin of frame {i} to that of {j}, . | |
| Rotation matrix from frame {i} to {j}, . | |
| Transformation matrix from frame {i} to {j}, . | |
| Adjoint representation of , . | |
| Exponential coordinates representation of , . | |
| Twist of frame {j} relative to {i}, . |
TABLE II: Notation from [ 47 , 81 ]
Fig. 8: Feedback control of in-hand rolling manipulation.
Fig. 9: (Top left) Two planar fingers in initial contact with a disk. (Top right) When each finger anchor advances forward, the disk rotates in place, the flexure-mounted fingertips comply symmetrically, and the fingertips roll on the object. (Bottom) A simulation of the manual experiment predicts similar results. Flexures are not drawn in the simulation snapshots.
| Component | Inputs and outputs | Rate (Hz) |
|---|---|---|
| OptiTrack vision tracking | Output: object pose | 360 |
| Tactile sensors | Output: contact locations and wrenches | 60 |
| Allegro hand and controller | Input: commanded joint positions. Output: finger configurations and Jacobians | 333 |
| WAM arm and controller | Input: all data from other components. Output: finger joint position commands | 500 |
TABLE III: Hardware of the manipulation system
Fig. 10: Left: A cylindrical object with a central axis. Right: An axis that allows only vertical and rotational motions of the cylindrical object.
Fig. 11: Snapshots of in-hand rolling manipulation to rotate the cylinder.
Fig. 12: (Left) Schematic of the Visiflex tactile sensor. (Middle) The embedded camera detects the contact location on the dome and the deflection of the eight LED fiducials, which allows calculation of the contact wrench due to the known flexure stiffness. (Right) A color-adjusted version of the camera’s view.
Fig. 13: The inset shows the evolution of the contact point on the robot’s index fingertip during one execution of in-hand rolling manipulation.
Fig. 14: Experimental results of runs of in-hand rotation of the cylinder, plotted as the mean and standard deviation. Trajectory tracking errors are small.
Fig. 15: The normal contact forces of all fingertips in an example run.
Fig. 16: The tangential contact forces of all fingertips in an example run.