whatisgithub

What is contactmimic?

lixinyao11/contactmimic — explained in plain English

Analysis updated 2026-05-18

29PythonAudience · researcherComplexity · 5/5LicenseSetup · hard

In one sentence

A research system that trains a simulated Unitree G1 humanoid to reproduce human object-contact patterns, like sitting in a chair, not just body poses.

Mindmap

mindmap
  root((ContactMimic))
    What it does
      Contact aware motion imitation
      Humanoid object interaction
      Isaac Lab training
    Tech stack
      Python
      Isaac Lab
      Unitree G1 robot
    Use cases
      Robot sitting behavior
      Contact labeled motion conversion
      Ablation experiments
    Requirements
      HUMOTO dataset license
      Isaac Lab v2.1.0
      GPU for 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 simulated Unitree G1 humanoid to sit down and reproduce human contact points, not just body pose.

USE CASE 2

Convert retargeted, contact-labeled motion capture data into training-ready artifacts for Isaac Lab.

USE CASE 3

Run ablation experiments comparing contact-aware training against a no-contact baseline.

What is it built with?

PythonIsaac LabPyTorch

How does it compare?

lixinyao11/contactmimicadityasharmadotai-hash/docs-reader-rag-agentalekseiul/hermes-researcher-agent
Stars292929
LanguagePythonPythonPython
Setup difficultyhardeasymoderate
Complexity5/52/52/5
Audienceresearchervibe coderresearcher

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

How do you get it running?

Difficulty · hard Time to first run · 1day+

Requires Isaac Lab v2.1.0, the Unitree G1 robot assets, and a separate signed license to access the HUMOTO motion capture dataset.

MIT license for the code: use, modify, and distribute freely. The motion capture training data itself is separately licensed by HUMOTO.

So what is it?

ContactMimic is a research project for making a humanoid robot interact realistically with objects, like sitting in a chair, by training it to reproduce not just human motion but also exactly where and when the human's body touches an object. It comes from an academic paper of the same name and is built specifically for the Unitree G1 humanoid robot inside NVIDIA's Isaac Lab physics simulator. The core idea is that most motion imitation systems only teach a robot to copy body poses over time, without paying attention to contact, the points where hands, feet, or other body parts actually press against an object's surface. ContactMimic adds contact information as part of what the robot learns to reproduce, so a simulated humanoid can learn to sit down and match the same seat, backrest, and leg contact patterns a real human used, rather than just approximating the pose. Training data comes from the HUMOTO motion capture dataset, which requires signing a separate license agreement before you can access the raw recordings. Once you have that raw data, you still need to retarget it onto the G1 robot's body and add labels marking, frame by frame, which parts of the robot and object are touching. The project includes a conversion script that turns this retargeted, contact labeled data into a format the training pipeline can use directly, resampling everything to a consistent frame rate. To set the project up, you install a specific version of Isaac Lab, clone this repository, download the G1 robot's body description files, and install the project as a Python package inside your Isaac Lab environment. Training is run through a provided script that lets you choose which motions to train on and offers several contact specific options, such as turning contact information off entirely for comparison, randomly swapping contact labels between paired motions, or randomly masking out certain contact parts to make the resulting behavior more robust. A separate evaluation script lets you load a trained run and watch, or record video of, the resulting robot behavior in simulation. The project builds on an earlier system called BeyondMimic and is released under the MIT license, so it can be used, modified, and shared freely, though the motion capture data itself is governed by HUMOTO's own license terms.

Copy-paste prompts

Prompt 1
Walk me through installing Isaac Lab v2.1.0 and setting up ContactMimic's whole_body_tracking extension package.
Prompt 2
Run python scripts/humoto_to_npz.py on my retargeted HUMOTO motion and explain what the contact fields in the output mean.
Prompt 3
Train a Tracking-Sitting-G1-v0 policy with python scripts/rsl_rl/train.py using --mix_contact_groups to combine two motions.
Prompt 4
Explain what the --contact_tp_fp_mode and --random_mask_contact_parts training flags do in ContactMimic.

Frequently asked questions

What is contactmimic?

A research system that trains a simulated Unitree G1 humanoid to reproduce human object-contact patterns, like sitting in a chair, not just body poses.

What language is contactmimic written in?

Mainly Python. The stack also includes Python, Isaac Lab, PyTorch.

What license does contactmimic use?

MIT license for the code: use, modify, and distribute freely. The motion capture training data itself is separately licensed by HUMOTO.

How hard is contactmimic to set up?

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

Who is contactmimic for?

Mainly researcher.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.