Skip to content

Ship an optional flat-bottomed sole hull for lite_biped - #24

Merged
T-K-233 merged 1 commit into
mainfrom
feat/foot-hull
Oct 10, 2026
Merged

T-K-233 merged 1 commit into
mainfrom
feat/foot-hull

Conversation

@T-K-233

@T-K-233 T-K-233 commented Oct 9, 2026 •

Copy link
Copy Markdown
Member

Adds meshes/collision/<side>_foot_hull.stl to lite_biped: the convex hull of the shoe up to 25 mm above the sole, with 32 vertices and an exactly flat bottom (one 10-vertex polygon, 105 cm²). The MJCF does not reference it, so the seven sole capsules stay the default. lite-motion-tracking#7 trains on it.

  • get_foot_hull_path(variant, side) returns the STL. The README shows how to replace the capsules with it.
  • lite-description-foot-hull lite_biped builds the hull again from the shoe mesh in the MJCF.
  • lite and lite_pro have the same shoe, but they ship no hull, because no consumer uses one.

Hull against the capsules

Measured on lite_biped. Drops are of a free 8 kg foot, 256 per case:

7 sole capsules Sole hull
Geoms per foot 7 1
Stays on a step edge (side over the edge, centre over the step) 97% 93–95%
Lands turned over on ±2 cm bumps 23–24% 23–29%
Env step, biped velocity task on flat ground (4096 envs, A4500) 27.8 ms 29.1 ms

Test plan

  • pytest: 1609 passed, 36 skipped. The 4 hull tests check that the bottom is one level face on the plane where the capsules bottom out, that the two sides mirror, and that lite_biped_debug has no hull.
  • lite-description-foot-hull lite_biped gives the committed hulls again, byte for byte.
  • With lite-motion-tracking#7, the lite_biped spec compiles with the hull, with the mass of the capsule spec (11.48 kg).

🤖 Generated with Claude Code

https://claude.ai/code/session_01HpFUBhqSfbDuibPRVhscr9

@T-K-233 T-K-233 mentioned this pull request Oct 9, 2026
7 of 8 tasks
Base automatically changed from feat/collider-refit to main October 10, 2026 00:12
meshes/collision/<side>_foot_hull.stl is the convex hull of the shoe up
to 25 mm above the sole, with 32 vertices. Its bottom is exactly flat:
one 10-vertex polygon on the sole plane (105 cm2). A plain simplified
hull put part of the sole on a facet that tilts by up to 3 deg, because
one outline vertex was 0.37 mm off the plane.

The MJCF does not reference the hull, so the capsules stay the default.
A consumer gets the hull from get_foot_hull_path() and replaces the
capsules of each foot with it. lite-description-foot-hull builds the
hull again from the shoe mesh in the MJCF.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HpFUBhqSfbDuibPRVhscr9
@T-K-233 T-K-233 changed the title Ship an optional flat-bottomed sole hull for the shoe Ship an optional flat-bottomed sole hull for lite_biped Oct 10, 2026
@T-K-233
T-K-233 merged commit 9d3cb1e into main Oct 10, 2026
2 checks passed
@T-K-233
T-K-233 deleted the feat/foot-hull branch October 10, 2026 07:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant