feat: add demo_object_mesh_vis.py with visual mesh rendering#4
Open
alexhegit wants to merge 3 commits into
Open
feat: add demo_object_mesh_vis.py with visual mesh rendering#4alexhegit wants to merge 3 commits into
alexhegit wants to merge 3 commits into
Conversation
Add explicit ROCm 7.2 support via uv extras while preserving the existing CUDA workflow (uv sync picks up PyPI CUDA wheels on Linux). Changes: - pyproject.toml: Add rocm extra with ROCm 7.2 index routing, conflict resolution (rocm + end2end are mutually exclusive), remove torch-backend=auto in favor of explicit [tool.uv.sources] index routing, relax torch upper bound to allow ROCm 2.12+ wheels - AGENTS.md: Add ROCm support documentation with what works / what doesn't Verified on AMD Radeon PRO W7900 (48GB VRAM) + ROCm 7.2: - torch==2.12.0+rocm7.2 detects GPU correctly - ptv3_vanilla backbone forward pass runs on GPU - 93/96 tests pass (3 skipped = integration tests needing live server) - pointnet2_ops gracefully degrades (warning only) - All demo scripts, ZMQ server/client, gripper wizard work What works on ROCm: - Base inference (point clouds, meshes, scenes) - All demo scripts (demo_object_pc, demo_scene_pc, demo_object_mesh) - ZMQ server/client (uv sync --extra rocm --extra serve) - Gripper config wizard (browser GUI) - Tests (uv run pytest -m "not end2end") What does NOT work on ROCm: - End-to-end pipeline (nvidia-curobo, newton, warp are CUDA-only) - Docker training (NGC base image is NVIDIA-only) - pointnet2_ops PointNet++ backbone (gracefully degrades, use ptv3_vanilla) Usage: uv sync # CUDA (unchanged) uv sync --extra rocm # AMD ROCm Signed-off-by: AMD <amd@amd.com> Signed-off-by: AlexHe99 <alehe@amd.com>
Add OpenArm 7DOF bimanual arm's pinch gripper as a new proc_gripper. The gripper is a symmetric 2-finger revolute design with mimic joints. Files: - config.json: gripper parameters derived from openarm_description URDF - gripper.urdf: minimal URDF matching config joint/link names - vis_mesh.obj: combined visual mesh from openarm_description DAE files - coll_mesh.obj: bounding box collision mesh URDF source: enactic/openarm_description (output.urdf) Finger joints: openarm_left_finger_joint1/2 with mimic multiplier=-1 Joint limits: [-1.5708, 0] rad (±90°) Signed-off-by: beininghan <beininghan@gmail.com> Signed-off-by: AlexHe99 <alehe@amd.com>
New demo script based on demo_object_mesh.py that renders the
gripper's visual mesh (detailed shape) instead of collision mesh
(simple bounding box) at grasp poses.
Usage:
uv run python scripts/demo_object_mesh_vis.py \
--mesh_file assets/sample_data/object_mesh/banana.obj \
--gripper_name openarm --plot_mesh
Falls back to collision_mesh when visual_mesh is not available.
Signed-off-by: alexhegit <alexhegit@users.noreply.github.com>
Signed-off-by: AlexHe99 <alehe@amd.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds
demo_object_mesh_vis.py— a new demo script that renders the gripper's visual mesh (detailed shape) instead of collision mesh (simple bounding box) at grasp poses.Problem
demo_object_mesh.pyusesgripper.collision_meshfor rendering gripper meshes at grasp poses. The collision mesh is a simple bounding box (8 vertices), so grippers appear as opaque boxes.Solution
New script
demo_object_mesh_vis.pyusesgripper.visual_mesh(detailed model, e.g. 28K vertices) with fallback tocollision_meshwhen visual mesh is not available.Usage
uv run python scripts/demo_object_mesh_vis.py \ --mesh_file assets/sample_data/object_mesh/banana.obj \ --gripper_name openarm \ --assets_dir assets \ --plot_meshVerified
vis_mesh.objis missingSigned-off-by: alexhegit alexhegit@users.noreply.github.com