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
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.
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.
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.
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
Moreover, CDM does not rely on simplified surface representations by employing the signed distance field (SDF) of the robot surface.
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)
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.
| 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 |
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}
}