Skip to content

JianuoCao/TEXEDO

Repository files navigation

TEXEDO person in tuxedo: Test-Time Scaling for Controller-Aware Language-Conditioned Humanoid Motion Generation

Website Paper Dataset Models

Jianuo Cao*1,2, Yuxin Chen*2, Yuzhen Song2,3, Masayoshi Tomizuka2, Chenran Li2, Ran(Thomas) Tian2

1Nanjing University    2University of California, Berkeley    3Southern University of Science and Technology

TEXEDO pipeline overview

TEXEDO is a text-to-motion pipeline for the Unitree G1 humanoid. It generates multiple candidate motions from a language prompt, decodes them into a 36-dimensional g1 robot motion format, scores them with dynamic and semantic verifiers, and selects the best candidate for deployment.

Highlights

  • FSQ motion tokenizer for Unitree G1 motion.
  • FLAN-T5 generator over discrete motion tokens.
  • Dynamic and semantic verifiers for humanoid motion scoring and reward modeling.

TODOs

  • Release datasets.
  • Release checkpoints for the tokenizer, generator, and verifiers.
  • Open-source the training pipeline.
  • Publish a fast, large-scale controller-aware data collection pipeline.
  • Add functional demos for text-to-motion, motion-to-text, and motion prediction.

Installation

git clone https://github.com/JianuoCao/TEXEDO.git
cd TEXEDO

conda env create -f environment.yml
conda activate TEXEDO
pip install -e .

By default, TEXEDO stores checkpoints in ./assets and datasets in ./data. You can override these locations:

export TSD_ASSETS=/path/to/assets
export TSD_DATA=/path/to/data

Download Assets

The dataset lives at JianuoCao/TEXEDO. Checkpoints and runtime assets live at JianuoCao/TEXEDO-Checkpoint.

python scripts/download_assets.py --dry-run
python scripts/download_assets.py

--dry-run only prints what would be downloaded. The second command downloads checkpoints, verifiers, GloVe files, and the G1 robot assets into assets/.

Inference

Generate candidates, score them, select the best motion, and render it:

python -m pipeline.generate \
  --prompt "a person waves with the right hand" \
  --num-samples 8 \
  --out-dir candidates/

python -m pipeline.score \
  --motion-dir candidates/ \
  --caption "a person waves with the right hand" \
  --output scores.csv

python -m pipeline.select_best_of_n \
  --scores scores.csv \
  --motion-dir candidates/ \
  --copy-best-to best/

python scripts/visualize_csv.py --input-dir best/ --output-dir viz/

For generator-only sampling:

cd generator
python demo.py --task t2m --num_samples 5 \
  --cfg configs/config_fsq_multitask.yaml \
  --cfg_assets configs/assets.yaml

Data Preparation

Inference uses the released checkpoints and does not require dataset preparation. For training, prepare the public dataset into the local CustomCombined layout:

python generator/scripts/prepare_dataset.py

This downloads the dataset, flattens motions/texts, copies split files, and regenerates FSQ token files under data/CustomCombined/.

Training

The released checkpoints are ready to use. To reproduce or retrain components, see docs/REPRODUCE.md. Main entry points:

# FSQ tokenizer
python tokenizer/fsq_train.py --config tokenizer/configs/fsq_combined.yaml

# Generator
cd generator && python train.py --cfg configs/config_fsq_multitask.yaml --cfg_assets configs/assets.yaml --nodebug

# Semantic verifier
python verifiers/semantic/train_evaluator.py --config verifiers/semantic/configs/evaluator.yaml --step all

Documentation

Citation

@misc{cao2026texedotesttime,
      title={TEXEDO : Test Time Scaling for Controller-aware Language-conditioned Humanoid Motion Generation},
      author={Jianuo Cao and Yuxin Chen and Yuzhen Song and Masayoshi Tomizuka and Chenran Li and Thomas Tian},
      year={2026},
      eprint={2606.22998},
      archivePrefix={arXiv},
      primaryClass={cs.RO},
      url={https://arxiv.org/abs/2606.22998},
}

License

The code in this repository is released under the MIT license. Third-party datasets, pretrained models, robot assets, and dependencies retain their own licenses and terms of use.

About

official code for TEXEDO: Test Time Scaling for Controller-aware Language-conditioned Humanoid Motion Generation

Resources

License

Stars

11 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages