Agent evaluation

amazon-far/

php_parkour

Research code for teaching humanoid robots vision-based parkour by chaining atomic human motion clips with RL distillation.

What’s new here

PHP (Perceptive Humanoid Parkour) is the code release for an RSS 2026 paper from Amazon FAR and collaborators. It trains a humanoid robot to navigate obstacle courses using only onboard depth sensing. The key architectural choice is separating motion composition from policy learning: motion matching assembles retargeted human skill clips offline into long trajectories, then two RL stages (teacher with privileged state, student with depth only) produce a deployable ONNX policy.

What it does

The framework has three workflows, each with its own guide:

  • Motion matching: composes retargeted atomic skills (locomotion, low step, high step, low climb, high climb) into long-horizon trajectory datasets. Requires Conda (no IsaacSim).
  • Training and evaluation: trains RL teacher policies against those trajectories, then distills a depth-based student with DAgger + RL. Requires Linux, NVIDIA GPU, and IsaacSim.
  • Sim2sim: runs the exported ONNX policy pair in MuJoCo via Holosoma. The student release provides sanitized depth_backbone.onnx and student.onnx files verified against release-assets.json.

Prebuilt motion datasets (locomotion, low/high step, low/high climb) ship as .tar.gz release assets so you can start training without generating your own.

Who it’s for

Robotics researchers working on humanoid locomotion and sim-to-real transfer. Also useful for researchers studying multi-skill RL distillation or motion retargeting pipelines. The sim2sim path with prebuilt ONNX weights is approachable without full training infrastructure.

Try it

Requirements: Conda for motion matching; Linux with NVIDIA GPU and IsaacSim for training; Holosoma’s MuJoCo and inference environments for sim2sim.

Clone with submodules:

git clone --recurse-submodules https://github.com/amazon-far/php_parkour.git
cd php_parkour

To run the demo student policy in MuJoCo, download the validated ONNX pair from the student release:

python scripts/download_assets.py student

Files download to ~/.cache/php-parkour/student by default; pass --destination DIR to change the path. Then follow the sim2sim guide.

Prebuilt motion datasets are available as release assets: php-motions-locomotion-v1.tar.gz, php-motions-low-step-v1.tar.gz, php-motions-high-step-v1.tar.gz, php-motions-low-climb-76-v1.tar.gz, and php-motions-high-climb-76-v1.tar.gz.

How mature is it

218 stars, 19 forks, 4 contributors, 3 releases (latest: training-motion-examples-v1, 2026-10-08), 20 commits in the last 90 days, 1 open issue, 0 open PRs. Created 2026-09-30. Licensed Apache-2.0.