Skip to content
AI360XpertBeta

Robot Tactile Sensing and Contact Estimation

A finger can measure where a load presses, not only how hard the whole hand pushes. The spatial pattern and its changes help reveal contact location and possible slip.

Unequal pressure across three equal-area cells shifts the normal-force center toward the most loaded cell.
Unequal pressure across three equal-area cells shifts the normal-force center toward the most loaded cell.

Why Does This Exist?

Two grasps can apply the same total force while loading different parts of a fingertip. One presses centrally; another rolls toward an edge. Tactile sensing measures local contact signals at the robot's surface. Estimating a pressure distribution or tracking surface deformation can expose a change hidden by a single force total.

Pressure is normal force per area, in pascals (Pa = N/m²). A taxel is a spatial sensing element, analogous to a pixel but measuring touch-related signals. Its raw voltage or count usually needs calibration before it means pressure. Contact and friction describes which forces contact can support; this page explains what distributed measurements reveal about the contact that actually occurs.

Think of It Like This

A tray resting on three kitchen scales

Add the scales' readings to recover the tray's supported weight. Compare which scale carries more to locate where that weight acts. The individual scales map to taxels, their spacing to contact coordinates and their sum to total normal force. The analogy stops at a soft fingertip: deformation spreads a load across neighboring cells, so sensor readings can be coupled rather than independent point supports.

How It Actually Works

Which physical signal is being measured?

A pressure array gives local normal-load estimates after calibration. A wrist force-torque sensor instead measures a net wrench at its own mounting origin. Neither automatically supplies the other's spatial information. A net wrench can constrain contact location under a particular single-contact model, but many distributed contacts can produce the same wrench.

Optical tactile sensors take another route: a camera observes an illuminated deformable surface. In Dong, Yuan and Adelson's GelSight paper, calibrated appearance estimates surface normals and geometry, while marker motion and relative contact motion provide slip evidence. An image intensity is not directly a pressure in pascals; converting deformation to force requires a calibrated mechanical or learned mapping. MIT's GelSlim project connects contact geometry and marker flow with force reconstruction, incipient slip and insertion. These are measurement mechanisms, not evidence that every contact signal uniquely determines force.

Compute normal force and its point of action

Use a flat finger patch with local xx right, yy toward the top of the patch and zz along compressive force on the finger. The axes form a right-handed frame. Consider three square taxels, each 10 mm by 10 mm, centered at x=(−10,0,+10)x=(-10,0,+10) mm and y=0y=0. Assume uniform pressure within each cell, all force normal to the plane, and calibrated unsaturated readings. Each area is

A=(0.01 m)2=10−4 m2.A=(0.01\ \mathrm m)^2=10^{-4}\ \mathrm{m^2}.

Stipulate pressures p=(10,20,30)p=(10,20,30) kPa, or (10000,20000,30000)(10000,20000,30000) Pa. Cell force is fi=piAif_i=p_i A_i, where ii indexes cells and AiA_i is cell area. Thus f=(1,2,3)f=(1,2,3) N and total normal force is

Fz=∑ifi=6 N.F_z=\sum_i f_i=6\ \mathrm N.

The center of pressure is the force-weighted contact location:

=\frac{(-0.01)(1)+0(2)+(0.01)(3)}{6} =0.003333\ \mathrm m.$$ So $x_c=+3.333$ mm and $y_c=0$. Each cross product $r_i\times F_i$, with $r_i=(x_i,0,0)$ and $F_i=(0,0,f_i)$, contributes moment $(0,-x_i f_i,0)$. Total $y$ moment is $M_y=-0.02$ N m, agreeing with $x_c=-M_y/F_z$. The sign depends on the stated force direction and origin; reversing which body receives the force reverses the wrench. The SVG is a top view of these equal-area cells at 10 drawing units per millimetre. Three vertical pressure bars share a scale of 3 drawing units per kPa; their heights are 30, 60 and 90. Bar height is pressure, not physical indentation. The lower ruler uses the same horizontal location scale as the cells. The mint diamond lies 33.333 drawing units right of the middle cell. The diagram's normal force points out of the patch plane and is therefore represented by bars rather than misleading in-plane force arrows. For comparison, pressures $(20,20,20)$ kPa give the same 6 N total and $x_c=0$. A single normal-force reading cannot distinguish these two load locations. Even a center of pressure loses structure: many distributions share the same total and centroid, and the centroid of two separated contact patches can lie in a gap that touches nothing. ### What happens when the sensor clips? Suppose the right cell saturates at 20 kPa. The reported forces become $(1,2,2)$ N: total 5 N and reported centroid $(-0.01+0.02)/5=0.002$ m, or 2 mm. Saturation hides 1 N and shifts the inferred center left by 1.333 mm. A center that appears to move needn't mean the object moved; the measurement range may have changed what was observable. When $F_z$ is near zero, dividing by it makes the centroid unstable. Set a justified contact-detection threshold before reporting a center. Check unloaded offsets, hysteresis, dead cells and temperature dependence in the intended loading range. Summing pressures without cell areas gives the wrong force when cells differ in area. ### Can pressure alone prove a grasp will not slip? Normal pressure does not measure tangential traction or identify the friction coefficient. A changing centroid can indicate rolling, tilting or an altered contact patch, rather than sliding. Marker deformation can also be elastic shear while the interface still sticks. Use temporal evidence and a model of what the sensor observes; a single frame cannot distinguish every contact history. The GelSight paper's slip methods combine relative contact motion and deformation patterns and discuss limitations from contact geometry and tracking. Repeated tactile observations can complement an occluded camera, at the cost of sensor packaging, wear and calibration. For a simple total insertion-force limit, a calibrated wrist sensor may be sufficient. Use distributed touch when location, edge loading or local contact changes affect the action; use [grasp wrench balance](/concepts/physical-ai/robot-grasp-wrench-balance) to reason about the resulting force constraints. ## Code This standalone calculation compares the same total force at different locations and exposes the clipping error. The pressure values are already calibrated; the code does not convert GelSight images into force. ```python from math import isclose def contact_summary(pressure_pa: list[float], area_m2: list[float], x_m: list[float]) -> tuple[float, float, float]: if not (len(pressure_pa) == len(area_m2) == len(x_m)): raise ValueError("one pressure, area and position per cell required") if any(p < 0 for p in pressure_pa) or any(a <= 0 for a in area_m2): raise ValueError("compressive pressures and positive areas required") forces = [p * a for p, a in zip(pressure_pa, area_m2)] total = sum(forces) if total <= 1e-9: raise ValueError("no supported contact center") first_moment = sum(x * f for x, f in zip(x_m, forces)) return total, first_moment / total, -first_moment positions = [-0.01, 0.0, 0.01] areas = [1e-4] * 3 for name, pressure in [("offset", [10000., 20000., 30000.]), ("centered", [20000.] * 3), ("clipped", [10000., 20000., 20000.])]: force, center, moment_y = contact_summary(pressure, areas, positions) assert isclose(moment_y, -force * center, abs_tol=1e-12) print(f"{name}: {force:.1f} N, x={1000*center:.3f} mm, My={moment_y:.3f} N m") ``` Output: `offset: 6.0 N, x=3.333 mm, My=-0.020 N m`, `centered: 6.0 N, x=0.000 mm, My=-0.000 N m`, and `clipped: 5.0 N, x=2.000 mm, My=-0.010 N m`. ## Watch Out For <PitfallCard title="A contact centroid is treated as a physical contact point"> Two separated patches can have their centroid in empty space. Preserve the distribution when deciding whether an edge is loaded or an object is rolling. Total force and centroid are useful summaries, but they cannot reconstruct the patch that produced them. </PitfallCard> <PitfallCard title="Every marker motion is called slip"> A sticking soft pad deforms under shear; camera or finger motion can also shift the image. Track deformation relative to a stable sensor reference and seek evidence of relative interface motion. Check saturation and tracking loss before increasing grip force; extra squeeze can damage the object without resolving the measurement error. </PitfallCard> ## The Quick Version - Tactile sensors measure contact signals; calibrated models turn those signals into geometry, pressure or force estimates. - Equal-area cells at 10, 20 and 30 kPa yield 6 N and a center of pressure at +3.333 mm in the worked patch. - The same total normal force can hide a different distribution and load location. - Saturation, weak total load and calibration drift can corrupt force and centroid estimates. - Normal pressure and elastic marker motion alone do not prove that a contact is sticking or slipping.