Skip to content

Abnormal G1 steering behavior with SMP motion prior trained on larger retargeted LaFAN1 dataset #115

Description

@yanzhuohao123

Hi, I am trying to migrate SMP to the Unitree G1 robot, but I encountered an issue when training the steering task.

When I train the motion prior using a larger set of retargeted LaFAN1 locomotion motions:

motions:
  - file: "data/motions/lafan1_g1/run1_subject2.pkl"
    weight: 1.0
  - file: "data/motions/lafan1_g1/run1_subject5.pkl"
    weight: 1.0
  - file: "data/motions/lafan1_g1/run2_subject1.pkl"
    weight: 1.0
  - file: "data/motions/lafan1_g1/run2_subject4.pkl"
    weight: 1.0
  - file: "data/motions/lafan1_g1/sprint1_subject2.pkl"
    weight: 1.0
  - file: "data/motions/lafan1_g1/sprint1_subject2.pkl"
    weight: 1.0
  - file: "data/motions/lafan1_g1/walk1_subject1.pkl"
    weight: 1.0
  - file: "data/motions/lafan1_g1/walk1_subject2.pkl"
    weight: 1.0
  - file: "data/motions/lafan1_g1/walk1_subject5.pkl"
    weight: 1.0
  - file: "data/motions/lafan1_g1/walk2_subject1.pkl"
    weight: 1.0
  - file: "data/motions/lafan1_g1/walk2_subject3.pkl"
    weight: 1.0
  - file: "data/motions/lafan1_g1/walk2_subject4.pkl"
    weight: 1.0
  - file: "data/motions/lafan1_g1/walk3_subject1.pkl"
    weight: 1.0
  - file: "data/motions/lafan1_g1/walk3_subject2.pkl"
    weight: 1.0
  - file: "data/motions/lafan1_g1/walk3_subject3.pkl"
    weight: 1.0
  - file: "data/motions/lafan1_g1/walk3_subject4.pkl"
    weight: 1.0
  - file: "data/motions/lafan1_g1/walk3_subject5.pkl"
    weight: 1.0
  - file: "data/motions/lafan1_g1/walk4_subject1.pkl"
    weight: 1.0

the downstream G1 steering task produces very strange walking behavior. This happens even when I sample g1_run.pkl and g1_walk.pkl as the initial motions for the downstream task.

2026-05-29.15-36-18.mov

However, if I train the motion prior using only the following two G1-specific motions:

motions:
  - file: "data/motions/g1/g1_walk.pkl"
    weight: 1.0
  - file: "data/motions/g1/g1_run.pkl"
    weight: 1.0

the downstream steering behavior looks much more normal.

2026-06-01.09-58-35.mov

I would like to ask whether this is expected when the motion prior is trained on a larger and more diverse motion dataset. Could the larger motion prior dataset make the learned prior distribution too broad, noisy, or difficult for the downstream steering policy to use effectively, especially for a robot like Unitree G1?

I also wonder whether SMP may suffer from a similar mode collapse issue as AMP. In AMP, the policy can sometimes exploit the discriminator reward or converge to only a small subset of the demonstrated motion distribution. Does SMP have a similar failure mode when the motion prior dataset contains multiple locomotion styles, such as walking, running, and sprinting? For example, could the downstream policy collapse to an unnatural or mixed gait instead of selecting a stable walking/running mode?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions