Research

Open problems we’re working on.

Robots still struggle with things that bend. These are the questions we think matter most, and the ones we are working on.

Research agenda

Research agenda

  1. Tactile representations that transfer

    Touch features that carry across different sensors and different robot hands.

  2. From human hands to robot actions

    Mapping human demonstrations to robot actions through object motion and finger contact.

  3. World models that predict contact

    Models that predict contact events (slip, seating, layer separation), not just pixels.

  4. Benchmarks that are fair to vision

    Shared benchmarks that measure touch against strong vision-only baselines.

How we measure

A shared yardstick for touch.

Our Tactile Manipulation Task Taxonomy v1.0 defines fifteen atomic tasks where touch decides success, the six tactile skills they demand, and how each one is measured. Customer jobs are sequences of these tasks, so every result is comparable. It defines tasks and metrics; it does not report results.

See it applied to AI data centers
  1. R1

    Force-window grasp

    Hold firmly enough to keep it, gently enough not to crush, tear or mark it.

  2. R2

    Slip reflex

    Feel slip begin and correct before the object visibly moves or falls.

  3. R3

    Contact-guided seating

    Find, align and seat a part by feel where the camera can’t see, and detect the moment it seats.

  4. R4

    Sustained contact tracing

    Hold a target force while moving along a path: pressing, smoothing, sealing, tracing an edge.

  5. R5

    Tension and shape control

    Shape a flexible object through the tension at the grasp points: stretch, coil, untangle, tuck.

  6. R6

    Tactile verification

    Confirm by touch that a step succeeded (held, single item, seated, sealed) before moving on.

All fifteen atomic tasks
  1. 00Verified hold and transportRigid

    Confirming by touch that an item is held, and keeping it held through transport, handover and release.

    R1R2R6

  2. 01Cable seating in a channel1D Linear

    Pressing a cable or wire bundle into a groove, channel or row of retaining clips along a defined path.

    R3R4R5R6

  3. 02Connector mating by feel1D Linear

    Grasping a connector on a flexible lead, aligning it to its mate, and inserting until the latch engages.

    R1R3R6

  4. 03Snap-fit fasteningRigid

    Pushing a clip, fir-tree fastener or push-pin through a hole until it snaps home.

    R1R3R6

  5. 04Cable coiling and bundling1D Linear

    Winding a loose cord into a compact coil of a target size and securing it for packing.

    R2R5R6

  6. 05Tangled pick and singulation1D Linear

    Extracting one cable from a pile of entangled cables, sensing and resolving snags as it lifts.

    R2R5R6

  7. 06Single-ply sheet pick2D Sheet

    Picking exactly one thin flexible sheet from a stack and confirming only one was taken.

    R1R2R3R6

  8. 07Bag opening2D Sheet

    Finding the opening of a flexible bag or pouch, separating the two walls, and holding the mouth open.

    R1R2R3R6

  9. 08Fill and seal2D Sheet

    Placing an item into an open flexible package and closing it by peel strip, zipper or fold.

    R1R3R4R6

  10. 09Wrinkle-free laydown2D Sheet

    Laying a flexible sheet onto a surface and pressing it flat so it bonds without wrinkles or bubbles.

    R3R4R5R6

  11. 10Tensioned edge tuck2D Sheet

    Pulling a fabric or trim edge to a target tension and tucking or hooking it into a retainer.

    R2R3R5R6

  12. 11Compliant press-fit3D Volume

    Pushing a compressible insert into a cavity until it is fully seated, without tearing or crushing it.

    R1R3R4R6

  13. 12Grommet and seal seating3D Volume

    Pressing a rubber grommet, plug or edge seal into a hole or onto a flange until its lip locks.

    R1R3R4R6

  14. 13Force-window grasp3D Volume

    Grasping a soft or fragile item with enough force to hold it and not so much that it is damaged.

    R1R2R6

  15. 14Contact-triggered placement3D Volume

    Lowering an item into a container and releasing it at the moment it is supported.

    R1R3R6