Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
43 changes: 38 additions & 5 deletions docs/source/_static/robots/dexforcew1_render.json
Original file line number Diff line number Diff line change
Expand Up @@ -167,17 +167,50 @@
"RIGHT_J7": 0.0
},
"rendered_from_catalog": true,
"image_sha256": "58d18c9a35ad390576a3928a4ff755c633fb88351935c41d7582953ca7ed4f7e",
"image_sha256": "4532f067e0717390cbdf020b7d0fbcf1c56affdff7176552259b9dd4a809dfc8",
"asset": {
"dataset_id": "DexforceW1V030",
"cache_prefix": "DexforceW1V030",
"repo_id": "DexForceAI/embodichain_data",
"repo_type": "dataset",
"revision": "3544bad4b6f8c7bc4b3263473b4a04e18db20fff",
"revision": "cbaab0e32fdee1c9ecc6e69a1561f9a7b8851e29",
"path": "dexforce_w1/v030/w1.zip",
"md5": "74ff7e835160f7309d32ade116172c52",
"sha256": "2cd4b2dbdfa5cbd3238d16e23d927f03a8e7c06f42a29846c633f60a636fc0e5"
}
"md5": "c3fa8994563f729a0e8387e2129a28c1",
"sha256": "5ee5109781efde2c1b57e9d5a544f4eec4dcfd2f591832bd4cb4edf873a51286",
"material_alignment": {
"source_asset": {
"repo_id": "DexForceAI/embodichain_data",
"repo_type": "dataset",
"revision": "3544bad4b6f8c7bc4b3263473b4a04e18db20fff",
"path": "dexforce_w1/v030/w1.zip",
"md5": "74ff7e835160f7309d32ade116172c52",
"sha256": "2cd4b2dbdfa5cbd3238d16e23d927f03a8e7c06f42a29846c633f60a636fc0e5"
},
"reference_variant": "v021/BrainCo",
"yellow_srgb": [
248,
195,
73
],
"black_srgb": [
46,
46,
46
],
"roughness": 0.408248290463863,
"metallic": 0.0,
"baked_shell_normals": false,
"baked_grille_normals": false,
"geometry_modified": false
}
},
"capture_date": "2026-10-24",
"runtime": {
"dexsim": "0.5.1+18e1c7f5902ecf20c103ab6d5153528d43395dbd",
"torch": "2.7.1+cu128",
"gpu": "NVIDIA GeForce RTX 5090"
},
"source_commit": "54870f2549ff4a0363dbb18c5d1fa57fd8e744c3"
}
},
"source_worktree_modified": true,
Expand Down
Binary file modified docs/source/_static/robots/dexforcew1_v030.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
5 changes: 5 additions & 0 deletions docs/source/resources/robot/dexforce_w1.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,13 +19,18 @@ Both images are captured from the registered robot presets using the same
camera, bent-elbow display pose and current `RenderCfg(renderer="rt")`
defaults (OfflineRT), with default scene lighting.
The display pose is for illustration; it does not change the preset home pose.
V030 uses the V021 yellow (`#F8C349`) and dark
(`#2E2E2E`) plastic palette with matching roughness, retaining V030 geometry
and markings.

:::{dropdown} Image rendering settings
960 × 1200; 1 sample per pixel; DLSS offscreen reconstruction (quality 2);
tone mapping off; exposure 1.0; path depths 4–8. The scene uses the default
ground and environment emission, with no added direct lights. Camera settings,
joint positions and the V030 asset revision are recorded in the
[render manifest](../../_static/robots/dexforcew1_render.json).
The manifest also records the V021 material parameters and the published
archive checksums.
:::

## Supported Body Revisions
Expand Down
7 changes: 4 additions & 3 deletions embodichain/data/assets/w1_assets.py
Original file line number Diff line number Diff line change
Expand Up @@ -158,8 +158,9 @@ class DexforceW1V030(EmbodiChainDataset):

The archive is published at ``dexforce_w1/v030/w1.zip`` with
``w1/robot.urdf`` and the five component URDFs. Component visuals and
inertials match the corrected full body. Wrist camera and gripper assets
belong to independently assembled attachments.
inertials match the corrected full body. Its yellow and dark plastic
materials match V021. Wrist camera and gripper assets belong to independently
assembled attachments.

Args:
data_root: Download and extraction cache root. Defaults to the configured
Expand All @@ -169,7 +170,7 @@ class DexforceW1V030(EmbodiChainDataset):
def __init__(self, data_root: str | None = None) -> None:
descriptor = o3d.data.DataDescriptor(
os.path.join(EMBODICHAIN_DOWNLOAD_PREFIX, w1_assets, "v030", "w1.zip"),
"74ff7e835160f7309d32ade116172c52",
"c3fa8994563f729a0e8387e2129a28c1",
)
path = EMBODICHAIN_DEFAULT_DATA_ROOT if data_root is None else data_root
super().__init__(type(self).__name__, descriptor, path)
Expand Down
Loading