Policies trained on DTMR references, on a Unitree G1 and a Booster K1. Real time.
Robots differ in size, mass and actuation, so the same motion needs a different timing on each. DTMR optimizes timing and control jointly, per robot.
DTMR transfers arbitrary human motion to arbitrary robots and scales to a dataset: for example, two hours of human motion retargeted to four humanoids. 72 clips per robot, physics rollouts, real time.
Slowing a motion down changes the control it needs, and vice versa.
The progress through the source motion is one more state and its rate one more action: one sampling-based MPC optimizes timing and control together.
Track the reference subject to the dynamics.
Progress φ becomes a state, its rate an action.
Control and timing in one MPC problem.
Both videos run on one wall clock. Left: DTMR in simulation, coloured by its local time-scale: blue where the robot moves slower than the source motion, orange where it moves faster. The translucent ghost is the kinematic reference on the source clock, so the gap between robot and ghost is the time warp. Right: the real Unitree G1 executing the same motion in real time.
One tracking policy per retargeter, rolled out on its own references. Orange ghost: reference; solid: policy; DTMR in green.
The temporal baseline warps a whole segment with one time-scale; DTMR stretches only where the dynamics require it.
Source 5.9 s · baseline 11.0 s · DTMR 6.4 s
One weight sets how much DTMR may deform the timeline: lower means more deformation and better tracking.