Skip to content

About

Maps live or recorded human motion to robot hands, arms, and humanoids.

Topics

Resources

Stars

14 stars

Watchers

0 watching

Forks

Repository files navigation

RetargetingKit

Python 3.10+ GitHub Actions Homepage Docs

RetargetingKit maps live or recorded human motion to robot hands, arms, and humanoids using RoboKit optimization and neural hand models.

The two main applications are:

  • 🎮 Real-time teleoperation
  • ⚡ Offline retargeting in parallel

RetargetingKit paper teaser showing hand manipulation and humanoid teleoperation
Real-time teleoperation with dexterous hands and humanoids.

Humanoid retargeting in a furnished scene
Body-and-hand retargeting in a furnished scene.

Quick links

Installation

Requires Python 3.10 or newer:

uv add retargetingkit      # or: pip install retargetingkit

See Installation for source installs, extras, and asset access.

Features

Tracked hand skeleton and retargeted robot hand side by side
Hand
retargeting
Robot hand grasping a sage cylinder in a white studio
Geometry-aware hand
retargeting
Physical robot hand rotating a purple cube
Real-time hand
teleoperation
Human body skeleton and retargeted humanoid side by side
Humanoid
retargeting
Rendered humanoid crouching and climbing on stepped terrain
Geometry-aware humanoid
retargeting
Physical humanoid crouching to pick up a green bottle
Real-time humanoid
teleoperation
Standing humanoid turning and taking small steps on a white background
Full-body
retargeting
Rendered humanoid interacting with objects and furniture in a kitchen on a white background
Geometry-aware full-body
retargeting
Physical humanoid handling flowers at a table
Real-time full-body
teleoperation

Explore recorded motions and robot presets in the gallery examples.

How it works

flowchart LR
    Source["`Source
    *VR · gloves · mocap · recordings*`"]
    Retargeter["`Retargeter
    *Optimization + Neural*`"]
    Target["`Target
    *Viser · robot hardware*`"]
    Source -- "Frame: hand · arm · body" --> Retargeter
    Retargeter -- "Command: robot joints · base pose" --> Target
    classDef endpoint fill:#dbeafe,stroke:#2563eb,color:#111827
    classDef solver fill:#dbc8ea,stroke:#8163a1,stroke-width:2px,color:#111827
    class Source,Target endpoint
    class Retargeter solver
Loading
Component Role Read more
Source Read a device or recording and produce a canonical frame. Sources
Frame Represent human hand, arm, or body motion. Frames
Retargeter Solve hand, arm, or body motion using RoboKit. Interfaces
Command Carry robot joint positions and an optional base pose. Commands
Target Preview commands or send them to a robot. Targets

See the framework overview for frames, commands, and named rigs.

About

Maps live or recorded human motion to robot hands, arms, and humanoids.

Topics

Resources

Stars

14 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages