This project uses conda to manage Python environments. We recommend using Miniconda.
For users in China: Configure the conda mirror following TUNA for faster downloads.
We use SMPL/SMPLX models to retarget mocap data into robot motion data. Register your account and download the models from:
Place both zip files (SMPL_python_v.1.1.0.zip and models_smplx_v1_1.zip) in the thirdparties/ folder, then extract:
mkdir thirdparties/smpl_models
unzip thirdparties/SMPL_python_v.1.1.0.zip -d thirdparties/smpl_models/
unzip thirdparties/models_smplx_v1_1.zip -d thirdparties/smpl_models/The resulting file structure for smpl models would be:
thirdparties/
├── smpl_models
├── models
└── SMPL_python_v.1.1.0After cloning this repository, run the following command to get all submodule dependencies:
git submodule update --init --recursiveThis project uses symbolic links to connect robot and SMPL assets from submodules to the main assets directory. Symlinks are created automatically when you clone the repository.
After completing the above steps, your file structure should look like this:
thirdparties/
├── GVHMR
├── HoloMotion_assets
├── SMPLSim
├── cyclonedds
├── joints2smpl
├── omomo_release
├── smpl_models
├── smplx
├── unitree_ros
├── unitree_ros2
├── unitree_sdk2
└── unitree_sdk2_pythonCreate the holomotion_train Conda environment. The files under environments/ are the supported dependency installation entry points for v1.4.0. The project does not support installing runtime dependencies directly from pyproject.toml; its editable installation only registers the repository source after the Conda environment has been created.
Robot-side deployment uses the Docker workflow documented in Real-World Deployment.
conda env create -f environments/environment_train_isaaclab_cu118.yaml
# For newer GPUs like RTX 5090, create the cu128 environment first, then
# apply the project-validated Torch override as a separate pip operation.
conda env create -f environments/environment_train_isaaclab_cu128.yaml
conda run -n holomotion_train \
python -m pip install -r environments/requirements_torch_cu128.txtThe separate override is required because Isaac Sim and the project-validated cu128 stack specify different exact Torch versions; requesting both in one pip operation would fail dependency resolution. The v1.4.0 cu128 environment uses Torch 2.9.1, torchvision 0.24.1, and torchaudio 2.9.1. Isaac Sim 5.0 declares exact dependencies on Torch 2.7.0, torchvision 0.22.0, and torchaudio 2.7.0, so pip check reports those three known version conflicts. Do not treat additional dependency conflicts as expected.
Install smplx into the conda environment:
cd thirdparties
conda activate holomotion_train
pip install -e ./smplxHoloMotion uses train.env to export the training environment variables used by shell entry scripts. Source it to verify that Train_CONDA_PREFIX points to the Conda environment created above:
source train.envThe scripts under holomotion/scripts source this file to locate the training environment. Do not create or configure a host-side deployment Conda environment. Robot deployment is Docker-only; the deployment image provides its own environment as described in Real-World Deployment.