Openness score
A count of what is public, weighted by how much it takes to rebuild or retrain the robot without its maker. It reads from the robot’s package record; nobody scores a robot by hand. It measures openness, not quality or capability.
01
Formula
weights from @hs/registryscore = 25·cad + 20·bom + 20·sim + 15·firmware + 10·software + 10·policies
where each term is 1 if public, 0 if not
range 0 … 10002
Weights
| Artifact | Counts as public when | Weight | Robots |
|---|---|---|---|
| CADopenness.cad | Mechanical CAD for the robot is published in an editable or printable form. | 25 | 13 |
| Bill of materialsopenness.bom | A bill of materials with part names and quantities is public. | 20 | 12 |
| Sim model (URDF/MJCF)openness.sim | A URDF or MJCF model is public, so the robot can be simulated without the maker. | 20 | 31 |
| Firmwareopenness.firmware | Source for the joint or board firmware is public. | 15 | 12 |
| Softwareopenness.software | The robot's control or SDK software is public. | 10 | 29 |
| Trained policiesopenness.policies | Trained control policies (e.g. locomotion) or their training code are public. | 10 | 11 |
Robots column: humanoids in the atlas with that artifact public, of 52.
03
Tiers used by the index filter
| Open hardware | CAD and BOM both public. | 12 |
| Partly open | At least one artifact public, but not both CAD and BOM. | 20 |
| Closed | Nothing public. Score 0. | 20 |
04
Distribution
median 30 · n=521005
903
853
702
452
403
3011
203
020
05
All humanoids by score
ties ordered by maker, then name · 2026-09-26| # | Robot | Score | CAD | BOM | SIM | FW | SW | POL | Tier |
|---|---|---|---|---|---|---|---|---|---|
| 001 | Hyperspawn Dropbear | +25 | +20 | +20 | +15 | +10 | +10 | Open hardware | |
| 002 | K-Scale K-Bot | +25 | +20 | +20 | +15 | +10 | +10 | Open hardware | |
| 003 | RoboParty ROBOTO_ORIGIN | +25 | +20 | +20 | +15 | +10 | +10 | Open hardware | |
| 004 | Stanford ToddlerBot | +25 | +20 | +20 | +15 | +10 | +10 | Open hardware | |
| 005 | UC Berkeley Humanoid Lite | +25 | +20 | +20 | +15 | +10 | +10 | Open hardware | |
| 006 | K-Scale Z-Bot (Zeroth Bot) | +25 | +20 | +20 | +15 | +10 | 0 | Open hardware | |
| 007 | Poppy Humanoid | +25 | +20 | +20 | +15 | +10 | 0 | Open hardware | |
| 008 | The HopeJR | +25 | +20 | +20 | +15 | +10 | 0 | Open hardware | |
| 009 | AgiBot Lingxi X1 | +25 | +20 | +20 | 0 | +10 | +10 | Open hardware | |
| 010 | Duke Humanoid v1 | +25 | +20 | +20 | 0 | +10 | +10 | Open hardware | |
| 011 | Fourier N1 | +25 | +20 | +20 | 0 | +10 | +10 | Open hardware | |
| 012 | Gael InMoov | +25 | +20 | 0 | +15 | +10 | 0 | Open hardware | |
| 013 | Menlo Asimov 1 | +25 | 0 | +20 | +15 | +10 | 0 | Partly open | |
| 014 | Pollen Reachy 2 | 0 | 0 | +20 | +15 | +10 | 0 | Partly open | |
| 015 | ROBOTIS OP3 | 0 | 0 | +20 | +15 | +10 | 0 | Partly open | |
| 016 | Unitree G1 | 0 | 0 | +20 | 0 | +10 | +10 | Partly open | |
| 017 | Unitree H1 | 0 | 0 | +20 | 0 | +10 | +10 | Partly open | |
| 018 | Unitree H1-2 | 0 | 0 | +20 | 0 | +10 | +10 | Partly open | |
| 019 | Booster K1 | 0 | 0 | +20 | 0 | +10 | 0 | Partly open | |
| 020 | Booster T1 | 0 | 0 | +20 | 0 | +10 | 0 | Partly open | |
| 021 | EngineAI PM01 | 0 | 0 | +20 | 0 | +10 | 0 | Partly open | |
| 022 | Fourier GR-1 | 0 | 0 | +20 | 0 | +10 | 0 | Partly open | |
| 023 | Fourier GR-2 | 0 | 0 | +20 | 0 | +10 | 0 | Partly open | |
| 024 | Leju Kuavo | 0 | 0 | +20 | 0 | +10 | 0 | Partly open | |
| 025 | PAL Kangaroo | 0 | 0 | +20 | 0 | +10 | 0 | Partly open | |
| 026 | PAL TALOS | 0 | 0 | +20 | 0 | +10 | 0 | Partly open | |
| 027 | Rainbow Robotics RB-Y1 | 0 | 0 | +20 | 0 | +10 | 0 | Partly open | |
| 028 | UC Berkeley Humanoid | 0 | 0 | +20 | 0 | +10 | 0 | Partly open | |
| 029 | Unitree R1 | 0 | 0 | +20 | 0 | +10 | 0 | Partly open | |
| 030 | Agility Cassie | 0 | 0 | +20 | 0 | 0 | 0 | Partly open | |
| 031 | Apptronik Apollo | 0 | 0 | +20 | 0 | 0 | 0 | Partly open | |
| 032 | PNDbotics Adam Lite | 0 | 0 | +20 | 0 | 0 | 0 | Partly open | |
| 033 | 1X NEO | 0 | 0 | 0 | 0 | 0 | 0 | Closed | |
| 034 | AgiBot A2 (Yuanzheng) | 0 | 0 | 0 | 0 | 0 | 0 | Closed | |
| 035 | Agility Digit | 0 | 0 | 0 | 0 | 0 | 0 | Closed | |
| 036 | Boston Atlas (electric) | 0 | 0 | 0 | 0 | 0 | 0 | Closed | |
| 037 | Boston Atlas (hydraulic) | 0 | 0 | 0 | 0 | 0 | 0 | Closed | |
| 038 | Engineered Ameca | 0 | 0 | 0 | 0 | 0 | 0 | Closed | |
| 039 | Figure 02 | 0 | 0 | 0 | 0 | 0 | 0 | Closed | |
| 040 | Figure 03 | 0 | 0 | 0 | 0 | 0 | 0 | Closed | |
| 041 | Galbot G1 | 0 | 0 | 0 | 0 | 0 | 0 | Closed | |
| 042 | Humanoid HMND 01 | 0 | 0 | 0 | 0 | 0 | 0 | Closed | |
| 043 | Kepler Forerunner K2 "Bumblebee" | 0 | 0 | 0 | 0 | 0 | 0 | Closed | |
| 044 | MenteeBot | 0 | 0 | 0 | 0 | 0 | 0 | Closed | |
| 045 | NEURA 4NE1 | 0 | 0 | 0 | 0 | 0 | 0 | Closed | |
| 046 | Noetix Bumi | 0 | 0 | 0 | 0 | 0 | 0 | Closed | |
| 047 | Noetix N2 | 0 | 0 | 0 | 0 | 0 | 0 | Closed | |
| 048 | PUDU D9 | 0 | 0 | 0 | 0 | 0 | 0 | Closed | |
| 049 | Sanctuary Phoenix | 0 | 0 | 0 | 0 | 0 | 0 | Closed | |
| 050 | Tesla Optimus | 0 | 0 | 0 | 0 | 0 | 0 | Closed | |
| 051 | UBTech Walker S (S1 / S2) | 0 | 0 | 0 | 0 | 0 | 0 | Closed | |
| 052 | XPeng IRON | 0 | 0 | 0 | 0 | 0 | 0 | Closed |
06
Verification ladder (separate from openness)
| L0 | Indexed | Known to exist. Atlas page only. | 20 |
| L1 | Compiled | Package validates against the spec; every fact has a source. | 18 |
| L2 | Sim-verified | Loads in browser and GPU sim, mass within tolerance of the BOM, holds a stand. Unlocks .training. | 14 |
| L3 | Sourced | Every BOM line resolves to a live offer in at least two regions. Unlocks the one-click cart. | 0 |
| L4 | Built | At least one community build report with photos and bring-up logs. Unlocks Build it as the main action. | 0 |
| L5 | Certified | The robot's maintainer signs the package. Unlocks certified teams and kit sales. | 0 |
Openness says what is public. The level says what has been verified with evidence. A closed robot can sit at L2 because its sim model is public and loads; an open one can sit at L1 until someone proves it builds.