← 开源
GalaxyGeneralRobotics

OpenTrack

Official implementation of Any2Track.

Model DevelopmentReinforcement LearningPhysical AIC++
在 GitHub 打开
增长势头
+024 小时新增 Star0.0%
771
Star
56
Fork
+1
本周
2
贡献者
创建于 2025-09-19 · 更新于 2026-10-14 · 今日第 13989 名
主要开发者
zzk273Liam-lyr

GalaxyGeneralRobotics/OpenTrack 排名第 13,989,有 771 个星标。

同类别比较

GalaxyGeneralRobotics/OpenTrack 排名第 13,989,此处有 8 个同类条目;vbelz/Speech-enhancement 排名第 13,988。

同类别比较
名称排名指标
Tencent/PatrickStar13,980
语言:
Python
星标数:
772
分叉数:
59
简介:
PatrickStar enables Larger, Faster, Greener Pretrained Models for NLP and democratizes AI for everyone.
echowei/DeepTraffic13,985
语言:
Python
星标数:
772
分叉数:
299
简介:
Deep Learning models for network traffic classification
kaituoxu/Conv-TasNet13,986
语言:
Python
星标数:
772
分叉数:
156
简介:
A PyTorch implementation of Conv-TasNet described in "TasNet: Surpassing Ideal Time-Frequency Masking for Speech Separation" with Permutation Invariant Training (PIT).
vbelz/Speech-enhancement13,988
语言:
Python
星标数:
772
分叉数:
131
简介:
Deep learning for audio denoising
ayushoriginal/Sentiment-Analysis-Twitter13,991
语言:
Python
星标数:
771
分叉数:
277
简介:
:mortar_board:RESEARCH [NLP :thought_balloon:] We use different feature sets and machine learning classifiers to determine the best combination for sentiment analysis of twitter.
wmcnally/kapao14,000
语言:
Python
星标数:
771
分叉数:
104
简介:
KAPAO is an efficient single-stage human pose estimation model that detects keypoints and poses as objects and fuses the detections to predict human poses.
FlyMyAI/flymyai-lora-trainer14,001
语言:
Python
星标数:
770
分叉数:
71
简介:
Qwen-Image text to image lora trainer
JuliaPOMDP/POMDPs.jl14,002
语言:
Julia
星标数:
770
分叉数:
106
简介:
MDPs and POMDPs in Julia - An interface for defining, solving, and simulating fully and partially observable Markov decision processes on discrete and continuous spaces.
关键参数与规格
关键参数与规格
参数值
语言C++
类别Model Development
子类别Reinforcement Learning,Physical AI
关键词Data synthesis, Distributed training, Embodied, Robotics
星标数771
分叉数56
贡献者2
创建日期2025-09-19
更新日期2026-10-14
1 天星标数0
7 天星标数1
排名13,989
上次排名13,865
排名变化-124
7 天星标排名10,722
上次 7 天星标排名19,112
7 天星标排名变化8,390
总星标排名13,755
上次总星标排名13,730
总星标排名变化-25
README 摘录

News 🚩 [May 28, 2026] Real-world deployment code released. [May 23, 2026] AnyAdapter training code released. **Now you can finetune your base tracker to endow it with dynamics adaptivity. ** [May 18, 2026] LAFAN1 generalist v2 released. **A single policy can accurately track all 40/40 motions in LaFAN1, including highly challenging ones. ** [April 24, 2026] DAgger training code released. **Now you can distill your teacher trackers into a generalist student tracker. ** [November 30, 2025] LAFAN1 generalist v1 released. **Now you

can track cartwheel, kungfu, fall and getup, and many other motions within a single policy. ** [September 19, 2025] Simple Domain Randomization released. [September 19, 2025] Tracking codebase released. TODOs [x] Release motion tracking codebase [x] Release domain randomization [x] Release pretrained LAFAN1 generalist checkpoints [x] Release DAgger code [x] Release AnyAdapter [x] Release real-world deployment code Prepare 1. Create a virtual environment and install dependencies: 3. Create a file in the project directory with the following content: 4. Download

the mocap data and put them under . Thanks for the retargeting motions of LAFAN1 dataset from LocoMuJoCo! Initialize assets Usage Initialize environment 1. Initialize the MuJoCo environment: Play pretrained checkpoints 1. Download pretrained checkpoints and configs from checkpoints and configs, and put them under . Visualization results of LAFAN1 generalist v2: videos. Run the evaluation script: As of **May 18, 2026**, we have open-sourced **LAFAN1 generalist v1 and v2**. Generalist v1 is daggered from four teachers and can track most

motions. However, it fails on some extremely challenging motions (mainly because some teachers fail to track these motions). Generalist v2 is daggered from eight more carefully designed teachers. Each teacher policy successfully tracks all motions in its motion cluster. The student policy perfectly inherits the capabilities of different teachers and successfully tracked all 40/40 motions. The checkpoints are trained with simple domain randomization (DR). You may try to deploy it on a Unitree G1 robot with the deployment code

. Train from scratch [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 specialist teachers: If you want to modify the training configuration, you should edit the config file associated with the

常见问题

记录了多少星标和分叉?

GalaxyGeneralRobotics/OpenTrack 有 771 个星标和 56 个分叉。

仓库排名是多少?

GalaxyGeneralRobotics/OpenTrack 排名第 13,989。

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

GalaxyGeneralRobotics/OpenTrack 有 771 个星标,语言为 C++,类别为 Model Development。

哪个仓库排名最接近?

GalaxyGeneralRobotics/OpenTrack 与 vbelz/Speech-enhancement 比较,后者排名第 13,988,有 772 个星标。

README

OpenTrack

GALBOT · Tsinghua

:page_with_curl:Paper | :house:Website

This repository is the official implementation of OpenTrack, an open-source humanoid motion tracking codebase that uses MuJoCo JAX for simulation and supports multi-GPU parallel training.

News 🚩

[May 28, 2026] Real-world deployment code released.

[May 23, 2026] AnyAdapter training code released. Now you can finetune your base tracker to endow it with dynamics adaptivity.

[May 18, 2026] LAFAN1 generalist v2 released. A single policy can accurately track all 40/40 motions in LaFAN1, including highly challenging ones.

[April 24, 2026] DAgger training code released. Now you can distill your teacher trackers into a generalist student tracker.

[November 30, 2025] LAFAN1 generalist v1 released. Now you can track cartwheel, kungfu, fall and getup, and many other motions within a single policy.

[September 19, 2025] Simple Domain Randomization released.

[September 19, 2025] Tracking codebase released.

TODOs

  • [x] Release motion tracking codebase
  • [x] Release domain randomization
  • [x] Release pretrained LAFAN1 generalist checkpoints
  • [x] Release DAgger code
  • [x] Release AnyAdapter
  • [x] Release real-world deployment code

Prepare

  1. Clone the repository:

    git clone git@github.com:GalaxyGeneralRobotics/OpenTrack.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 mocap data and put them under storage/data/mocap/. Thanks for the retargeting motions of LAFAN1 dataset from LocoMuJoCo!

    The file structure should be like:

    storage                   
    ├── assets
    │   ├── mujoco_menagerie
    │   └── unitree_g1
    ├── data
    │   ├── hfield            
    │   │   └── terrain.npz
    │   └── mocap
    │       └── lafan1   
    │           └── UnitreeG1
    ├── logs
    │   ├── dagger      # dagger student checkpoints
    │   └── track       # tracking checkpoints  
    ├── training_configs
    │   └── dagger
    │       └── demo.json    
    └── ...
    
  5. Initialize assets

    # First, initialize the environment
    source .venv/bin/activate; source .env;
    # Then, initialize the assets
    python track_mj/app/mj_playground_init.py
    

Usage

Initialize environment

  1. Initialize the MuJoCo environment:
 source .venv/bin/activate; source .env;

Play pretrained checkpoints

  1. Download pretrained checkpoints and configs from checkpoints and configs, and put them under storage/logs/dagger/. Visualization results of LAFAN1 generalist v2: videos.

  2. Run the evaluation script:

    python -m track_mj.eval.dagger.mj_onnx_video --task G1TrackingGeneral --exp_name  [--use_viewer] [--use_renderer] [--play_ref_motion]
    

As of May 18, 2026, we have open-sourced LAFAN1 generalist v1 and v2. Generalist v1 is daggered from four teachers and can track most motions. However, it fails on some extremely challenging motions (mainly because some teachers fail to track these motions). Generalist v2 is daggered from eight more carefully designed teachers. Each teacher policy successfully tracks all motions in its motion cluster. The student policy perfectly inherits the capabilities of different teachers and successfully tracked all 40/40 motions.

The checkpoints are trained with simple domain randomization (DR). You may try to deploy it on a Unitree G1 robot with the deployment code.

Train from scratch

[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 specialist teachers:

 python -m track_mj.learning.train.train_ppo_track --task G1TrackingGeneralDR --exp_name 

If you want to modify the training configuration, you should edit the config file associated with the corresponding environment. For example, for the command above, you should modify the g1_tracking_general_dr_task_config in the OpenTrack/track_mj/envs/g1_tracking/train/g1_env_tracking_general_dr.py.

Train the generalist student:

For training on one GPU:

 python -m track_mj.learning.train.train_dagger --task G1TrackingGeneralDR --exp_name  --dagger-config-path 

For training on multiple GPUs (8 for example):

 torchrun --nproc_per_node=8 -m track_mj.learning.train.train_dagger \
  --task G1TrackingGeneralDR \
  --exp-name  \
  --dagger-config-path  \
  --use_ddp

For an example DAgger config, please refer to storage/training_configs/dagger/demo.json.

In our experiments, we found that our specialist-to-generalist training framework is a flexible, controllable, and scalable approach for building a general tracker. Different teachers can be flexibly assigned to different categories of motions to maximize tracking quality. As long as you have a specialist teacher, you can seamlessly distill its capabilities into a generalist student. The capabilities of different teachers can be perfectly inherited by the student. The student’s performance improves significantly with more motion data, more teachers, longer training time, and larger model capacity.

Train the adapter:

After training a base policy in an environment with no (or only limited) dynamics randomization, you can further train an adapter in an environment with dynamics randomization enabled (or with a larger degree of randomization).

 python -m track_mj.learning.train.train_adapter \
   --task G1TrackingGeneralDR \
   --load-exp-name  \
   --exp-name 

Evaluate the model

Evaluate the specialist teachers

# First, convert the tracker checkpoint to ONNX
python -m track_mj.eval.tracking.export_onnx --task G1TrackingGeneral --exp_name 

# Next, run the evaluation script
python -m track_mj.eval.tracking.mj_onnx_video --task G1TrackingGeneral --exp_name  [--use_viewer] [--use_renderer] [--play_ref_motion]

Evaluate the generalist student:

 # First, convert the Torch model checkpoint to the ONNX format
 python -m track_mj.eval.dagger.torch2onnx --ckpt_dir "storage/logs/dagger/" 
 # This writes ONNX to storage/logs/dagger//checkpoints/model.onnx
 # Next, run the evaluation script
 python -m track_mj.eval.dagger.mj_onnx_video --task G1TrackingGeneral --exp_name  [--use_viewer] [--use_renderer] [--play_ref_motion]

Evaluate the adapter

# First, convert the checkpoint to ONNX
 python -m track_mj.eval.adapter.export_onnx --task G1TrackingGeneral --exp_name 

 # Next, run the evaluation script
 python -m track_mj.eval.adapter.mj_onnx_video --task G1TrackingGeneralDR --exp_name  [--use_viewer] [--use_renderer] [--play_ref_motion]

Real-world deployment

Please refer to deploy/README_deployment.md.

Acknowledgement

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

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

@misc{zhang2025trackmotionsdisturbances,
      title={Track Any Motions under Any Disturbances}, 
      author={Zhikai Zhang and Jun Guo and Chao Chen and Jilong Wang and Chenghuai Lin and Yunrui Lian and Han Xue and Zhenrong Wang and Maoqi Liu and Jiangran Lyu and Huaping Liu and He Wang and Li Yi},
      year={2025},
      eprint={2509.13833},
      archivePrefix={arXiv},
      primaryClass={cs.RO},
      url={https://arxiv.org/abs/2509.13833}, 
}
排名相邻
同类项目