Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

(WIP) Disable individual suction voxels from collision #88

Conversation

Dale-Koenig
Copy link
Contributor

Opening this for feedback on the general strategy as described in this summary, especially the changes to SuctionGraspFilter, as the rest of the code still includes several temporary changes used for testing and needs a bit of extra fixing. Includes #86, so only the last commit is new.

This offers a solution to the problem shown in the TestFilterSuctionIKLowOverlap test, where setting a low overlap threshold can unexpectedly cause all grasps to be filtered due to collision checking with suction voxels. Instead of throwing out the entire candidate grasp when a collision with a suction voxel is detected, this PR takes the strategy of:

  1. First process the grasp normally without the suction voxels attached, including IK checking
  2. Attach all suction voxels
  3. Generate an AllowedCollisionMatrix such that we can check collisions only between the suction voxels and objects other than the target box
  4. Perform collision checking, and disable any suction voxel that is in collision
  5. The grasp candidate is thrown out if all suction voxels have been disabled in this way
  6. Here, we could potentially filter by overall overlap (rather than individual voxel overlap) based on which voxels are still enabled.

This PR still needs work with regard to combining with the suction overlap cutoff filter in a clean way, perhaps reverting to prefiltering and only attaching active voxels. Currently it requires filtering by suction overlap second.

@Dale-Koenig
Copy link
Contributor Author

@mlautman I want to work on this more but I think it would collide heavily with changes from #81, so it might be nice to get that one in first. I had made some nitpicky comments on it but can approve it if it is rebased/fixed up.

@Dale-Koenig Dale-Koenig force-pushed the disable_individual_suction_voxels branch from 8ec6a53 to 98e1de1 Compare March 16, 2020 01:58
@Dale-Koenig Dale-Koenig force-pushed the disable_individual_suction_voxels branch from 98e1de1 to e0d416c Compare March 16, 2020 02:02
@Dale-Koenig Dale-Koenig closed this Apr 6, 2021
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