MCP-EP
Proprioceptive Sensor-Based Simultaneous Multi-Contact Point Localization and Force Identification (IEEE ICRA 2023)
Proprioceptive Sensor-Based Simultaneous Multi-Contact Point Localization and Force Identification for Robotic Arms
Abstract
In this paper, we propose an algorithm that estimates contact point and force simultaneously. We consider a collaborative robot equipped with proprioceptive sensors, in particular, joint torque sensors (JTSs) and a base force/torque (F/T) sensor. The proposed method has the following advantages. First, fast computation is achieved by proper preprocessing of robot meshes. Second, multi-contact can be identified with the aid of the base F/T sensor, while this is challenging when the robot is equipped with only JTSs. The proposed method is a modification of the standard particle filter to cope with mesh preprocessing and with available sensor data. In simulation validation, for a 7 degree-of-freedom robot, the algorithm runs at 2200Hz with 99.96% success rate for the single-contact case. In terms of the run-time, the proposed method was ≥3.5X faster compared to the existing methods. Dual and triple contacts are also reported in the manuscript.
Challenges
The goal is to estimate contact locations ($\mathbf{r}_{c,i} \in \mathbb{R}^3$) and forces ($\mathbf{F}_{ext,i} \in \mathbb{R}^3$) using proprioceptive sensors, the joint torque sensors (JTSs) and a base F/T sensor. The external joint torque and the wrench at the base caused by the contact forces are
Finding the contact locations and forces that best explain $\hat{\mathbf{W}}$ is a nonlinear optimization problem, since $\mathbf{r}_c$ and $\mathbf{F}_c$ appear as a cross product. Particle filter (PF)-based approaches have been proposed for this problem, but two challenges remain:
- Run-time: the run-time is typically slow, mainly due to the computation time in the motion model of the PF (e.g., about 10 Hz for a 30-DOF humanoid robot, and about 200 Hz for a 7-DOF robot arm).
- Singularity: multiple solutions that explain all sensor measurements may exist. Such singularities may appear quite frequently when only JTSs are considered. For example, if a contact is on link 1 and the robot is equipped with only JTSs, the sensing DOF is 1, and the contact force and location cannot be estimated.
Key idea: Multi-Contact Particle Filter with Exploration Particles (MCP-EP)
- Run-time: we improve the run-time of the PF with a mesh preprocessing that computes mesh data offline (e.g., distance between all face pairs). This can only be done for each link separately, and consequently, particles cannot be updated across links. Therefore, we modified the PF by introducing exploration particles, which are forced to investigate adjacent links.
- Singularity: we mitigate the singularity by introducing an F/T sensor at the base of the robot. With this setup, we can estimate a contact at any link including links 1 and 2, and can estimate multiple contacts even for a collaborative robot which has only a few DOF.
Technical components
1. QP-based contact force identification
Assuming a point contact, the $i$th contact force is constrained to lie inside a friction cone, which is approximated as a polyhedral cone, $\mathbf{F}_{c,i} = \mathbf{A}_{c,i}\mathbf{f}_{c,i}$. If, in addition, $\mathbf{r}_c$ is fixed, the problem becomes a convex QP in which the contact force is the only decision variable:
By virtue of the base F/T sensor, 6 sensing DOFs are added to the QP regardless of the contact location.
2. Motion-model with mesh preprocessing
(link#, face#).3. Measurement-model
A smaller QP error implies that the particle well-explains the sensor measurements, so the weight of a particle is defined using the QP error, $w^{[m]}_i \propto \exp\!\big(-\alpha\,\mathrm{QP}(\hat{\mathbf{W}} \mid \mathbf{x}^{[m]}_i, \mathbf{x}^{*})\big)$. In the multi-contact case, instead of evaluating all possible pairs of particles, particles $\mathbf{x}^{*}$ are sampled from the other particle sets considering the associated weights.
4. Exploration particles
5. Manage-particle-set
Results
Simulation validation
The algorithm is implemented in the MuJoCo simulator with a 7-DOF Franka Emika Panda robot arm equipped with JTSs, and tested as a single-thread C++ program. Single, dual, and triple contact scenarios are simulated 10000 times each. At each run, the robot configuration was initialized randomly, and a 20 N force in the friction cone was applied at a random position (up to 1 contact per link). A case with ≤ 2.25 cm localization error (roughly 5 faces) is classified as a success.
| # of contact | # of particle | Succ. rate (%) | Conv. step | RMSE position (cm) | RMSE force (N) | Run-time (ms) |
|---|---|---|---|---|---|---|
| 1 | 100 | 99.96 | 18.25 | 0.16 | 0.01 | 0.45 |
| 2 | 200 | 96.70 | 11.00 | 1.08 | 2.00 | 1.66 |
| 3 | 300 | 81.63 | 14.37 | 3.50 | 4.63 | 4.50 |
Real-world experiments (supplementary)
Real-world single, dual, and triple contact experiments on a Kinova Gen3 robot arm. These are not part of the simulation validation reported in the paper.
MCP-EP was later employed to establish real-time multi-contact feedback in Multi-Contact Feedback MPC (ICRA 2024), and used as a baseline in ContactFlowFilter (T-RO 2026).
Full video
BibTeX
@inproceedings{han2023proprioceptive,
title={Proprioceptive Sensor-Based Simultaneous Multi-Contact Point Localization and Force Identification for Robotic Arms},
author={Han, Seo Wook and Kim, Min Jun},
booktitle={IEEE International Conference on Robotics and Automation (ICRA)},
pages={12099--12105},
year={2023}
}