explaingit

roboparty/ufo

Analysis updated 2026-05-18

79PythonAudience · researcherComplexity · 5/5Setup · hard

TLDR

A research framework that trains humanoid robots, mainly the Unitree G1, to move using unsupervised reinforcement learning on motion data.

Mindmap

mindmap
  root((UFO))
    What it does
      Unsupervised RL for humanoids
      FB and TeCH training methods
      Tracking and goal inference
    Tech stack
      Python
      MuJoCo
      ONNX
    Use cases
      Train G1 robot to imitate motion
      Export policy for deployment
      Bring up a new robot config
    Audience
      Robotics researchers
      Humanoid control engineers
    Setup
      Clone and uv sync
      Download motion data
      Multi GPU training

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Train a Unitree G1 humanoid robot to imitate motion using unsupervised reinforcement learning.

USE CASE 2

Export a trained policy to ONNX for use outside the training codebase.

USE CASE 3

Bring up a new humanoid robot configuration using its MuJoCo XML and adapted motion data.

What is it built with?

PythonMuJoCoONNXPyTorch

How does it compare?

roboparty/ufohappy-chen-ch/text_classificationliuluhaixiu/davinci-autoedit-agent
Stars797979
LanguagePythonPythonPython
Setup difficultyhardhardmoderate
Complexity5/54/53/5
Audienceresearcherresearchervibe coder

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · hard Time to first run · 1h+

Requires multiple GPUs for real training and a Unitree G1 robot for real-world deployment and teleoperation.

In plain English

UFO is a research framework for training humanoid robots to move using a type of machine learning called unsupervised reinforcement learning. Instead of hand coding specific walking or running motions, the system learns general movement skills from motion data and can later be pointed at a goal or a motion clip to reproduce. The project supports two named training methods referred to as FB and TeCH, along with tools to import existing motion data, run tracking or goal based inference, and export a trained model in the ONNX format so it can run outside the original training code. The most complete and well tested setup is for the Unitree G1 humanoid robot. Support for other robots exists but is described as experimental, and adding a new robot requires supplying its physical description as a MuJoCo XML file, optionally a URDF file, and motion data that has already been adapted to that specific robot's body. The framework does not automatically adapt motion recorded for one robot or for a human to a different robot, and a trained model cannot simply be reused on a robot with a different body or set of joints. Installation involves cloning the repository, installing the uv Python package manager, and syncing the project's dependencies. A guided quick start walks through downloading processed motion data for the G1 robot, running a short smoke test to confirm everything works, then running full scale training across multiple GPUs. A separate branch of the project handles deploying trained models onto a real G1 robot and teleoperating it. This project is intended for robotics researchers and engineers working on humanoid control, not hobbyists or general developers. It assumes access to GPUs for training and, for real world use, an actual Unitree G1 robot.

Copy-paste prompts

Prompt 1
Explain the difference between the FB and TeCH training methods in UFO.
Prompt 2
Walk me through running the G1 smoke test to verify my UFO setup works.
Prompt 3
What files and data do I need to bring up a new robot in UFO?
Prompt 4
Show me how to export a trained UFO policy to ONNX for deployment.

Frequently asked questions

What is ufo?

A research framework that trains humanoid robots, mainly the Unitree G1, to move using unsupervised reinforcement learning on motion data.

What language is ufo written in?

Mainly Python. The stack also includes Python, MuJoCo, ONNX.

How hard is ufo to set up?

Setup difficulty is rated hard, with roughly 1h+ to a first successful run.

Who is ufo for?

Mainly researcher.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.