Mixture of Flow Matching and Particle Filter for Proprioception-Based Online Contact Estimation
Organizations: Intelligent Robotic Systems Laboratory, School of Electrical Engineering, Korea Advanced Institute of Science and Technology (KAIST), Daejeon 34141, South Korea
Abstract
In this article, we propose ContactFlowFilter, a novel approach for contact estimation that determines the number of active contacts, their locations, and the associated force vectors. We consider a robot manipulator equipped with joint torque sensors and a base force/torque sensor; such a proprioceptive-only setup presents a challenging inverse problem characterized by (i) multi-modality from non-unique solutions, (ii) temporal dependencies in state evolution, and (iii) discrete contact events involving contact addition/removal. Existing approaches, such as particle filters (PFs) and learning-based methods, often struggle to address these challenges simultaneously. To overcome this, ContactFlowFilter integrates a generative model into the PF framework. The recursive structure of the PF captures temporal dependencies, while the flow matching model serves as an auxiliary proposal distribution to track multi-modal beliefs and detect contact events. Extensive validation in both simulation and real-world experiments confirms the effectiveness of the proposed method. In real-world settings, ContactFlowFilter achieves the lowest dissimilarity from the target distribution, with errors of only 0.36 cm and 0.88 cm for single- and dual-contact scenarios, respectively, while operating at 0.69 ms and 2.69 ms.
Figures & tables
| Model-based Approaches | Learning-based Approaches | Ours | ||||||
| Line of force | Particle filter | QP-based algorithm | Probabilistic mapping | Binary classification | Regression | Diffusion model | ||
| Contact Number Support | ||||||||
| Multi-Modal Distribution | ||||||||
| Temporal Reasoning | ||||||||
| Contact Force Estimation | ||||||||
| References | [ 5 , 11 , 21 , 45 ] | [ 38 , 36 , 14 , 61 , 59 , 3 , 47 , 24 ] | [ 42 , 44 ] | [ 32 ] | [ 60 , 46 ] | [ 46 , 9 ] | [ 13 ] | – |
| Generation method | Architecture | ODE-step | Single-contact ( ) | Dual-contact ( ) | ||
|---|---|---|---|---|---|---|
| M-RMSE ( ) | C-RMSE ( ) | M-RMSE ( ) | C-RMSE ( ) | |||
| Flow Matching | ✓ Proposed | 2 | 0.17 ± 0.27 | 0.45 ± 0.63 | 0.72 ± 0.92 | 2.20 ± 2.75 |
| 4 | 0.16 ± 0.27 | 0.44 ± 0.62 | 0.67 ± 0.89 | 2.18 ± 2.86 | ||
| 8 | 0.15 ± 0.26 | 0.43 ± 0.62 | 0.62 ± 0.86 | 2.17 ± 2.91 | ||
| 16 | 0.14 ± 0.26 | 0.42 ± 0.62 | 0.56 ± 0.85 | 2.16 ± 2.94 | ||
| Flow Matching | ✗ Baseline | 2 | 0.40 ± 0.51 | 1.36 ± 1.88 | 1.17 ± 1.15 | 3.88 ± 3.59 |
| Suc. Rate | Adj. Delay | Fau. Rate | |||
|---|---|---|---|---|---|
| Method | Phase 1 (%) | Phase 2 (%) | Phase 1 (ms) | Phase 2 (ms) | Overall (%) |
| ✓ Proposed | 99.60 | 99.65 | 3.21 | 26.74 | 0.75 |
| ✗ Baseline | 97.30 | 91.55 | 2.89 | 51.46 | 16.50 |
| Scenario | Metric | Method | |||
|---|---|---|---|---|---|
| ContactFlowFilter (Ours) | CPF | MCP-EP | Dual-Particle only | ||
| Single-Contact ( ) | M-RMSE ( ) | 0.04 0.08 | 5.27 | 1.64 | 0.13 |
| W-RMSE ( ) | 0.09 0.54 | 5.55 | 1.85 | N/A | |
| M-RMSE ( ) | 0.12 0.07 | 0.16 | 0.07 | N/A | |
| W-RMSE ( ) | 0.17 0.07 | 0.16 | 0.08 | N/A | |
| PLS | 5.67 8.52 | 10.38 | 13.34 | 16.84 | |
| Scenario | Metric | Method | |||
|---|---|---|---|---|---|
| ContactFlowFilter (Ours) | CPF | MCP-EP | Dual-Particle only | ||
| Single-Contact ( ) | M-RMSE ( ) | 0.36 0.52 | 3.99 | 1.40 | 0.63 |
| W-RMSE ( ) | 1.62 1.08 | 5.48 | 2.84 | N/A | |
| M-RMSE ( ) | 1.98 1.11 | 2.66 | 1.70 | N/A | |
| W-RMSE ( ) | 2.62 2.43 | 4.29 | 5.91 | N/A | |
| PLS | 8.85 14.03 | 34.12 | 34.59 | 30.76 | |