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
Fixed Bullet collision checker not taking ACM defaults into account. #2871
Conversation
Looking deeper into it, Is that intended? |
Codecov Report
@@ Coverage Diff @@
## master #2871 +/- ##
==========================================
- Coverage 61.02% 61.00% -0.01%
==========================================
Files 373 373
Lines 31731 31731
==========================================
- Hits 19360 19354 -6
- Misses 12371 12377 +6
Continue to review full report at Codecov.
|
Update: my code still doesn't seem to work despite this fix. I'll keep working on it. |
Maybe try reproducing your problem with small test cases that can be included as unit tests in MoveIt. We need a lot more of them especially when it comes to Bullet integration it seems |
Nope, it was actually just due to my code linking against an old version of MoveIt. After updating the fix works, and the default ACM entries are followed correctly! More test cases definitely wouldn't be a bad idea, though. Please review for merging? |
Trivial fix for a problem that should never have existed! Thanks @werner291 🏅
It would be great if you could add a test for this in a followup PR. Sadly, if users do not provide tests, nobody will ever write them. Without them, it's of course difficult to ensure your use-case does not break again at some point. |
Also this feature does not seem to be used anywhere in MoveIt so it's not that surprising its broken. What's your use-case if I may ask? |
True, though of course the user can fill these fields in messages. I would not expect MoveIt "to use" this anywhere else, unless a moveit_resources model makes use of it for tests. |
Since |
My use case is a quadcopter (Yes, with a floating joint! That's why I'm finding all the bugs...) with an arm which must navigate around a tree, whereby the leaves are not counted as hard "do not ever touch or else..." obstacles, but rather as a fuzzy obstacle that should generally be avoided, but can be traversed when needed, but only in certain ways. Hence, I wanted to see them in Rviz, and I may need to check collisions at some point, but I needed to disable collisions during the global path planning since otherwise the task becomes literally impossible. |
Nice use case! If you're allowed, please share some videos on Discord or discourse.ros.org once you have something to show :-) |
There's a Discord server? |
There's a Discord server?
Join the [MoveIt Discord channel](https://discord.com/invite/RrySut8) to view or post questions
If you can think of a better way to advertise the server, please send a pull-request for the website :)
|
Description
The
acmCheck
method inbullet_utils.h
directly looked up the relevant entry in theAllowedCollisionMatrix
, ignoring any default values. This PR replaced the method call withgetAllowedCollision
, which appears to be the correct method (please review).Checklist