Skip to content

Codebase for DexMachina: Functional Retargeting for Bimanual Dexterous Manipulation

License

Notifications You must be signed in to change notification settings

chaitanya1chawla/dexmachina

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DexMachina: Functional Retargeting for Bimanual Dexterous Manipulation

Mandi Zhao, Yifan Hou, Dieter Fox, Yashraj Narang, Shuran Song*, Ajay Mandlekar*

*Equal Advising

arXiv | Project Website | Code Documentation

Teaser

Code Release Status

  • 06/11/2025: Released all dexterous hand assets and ARCTIC assets used in our recent arXiv preprint. Released detailed instructions for processing new hand assets: see code in dexmachina/hand_proc and hand processing doc page. Pushed a new dexmachina.yaml file for conda env install. RL training example in examples/train_rl.sh
  • 06/03/2025: Initial Release

TODOs

  • Advanced rendering code
  • RL eval code
  • Instructions for processing new hands and demonstrations

Installation

  1. We recommend using conda environment with Python=3.10
conda create -n dexmachina python=3.10
conda activate dexmachina
  1. Clone and install the below custom forks of Genesis and rl-games:
<!-- pip install torch==2.5.1 -->
pip install torch==2.4.0 # cuda 11.8, python 3.10, pytorch3d
git clone https://github.com/MandiZhao/Genesis.git
cd Genesis
pip install -e .
pip install libigl==2.5.1 # NOTE: this is a temporary fix specifically for my fork of Genesis

git clone https://github.com/MandiZhao/rl_games.git
cd rl_games
pip install -e .

Additional packages needed for RL training:

pip install gymnasium ray seaborn wandb trimesh

If you'd like to install the full conda environment that includes all the packages, use the below yaml file:

# this is obtained from: conda export -f dexmachina.yaml
conda env create -f dexmachina.yaml
  1. Local install the dexmachina package:
cd dexmachina
pip install -e .

pinocchio + casadi installation —>

conda activate dexmachina

git clone https://github.com/stack-of-tasks/pinocchio.git

cd pinocchio && mkdir build && cd build

conda install -c conda-forge urdfdom_headers urdfdom boost eigenpy casadi

#configure with cmake

cmake .. \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=$CONDA_PREFIX \ -DPYTHON_EXECUTABLE=$(which python) \ -DBUILD_WITH_CASADI_SUPPORT=ON \ -DBUILD_PYTHON_INTERFACE=ON \ -DBUILD_TESTING=OFF \ -DCMAKE_PREFIX_PATH=$CONDA_PREFIX \ -Deigenpy_DIR=$CONDA_PREFIX/lib/cmake/eigenpy

#build and install

make -j$(nproc) make install

See the full documentation for additional installation instructions for dexterous hand and demonstration data processing, kinematic retargeting, raytracer rendering, etc.

Citation

This codebase is released with the following preprint:

Zhao Mandi, Yifan Hou, Dieter Fox, Yashraj Narang, Ajay Mandlekar*, Shuran Song*. DexMachina: Functional Retargeting for Bimanual Dexterous Manipulation. arXiV, 2025.

*Equal Advising

If you find this codebase useful, please consider citing:

@misc{mandi2025dexmachinafunctionalretargetingbimanual,
      title={DexMachina: Functional Retargeting for Bimanual Dexterous Manipulation}, 
      author={Zhao Mandi and Yifan Hou and Dieter Fox and Yashraj Narang and Ajay Mandlekar and Shuran Song},
      year={2025},
      eprint={2505.24853},
      archivePrefix={arXiv},
      primaryClass={cs.RO},
      url={https://arxiv.org/abs/2505.24853}, 
}

Installation for Pyroki --

pip install --upgrade jax jaxlib==0.4.28+cuda12.cudnn89 -f https://storage.googleapis.com/jax-releases/jax_cuda_releases.html

pip install -e .

conda install -c nvidia cudatoolkit=11.8 cudnn=8.9

pip install pytorch3d pip install torch==2.4.0 --index-url https://download.pytorch.org/whl/cu121

About

Codebase for DexMachina: Functional Retargeting for Bimanual Dexterous Manipulation

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%