UI はローカライズ済みです。スキルの紹介と説明文書は選択した言語へ AI が自動翻訳し、コード・コマンド・パス・専門用語は原文のままです。原作者の文書が優先されます。
スキルを探す
デザイン · SKILL.md

motion-retargeting

motion-retargeting

Prepare SMPL and AMASS assets, fit ASAP humanoid shapes and motions, validate robot motion assets, and visualize retargeted motion in MuJoCo.

Independent GitHub snapshot · Automated classification · Original documentation governs

スキルの説明

GitHub

name: motion-retargeting description: "Prepare SMPL and AMASS assets, fit ASAP humanoid shapes and motions, validate robot motion assets, and visualize retargeted motion in MuJoCo." disable-model-invocation: true metadata: disco-role: operating license: MIT

motion-retargeting

Use this sub-skill when an ASAP task is about turning SMPL or AMASS motion into robot motion .pkl files, checking robot XML/motion config assets, fitting a humanoid shape, retargeting motion, or visualizing retargeted motion with MuJoCo.

Run ASAP retargeting entry points from the repository checkout root. Run bundled validation helpers from the generated ASAP skill root with --repo-root <asap-checkout>. If the request is about policy training, checkpoint evaluation, or deployment/control rather than motion file preparation, route to the sibling skills instead.

When to use this sub-skill

  • Prepare SMPL model files under humanoidverse/data/smpl/.
  • Prepare AMASS-style .npz motion files for the ASAP retargeting scripts.
  • Check robot.motion config fields, MuJoCo XML, URDF, and mesh layout for a robot such as g1/g1_29dof_anneal_23dof.
  • Run fit_smpl_shape.py to create humanoidverse/data/shape/<humanoid_type>/shape_optimized_v1.pkl.
  • Run fit_smpl_motion.py to create per-motion joblib files under humanoidverse/data/motions/<humanoid_type>/TairanTestbed/singles/.
  • Run vis_q_mj.py with +visualize_motion_file=... to inspect the retargeted motion in MuJoCo.

Do not use this sub-skill for

  • PPO, motion-tracking, locomotion, or delta-action policy training. Use ../training-and-evaluation/SKILL.md.
  • ROS2, Unitree SDK, joystick, ONNX policy runtime, or live robot deployment. Use ../sim2real-deployment/SKILL.md.
  • Generic SMPL or AMASS conversion outside the ASAP/HumanoidVerse file layout unless the user explicitly wants to adapt files into ASAP's expected layout.

Required reading order

  1. Read the root ASAP router and install guidance first: ../../SKILL.md and ../../references/install-and-backends.md.
  2. Read references/workflows.md for the five-step retargeting flow and exact commands.
  3. Read references/data-formats.md before changing file names, joblib keys, or robot config values.
  4. Run the bundled safe checker before expensive fitting:
python sub-skills/motion-retargeting/scripts/validate_motion_assets.py \
  --repo-root <asap-checkout> \
  --robot g1/g1_29dof_anneal_23dof \
  --check-raw
  1. If an error occurs, read references/troubleshooting.md, then the root troubleshooting page ../../references/troubleshooting.md for shared install, Hydra, and backend issues.

Fast command map

Preflight current G1 assets and a known retargeted motion file:

python sub-skills/motion-retargeting/scripts/validate_motion_assets.py \
  --repo-root <asap-checkout> \
  --robot g1/g1_29dof_anneal_23dof \
  --motion-file humanoidverse/data/motions/g1_29dof_anneal_23dof/TairanTestbed/singles/0-motions_raw_tairantestbed_smpl_video_side_jump_level4_filter_amass.pkl \
  --check-raw

Fit robot shape after SMPL files are present:

python scripts/data_process/fit_smpl_shape.py +robot=g1/g1_29dof_anneal_23dof

Fit motions after the shape file and raw .npz motion files are present:

python scripts/data_process/fit_smpl_motion.py +robot=g1/g1_29dof_anneal_23dof

Visualize one retargeted output:

python scripts/vis/vis_q_mj.py \
  +robot=g1/g1_29dof_anneal_23dof \
  +visualize_motion_file="humanoidverse/data/motions/g1_29dof_anneal_23dof/TairanTestbed/singles/0-motions_raw_tairantestbed_smpl_video_side_jump_level4_filter_amass.pkl"

Dependency and asset gates

  • The fitting scripts require the normal ASAP Python dependencies plus external smpl_sim. ASAP's package metadata includes hydra-core, lxml, joblib, numpy-stl, open3d, and other scientific dependencies, but smpl_sim is a separate required dependency for shape and motion fitting.
  • fit_smpl_shape.py and fit_smpl_motion.py import smpl_sim.smpllib.smpl_parser, smpl_sim.smpllib.smpl_joint_names, and, for motion fitting, smpl_sim.utils.smoothing_utils.
  • The bundled checker intentionally avoids importing ASAP or smpl_sim; it validates file layout and joblib structure without running optimization.

Expected outputs

  • Shape fit output: humanoidverse/data/shape/g1_29dof_anneal_23dof/shape_optimized_v1.pkl.
  • Retargeted single-motion outputs: humanoidverse/data/motions/g1_29dof_anneal_23dof/TairanTestbed/singles/<motion-key>.pkl.
  • A retargeted .pkl is a joblib-loaded dictionary. For directory-mode consumers, each file's top-level key should match the file stem. See references/data-formats.md.

Cross-links

保存したスキル