Contact Diffusion Model (CDM)

Generative Multi-Contact Point Localization

Physical AI
  • Generative perception
  • Contact localization

A diffusion model represents multiple contact locations consistent with proprioceptive measurements, using historical estimates and robot-surface geometry to localize single and dual contacts.

IEEE ICRA · 2025

Generative Multi-Contact Point Localization

A Generative Model of Contact Locations

Different contact locations and forces can produce the same joint torque and base force/torque measurements. CDM models this ambiguity as a distribution instead of selecting a single explanation. Its diffusion model generates contact-point samples conditioned on proprioceptive measurements, previous estimates, and the geometry of the robot surface.

Contact diffusion estimates a distribution of possible contact points from proprioceptive sensors
Generated samples represent the possible locations of one or two contacts.
Representing multiple plausible contact configurations when sensor observations are ambiguous.

Temporal Context and Surface Geometry

A short observation window can lose information about an earlier contact once a second contact occurs. CDM conditions on an earlier single-contact estimate to retain this context. A contact-state classifier controls when that historical estimate is updated, and the model can also run without a historical estimate.

Sequential single-contact, transition dual-contact, and steady dual-contact training observations
Sequential contact scenarios provide the training data for historical conditioning.

Signed distance fields describe the robot's link surfaces and guide generated points toward physically meaningful locations. The denoising network uses these surface features alongside sensor measurements and historical diffusion outputs. Each sample uses 64 points to represent the contact distribution.

CDM architecture showing the denoising loop, contact classifier, historical conditioning, and signed distance fields
The model combines an iterative denoiser, surface constraints, and contact-state-dependent historical conditioning.
Generated contact distributions for single, ambiguous single, and sequential dual contacts
Generated samples across different contact states.
Comparison of estimated contacts with and without historical diffusion conditioning
Historical estimates help retain information about the first contact.

Direct Transfer to a Real Robot

Training data was collected in MuJoCo with noisy joint torque and base force/torque measurements. The model was then evaluated on a Kinova Gen3 with an ATI Mini85 base sensor. Each contact condition was tested 100 times, changing the robot configuration every 20 trials.

Real-world localization errors in cm (Table III).
Contact state Trials M-RMSE C-RMSE-1 C-RMSE-2
Single 100 0.44 0.68 —
Dual 100 1.24 2.61 2.85
Single-contact localization on the real Kinova Gen3; the main demo above shows dual contacts.

In simulation ablations, historical conditioning reduces M-RMSE from 1.33 cm to 0.62 cm. Surface conditioning reduces the average distance from generated points to the robot surface from 0.89 cm to 0.29 cm. These measure different effects and are separate from the real-world localization results above.

The follow-up project, ContactFlowFilter, combines a generative proposal with particle filtering to estimate forces and reason recursively about changing contacts.

Representative Publications

CDM: Contact Diffusion Model for Multi-Contact Point Localization

Seo Wook Han and Min Jun Kim

IEEE International Conference on Robotics and Automation (ICRA), 2025

Figures, demonstrations, and research details: author's project page.

Explore more in Physical AI