moveit icon indicating copy to clipboard operation
moveit copied to clipboard

Use the "group_name" for Bullet collision checks

Open AndyZe opened this issue 4 years ago • 6 comments

Parse links in the CollisionRequest group_name and disable other links during the collision check. We are hoping to use this to speed up collision checking. I've tested this extensively with the tutorial but will work on adding unit tests.

The gif shows the result of enabling collisions for the hand group only. All collisions with the hand are detected (pink dots) but collisions between the cube and the robot body aren't. Looks good to me.

collision_with_hand_group

AndyZe avatar Jan 26 '21 21:01 AndyZe

Codecov Report

Merging #2502 (74b3e30) into master (0e59113) will increase coverage by 0.01%. The diff coverage is n/a.

Impacted file tree graph

@@            Coverage Diff             @@
##           master    #2502      +/-   ##
==========================================
+ Coverage   60.26%   60.26%   +0.01%     
==========================================
  Files         351      351              
  Lines       26476    26476              
==========================================
+ Hits        15952    15953       +1     
+ Misses      10524    10523       -1     
Impacted Files Coverage Δ
...ipulation/pick_place/src/manipulation_pipeline.cpp 73.41% <0.00%> (+1.07%) :arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update 0e59113...34af2c2. Read the comment docs.

codecov[bot] avatar Jan 27 '21 00:01 codecov[bot]

I'm not 120% sure but doesn't the group_name imply to include all leaves/sub branches/stuff attached to that group?

And it's great you're giving the bullet collision checker some love!

simonschmeisser avatar Jan 27 '21 15:01 simonschmeisser

good point, i'll test whether this works for attached objects

AndyZe avatar Jan 27 '21 15:01 AndyZe

I was actually also concerned about the gripper/end_effector which with fcl is included when you set group_name to that of your robot/manipulator even though it is not in said group but only an appendix to that group

simonschmeisser avatar Jan 27 '21 16:01 simonschmeisser

I was actually also concerned about the gripper/end_effector which with fcl is included when you set group_name to that of your robot/manipulator even though it is not in said group but only an appendix to that group

To me, that seems like unexpected behavior on the FCL side. I'd prefer it only checked the specified group.

AndyZe avatar Jan 27 '21 17:01 AndyZe

I find that attached collision object detection does not work for this PR. But, it doesn't work for Bullet on master branch, either.

AndyZe avatar Jan 27 '21 19:01 AndyZe