Skip to content

Wire hand mesh into parallel gripper URDF and fix calibration#64

Open
oguzhanbzglu wants to merge 4 commits into
enactic:mainfrom
b-robotized-forks:add_hand_mesh
Open

Wire hand mesh into parallel gripper URDF and fix calibration#64
oguzhanbzglu wants to merge 4 commits into
enactic:mainfrom
b-robotized-forks:add_hand_mesh

Conversation

@oguzhanbzglu
Copy link
Copy Markdown

Problem

The hand meshes/assets for OpenArm v1.0 existed in the repo and were already used in parallel_link_standalone.urdf.xacro, but were never integrated into the actual robot URDF. Additionally, three calibration issues were present in the gripper configuration.

The hand.dae:

image

Changes

openarm_parallel_gripper.xacro

  • Add hand link with visual and collision geometry using the existing mesh assets.
  • Add hand_joint (fixed) placing the hand TF frame at the palm level (z = finger_joint.z from connected_to)
  • Fix tcp_xyz default from 0 0 0 (TCP at link7) to 0 0 0.1801 (TCP at fingertip center)

kinematics_link.yaml

  • Add hand entry with correct visual offset (z: -0.661001) for the hand mesh
  • Fix finger mesh z offset: -0.673001 -> -0.661001 (verified against Isaac Sim)

kinematics.yaml

  • Fix finger_joint.y: 0.0 -> -0.005 to create the correct 10mm separation between finger frames at joint=0, matching the physical closed position measured via TF in Isaac Sim.

Testing

Verified in Isaac Sim (ROS 2 Jazzy) with the bimanual OpenArm v1.0 configuration. Hand mesh correctly aligned with fingers, gripper closes without visual mesh intersection, TCP correctly placed at fingertip.

image

Copilot AI review requested due to automatic review settings June 3, 2026 15:29
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Note

Copilot was unable to run its full agentic suite in this review.

Updates the OpenARM parallel gripper URDF/Xacro and kinematics configs to introduce a dedicated hand link and adjust end-effector/TCP and joint/link offsets.

Changes:

  • Added a new hand link and fixed joint into the gripper Xacro, and updated the default TCP Z offset.
  • Introduced a hand entry in kinematics_link.yaml and aligned finger link Z offsets.
  • Adjusted finger_joint Y offset in kinematics.yaml.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 4 comments.

File Description
assets/robot/openarm_v1.0/urdf/ee/parallel_link/openarm_parallel_gripper.xacro Adds hand link + fixed joint and changes default TCP offset.
assets/end_effector/parallel_link/config/kinematics_link.yaml Adds hand kinematics link entry and updates finger link Z values.
assets/end_effector/parallel_link/config/kinematics.yaml Tweaks finger_joint kinematic Y offset.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread assets/robot/openarm_v1.0/urdf/ee/parallel_link/openarm_parallel_gripper.xacro Outdated
Comment on lines +25 to +38
<link name="${ee_prefix}hand">
<visual name="${ee_prefix}hand_visual">
<xacro:openarm-ee-kinematics-link config="${ee_kinematics_link}" name="hand" />
<geometry>
<mesh filename="package://${description_pkg}/assets/end_effector/parallel_link/meshes/visual/hand.dae" scale="0.001 0.001 0.001"/>
</geometry>
</visual>
<collision name="${ee_prefix}hand_collision">
<xacro:openarm-ee-kinematics-link config="${ee_kinematics_link}" name="hand" />
<geometry>
<mesh filename="package://${description_pkg}/assets/end_effector/parallel_link/meshes/collision/hand.stl" scale="0.001 0.001 0.001" />
</geometry>
</collision>
</link>
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@oguzhanbzglu Thanks for the contribution!
I think Copilot is right here.
The hand link has no inertial, so its mass isn't included in the dynamics. Could you add one?

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi Abe, thank you for the comment, it is true that inertial was missing. I have added this to the ee inertial configuration yaml. The inertial was observed from OnShape with CAD model of it. That can be seen in the image below.

image

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Awesome, thanks for adding it!

Comment thread assets/robot/openarm_v1.0/urdf/ee/parallel_link/openarm_parallel_gripper.xacro Outdated
Copy link
Copy Markdown
Contributor

@abetomo abetomo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

Copilot AI review requested due to automatic review settings June 5, 2026 08:41
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 4 out of 4 changed files in this pull request and generated 3 comments.

Comment thread assets/robot/openarm_v1.0/urdf/ee/parallel_link/openarm_parallel_gripper.xacro Outdated
@oguzhanbzglu
Copy link
Copy Markdown
Author

Hi @abetomo , all checks are passing and you've already approved the PR. Feel free to merge it. Thanks!

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.

3 participants