← 开源
GalaxyGeneralRobotics

LATENT

Official implementation of Learning Athletic Humanoid Tennis Skills from Imperfect Human Motion Data

Model DevelopmentReinforcement LearningPhysical AIPython
在 GitHub 打开
增长势头
+024 小时新增 Star0.0%
722
Star
50
Fork
+3
本周
4
贡献者
创建于 2026-03-11 · 更新于 2026-10-15 · 今日第 14539 名
主要开发者
zzk273Josh00-LuLiam-lyr

GalaxyGeneralRobotics/LATENT 排名第 14,539,有 722 个星标。

同类别比较

GalaxyGeneralRobotics/LATENT 排名第 14,539,此处有 8 个同类条目;Skylark0924/Rofunc 排名第 14,540。

同类别比较
名称排名指标
LikeLy-Journey/SegmenTron14,529
语言:
Python
星标数:
723
分叉数:
157
简介:
Support PointRend, Fast_SCNN, HRNet, Deeplabv3_plus(xception, resnet, mobilenet), ContextNet, FPENet, DABNet, EdaNet, ENet, Espnetv2, RefineNet, UNet, DANet, HRNet, DFANet, HardNet, LedNet, OCNet, EncNet, DuNet, CGNet, CCNet, BiSeNet, PSPNet, ICNet, FCN, deeplab)
creafz/pytorch-cnn-finetune14,532
语言:
Python
星标数:
723
分叉数:
121
简介:
Fine-tune pretrained Convolutional Neural Networks with PyTorch
ericsujw/InstColorization14,533
语言:
Jupyter Notebook
星标数:
723
分叉数:
150
fangvv/UAV-DDPG14,534
语言:
Python
星标数:
723
分叉数:
95
简介:
Code for paper "Computation Offloading Optimization for UAV-assisted Mobile Edge Computing: A Deep Deterministic Policy Gradient Approach"
Skylark0924/Rofunc14,540
语言:
Python
星标数:
722
分叉数:
62
简介:
🤖 The Full Process Python Package for Robot Learning from Demonstration and Robot Manipulation
google/pyglove14,542
语言:
Python
星标数:
722
分叉数:
45
简介:
Manipulating Python Programs
kentaroy47/vision-transformers-cifar1014,543
语言:
Python
星标数:
722
分叉数:
136
简介:
Let's train vision transformers (ViT) for cifar10/cifar100/Imagenet
mosaicml/diffusion14,546
语言:
Python
星标数:
722
分叉数:
76
关键参数与规格
关键参数与规格
参数值
语言Python
类别Model Development
子类别Reinforcement Learning,Physical AI
关键词Datasets, Distributed training, Embodied, Robotics
星标数722
分叉数50
贡献者4
创建日期2026-03-11
更新日期2026-10-15
1 天星标数0
7 天星标数3
排名14,539
上次排名6,555
排名变化-7,984
7 天星标排名7,263
上次 7 天星标排名19,128
7 天星标排名变化11,865
总星标排名14,511
上次总星标排名14,481
总星标排名变化-30
README 摘录

LATENT Tsinghua | Galbot 📑 Paper | 🏠 Website This is the official implementation of ***Learning Athletic Humanoid Tennis Skills from Imperfect Human Motion Data***. This repository provides an open-source humanoid robot learning pipeline for motion tracker pre-training, online distillation, and high-level policy learning. The pipeline uses MuJoCo for simulation and supports multi-GPU parallel training. News 🚩 [March 13, 2026] Tracking codebase and a small subset of human tennis motion data released. **Now you can track these motions, with the tracking

pipeline described in our paper. ** TODOs [x] Release motion tracking codebase [x] Release a small subset of human tennis motion data [ ] Release all human tennis motion data we used [ ] Release pretrained trackers to track all released human tennis motion data [ ] Release DAgger online distillation codebase [ ] Release pretrained latent action model trained on our tennis motion data [ ] Release high-level tennis-playing policy training codebase [ ] Release sim2real designs for high-level tennis-playing policy [ ] Release more pretrained checkpoints Initialization 1. Create

a virtual environment and install dependencies: 3. Create a file in the project directory with the following content: 4. Download the retargeted tennis data and put them under . Initialize assets Usage Initialize environment Motion tracking The motion tracker training pipeline is based on OpenTrack. [Optional] Preprocess the motion data If you want to train on your own motion data, you should first put the files under . Then, you should run the following preprocess script to: 1. Align the frequency or

the original motion data to the desired control frequency (50Hz by default). Recalculate velocities (angular, linear, joint) and other state features based on the aligned frequency. **Note:** The preprocess script will overwrite the original motion files. Argument can generate a natural transition motion from the default pose before the original motion. An inverse-kinematics solver generates a smooth stepping motion from the default pose to the first motion frame. The solver uses QP optimization (OSQP) with foot position/orientation constraints

and CoM balance constraints. One or two foot steps are automatically chosen based on the foot-placement gap between default pose and the pose of the first frame. Here is a comparison of the original motion and the smoothed motion: Train the model Evaluate the model First, convert the Brax model checkpoint to ONNX: Next, run the evaluation script: Real-World Deployment For teams interested in reproducing our system, we provide the following real-world deployment details for reference: A

total of 50+ motion capture cameras were used Camera resolution: 2048 × 2048, at 120 Hz Motion capture area: 19 × 15 meters Our real-world experiment setup (including the venue, camera system, lighting, and related infrastructure) was supported by a third-party motion capture service provider. The experiment period lasted approximately 3 weeks, with a total rental cost of around 350k RMB (approximately 50k USD). Acknowledgement This repository is build upon , , , , and . If you find this repository helpful, please cite our

work:

常见问题

记录了多少星标和分叉?

GalaxyGeneralRobotics/LATENT 有 722 个星标和 50 个分叉。

仓库排名是多少?

GalaxyGeneralRobotics/LATENT 排名第 14,539。

记录的语言和类别是什么?

GalaxyGeneralRobotics/LATENT 有 722 个星标,语言为 Python,类别为 Model Development。

哪个仓库排名最接近?

GalaxyGeneralRobotics/LATENT 与 Skylark0924/Rofunc 比较,后者排名第 14,540,有 722 个星标。

README

LATENT

Tsinghua | Galbot

📑 Paper | 🏠 Website

This is the official implementation of Learning Athletic Humanoid Tennis Skills from Imperfect Human Motion Data. This repository provides an open-source humanoid robot learning pipeline for motion tracker pre-training, online distillation, and high-level policy learning. The pipeline uses MuJoCo for simulation and supports multi-GPU parallel training.

News 🚩

[March 13, 2026] Tracking codebase and a small subset of human tennis motion data released. Now you can track these motions, with the tracking pipeline described in our paper.

TODOs

  • [x] Release motion tracking codebase
  • [x] Release a small subset of human tennis motion data
  • [ ] Release all human tennis motion data we used
  • [ ] Release pretrained trackers to track all released human tennis motion data
  • [ ] Release DAgger online distillation codebase
  • [ ] Release pretrained latent action model trained on our tennis motion data
  • [ ] Release high-level tennis-playing policy training codebase
  • [ ] Release sim2real designs for high-level tennis-playing policy
  • [ ] Release more pretrained checkpoints

Initialization

  1. Clone the repository:

    git clone git@github.com:GalaxyGeneralRobotics/LATENT.git
    
  2. Create a virtual environment and install dependencies:

    uv sync -i https://pypi.org/simple 
    
  3. Create a .env file in the project directory with the following content:

    export GLI_PATH=
    export WANDB_PROJECT=
    export WANDB_ENTITY=
    export WANDB_API_KEY=
    
  4. Download the retargeted tennis data and put them under storage/data/mocap/Tennis/.

    The file structure should be like:

     storage/data
     ├── mocap
     │   └── Tennis
     │       ├──p1
     │       │  ├── High-Hit02_Tennis\ 001.npz
     │       │  └── ...
     │       └── ...
     └── assets
         └── ...
    
  5. Initialize assets

    python latent_mj/app/mj_playground_init.py
    

Usage

Initialize environment

source .venv/bin/activate; source .env;

Motion tracking

The motion tracker training pipeline is based on OpenTrack.

[Optional] Preprocess the motion data

If you want to train on your own motion data, you should first put the .npz files under storage/data/mocap//UnitreeG1. Then, you should run the following preprocess script to:

  1. Align the frequency or the original motion data to the desired control frequency (50Hz by default).
  2. Recalculate velocities (angular, linear, joint) and other state features based on the aligned frequency.

Note: The preprocess script will overwrite the original motion files.

# Use `num_batches` to split data into multiple batches for parallel processing on multiple GPUs. You should manually launch multiple processes on different GPUs for parallel processing.
python scripts/process_motion/preprocess_motion.py --task G1TrackingGeneral --num_batches XXX --smooth_start_end False

# Or run on a single GPU without parallelism
python scripts/process_motion/preprocess_motion.py --task G1TrackingGeneral --num_batches 1 --smooth_start_end False

Argument --smooth_start_end True can generate a natural transition motion from the default pose before the original motion.

An inverse-kinematics solver generates a smooth stepping motion from the default pose to the first motion frame. The solver uses QP optimization (OSQP) with foot position/orientation constraints and CoM balance constraints. One or two foot steps are automatically chosen based on the foot-placement gap between default pose and the pose of the first frame.

Here is a comparison of the original motion and the smoothed motion:

Original Motion

Smoothed Motion

Train the model

# Train without DR
python -m latent_mj.learning.train.train_ppo_track_tennis --task G1TrackingTennis --exp_name 

# Train with DR
python -m latent_mj.learning.train.train_ppo_track_tennis --task G1TrackingTennisDR --exp_name 

Evaluate the model

First, convert the Brax model checkpoint to ONNX:

python -m latent_mj.app.brax2onnx_tracking --task G1TrackingTennis --exp_name 

Next, run the evaluation script:

python -m latent_mj.eval.tracking.mj_onnx_video --task G1TrackingTennis --exp_name  [--use_viewer] [--use_renderer] [--play_ref_motion]

Real-World Deployment

For teams interested in reproducing our system, we provide the following real-world deployment details for reference:

  • A total of 50+ motion capture cameras were used
  • Camera resolution: 2048 × 2048, at 120 Hz
  • Motion capture area: 19 × 15 meters

Our real-world experiment setup (including the venue, camera system, lighting, and related infrastructure) was supported by a third-party motion capture service provider. The experiment period lasted approximately 3 weeks, with a total rental cost of around 350k RMB (approximately 50k USD).

Acknowledgement

This repository is build upon jax, brax, loco-mujoco, mujoco_playground, and OpenTrack.

If you find this repository helpful, please cite our work:

@misc{zhang2026learningathletichumanoidtennis,
      title={Learning Athletic Humanoid Tennis Skills from Imperfect Human Motion Data}, 
      author={Zhikai Zhang and Haofei Lu and Yunrui Lian and Ziqing Chen and Yun Liu and Chenghuai Lin and Han Xue and Zicheng Zeng and Zekun Qi and Shaolin Zheng and Qing Luan and Jingbo Wang and Junliang Xing and He Wang and Li Yi},
      year={2026},
      eprint={2603.12686},
      archivePrefix={arXiv},
      primaryClass={cs.RO},
      url={https://arxiv.org/abs/2603.12686}, 
}
排名相邻
同类项目