mrkeyoor.com_
Thu 01 Oct 08:14 UTC
Dev Toolsevaluationupdated 01 Oct 2026

UMR review

UMR is the official research code for Unified Motion Retargeting, a system that maps human or character surface motion onto humanoid robots through learned point-cloud correspondence. It solves the repeated manual-mapping problem when one source body template needs to drive several motions on a target robot.

Verdict

Our UMR run installed 35 packages in 20 seconds and built in 6 seconds, but it supplied no test target to verify a retargeted trajectory. Use it when surface correspondence matches your research question and your data already reaches one of its nine documented source adapters. Expect to supply licensed SMPL-X files, robot geometry, and visual or downstream validation before treating any output as training-ready.

We ran it

Lab card: what happened when we ran UMRScreenshot of UMR (github.com/hanyang9/UMR)
Install✓ · 20s35 packages · 37 MB
Build✓ · 6s
Testsn/ano test script
Known vulns0(pip-audit)
Repo410 files~35,243 lines of source · 32.4 MB · 0 CI workflows

Answers from our run

Does UMR build from source?

Dependencies installed in 20 seconds (35 packages), and the build succeeded in 6 seconds. We cloned commit c56b630 into a clean Debian container with 3 CPUs and no project-specific setup.

Does UMR have tests you can run?

Not through a standard command: the project exposes no test script or target that our harness could run.

Does UMR have known vulnerabilities in its dependencies?

pip-audit found none in the dependency tree at the time of our run.

Who should not use UMR?

Users who cannot accept the SMPL-X provider's terms: the required body-model files are deliberately absent from the repository.

What are the alternatives to UMR?

GMR, Human2Humanoid, ProtoMotions. Our UMR run installed 35 packages in 20 seconds and built in 6 seconds, but it supplied no test target to verify a retargeted trajectory.

Setup3/5Fast base install, but models, datasets, and robot setup are external
Docs5/5Detailed source adapters, robot setup, batch modes, and viewers
Community3/5443 stars with seven closed reports and one open converter request
Maturity3/5Broad research code under MIT, but no test target or tagged release

Who it’s for

Robotics researchers retargeting SMPL-X, SOMA, or mesh-based motion onto MuJoCo humanoids.
Teams working with Unitree G1 or H2 and the other checked-in robot examples.
Labs comparing correspondence-based retargeting with keypoint or joint-mapping methods.
Researchers prepared to add a robot MJCF, define its T-pose, inspect contacts, and tune source-task weights.

Who it’s NOT for

Users who cannot accept the SMPL-X provider's terms: the required body-model files are deliberately absent from the repository.
Anyone expecting arbitrary BVH files to work directly: LAFAN1 needs an external converter, and open issue 2 confirms the OmniContact BVH-to-SMPL-X converter is not included.
Teams without a valid robot MJCF and T-pose: the README requires both when moving beyond the supplied examples.
Release pipelines that require an automated regression suite: our run found no test target, CI workflow, or tests directory.
Buyers seeking a versioned supported product: UMR has an MIT license and recent fixes, but no GitHub release.

Setup reality

Our sandbox installed commit c56b630 in 20 seconds, adding 35 packages and using 37 MB on disk. The build succeeded in 6 seconds. There was no test script or target, so tests were skipped; pip-audit found 0 known vulnerabilities.

The documented runtime adds Python 3.12, PyTorch 2.4.1 from the CUDA 12.1 index, MuJoCo, geometry libraries, and SMPL-X files downloaded separately after accepting their terms. Some datasets also need external converters or assets.

A new robot needs an MJCF path, joint limits, and a T-pose copied from UMR Studio. The GLFW viewer needs a display; the Viser backend handles headless viewing. NR FBX/BVH parsing also requires Node 18 or newer. There is no Dockerfile, CI workflow, tests directory, or tagged release.

Nine source adapters turn surfaces into a shared interface

UMR documents 9 motion-source paths: BONES-SEED, HiPHI, GRAIL, OmniContact, LAFAN1, OMOMO, MimicKit characters, AdaPT, and an NR FBX/BVH route. The common idea is to sample a moving exterior surface, learn ordered correspondence between that source template and a robot in aligned poses, then optimize robot motion using matched positions, orientations, contacts, and kinematic constraints. A learned correspondence can be reused across motions that share the source template and robot.

That approach avoids hand-picking human-to-robot joint pairs for every clip. It does not make input formats interchangeable by itself. Each adapter expects a particular local layout and representation, and several point to outside conversion tools or datasets. The practical boundary is surface-level motion: once your source reaches the expected mesh or SMPL-X form, UMR can apply one formulation. Getting a new capture format to that boundary remains your job.

Nine robot configurations shorten onboarding without removing it

The repository carries 9 files under robot_configs, covering examples such as Unitree G1 and H2, Booster K1, EngineAI T800, and MimicKit. For another robot, the README says to copy an example, provide the MJCF path, set model-specific limits, and create a T-pose in the browser-based UMR Studio. The studio copies tpose_qpos back into the configuration; it does not discover a correct pose from arbitrary geometry.

Source and task weights live outside those robot files. Separate defaults and retargeting modules cover SMPL-X, SOMA, character motion, human-object interaction, NR, and AdaPT. The README says these values work well for G1 and often transfer, while warning they may not suit every embodiment. That is the right research posture. A successful optimization still needs inspection for foot sliding, ground penetration, contact loss, joint-limit pressure, and object-scale mistakes.

What happened when we ran it

Our fresh Debian sandbox installed commit c56b630 in 20 seconds on 3 CPUs with 8 GB of RAM and no secrets. Installation succeeded with 35 packages and used 37 MB on disk. The build step completed successfully in 6 seconds. Pip-audit reported 0 known vulnerabilities in the installed dependency set.

The checkout contained 410 files, about 35,243 lines of source, and occupied 32.4 MB. No test script or test target existed, so we skipped tests. Our scan found 0 CI workflow files, no Dockerfile, and no tests directory. Those results cover repository setup and build mechanics only. We did not download SMPL-X models, learn correspondence, launch MuJoCo, or score the physical quality of a retargeted sequence.

SMPL-X files and several converters stay outside the repository

UMR does not distribute SMPL-X body-model files. The README directs users to accept the provider's terms, download neutral and any needed gendered models, then place .pkl or .npz files under smpl/. Current documentation says both formats are supported. The manual installation also pins PyTorch 2.4.1 from the CUDA 12.1 wheel index before installing the 20 entries listed in requirements-umr.txt.

Conversion coverage varies by source. LAFAN1 directs users to lafan_to_smplx, while HiPHI now has a separate hiphi2smplx repository. OmniContact expects pre-converted SMPL-X input. Open issue 2 asks whether the team's internal BVH-to-SMPL-X converter will be released, confirming that this step remains unavailable here. NR takes FBX or BVH through bundled parsing code but adds Node 18 as another runtime. Read the adapter guide before downloading a large dataset.

Batch tools favor bounded memory over automatic speed

UMR includes batch runners for SMPL-X, BONES-SEED, and HiPHI. The HiPHI path defaults object preprocessing and retargeting to 1 worker to limit peak memory, then lets the user raise --object-workers or --workers. Batch summaries record clip status, and bidirectional warm starts with dynamic programming aim to reduce sensitivity to occasional singularities. GPU assignment is exposed for retarget jobs, while a closed discussion also describes the existing solve path as CPU and Clarabel based.

Visualization has two routes. The default GLFW viewer suits a local machine with a display. The Viser backend serves results on port 8080 and can refresh a result directory while a remote batch is running. This split is useful in a lab, though it is still an inspection tool. A browser animation can reveal a tilted body or sliding foot; it cannot establish that a trajectory is safe for hardware or suitable as policy-training data.

One open issue and seven closed reports show active triage

GitHub showed 443 stars and 1 open issue on October 1, 2026. The repository was pushed on September 27, and the API returned 7 closed issues covering licensing, model format, foot sliding, visualization, comparisons, and workflow questions. There are no releases, so users must pin a commit rather than a version tag. The recent push and resolved reports indicate current maintenance despite that missing release process.

UMR fits after motion conversion and before simulation, policy learning, or robot deployment. GMR is the closer alternative when CPU real-time conversion is the main constraint. Human2Humanoid moves toward live teleoperation, while ProtoMotions covers the larger training stack. Choose UMR for its reusable learned surface mapping, then keep the downstream checks strict: a 6-second build says the code packages, while contact quality and robot safety require evidence from the actual body, task, and controller.

Alternatives

ProjectWhat it isPick it when
GMRA general motion-retargeting project designed to run diverse humanoid mappings in real time on CPU.pick this instead when CPU real-time retargeting and its supported robot set fit the job better than learned surface correspondence.
Human2HumanoidA research stack for real-time whole-body human-to-humanoid teleoperation and learning.pick this instead when live teleoperation and policy learning are the goal rather than offline motion conversion.
ProtoMotionsA GPU simulation and learning framework for digital humans and humanoid robots.pick this instead when retargeted motion is only one input to a larger policy-training system.

What people are saying

  1. [velocity-scout] hanyang9/UMR

Sources

  1. UMR README
  2. UMR runtime requirements
  3. Issue 2: OmniContact converter availability
  4. Unified Motion Retargeting paper
  5. UMR repository metadata

More dev tools reviews

vintage-latex · NavierStokesAndEuler · vista · libuv · fframes · Ikemen-GO · the whole board →