You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add mesh_detail attribute to select gripper mesh resolution
The gripper's Geometries() mesh doubles as the motion-planning collision
geometry, so it was decimated to keep planning responsive. Add a
mesh_detail attribute ("high" / "low", default "low") to both gripper
models so a full-resolution gripper and a decimated one can run on the
same machine for a planning/visual side-by-side.
- meshes/gripper/ now holds high/ and low/ variants of each PLY;
gen_gripper_meshes.py emits both detail levels.
- meshes.go embeds meshes/gripper as an embed.FS; buildGripperMeshes
reads the PLY for the requested detail level.
- mesh_detail added to SO101GripperConfig and SO101SimulatedGripperConfig
(validated; defaults to "low" so existing configs are unchanged).
Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
Copy file name to clipboardExpand all lines: README.md
+2Lines changed: 2 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -293,6 +293,7 @@ Follow the [arm setup steps](#first-time-arm-setup) to learn how to set up the a
293
293
|`servo_id`| int | Optional | The servo ID for the gripper. Default is `6`. |
294
294
|`timeout`| duration | Optional | Communication timeout. Default is system default. |
295
295
|`gripper_type`| string | Optional | Which gripper meshes `Geometries()` serves for the 3D viewer: `follower` (moving jaw, default) or `leader` (thumb-loop handle + trigger). The moving part articulates with the live gripper opening. |
296
+
|`mesh_detail`| string | Optional | Gripper mesh resolution: `low` (decimated, the default) or `high` (full resolution). `Geometries()` is also the motion-planning collision geometry, so `low` keeps planning fast; `high` is mainly for visual comparison. |
296
297
297
298
### Communication
298
299
@@ -382,6 +383,7 @@ All attributes are optional, so the simulated gripper works with an empty config
|`gripper_type`| string | Optional | Which gripper meshes to serve: `follower` (moving jaw, the default) or `leader` (thumb-loop handle + trigger). |
386
+
|`mesh_detail`| string | Optional | Gripper mesh resolution: `low` (decimated, the default) or `high` (full resolution). The mesh is also the motion-planning collision geometry, so `low` keeps planning fast; set `high` on a second gripper for a visual side-by-side. |
0 commit comments