Skip to content

Latest commit

 

History

History
104 lines (70 loc) · 4.07 KB

File metadata and controls

104 lines (70 loc) · 4.07 KB

Environment Setup

Step 1: Setup Conda

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.

Step 2: Setup Third-party Dependencies

2.1 Download SMPL/SMPLX Models

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.0

2.2 Pull Submodules

After cloning this repository, run the following command to get all submodule dependencies:

git submodule update --init --recursive

2.3 Create Asset Symlinks

This 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.

2.4 Verify Third-party File Structure

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_python

Step 3: Create the Conda Environment

Create 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.txt

The 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 ./smplx

Step 4: Configure the Training Environment Variables

HoloMotion 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.env

The 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.