-
Notifications
You must be signed in to change notification settings - Fork 946
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
Check collisions during joint motions, too #2204
Conversation
Codecov Report
@@ Coverage Diff @@
## master #2204 +/- ##
=======================================
Coverage 57.66% 57.66%
=======================================
Files 326 326
Lines 25662 25674 +12
=======================================
+ Hits 14797 14804 +7
- Misses 10865 10870 +5
Continue to review full report at Codecov.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good improvements.
I would want to be sure that storing collision pairs won't slow down the code and at least have the option to turn off printing collision pairs. Other feedback is more minor.
if (!contact_map.empty()) | ||
{ | ||
// Throttled error message about the first contact in the list | ||
ROS_ERROR_STREAM_THROTTLE_NAMED(ROS_LOG_THROTTLE_PERIOD, LOGNAME, "Objects in collision (among others, possibly): " |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this really an error or should it be a warning?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I wouldn't want to see people filtering out all debug info if this gets spammy. I think a rosparam for verbose collision checking would be a nice addition.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If you modify the collision_request_.contacts = verbose_collision_checking_
(where verbose_collision_checking_
is set from a rosparam) than maybe if (!contact_map.empty())
will always be false and you won't have to add additional logic in this method. Something to investigate
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
will change it to a warning.
Not sure about making in configurable. It's already throttled so it doesn't get printed very often, and we already have a bunch of parameters to wade through (~40 of them)
@mlautman @tylerjw @henningkayser Is anybody going to click the merge button? I guess it would help if tests were passing, but the failing tests aren't related. |
Print colliding objects, for debugging.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm
@tylerjw: Why did you merge this? This introduced a Travis regression in the Noetic build - as indicated by the failing build. |
@rhaschke It was passing. It should have been rebased on master as the noetic build was added to travis after this PR was starting. I'll look into the regression and see if I can fix that. |
If you look through the output of the failing Noetic build it seems like it has something to do either with a robot description or python: https://travis-ci.com/github/ros-planning/moveit/jobs/369428306 I don't see anything in there about servo. |
@tylerjw, sorry for blaming you. I concluded from the last failing Travis build in this PR. |
Thank you, I'm glad you figured it out. I couldn't figure out what was broken. 👍 |
* Check collisions during joint motions, too. Print colliding objects, for debugging. * Small code simplification * Use the argument to printCollisionPairs * Clang format * Fix misspelling * Log all colliding pairs * Adjustments to print formatting and log levels
* Check collisions during joint motions, too. Print colliding objects, for debugging. * Small code simplification * Use the argument to printCollisionPairs * Clang format * Fix misspelling * Log all colliding pairs * Adjustments to print formatting and log levels
Check collisions during joint motions (just like they are with Cartesian motions)
Print colliding objects, for debugging