Skip to content

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

Merged
tokirobot merged 4 commits into
enactic:mainfrom
b-robotized-forks:add_hand_mesh
Jun 8, 2026
Merged

Wire hand mesh into parallel gripper URDF and fix calibration#64
tokirobot merged 4 commits into
enactic:mainfrom
b-robotized-forks:add_hand_mesh

Conversation

@oguzhanbzglu

Copy link
Copy Markdown
Contributor

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

Copilot AI left a comment

Copy link
Copy Markdown

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
Contributor 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

@abetomo abetomo left a comment

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.

Thanks!

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

Copilot AI left a comment

Copy link
Copy Markdown

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
Contributor Author

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

@kou

kou commented Jun 8, 2026

Copy link
Copy Markdown
Contributor

@euyniy @stevenaya Can we merge this?

@stevenaya

Copy link
Copy Markdown
Contributor

lgtm, @tokirobot, could you double-check this pr?

@tokirobot tokirobot merged commit 2a29691 into enactic:main Jun 8, 2026
6 checks passed
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.

6 participants