Part XI: Tactile, Embodied, and Robotic Sensing
Chapter 56: Tactile Sensing and Electronic Skin

Slip, contact, and material inference

"I gripped the wine glass with the confidence of a model that had never felt anything shift. The floor felt it first."

A Chastened AI Agent

Prerequisites

This section is the inference payoff of the chapter. It assumes the tactile front ends of Section 56.2 (camera-based sensors) and Section 56.3 (e-skin arrays), and the feature vocabulary of Section 56.4. It draws on the spectral analysis of Chapter 7 (texture as a vibration spectrum), the change-detection machinery of Chapter 12 (slip as an onset event), and the calibration mindset of Chapter 18. A first course in friction physics helps but is not required.

The Big Picture

The three inferences in this section are the reason a robot has skin at all. Contact tells it that and where it is touching, the event that gates every downstream control decision. Slip tells it that the grasp is failing a few tens of milliseconds before the object actually falls, which is the entire margin a controller has to react. Material tells it what it is holding, so it can pick 2 N for an egg and 20 N for a wrench without seeing a label. None of these are luxuries: a hand that cannot detect slip must clamp everything at maximum force and will crush anything fragile, and a hand that cannot sense contact onset will either miss the object or drive through it. This is where the raw deformation fields of the previous sections become the physical understanding that makes manipulation safe.

Contact detection and localization: the gating event

Everything begins with knowing that skin has touched something. Contact detection is a change-detection problem in the exact sense of Chapter 12: the sensor sits in a quiet baseline, and contact is the abrupt onset that must be caught with low latency and few false positives. For a camera-based sensor the signal is the deviation of the elastomer image from its no-load reference; for a taxel array it is a pressure crossing a threshold. The trap is that the threshold is not universal. A gel that has drifted with temperature, or an e-skin whose baseline creeps with viscoelastic relaxation (a failure mode flagged in Section 56.3), will fire spuriously if the threshold is fixed. The robust practice is a per-taxel adaptive baseline plus a spatial-coherence test: real contact activates a contiguous patch, whereas sensor noise flickers independently across taxels.

Localization refines "something touched" into "an object touched here, over this area, with this normal force." From the deformation field you recover the contact patch centroid \(\mathbf{c}\), its area \(A\), and, by integrating the estimated pressure, the normal force \(F_n = \int_A p(\mathbf{x})\, d\mathbf{x}\). These three quantities are the currency of contact-rich control: the centroid steers a regrasp, the area distinguishes an edge from a face, and \(F_n\) closes the force loop. Because they are derived from a physical measurement model, their error budget inherits directly from the sensor-physics discipline of Chapter 2.

Practical Example: the prosthetic hand that stops crushing eggs

A myoelectric prosthetic hand controlled from EMG (the neuromuscular pipeline of Chapter 32) has no touch of its own, so early users reported crushing paper cups and dropping smooth bottles in equal measure: with no feedback the safe policy is to squeeze hard. Fitting the fingertips with slip-sensitive skin closes the loop. The controller holds the lightest force that keeps the incipient-slip signal at zero and automatically ratchets up the instant slip is detected. In bench trials this reflex, running locally at the fingertip in well under 50 ms, lets the same grip hold a raw egg and a full water bottle without the wearer thinking about force at all. The inference, not the actuator, is what made the hand usable.

Slip detection: catching failure before it happens

Slip is the crown jewel because of its timing. Coulomb's law says a grasp holds as long as the tangential force stays inside the friction cone, \(F_t \le \mu F_n\), where \(\mu\) is the friction coefficient. The naive strategy, measure \(F_t\) and \(F_n\) and watch the ratio, fails in practice because \(\mu\) is unknown and varies with material, moisture, and speed. The decisive insight is that a compliant fingertip warns you first. Before the whole contact patch slides (gross slip), the outer annulus of the contact begins to micro-slide while the center still sticks. This incipient slip is a partial-slip regime, and it is directly observable: on a marker-based sensor like GelSight or GelSlim, the tracked dots at the patch periphery start moving while the central dots stay pinned, so the displacement field develops a tell-tale divergence and non-uniform shear.

Two complementary detectors dominate. The geometric one watches the marker displacement field \(\mathbf{u}(\mathbf{x})\) and flags incipient slip when the fraction of the contact area that is sliding, estimated from where local shear exceeds the stick limit, crosses a threshold. The spectral one exploits the fact that micro-slips excite high-frequency vibrations in the elastomer or in a piezoelectric skin: sliding across texture produces a broadband buzz in roughly the 100 Hz to 1 kHz band that is absent during a stable stick. This is the time-frequency reasoning of Chapter 7 applied to skin: the onset of spectral energy is the onset of slip, and it precedes the geometric collapse of the grasp. Fusing both is standard, and learned detectors (often a small temporal-convolutional or recurrent model from Chapter 14) simply learn this joint signature from labeled slip episodes.

Key Insight

Slip detection is valuable precisely because it is predictive, not descriptive. Detecting that the object has already left the hand is useless; detecting the partial-slip precursor buys the controller the 20 ms to 50 ms it needs to increase grip force and rescue the grasp. This reframes the target: you are not classifying "slipping vs not," you are detecting the earliest reliable precursor of an event that has not fully happened yet. That is why incipient slip, a subtle non-uniformity in a displacement field, is worth more than the unmistakable signal of gross slip. By the time gross slip is unmistakable, the wine glass is already accelerating toward the floor.

Listing 56.7.1 shows a minimal incipient-slip detector from a marker displacement field. It measures how non-uniform the shear is across the contact: a rigid stick moves all markers together (low dispersion), while partial slip stretches the field (high dispersion at the rim). The scalar it returns is the kind of feature a downstream controller thresholds or feeds to a learned model.

import numpy as np

def incipient_slip_score(markers_ref, markers_now, contact_mask):
    """Estimate an incipient-slip score from tracked marker displacements.
    markers_ref/now: (N, 2) pixel positions at reference and current frame.
    contact_mask:    (N,) bool, markers inside the contact patch.
    Returns a scalar in [0, inf): ~0 for a rigid stick, growing as the
    contact-patch periphery begins to micro-slide (partial slip)."""
    u = markers_now - markers_ref                 # per-marker displacement
    u_in = u[contact_mask]
    if len(u_in) < 4:
        return 0.0
    mean_u = u_in.mean(axis=0)                     # bulk (rigid) shift
    residual = u_in - mean_u                       # non-uniform part
    dispersion = np.linalg.norm(residual, axis=1)  # per-marker slide magnitude
    # rim markers sliding while the center sticks -> high 90th percentile
    return float(np.percentile(dispersion, 90))
Listing 56.7.1: A dependency-light incipient-slip score. Bulk motion of the whole patch is a rigid shift and is subtracted out; the residual dispersion isolates the peripheral micro-sliding that signals partial slip before the grasp fails.

Library Shortcut

The marker tracking that feeds Listing 56.7.1 is the fiddly part: detecting the dots, matching them across frames, and rejecting outliers is roughly 150 lines of OpenCV done from scratch. The GelSight SDK (gsrobotics) and the DIGIT stack (digit-interface plus pytouch) ship a maintained marker tracker and a slip estimator so the whole front end collapses to about 5 lines: read frame, call the tracker, call the slip module. The library handles subpixel dot centroids, temporal association, and dropout, which is exactly where a hand-rolled tracker fails on real, oily fingertips.

Material inference: hardness, texture, and thermal cues

A grasp that respects the object also has to know what the object is made of, and skin can infer this from three quasi-orthogonal cues. Hardness (compliance) comes from the indentation response: press with a known normal force and watch how the contact area grows. A soft object spreads under load (large \(dA/dF_n\)); a rigid one barely deforms. This is a static, single-touch measurement. Texture and roughness come from motion: sliding the fingertip across a surface at velocity \(v\) over a spatial period \(\lambda\) excites a vibration at frequency \(f \approx v/\lambda\), so a coarse weave and a fine silk produce different spectral fingerprints, exactly the duality of Chapter 7. Because \(f\) scales with exploration speed, the classifier must be trained with speed as a nuisance variable or fed velocity as a covariate, or it will call the same fabric different names at different speeds. Thermal cues separate materials by heat draw: a heated skin pressed to metal loses temperature fast (high thermal effusivity) while wood or foam barely cools it, so a simple cooling curve separates metal from plastic that looks identical to a camera.

Research Frontier

The current state of the art moves material inference from bespoke classifiers to shared tactile representations. Foundation encoders such as Sparsh (self-supervised across GelSight, DIGIT, and GelSlim), UniTouch, and T3, introduced in Section 56.5, are pretrained without labels and then fine-tuned for slip and material heads with far fewer examples than training from scratch. Paired vision-and-touch datasets such as Touch and Go and the ObjectFolder family let a model learn what a surface feels like from how it looks, so material can be predicted before contact and corrected after. The open frontier is cross-sensor transfer: a slip or material head trained on one gel still degrades when moved to a different sensor, and closing that gap is an active target of the 2024 to 2026 tactile-foundation-model literature.

Across all three inferences, evaluation is where projects quietly fail. If train and test episodes share the same physical object instances, a model memorizes the object rather than learning slip physics or material properties, and the leakage-safe splitting discipline of Chapter 5 is not optional. Split by object identity and by exploration trajectory, never by random frame, or a slip detector will post a stellar number in the lab and drop the first unseen mug.

Exercise

Take a marker-based tactile stream (real or the TacBench/Touch-and-Go data from Lab 56) with labeled slip onsets. (1) Implement Listing 56.7.1 and plot the incipient-slip score against time for ten grasp-and-lift episodes; measure the lead time between when the score crosses a chosen threshold and the labeled gross-slip moment. (2) Add the spectral detector: compute a short-time band-energy in 100 Hz to 1 kHz and see whether it fires earlier or later than the geometric score. (3) Fuse the two into a single logistic classifier and report precision, recall, and median lead time under an object-disjoint split. Which detector dominates for smooth objects versus textured ones?

Self-Check

  1. Why is detecting incipient slip more useful than detecting gross slip, and what physically distinguishes the two in a marker displacement field?
  2. A texture classifier scores 98% in the lab but fails in deployment when the robot slides faster. Name the nuisance variable and two ways to make the classifier robust to it.
  3. You must tell a steel bolt from a 3D-printed plastic replica that look identical to the camera. Which tactile cue separates them fastest, and what physical property does it exploit?

Lab 56

train a tactile classifier for contact/material recognition and fuse it with vision (TacBench/Touch-and-Go).

Bibliography

Slip and contact sensing

Yuan, W., Dong, S., and Adelson, E. H. (2017). GelSight: High-Resolution Robot Tactile Sensors for Estimating Geometry and Force. Sensors.

The reference camera-based tactile sensor; establishes marker-field readout of contact geometry, force, and slip that the whole section builds on.

Dong, S., Yuan, W., and Adelson, E. H. (2017). Improved GelSight Tactile Sensor for Measuring Geometry and Slip. IROS.

Introduces marker-based slip measurement and the incipient-vs-gross-slip distinction that motivates the predictive framing here.

Romeo, R. A. and Zollo, L. (2020). Methods and Sensors for Slip Detection in Robotics: A Survey. IEEE Access.

Broad survey of slip-detection principles across sensor types; useful map of geometric versus vibration-based detectors.

Material and texture inference

Li, R. and Adelson, E. H. (2013). Sensing and Recognizing Surface Textures Using a GelSight Sensor. CVPR.

Shows fine surface texture recognition from tactile imprints; the classic demonstration that skin resolves material microstructure.

Yang, F., Ma, C., Zhang, J., Zhu, J., Yuan, W., and Owens, A. (2022). Touch and Go: Learning from Human-Collected Vision and Touch. NeurIPS Datasets and Benchmarks.

Paired vision-touch dataset used in Lab 56; enables predicting material and slip from appearance and correcting with contact.

Gao, R., Dou, Y., Li, H., et al. (2023). The ObjectFolder Benchmark: Multisensory Learning with Neural and Real Objects. CVPR.

Multisensory object dataset with tactile, visual, and audio signals; a standard testbed for material and contact inference.

Tactile representations and foundation models

Higuera, C., Sharma, A., Bodduluri, C. K., et al. (2024). Sparsh: Self-Supervised Touch Representations for Vision-Based Tactile Sensing. CoRL.

Self-supervised tactile encoder across multiple sensors; the pretraining that makes low-label slip and material heads practical.

Yang, F., Feng, C., Chen, Z., et al. (2024). Binding Touch to Everything: Learning Unified Multimodal Tactile Representations (UniTouch). CVPR.

Aligns touch with vision and language in a shared space, supporting cross-modal material prediction before and after contact.

Lambeta, M., Chou, P.-W., Tian, S., et al. (2020). DIGIT: A Novel Design for a Low-Cost Compact High-Resolution Tactile Sensor. IEEE RA-L.

The DIGIT sensor and its open software stack (digit-interface, PyTouch) referenced in the library shortcut for slip and marker tracking.

What's Next

In Chapter 57, touch stops being a standalone sense and joins the robot's body. We turn to proprioception and exteroception: encoders, force/torque sensors, and IMUs that tell the machine where its own limbs are, fused with the outward-looking depth and lidar streams that tell it where the world is. Slip and contact become one input to a full perception stack that must localize, detect failures, and act within a real-time budget.