Skip to content

Repository files navigation

CONTACT:
CONtact-aware TACTile Learning for Robotic Disassembly

Project Page Paper Dataset

Yosuke Saka*, Jyun-Chi Hu*, Adeesh Desai*, Zhiyuan Zhang*,
Bihao Zhang, Quan Khanh Luu, Md Rakibul Islam Prince, Minghui Zheng, Yu She
* Equal Contribution

CONTACT is a simulation benchmark for investigating the role of tactile sensing in robotic disassembly. It provides five rigid-body disassembly tasks with progressively increasing geometric constraints and contact complexity, implemented in IsaacGym with TacSL-based tactile rendering. Policies are trained with Diffusion Policy using multimodal visuotactile observations.

CONTACT task suite across simulation and the real world

Highlights

  • Five disassembly tasks: loose_plug, tight_plug, lidded_loose, barbed_flat, barbed_spike, ordered by contact complexity.
  • Three sensing modalities per task: vision (camera only), vistac (vision + tactile RGB), visff (vision + tactile force field).
  • Ready-to-run script for every task and modality.

Installation

git clone https://github.com/AdeeshDesai/CONTACT.git
cd CONTACT
bash install.sh
conda activate contact

The installation script creates the contact conda environment and sets up the dependencies under thirdparty/: IsaacGym TacSL (downloaded automatically), the TacSL simulation environments, and Diffusion Policy. If the automatic IsaacGym download fails, grab it manually from here, place the tar.gz in thirdparty/, and rerun install.sh.

Dataset

bash scripts/download_data.sh barbed_flat     # one task
bash scripts/download_data.sh all             # all five tasks

Manual alternative: download the zip for your task from the dataset folder and unzip it inside CONTACT/data/.

Training

Ready-to-run scripts for every task and modality:

training/<task>/<modality>.sh
bash training/barbed_flat/vision.sh       # vision only
bash training/barbed_flat/vistac.sh       # vision + tactile RGB
bash training/barbed_flat/visff.sh        # vision + tactile force field

Each script takes an optional seed and Hydra overrides: bash training/barbed_flat/visff.sh 43 training.num_epochs=500.

To sweep across all tasks:

bash scripts/run_all.sh visff             # one modality, all five tasks
bash scripts/run_all.sh all 42            # all modalities, all tasks

Success rate and rollout videos are evaluated periodically during training.

Evaluation

python eval.py \
    -c data/outputs/vision_barbed_flat_50/42/checkpoints/latest.ckpt \
    -o data/outputs/vision_barbed_flat_50/42/eval_output \
    -n train_diffusion_workspace_disassembly.yaml \
    -d cuda:0

Logging

Training logs to Weights & Biases by default (run wandb login once, or set WANDB_MODE=offline to run without an account). The W&B project name is set per task (dp_<task>, override with logging.project=...).

Repository structure

CONTACT/
├── training/                 # ready-to-run: training/<task>/<modality>.sh
├── train.py / eval.py        # entrypoints
├── contact/                  # configs, dataset, env runners, policies, workspace
├── isaacgymenvs/ tacsl/      # TacSL task and environment definitions
├── assets/                   # task meshes and URDFs
├── scripts/                  # run_all.sh sweeps, dataset download
├── thirdparty/               # simulator + policy stack land here at install
└── install.sh

Citation

@article{saka2026contact,
  title={CONTACT: CONtact-aware TACTile Learning for Robotic Disassembly},
  author={Saka, Yosuke and Hu, Jyun-Chi and Desai, Adeesh and Zhang, Zhiyuan and Zhang, Bihao and Luu, Quan Khanh and Prince, Md Rakibul Islam and Zheng, Minghui and She, Yu},
  journal={arXiv preprint arXiv:2603.08560},
  year={2026}
}

Acknowledgments

CONTACT builds on ManiFeel, TacSL, and Diffusion Policy.

License

This repository is released under the MIT License.

About

CONTACT: CONtact-aware TACTile Learning for Robotic Disassembly

Topics

Resources

Stars

7 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages