Open Source RoboticsRobots, software & learning

PHC

Software

Physics-based humanoid motion imitation in simulation, with distinct policy configurations for tracking and fall recovery. [1]

Installation & first result →Official websiteGetting started

For
Researchers studying simulated humanoid imitation [1]
Source rights
Some licenses are unresolved. Review licenses
Unknowns
operating system, compute requirements not fully established. Review gaps

Source researched · Not tested by us
Sources checked · Research details

Licenses & related hardware
License
BSD-3-Clause-Clear · license not fully assessed for model weights, datasets · Details by part

Requirements · Research details and dates

On this page

Overview

Perpetual Humanoid Control (PHC) studies physics-based motion imitation for simulated humanoids, including recovery from falls. It is useful for researchers who need a motion-tracking controller between reference poses and a simulated avatar. The repository also contains robot-specific work, but its avatar results do not by themselves establish physical humanoid performance. [1]

Is this for you?

Known limitations
  • Single-primitive mode lacks the documented failure-state recovery capability.
  • Released models use a modified SMPL coordinate convention.
  • Reported success depends on evaluation protocol and machine/batch settings.

[1]

What you need

Languages / runtimes
  • Python

[1]

Dependencies
  • Python 3.8 environment documented
  • PyTorch with CUDA 11.6 and Isaac Gym
  • SMPLSim and SMPL-related dependencies from Git branches
  • Separately obtained body models, motion data and checkpoints

[1] [2] [3]

Installation & first result

Open the upstream getting-started guide [1]

  • Prepare the documented Isaac Gym environment and licensed body models.
  • Retrieve the checkpoint pair and standing-motion sample matching one README evaluation command.
  • Begin with env.num_envs=1 and headless=False; confirm model, motion and coordinate settings agree.

Editorial assessment from cited documentation; no runtime testing.

[1] [3] · Editorial assessment

Installation

Follow the pinned README dependency setup, prepare body models and inspect download_data.sh for the chosen checkpoint and sample.

[1]

Hardware, models & data

Inputs and outputs

Reference motion and simulated humanoid observations drive learned control policies; evaluation measures tracking in simulation.

[1]

Project notes

Choose the policy before copying an evaluation command

PHC's single-primitive model can track motion without the full mixture, but upstream explicitly says it lacks failure-state recovery. Upstream describes the PHC+ keypoint configuration as able to get up and walk back; its rotation-plus-keypoint configuration can get up but not walk back. Keep the checkpoint, robot, observation settings and environment from one documented command together. [1]

For a first evaluation that needs both getting up and walking back, our suggested starting point is the README’s PHC+ keypoint command: exp_name=phc_comp_kp_2, the primitive checkpoint output/HumanoidIm/phc_kp_2/Humanoid.pth, robot=smpl_humanoid, env.obs_v=7 and env.num_prim=3. Its composer checkpoint is downloaded under output/HumanoidIm/phc_comp_kp_2/. Keep the complete command’s other settings, including the standing sample sample_data/amass_isaac_standing_upright_slim.pkl, env.num_envs=1 and headless=False. First prepare the documented Python 3.8, PyTorch/CUDA 11.6 and Isaac Gym environment, then obtain the body models and matching checkpoints. Inspect download_data.sh before using it: it fetches multiple policies and samples, rather than only the files needed for one example. These are upstream setup instructions, not a reproduced installation. [1] [3]

Coordinate conventions affect the result

The released models use a modified SMPL convention: gravity points along negative z and the humanoid faces positive x. The README calls out up_right_start and the conversion work needed when moving back to SMPL. Check this before interpreting a failed imitation as a policy defect. [1]

The reported AMASS results use a particular body shape, height adjustment and evaluation protocol. Upstream notes that batch size and machine setup can change results. We have not reproduced those success rates, and the inspected setup does not establish a minimum GPU-memory budget for a chosen workload. [1]

Check external artifacts separately

This profile pins commit 846988d433ce1f341e85ac6fbd2cd51911bb3341; no GitHub release was listed. Several dependencies follow Git branches, so the PHC commit alone is insufficient to reproduce the environment. [2] [6]

The source license is BSD-3-Clause-Clear and points to separate asset licenses. SMPL models, AMASS motions and externally hosted checkpoints are separate artifacts whose permissions are not established by the root code license. The download script documents those locations; it is not a license grant for them. [7] [1] [3]

We inspected source and made limited artifact-access checks. A sample-data request returned a partial binary response, while a checkpoint request reached a Google Drive download-confirmation page. Complete payloads, checksums and model loading were not verified. No training, simulator evaluation or hardware test was performed. [8]

What we checked

Source researched only; no installation, training, benchmark or physical hardware test performed. No affiliate links or reused media.

Not yet established

  • Requirements: operating system, host computer
  • Version-specific hardware compatibility (ecosystem tags alone do not establish it)

Updates

Upstream last updated
Aug 21, 2025 [6]
Latest release
Not established
Profile updated
Oct 17, 2026
Sources last checked
Oct 17, 2026
Next review
Nov 17, 2026
Reviewed revision
commit snapshot; no GitHub releases listed / 846988d433ce1f341e85ac6fbd2cd51911bb3341 · software repository

Source files and licenses

Simulation controller source is available under BSD-3-Clause-Clear; external weights, body models and datasets have separately unresolved rights.

LayerAvailability / license
softwareavailable · BSD-3-Clause-Clear
Repository materials only; external components retain their own terms. [7]
model weightsavailable · License not fully assessed
Upstream download location; check reached a Drive confirmation page. Full payload and independent weight permissions unverified. [3] [8]
datasetsavailable · License not fully assessed
Standing sample endpoint returned partial bytes; complete sample and external AMASS/SMPL rights not verified. [3] [8]
documentationavailable · BSD-3-Clause-Clear
Repository materials only; external components retain their own terms. [7]

References

Each source links to the exact revision we read. “Used for” shows where this page relies on it.

Correction guidance · Discussion is not enabled · Profile format 0.7.0-draft.5

Change history