Asimov 1 forward jump (motion tracking)

Forward jump from CMU mocap 13_11, retargeted to Asimov 1 and played at physical timing; BeyondMimic-style motion tracking trained with PPO in Isaac Lab. In Isaac Sim it falls in 1 of 1024 randomised runs (3 of 1024 with random pushes). In MuJoCo, on the published Asimov 1 model, it completes the jump, also with 25 ms motor delay, the weakest motor torque curve and foot friction 0.4.

A motion tracking policy: it makes Asimov 1 follow one reference motion, cmu_13_11_forward_jump_froude_nolift.npz, frame by frame. It reads the motion at run time, so the motion file is part of the policy.

Files

  • policy.onnx: the policy, from obs (1, 124) to actions (1, 23). It includes its observation normalisation.
  • cmu_13_11_forward_jump_froude_nolift.npz: the reference motion at 50 Hz, 2.74 s long. joint_pos and joint_vel are in the policy's joint order (joint_names); body_pos_w and body_quat_w (w, x, y, z) give every link's pose, the first being the pelvis.
  • env.yaml and agent.yaml: the training task and PPO settings, including the joint order, default pose, PD gains and effort limits.

Running it

Start with the robot in the motion's first pose. Then every 20 ms, for frame t = 0, 1, 2, ... of the motion:

  1. Build the observation, 124 values in this order:
    • the motion's joint positions (23) and joint velocities (23) at frame t;
    • the motion's pelvis orientation in the robot's pelvis frame, as the first two columns of the rotation matrix, row by row (6);
    • the pelvis angular velocity in the pelvis frame, from the IMU (3);
    • the joint positions minus the default pose (23), and the joint velocities (23);
    • the previous action (23), zeros at the start.
  2. Send joint position targets of default pose + 0.25 x action to the PD controllers.

At the motion's end, hold the last pose or hand over to another policy.

Status

Checkpoint model_3300.pt. Trained in simulation (Isaac Lab) only. Check it with ./cyclotron.sh --evaluate and --sim2sim before running it on a robot. ./cyclotron.sh --view plays velocity policies, not this one.

Reference motion

The jump motion in cmu_13_11_forward_jump_froude_nolift.npz was obtained from mocap.cs.cmu.edu: motion 13_11 (forward jump) of the CMU Graphics Lab Motion Capture Database, retargeted to Asimov 1 with SOMA Retargeter.

Training and evaluation code: Dene33/cyclotron/tree/motion-tracking.

Downloads last month
12
Video Preview
loading