ContactExplorer: Contact Coverage-Guided Exploration for General-Purpose Dexterous Manipulation
Organizations: School of Computing, National University of Singapore · RoboScience
Abstract
Reinforcement learning explores effectively in domains such as Atari games, navigation, and locomotion, where novelty over states or dynamics is a sufficient signal. In contrast, dexterous manipulation requires rich physical hand--object interactions, but existing methods often suffer from unstable contact-based novelty signals, inefficient distance novelty signals, or reliance on task-specific priors. We propose ContactExplorer, a general exploration method for dexterous manipulation tasks. ContactExplorer represents contact as the intersection between object surface points and hand keypoints, encouraging dexterous hands to discover diverse and novel contact patterns, namely which fingers contact which object regions. It maintains a contact counter conditioned on discretized object states obtained via learned hash codes. This counter is leveraged in two complementary ways: (1) a count-based contact coverage reward that promotes exploration of novel contact patterns, and (2) an energy-based reaching reward that guides the agent toward under-explored contact regions. We evaluate ContactExplorer on seven contact-rich manipulation tasks and five dexterous hand embodiments. Experimental results show that ContactExplorer substantially improves sample efficiency and success rates over existing exploration methods, that it reduces the need for task-specific priors, and that it remains effective across hand embodiments and transfers to the real world. Project page is https://contact-explorer.github.io.
Figures & tables
| Budget | Method | Task | Avg. | ||||||
| Singulation | Constrained Retrieval | In-Hand Reorientation | Bimanual Opening | Board Lifting | Grasping | Tiled Retrieval | |||
| 40% | TR | 72{\scriptstyle\,{\color[rgb]{0.55,0.55,0.55}\pm 34}} | 0{\scriptstyle\,{\color[rgb]{0.55,0.55,0.55}\pm 0}} | 64{\scriptstyle\,{\color[rgb]{0.55,0.55,0.55}\pm 16}} | 74{\scriptstyle\,{\color[rgb]{0.55,0.55,0.55}\pm 25}} | 27{\scriptstyle\,{\color[rgb]{0.55,0.55,0.55}\pm 37}} | 52{\scriptstyle\,{\color[rgb]{0.55,0.55,0.55}\pm 25}} | 39{\scriptstyle\,{\color[rgb]{0.55,0.55,0.55}\pm 7}} | |
| LHCC [ 12 , 43 ] | 34{\scriptstyle\,{\color[rgb]{0.55,0.55,0.55}\pm 26}} | 0{\scriptstyle\,{\color[rgb]{0.55,0.55,0.55}\pm 0}} | 64{\scriptstyle\,{\color[rgb]{0.55,0.55,0.55}\pm 14}} | 67{\scriptstyle\,{\color[rgb]{0.55,0.55,0.55}\pm 25}} | 18{\scriptstyle\,{\color[rgb]{0.55,0.55,0.55}\pm 37}} | 44{\scriptstyle\,{\color[rgb]{0.55,0.55,0.55}\pm 25}} | 42{\scriptstyle\,{\color[rgb]{0.55,0.55,0.55}\pm 14}} | ||
| HaC [ 14 ] | 14{\scriptstyle\,{\color[rgb]{0.55,0.55,0.55}\pm 19}} | 0{\scriptstyle\,{\color[rgb]{0.55,0.55,0.55}\pm 0}} | 64{\scriptstyle\,{\color[rgb]{0.55,0.55,0.55}\pm 13}} | 51{\scriptstyle\,{\color[rgb]{0.55,0.55,0.55}\pm 38}} | 38{\scriptstyle\,{\color[rgb]{0.55,0.55,0.55}\pm 47}} | 29{\scriptstyle\,{\color[rgb]{0.55,0.55,0.55}\pm 23}} | 41{\scriptstyle\,{\color[rgb]{0.55,0.55,0.55}\pm 6}} | ||
| RND-Dist [ 13 ] | 67{\scriptstyle\,{\color[rgb]{0.55,0.55,0.55}\pm 33}} | 0{\scriptstyle\,{\color[rgb]{0.55,0.55,0.55}\pm 0}} | 66{\scriptstyle\,{\color[rgb]{0.55,0.55,0.55}\pm 13}} | 69{\scriptstyle\,{\color[rgb]{0.55,0.55,0.55}\pm 26}} | 19{\scriptstyle\,{\color[rgb]{0.55,0.55,0.55}\pm 39}} | 27{\scriptstyle\,{\color[rgb]{0.55,0.55,0.55}\pm 31}} | 43{\scriptstyle\,{\color[rgb]{0.55,0.55,0.55}\pm 7}} | ||
| Ours | \mathbf{94}{\scriptstyle\,{\color[rgb]{0.55,0.55,0.55}\pm 3}} | \mathbf{67}{\scriptstyle\,{\color[rgb]{0.55,0.55,0.55}\pm 34}} | \mathbf{76}{\scriptstyle\,{\color[rgb]{0.55,0.55,0.55}\pm 14}} | \mathbf{85}{\scriptstyle\,{\color[rgb]{0.55,0.55,0.55}\pm 9}} | \mathbf{75}{\scriptstyle\,{\color[rgb]{0.55,0.55,0.55}\pm 16}} | \mathbf{72}{\scriptstyle\,{\color[rgb]{0.55,0.55,0.55}\pm 8}} | \mathbf{57}{\scriptstyle\,{\color[rgb]{0.55,0.55,0.55}\pm 11}} | ||
| Method | 40% budget | Full budget |
| TR | 0{\scriptstyle\,{\color[rgb]{0.55,0.55,0.55}\pm 0}} | 0{\scriptstyle\,{\color[rgb]{0.55,0.55,0.55}\pm 0}} |
| TR-ContactInit | 25{\scriptstyle\,{\color[rgb]{0.55,0.55,0.55}\pm 32}} | 33{\scriptstyle\,{\color[rgb]{0.55,0.55,0.55}\pm 40}} |
| Ours | \mathbf{67}{\scriptstyle\,{\color[rgb]{0.55,0.55,0.55}\pm 34}} | \mathbf{88}{\scriptstyle\,{\color[rgb]{0.55,0.55,0.55}\pm 6}} |
| Reward terms | 40% budget | Full budget | ||
| Sing. | Constrained Retri. | Sing. | Constrained Retri. | |
| Energy only | 88{\scriptstyle\,{\color[rgb]{0.55,0.55,0.55}\pm 4}} | 12{\scriptstyle\,{\color[rgb]{0.55,0.55,0.55}\pm 15}} | 94{\scriptstyle\,{\color[rgb]{0.55,0.55,0.55}\pm 2}} | 36{\scriptstyle\,{\color[rgb]{0.55,0.55,0.55}\pm 44}} |
| Contact only | 73{\scriptstyle\,{\color[rgb]{0.55,0.55,0.55}\pm 23}} | 31{\scriptstyle\,{\color[rgb]{0.55,0.55,0.55}\pm 38}} | 89{\scriptstyle\,{\color[rgb]{0.55,0.55,0.55}\pm 7}} | 36{\scriptstyle\,{\color[rgb]{0.55,0.55,0.55}\pm 44}} |
| Ours | \mathbf{94}{\scriptstyle\,{\color[rgb]{0.55,0.55,0.55}\pm 3}} | \mathbf{67}{\scriptstyle\,{\color[rgb]{0.55,0.55,0.55}\pm 34}} | \mathbf{96}{\scriptstyle\,{\color[rgb]{0.55,0.55,0.55}\pm 1}} | \mathbf{88}{\scriptstyle\,{\color[rgb]{0.55,0.55,0.55}\pm 6}} |
| Method | Exposure | Transport |
| TR | ||
| Ours |
| Parameter | Value |
| Parallel environments | 2,048 |
| Learning-rate schedule | KL-adaptive |
| PPO epochs per update | 5 |
| Minibatches per epoch | 4 |
| Discount factor | 0.99 |
| GAE parameter | 0.95 |
| Parameter | Isaac Gym | mjlab | ||
| Manipulation | Reorientation | Reorientation | Grasping | |
| Contact coefficient | 200 | 240 | 128 | 128 |
| Reaching coefficient | 1.28 | 2.56 | 0.5 | 0.5 |
| Hash length | 5 | 8 | 5 | 5 |
| Surface points | 512 * | 512 | 512 | 512 |
| Surface regions | 32 | 32 | 64 | 64 |
| Success rate (%) | |||
| 40% budget | Full budget | ||
| 14{\scriptstyle\,{\color[rgb]{0.55,0.55,0.55}\pm 28}} | 17{\scriptstyle\,{\color[rgb]{0.55,0.55,0.55}\pm 35}} | ||
| 30{\scriptstyle\,{\color[rgb]{0.55,0.55,0.55}\pm 37}} | 52{\scriptstyle\,{\color[rgb]{0.55,0.55,0.55}\pm 42}} | ||
| 67{\scriptstyle\,{\color[rgb]{0.55,0.55,0.55}\pm 34}} | 88{\scriptstyle\,{\color[rgb]{0.55,0.55,0.55}\pm 6}} | ||
| \mathbf{69}{\scriptstyle\,{\color[rgb]{0.55,0.55,0.55}\pm 16}} | \mathbf{89}{\scriptstyle\,{\color[rgb]{0.55,0.55,0.55}\pm 4}} | ||
| 40{\scriptstyle\,{\color[rgb]{0.55,0.55,0.55}\pm 35}} | 56{\scriptstyle\,{\color[rgb]{0.55,0.55,0.55}\pm 45}} | ||
| Success rate (%) | |||
| 40% budget | Full budget | ||
| 68{\scriptstyle\,{\color[rgb]{0.55,0.55,0.55}\pm 25}} | 90{\scriptstyle\,{\color[rgb]{0.55,0.55,0.55}\pm 2}} | ||
| 63{\scriptstyle\,{\color[rgb]{0.55,0.55,0.55}\pm 32}} | 85{\scriptstyle\,{\color[rgb]{0.55,0.55,0.55}\pm 6}} | ||
| 49{\scriptstyle\,{\color[rgb]{0.55,0.55,0.55}\pm 40}} | 52{\scriptstyle\,{\color[rgb]{0.55,0.55,0.55}\pm 43}} | ||
| 64{\scriptstyle\,{\color[rgb]{0.55,0.55,0.55}\pm 33}} | 73{\scriptstyle\,{\color[rgb]{0.55,0.55,0.55}\pm 36}} | ||
| 67{\scriptstyle\,{\color[rgb]{0.55,0.55,0.55}\pm 34}} | 88{\scriptstyle\,{\color[rgb]{0.55,0.55,0.55}\pm 6}} | ||
| Observation | Dimension |