DexCompose composes dexterous manipulation skills so a single hand can preserve a completed Task-A grasp while executing a new Task-B interaction. The method assigns action ownership at the finger level and uses residual controllers to maintain the held object during the composed task. This repository provides the Isaac Lab / DexBench code and entry points for training and evaluating the composed tasks.
Use an Isaac Lab-capable Python environment, then activate the repo settings:
cd /path/to/DexCompose-Code-OfficialRelease
source env.shFor a new machine:
bash scripts/setup_conda_env.sh
source env.shInstall the DexBench extension if needed:
python -m pip install -e source/dexbenchTask-A residual training:
python model/residual/taska/scripts/train_residual_mlp.py \
--config model/residual/taska/configs/train_door.yamlTask-B residual training:
python model/residual/taskb/scripts/train_residual_mlp.py \
--config model/residual/taskb/configs/train_door.yamlList registered tasks:
python scripts/list_envs.pyFull task evaluation, for example Relocate + OpenDoor:
python scripts/pipeline/eval_relocate_opendoor.py \
--config configs/pipeline/relocate_opendoor_eval.yaml