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/
├── HoloMotion_assets
├── GMR
├── smplx
├── joints2smpl
├── omomo_release
├── smpl_models
├── SMPLSim
├── unitree_ros
└── unitree_ros2Create the conda environment named holomotion_train and holomotion_deploy:
conda env create -f environments/environment_train_isaaclab_cu118.yaml
# for newer GPUs like RTX 5090, use environment_train_isaaclab_cu128.yaml
conda env create -f environments/environment_deploy.yamlInstall smplx and GMR into the conda environment:
cd thirdparties
conda activate holomotion_train
pip install -e ./smplx
# use --no-deps to avoid pulling GMR's dependencies
pip install -e ./GMR --no-depsHoloMotion uses train.env and deploy.env files to export environment variables in the shell entry scripts. Please make sure the Train_CONDA_PREFIX and the Deploy_CONDA_PREFIX variables in train.env and deploy.env are correctly setup. You can manually source these files and check the output in the shell.
Take the train.env for example:
source train.envThese .env files will be sourced in the shell scripts (in holomotion/scripts) to correctly find and utilize your conda environments.