Skip to content

Unify V1/V2 model assembly and add V2 camera assets - #97

Draft
stevenaya wants to merge 23 commits into
enactic:mainfrom
stevenaya:feature/v2-camera-mounts
Draft

stevenaya wants to merge 23 commits into
enactic:mainfrom
stevenaya:feature/v2-camera-mounts

Conversation

@stevenaya

@stevenaya stevenaya commented Oct 22, 2026 •

Copy link
Copy Markdown
Contributor

V1 and V2 use separate model generators. This update moves both to shared topology-driven assembly, adds the V2 covers and camera components, and makes control interfaces follow the selected preset. This draft tracks the complete model and the split PRs below; completed items are marked as merged.

Changes

  • Move transforms, link/joint output, reference frames and component assembly into assets/common/. Read names, joint types and connections from topology, including reflection of oblique joint axes.
  • Resolve connection.origin relative to the selected parent link or reference point. Make emit control frame output without moving attached components, and configure empty arm-tip folding through collapse_empty_end in topology.
  • Generate ROS2 control interfaces from the enabled arms and grippers, using the model's joint names and an option to omit control output.
  • Migrate V1 to shared presets and configuration files. Include link7 in the parallel-gripper component with link7 → hand → fingers/TCP. Center the link2/link4/link6 origins and transform mesh offsets and COMs together, preserving physical placement and motor coordinates.
  • Move bodies into assets/body/v1.0/ and assets/body/v2.0/, and gripper macros into their end-effector directories. Resolve body root names from topology and V1 mounting overrides from the actual parent component. Keep separate V1/V2 entrypoints.
  • Refine the V2 link4 visual using the original body and separately reduced cable covers (16,196 triangles, 1.17 MB). Update the open-top body visual, retaining the column's dark matte material. Add B0495 camera geometry to the gripper base, CAD viewing frames, an independent ZED mount and the official ZED Mini assembly in the default bimanual preset. Use the measured base mass and cover volume ratio to obtain 3.734812 kg, with updated COM and diagonal inertia.
  • Update example URDFs, launch configuration, usage instructions and regression tests. Build camera URDF exports with the official zed_description 0.2.0 package in CI.

Split PRs

Merge the independent asset updates first, then the shared assembly and version migrations. IDs below identify the split plan; the PR column tracks submissions.

ID Change Branch Depends on PR
A Update V2 link4 cable-cover visuals fix/v2-link4-cable-cover main #98 (merged)
A2 Reduce the V2 link4 visual using the original body and repaired cable covers fix/v2-link4-mesh-reduction main #102
J Update the open-top body visual and measured-mass inertia fix/v2-open-cover-model main #99 (merged)
C Add gripper camera visuals and pose-invariant reference frames feat/v2-gripper-camera main #100
B Unify selected V1 visual materials fix/v1-visual-materials main #101 (merged)
E Extract shared geometry, transform and joint macros refactor/shared-xacro-primitives C Queued
F Generate components directly from shared topology refactor/shared-kinematic-components E Queued
G Configure empty arm-tip collapse in topology refactor/arm-tip-collapse-config F Queued
H Generate shared control interfaces from enabled components refactor/shared-ros2-control F Queued
I Introduce external bodies with topology-based root aliases refactor/v2-body-assets F, J Queued
K Add accessory components, the ZED Mini assembly and CI dependency feat/v2-body-camera-assembly I Queued
L Migrate V1 directly to shared presets and external bodies refactor/v1-preset-assembly G, H, I Queued
M Center V1 joint origins while preserving motor coordinates fix/v1-center-joint-origins L Queued

Validation

  • 58 model regression tests pass, covering reference poses, mirroring, folding, topology and control names.
  • V1/V2 presets and standalone grippers expand and pass check_urdf; single-arm and bimanual launch configurations construct successfully.
  • The split branches combine to the same final file tree. Body mass-property calculations reproduce the recorded values; updated visual meshes load successfully.

Follow-up model work

  • Generate collision meshes for the updated V2 covers and camera mount.
  • Refine the ZED Mini mounting transform using exact CAD or measured mounting-hole coordinates.

This branch was successfully deployed

1 active deployment
release — 76400b58 Deployed Oct 23, 2026 by stevenaya via Publish #240
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