Skip to content

Conversation

@erd0s
Copy link

@erd0s erd0s commented Jan 1, 2026

Summary

The skeleton model (based on OpenSim Hamner2010) has a 90-degree X-axis rotation baked into the pelvis quaternion (quat="0.7071, 0.7071, 0, 0"), which differs from the standard robotics conventions used by other supported robots (G1, T1, etc.).

This PR updates the quaternion offsets in bvh_lafan1_to_skeleton.json to compensate for the skeleton's rotated coordinate frame:

  • Pelvis/Torso: [0.5, 0.5, 0.5, 0.5][0.707, 0, 0.707, 0] (90° Y-rotation to compensate for 90° X pre-rotation)
  • Legs (femur/tibia): [-0.5, 0.5, 0.5, -0.5][0.707, 0.707, 0, 0] (90° X-rotation for Z-axis joint flexion)
  • Feet (toes): [-0.707, 0.707, 0, 0][0, 1, 0, 0] (180° X-rotation for foot orientation)
  • Arms (humerus): [0.5, 0.5, -0.5, -0.5][0, 0.707, 0, 0.707] (aligned with rotated torso frame)
  • Enable use_ik_match_table1 for two-stage IK convergence
  • Fix body name consistency (radius_lhand_l)

Test plan

  • Run BVH retargeting with skeleton model and verify motion alignment
  • Verify pelvis faces forward direction during motion
  • Verify limb orientations match human motion data
  • Check IK convergence stability

🤖 Generated with Claude Code

tomstewart-woven and others added 3 commits December 30, 2025 22:45
The skeleton model (based on OpenSim Hamner2010) has a 90-degree X-axis
rotation baked into the pelvis quaternion, which differs from standard
robotics conventions used by other supported robots (G1, T1, etc.).

Changes:
- Update quaternion offsets for all body parts to compensate for the
  skeleton's rotated coordinate frame
- Pelvis/Torso: [0.5,0.5,0.5,0.5] -> [0.707,0,0.707,0] (90° Y-rotation)
- Legs: [-0.5,0.5,0.5,-0.5] -> [0.707,0.707,0,0] (90° X for Z-axis joints)
- Feet: [-0.707,0.707,0,0] -> [0,1,0,0] (180° X for foot orientation)
- Arms: [0.5,0.5,-0.5,-0.5] -> [0,0.707,0,0.707] (aligned with rotated torso)
- Enable use_ik_match_table1 for two-stage IK convergence
- Fix body name consistency (radius_l -> hand_l)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants