Skip to content

Hakuna25/Learning_to_design_softhands

Repository files navigation

Learning to Design Soft Hands using Reward Models

Project Website · Paper

Xueqian Bai, Nicklas Hansen, Adabhav Singh, Michael T. Tolley, Yan Duan, Pieter Abbeel, Xiaolong Wang, Sha Yi Image

Requirements

  • Python 3.10
  • GPU optional but recommended (tested on RTX 3090, 4070, 4090)
  • Key Python deps are listed in requirements.txt :
    • warp-lang==1.7.1
    • newton-physics
    • torch>=2.0
    • trimesh, scipy, trimesh, usd-core, tensorboard, typo, numpy, gymnasium, pyglet>=2.0,

Installation

conda create -n softhand python=3.10 
conda activate softhand
pip install -r requirements.txt

# optional: verify Warp
python -c "import warp as wp; print(wp.__version__)"   # expect 1.7.1

# newton-physics
cd newton
pip install -e .

Quick Start

Simple run with real-rime rendering

python cem_bandit.py --finger_num 3 --ycb_object_name 016_pear --is_render --is_newton --uniform

For using our optimized design, do not pass --uniform

Data and assets

For convenience, you can pull teleoperation dataset from huggingface, and put it under pose_info/. You may download the entire YCB dataset by easily running scripts/ycb_downloader.py. Original YCB dataset website from here.

Hardware setup

The hardware models, setup, assembly instructions, and motor control scripts are in hardware/. See the hardware/README.md for details.

Teleoperate soft hand in newton-physics with keyboard

# Teleop soft hand to grasp a selected object
python mf_init_pos.py --finger_num 3 --ycb_object_name 016_pear --is_render --is_newton

For change viewpoint: click on the realtime usd window and use key w/s/a/d with your mouse drag.

For soft hand teleoperation: click on the terminal and w/s/a/d/f/b for translation, \x1b[A, \x1b[B, \x1b[C, \x1b[D for rotation, i/j for increase/decrease tendon force, l for liftup trigger.

For grasping pose saving, press z.

q for exit (will automatically save pose after exit).

Training on dataset of all objects

# Using reward model to learn soft hand design in parallel
python cem_rmodel.py --finger_num 3 --num_envs 10 --num_population 45 --episodes 2500

Repository structure

  • code/: simulator, training, and utilities
  • models/: YCB meshes and other models
  • pose_info/: Teleoperation data
  • newton/: Newton-physics for real-time rendering
  • hardware/: models, build notes and motor control
  • script/: ycb downloader

Citation

@misc{bai2025learningdesignsofthands,
      title={Learning to Design Soft Hands using Reward Models}, 
      author={Xueqian Bai and Nicklas Hansen and Adabhav Singh and Michael T. Tolley and Yan Duan and Pieter Abbeel and Xiaolong Wang and Sha Yi},
      year={2025},
      eprint={2510.17086},
      archivePrefix={arXiv},
      primaryClass={cs.RO},
      url={https://arxiv.org/abs/2510.17086}, 
}

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages