Contact Diffusion Model (CDM)

CDM: Contact Diffusion Model for Multi-Contact Point Localization (IEEE ICRA 2025)

CDM: Contact Diffusion Model for Multi-Contact Point Localization

Seo Wook Han  and  Min Jun Kim
Intelligent Robotic Systems Laboratory, Korea Advanced Institute of Science and Technology (KAIST)
IEEE International Conference on Robotics and Automation (ICRA), 2025

Abstract

In this paper, we propose a Contact Diffusion Model (CDM), a novel learning-based approach for multi-contact point localization. We consider a robot equipped with joint torque sensors and a force/torque sensor at the base. By leveraging a diffusion model, CDM addresses the singularity where multiple pairs of contact points and forces produce identical sensor measurements. We formulate CDM to be conditioned on past model outputs to account for the time-dependent characteristics of the multi-contact scenarios. Moreover, to effectively address the complex shape of the robot surfaces, we incorporate the signed distance field in the denoising process. Consequently, CDM can localize contacts at arbitrary locations with high accuracy. Simulation and real-world experiments demonstrate the effectiveness of the proposed method. In particular, CDM operates at 15.97ms and, in the real world, achieves an error of 0.44cm in single-contact scenarios and 1.24cm in dual-contact scenarios.

CDM overview
The objective is to localize the contact points ($\mathbf{r}_i \in \mathbb{R}^3$) by leveraging a diffusion model, where the denoising process is conditioned on proprioceptive sensor measurements, including JTSs and a base F/T sensor. The green colored points represent the samples generated by the proposed method.
0.44 cm
Real-world error, single-contact
1.24 cm
Real-world error, dual-contact
15.97 ms
Inference time
Sim-to-real
Direct transfer from simulation

Challenges

1. Singularity

In contact localization problems, singularity occurs when multiple pairs of contact points and force vectors result in the same sensor measurements. In particle filter (PF)-based algorithms, the resampling process leads the particles to converge to a single point, so they output only one solution even if there are multiple solutions which have low QP errors. The singularity is an inherent characteristic of the contact localization problem and cannot be entirely eliminated. Therefore, our goal is not to eliminate singularity, but to predict it more accurately: from a probabilistic perspective, the singularity suggests that the distribution of contact points is multi-modal.

By leveraging a diffusion model, CDM addresses the singularity where multiple pairs of contact points and forces produce identical sensor measurements.

2. Finite observation time length

The multi-contact point localization problem can be formulated as estimating the posterior $p(\mathbf{r}_t \mid \mathbf{O}_{1:t}, \mathcal{S})$, conditioned on all past observations ($\mathbf{O}_{1:t}$) and the robot surfaces $\mathcal{S}$. However, this posterior cannot be directly addressed by a diffusion model, because the observation time length cannot be infinite. If two contacts occur sequentially, observations outside the time window contain important information about the first contact.

Dataset from sequential dual-contact scenarios
The dataset is collected from scenarios where dual-contact occurs sequentially. The three types of observations are referred to as (a) single-contact, (b) transition dual-contact, and (c) steady dual-contact.

Key idea: Contact Diffusion Model (CDM)

We address the uncertainty of localization by employing a diffusion model, known for effectively handling multi-modal distributions. To the best of our knowledge, this is the first attempt at contact localization using generative models. Consequently, the proposed method does not require a difficult-to-tune threshold to distinguish between single-contact and dual-contact scenarios. Inspired by PF-based algorithms, we modify the diffusion model to operate recursively using past model outputs, which helps reduce multi-modality in cases where dual-contact occurs sequentially. When the last single contact occurs at time $T_s$, the posterior is expressed as

$$ p(\mathbf{r}_t \mid \mathbf{O}_{t-T:t},\, \mathbf{r}_{T_s},\, \mathcal{S}) $$

Moreover, CDM does not rely on simplified surface representations by employing the signed distance field (SDF) of the robot surface.

CDM architecture
In the inner loop, the denoiser sequentially eliminates noise from the white Gaussian noise (from $k = K$ to 1). To incorporate the surface constraints on the points, the pre-trained SDF network for each link surface is utilized. In the outer loop, the contact state classifier determines whether to use the diffusion output from the previous time step. On the right, the structure of the denoiser network is shown.

Technical components

1. Dataset

Each sample $\mathbf{X}_t \in \mathbb{R}^{n_p \times 3}$ is a duplication of $\mathbf{r}_t$, where $n_p$ is the number of points ($n_p = 64$). The reasons are: (i) the dimension of $\mathbf{r}_t$ changes depending on the number of contacts $n_c$, making it difficult to handle both single and dual-contact cases with a single model, and (ii) with $n_c$ sampled points, it is challenging to capture multi-modality (e.g., when $n_c = 2$ and the posterior has three modes).

2. Historical diffusion result conditioning

The key idea is that $\hat{\mathbf{X}}_{T_s}$ is sampled from the first contact point in the dataset: the diffusion process is applied to the first contact point, using a randomly sampled diffusion step $k_h \sim \mathcal{U}(1, K)$. Intuitively, in the dual-contact case, the denoiser network is trained to find the contact points, whether or not the first contact point is given (i.e., whether the sampled $k_h$ is close to 1 or not). This also allows null-conditioning, so CDM can operate even when there is no information about the first contact. In the inference process, the contact state classifier $g_\psi$ is utilized to update $\hat{\mathbf{X}}_{T_s}$ only in single-contact cases.

3. Surface constraints conditioning

To guide the generated samples to be located on the robot surfaces, the denoiser network is conditioned on the signed distance field (SDF) of all link surfaces. For each link and point, the SDF network outputs the shortest distance to the link and a unit vector toward the link. The denoiser is similar to U-Net, where the convolution layers are replaced by multi-layer perceptrons (MLPs), and incorporates a conditioning structure using FiLM and Fourier-feature mapping.

Results

Simulation experiments (Experiments #1 – #3)

Generated samples for different contact states
Experiment #1: The generated samples from CDM, corresponding to different contact states: (a) Single-contact. (b) Single-contact, but the posterior has two modes. (c) Transition dual-contact. (d) Steady dual-contact.
Historical result conditioning ablation
Experiment #3: The samples generated by CDM: (a) with historical result conditioning, and (b) without it.

Ablation studies

  • Historical diffusion result conditioning (Experiment #3): for all metrics, CDM-his shows more than twice the improvement compared to CDM-null (M-RMSE 0.62 cm vs. 1.33 cm; C-RMSE-1/2 1.63/2.53 cm vs. 3.89/6.09 cm).
  • The proposed method shows about a 40% performance improvement over our previous PF-based algorithm, MCP-EP (M-RMSE 1.08 cm), using realistic observations including sensor noise and the convergence time of the DOB. Strictly speaking, the metric used in the PF-based algorithm differs from M-RMSE, as it evaluates the localization error of a single solution.
  • SDF conditioning (Experiment #2): the average distance between the generated samples and the robot surfaces is 0.29 cm with SDF, whereas without SDF it is 0.89 cm.

Direct sim-to-real transfer (Experiment #4)

All experiments are conducted with a 7-DOF Kinova Gen3 robot arm equipped with JTSs and an F/T sensor (ATI Mini85) at the base. The dataset was collected with MuJoCo, and noise is added to the JTSs and base F/T sensor measurements. To obtain the locations of the true contact points, labeled markers were attached to the robot. Single and dual contact scenarios were conducted 100 times each, and every 20 experiments, the robot configuration was randomly set. To the best of our knowledge, this is the first quantitative evaluation of dual-contact scenarios in the real world.

Real-world experiments: single-contact scenarios. The real-time output from CDM is shown on the screen.
Real-world experiments: dual-contact scenarios. When the contact state classifier detects a dual-contact, the sample color changes to green.
Contact state # of data M-RMSE (cm) C-RMSE-1 (cm) C-RMSE-2 (cm)
single 100 0.44 0.68 N/A
dual 100 1.24 2.61 2.85
Table III of the paper. In the single-contact case, the proposed method achieves higher accuracy than existing learning-based methods (reporting errors of 4 cm and 6.4 cm); note that our setup involves additional sensing degrees of freedom at the base.

The follow-up work, ContactFlowFilter (T-RO 2026), integrates the output of a generative model into the PF framework to perform both temporal reasoning and contact force estimation.

Full video

BibTeX

@inproceedings{han2025cdm,
  title={CDM: Contact Diffusion Model for Multi-Contact Point Localization},
  author={Han, Seo Wook and Kim, Min Jun},
  booktitle={IEEE International Conference on Robotics and Automation (ICRA)},
  pages={3061--3067},
  year={2025}
}