-
Notifications
You must be signed in to change notification settings - Fork 408
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
Update multi goal path implementation #465
Conversation
Codecov Report
@@ Coverage Diff @@
## master #465 +/- ##
==========================================
+ Coverage 57.81% 58.09% +0.27%
==========================================
Files 161 161
Lines 7067 7106 +39
Branches 84 84
==========================================
+ Hits 4086 4128 +42
+ Misses 2981 2978 -3
Continue to review full report at Codecov.
|
if (testCaseInstanceId() == 0) { | ||
setTestCaseDescription("Path to single point"); | ||
esp::nav::ShortestPath path; | ||
path.requestedStart = pathFinder.getRandomNavigablePoint(); |
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.
Does that make sense to calculate distance to the same 100 points using single shortest path search?
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.
Thank you for improving this, checked the code flow. Look's valid and tests are passing.
path.requestedStart.data(), closestRequestedEnd.data(), polys, numPolys, | ||
path.points[0].data(), 0, 0, &numPoints, MAX_POLYS); | ||
for (int i = 0; i < path.requestedEnds.size(); ++i) { | ||
if ((path.requestedStart - path.requestedEnds[i]).norm() > |
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.
As I understand this check is selecting prospect end points that can be closer that path.geodesicDistance
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.
Yep, exactly.
Merging to unblock facebookresearch/habitat-lab#290. |
The multigoal path implementation was relying on being able to compare path lengths on the navigation mesh before optimization, this turns out to be not correct a little too often. This PR changes it to be simply min(A* paths).
Motivation and Context
The multigoal path implementation was relying on being able to compare path lengths on the navigation mesh before optimization, this turns out to be not correct a little too often. This PR changes it to be simply min(A* paths).
This also has the benefit of removing on our deviations from recast main!
How Has This Been Tested
With the test! Also added a benchmark because Corrade's test suite is fun.
Types of changes