[Project page] [Paper] [Video] [Hardware]
Xiaomeng Xu1,2, Jisang Park1, Han Zhang1, Eric Cousineau2, Aditya Bhat2, Jose Barreiros2, Dian Wang1, Jeannette Bohg1, Shuran Song1
1Stanford University,
2Toyota Research Institute
Clone this repo and clone submodules
git clone --recurse-submodules git@github.com:xxm19/hommi.git# this automatically does editable install of `hommi` package from local source
mamba env create -f environment.yml
mamba activate hommi
conda install -c dglteam/label/th24_cu124 dglThis repo depends on local sources from deps/universal_manipulation_interface (e.g. diffusion_policy, umi) and the RBY1 WBC submodule at deps/rby1-wbc.
Add this to your shell config (e.g. ~/.zshrc), then reload the shell:
export HOMMI_ROOT=/path/to/hommi
export HOMMI_UMI_ROOT="$HOMMI_ROOT/deps/universal_manipulation_interface"
export HOMMI_RBY1_WBC_ROOT="$HOMMI_ROOT/deps/rby1-wbc"
export PYTHONPATH="$HOMMI_UMI_ROOT:$HOMMI_RBY1_WBC_ROOT:$HOMMI_ROOT:${PYTHONPATH}"cd hommi/demonstration_processingpython process_demos_iphone.py group.iphone_dir=iphone_data filters.session_name=testSet input session filters and output session name in yaml config file
python create_session_iphone.py input_session_filters=test output_session_name=testpython build_umi_dataset_iphone.py session_dir=tmp_sessions/test
# generates dataset_plan.pkl and dataset.zarr.zippython hommi/train_network/train.py --config-name=umi_policy_dit model=diffusion_dit_3d task=ego3d_lookat_policy task.dataset_path=dataset.zarr.zipmulti-gpu training:
accelerate launch --mixed_precision bf16 --num_processes 8 --multi_gpu --gradient_accumulation_steps 4 -- /path/to/train.py [args...]Deployment code lives under hommi/deployment:
- Camera setup: see
hommi/deployment/camera/README.md. edithommi/deployment/config/camera.yamlfor camera serials, mock mode, frame rate, and binning. usepython -m hommi.deployment.camera_stream_viewerto inspect streams. - WBC/WBIK setup: initialize
deps/rby1-wbc, then followdeps/rby1-wbc/control/README.mdto build the RBY1 realtime controller pybind module and configuredeps/rby1-wbc/config/wbc.yaml/deps/rby1-wbc/config/wbik.yaml.
Run these in separate terminals (in the same hommi conda environment):
python -m hommi.deployment.policy_server -i checkpoint_path
python -m hommi.deployment.rby1_wbc_policy@article{xu2026hommi,
title={HoMMI: Learning Whole-Body Mobile Manipulation from Human Demonstrations},
author={Xu, Xiaomeng and Park, Jisang and Zhang, Han and Cousineau, Eric and Bhat, Aditya and Barreiros, Jose and Wang, Dian and Song, Shuran},
journal={arXiv preprint arXiv:2603.03243},
year={2026}
}This repository is released under the MIT license. See LICENSE for more details.
