Universal Manipulation Interface (UMI)
- Software
- Humanoids and robot learning
- Framework
- Runs on hardware you can build
UMI is a handheld gripper and software pipeline for collecting robot manipulation demonstrations and training visuomotor policies from them, deployable on UR5 and ARX X5 arms.
Made by Columbia AI and Robotics Lab, now the Stanford REAL lab, United States (checked on github.com/real-stanford (opens in a new tab)).
Source on GitHub: github.com/real-stanford/universal_manipulation_interface (opens in a new tab). Facts read at commit d095ba9 (opens in a new tab).
Licenses
- Code
- MIT (opens in a new tab)
Read by Robotheca from LICENSE (opens in a new tab) (MIT) at commit d095ba9 (opens in a new tab), on 16 Oct 2026.
- Commercial use
- Yes
What it does
- Runs a SLAM pipeline on GoPro footage of handheld demonstrations to recover gripper trajectories.
- Converts processed demonstration sessions into a replay buffer dataset for training.
- Trains Diffusion Policy models on that dataset, with single-GPU and multi-GPU options.
- Provides a real-world evaluation script that drives a UR5 arm and WSG50 gripper with a SpaceMouse.
- Includes a pretrained cup arrangement policy and a processed in-the-wild cup dataset.
Written by Robotheca from the project's README (opens in a new tab) at commit d095ba9.
Getting started
- Difficulty
- Advanced
- Hardware it needs, as the project states it
- Tested on Ubuntu 22.04 with Docker installed. Single-GPU training was tested on an RTX3090 with 24GB; multi-GPU training is supported. Deployment needs a UR5 arm with teach pendant, a WSG50 gripper with web interface, a GoPro with HDMI capture card, and a 3Dconnexion SpaceMouse; ARX X5 arms are also
- How to start
- The project's website (opens in a new tab)
Maintenance
- Status
- Maintained: a commit in the last 12 months
- Newest commit
- 26 May 2026 on main
- Latest release
- None published on GitHub
Checked on GitHub on 16 Oct 2026.
Links
Robots on Robotheca that use it
No robot on Robotheca is linked to it yet. Links come from a robot's robot.yaml, from its dependency files read as text, or from Robotheca's editors.
Robotheca lists software as a reference: nothing is hosted or run here, and every fact links to where it was read.