Repository navigation
Update hand collision mesh due to the collision issues in Octomap and MoveIt - #65
Open
oguzhanbzglu wants to merge 1 commit into
Open
oguzhanbzglu wants to merge 1 commit into
oguzhanbzglu wants to merge 1 commit into
Conversation
There was a problem hiding this comment.
Copilot wasn't able to review any files in this pull request.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Contributor
|
@stevenaya Could you take a look at this? |
Contributor
|
We will first merge #64, then see if this problem remains. |
Contributor
|
I think we may consider updating the collision mesh for v1.0 later to provide more detailed collision handling. Let me discuss this with our team member. |
Contributor
Author
kou
pushed a commit
to enactic/openarm_mujoco
that referenced
this pull request
Oct 6, 2026
## Summary - Align V1 standalone and bimanual position controls, motor parameters, reference frames, and open-gripper home poses; restore the standalone link1 visual submesh. - Keep a separate fixed hand body as the parent of TCP and fingers. Center TCPs and rotate the opposing finger body 180 degrees about Z, including its geometry and inertia. - Rebuild V1 finger/hand collision geometry, cover the hand rail and rounded ends, and bake mirrored left-arm collision meshes with positive scales. - Update V1/V2 motor armature estimates and keep gains on individual actuators. ## Inertial Basis - V1 arm-link mass, COM, and full inertia tensors come from [historical description data](https://github.com/enactic/openarm_description/blob/4547b2ff68aa11b79c42d6d7a85d290e5883eaf0/config/arm/v10/inertials.yaml), transformed where the corresponding geometry is mirrored. - V1 hand uses the historical 0.35 kg mass and inertia, with local COM reset to zero and Ixy/Iyz zeroed. Fingers retain the previous diagonal-inertia approximation. - The fixed V1 base keeps its 13.89 kg mass. Its equivalent inertia box is approximated by the old box's upper half, preserving width/depth: COM-Z = 0.296442 m, Ixx/Iyy = 0.432375 kg*m^2. This is a geometric approximation, not CAD-derived identification. - Motor armatures use read-only motor inertia values multiplied by gear ratio squared; gearbox contributions remain unconfirmed. Gripper linkage parameters are estimates. ## Validation - All 24 V1/V2 XML entries load on MuJoCo 3.8.1 and 3.14; 3 existing unit tests pass. - V1 single/bimanual open-close-reopen cycles and centered TCP checks pass. - Matched-pose single/right-arm dynamics agree to numerical precision. This review follow-up leaves joint mass matrices and bias forces unchanged. - Earlier collision-mesh checks found watertight meshes with no detected self-intersections. These checks establish model consistency, not hardware identification. ROS/OctoMap self-filtering has not been tested. Related: enactic/openarm_description#64, enactic/openarm_description#65. --------- Co-authored-by: stevenaya <stevenaya@users.noreply.github.com>
This branch was previously deployed
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.
Problem
This MR updates the hand collision mesh (STL) to address collision issues observed in ROS 2 MoveIt when using OctoMap-based environment perception.
We are running the bimanual v1.0 robot in Isaac Sim with a top-mounted camera. The camera captures both the gripper and part of the hand assembly:
OctoMap generates collision objects from the depth image and is expected to ignore geometry that belongs to the robot itself. However, as shown below, OctoMap incorrectly creates collision voxels around the metal section at the base of the gripper:
The root cause is that the curved portion of the metal component is not fully represented in the current collision mesh. As a result, this geometry is not filtered out by the self-collision masking and is perceived as an external obstacle. The same issue could potentially lead to inaccurate collision checking on real hardware.
Solution
The hand collision mesh has been slightly extended based on the curved size to fully cover the missing curved section of the metal component.
This update resolves the OctoMap self-filtering issue while keeping the mesh lightweight. The resulting STL file size remains effectively unchanged.