AutelicaLearnRetargeting to a G1

Retargeting human motion to a Unitree G1: what breaks and how to check it.

Most of our robot’s falls came from the retarget, not the capture. These are the failures and the checks.

By Rohan RaoUpdated 3 min read

The short answer

Retargeting with whole-body inverse kinematics fails in predictable ways: a jump at the first frames, joints no camera observes drifting, a foot-orientation target that lifts the feet, arm configurations that flip at shoulder gimbal lock, and soles that float or slide during contact. Each can be caught with a cheap check before training: joint velocity at start-up, contact height and sliding of planted feet, bone-direction error instead of joint-angle error, and how far any correction moved the pelvis.

01The pipeline

Captured 3D joints are retargeted to the G1’s 29 joints with GMR (whole-body inverse kinematics), then a tracking policy is trained in physics and evaluated over 60 runs with randomised disturbances.

021. Start-up transient

The solver starts from the robot’s default pose and needs a few frames to reach the person’s pose, which shows up as a 3–5× joint-velocity spike in the first frames. Every fall of one three-camera policy happened in the first 0.36 s. Solving the first frame repeatedly before recording removed it; trimming the first 0.4 s was then unnecessary.

032. Joints nothing observes

With body keypoints only, wrist rotation is whatever the solver drifts to: on one clip two captures of the same motion differed by 42° at a wrist, which was half the reported joint error. Set unobserved joints to a neutral pose for every source alike, or capture hands.

043. Foot targets that lift the feet

A flat-foot target pointing each foot along the pelvis heading looked sensible and broke a range-of-motion clip completely: the person’s feet pointed away from the pelvis, the target lifted both robot feet 20–44 cm, and the policy fell in all 59 runs. Without the target the same capture completed 58 of 59.

054. Equivalent arm configurations

With an arm raised sideways the shoulder is near gimbal lock, and two solves can land on configurations about 180° apart in joint space with the hand in the same place. Joint-angle error then reports 28° for a correct motion. Score shape with bone-direction error between body segments, which ignores how the IK represented it.

065. Floating and sliding feet

IK matches joint positions, not contact, so planted soles float up to 12 cm or dip below the floor. Contact-preserving retargeting such as OTRetarget (arXiv 2609.36602) addresses this. We added a contact pass after IK: soles held at the person’s foot clearance when planted, no penetration, joint limits inside the solve. The first version planted every foot and quietly moved the pelvis 8–35 cm on average to do it, which made the robot track worse; we had only measured the feet. With the pelvis path pinned, planted soles sit within 0.2–2.2 cm of the floor and tracking improved by 0.4–1.5 cm on four of four test clips (one seed).

07Checks to run before training

  • Joint velocity over the first second.
  • Sole height and sliding while the person’s foot is planted; maximum penetration.
  • How far any correction moved the pelvis.
  • Bone-direction error against the source, alongside joint-angle error.

Questions

What tool retargets human motion to a Unitree G1?

Whole-body IK tools such as GMR are a common starting point; contact-preserving methods such as OTRetarget add ground and object contact.

Why does my humanoid fall at the start of a clip?

Often a retargeting start-up transient: the solver needs a few frames to reach the first pose. Solve the first frame repeatedly before recording.

How should retargeted motion be scored?

Use bone-direction error between body segments as well as joint angles, because equivalent IK solutions can differ by large joint angles with the same body pose.