The open standard for training, benchmarking, and composing humanoid skills in simulation.
HTS is building the missing infrastructure layer in humanoid robotics: a standardized, open ecosystem for skill learning — from locomotion and manipulation to choreography and social gestures.
If large companies are building humanoid hardware,
HTS is building the open intelligence layer.
There is no unified open standard for humanoid skill training.
HTS provides:
- Structured humanoid task packs (
task.yaml) - Reproducible RL + imitation learning baselines
- Standardized evaluation harness + metrics
- Composable high-level skill API
- Simulation-first, sim-to-real-ready architecture
Mission:
Make humanoid skill research accessible to anyone with a laptop.
- Automatic task discovery via standardized task specification
- Dual control interface:
low_leveljoint controlhigh_levelskill abstraction
- PPO and Behavior Cloning baselines
- Deterministic seeding for reproducibility
- CI-tested development workflow
- Extensible simulator abstraction (MuJoCo-first backend)
Planned milestones:
- Visual observation wrapper (RGB + depth)
- Sim-to-real hardware bridge (abstract interface + reference adapters)
- Vision-conditioned policy examples
- Expanded task packs (kitchen, dance, locomotion)
- Benchmark leaderboard export
- Multi-simulator backend support
HTS does not include combat or violent tasks.
Starter packs focus on non-violent locomotion, manipulation, and choreography.
See docs/safety_policy.md.
Create a virtual environment and install in editable mode:
python -m venv .venv
source .venv/bin/activate # Windows PowerShell: .venv\Scripts\Activate.ps1
pip install -e .[dev]
pre-commit install
Train a PPO policy on a starter task:
hts train task=starter_pack/pick_and_place algo=ppo
Evaluate a trained checkpoint:
hts eval task=starter_pack/pick_and_place checkpoint=artifacts/ppo_latest.pt
Run a scripted demo:
hts demo task=starter_pack/reach_object
Task packs live under:
src/hts_tasks/packs/<pack_name>/<task_name>/task.yaml
To create a new task:
- Copy the
task_template/directory. - Modify
task.yamlwith task metadata and reward specification. - Optionally implement a scripted expert in
expert_policy.py. - Add a matching config under
configs/task/.
See docs/add_task_5min.md for a step-by-step guide.
src/
hts_core/ # env API, simulator abstraction, metrics, wrappers, CLI
hts_tasks/ # task packs, task loader, task logic
hts_baselines/ # PPO and BC
hts_datasets/ # demo format + converters
hts_eval/ # evaluation harness and reports
hts_bridge/ # sim-to-real bridge (in progress)
configs/ # Hydra configs
examples/ # end-to-end scripts
docs/ # documentation
tests/ # smoke and determinism tests
- Deterministic seeds for
numpy,torch, and Gym environments - Hydra config snapshots per run
- JSON + Markdown evaluation reports
Contributions are welcome.
See CONTRIBUTING.md for guidelines and task_template/ for adding new humanoid tasks.
HTS is early and actively evolving.
If you want to contribute:
- Start with issues labeled
good-first-issue - Comment on an issue before opening a PR
- Follow
CONTRIBUTING.mdguidelines - Join roadmap discussions in Issues
Areas especially welcome:
- New task packs
- Vision integration
- Sim-to-real adapters
- Benchmark experiments
Apache-2.0 (LICENSE)