Skip to content

WIP: Add multi-goal planning to LazyPRM/LazyPRM*#995

Open
zkingston wants to merge 6 commits intomainfrom
lazyprm-multigoal-fix
Open

WIP: Add multi-goal planning to LazyPRM/LazyPRM*#995
zkingston wants to merge 6 commits intomainfrom
lazyprm-multigoal-fix

Conversation

@zkingston
Copy link
Copy Markdown
Member

Fixes #776. Before, LazyPRM would simply use the first sampled goal. This should enable LazyPRM to plan to multiple goals.

@zkingston zkingston requested a review from mamoll February 20, 2023 01:11
Copy link
Copy Markdown
Member

@mamoll mamoll left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me, modulo some minor changes.

for (std::size_t goalIndex = 0; goalIndex < goalM_.size(); ++goalIndex)
auto startComponent = vertexComponentProperty_[s];
std::copy_if(std::begin(goalM_), std::end(goalM_), std::inserter(goals, std::begin(goals)),
[&](const auto &g) { return vertexComponentProperty_[g] == startComponent; });
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The code does more work than necessary, since you can stop as soon as you find a goal state that is in the same component as the start state. You don't have to iterate over all goal states. No need to change, since optimizing this part of the code is probably not worth it.

@zkingston zkingston force-pushed the lazyprm-multigoal-fix branch from 113090d to 98e597d Compare May 26, 2023 17:45
@zkingston
Copy link
Copy Markdown
Member Author

Thanks for the review - just tested locally to double check and the LazyPRM is now throwing an exception in some cases, I'll change this to a WIP and request review when I've kicked the tires a bit more.

@zkingston zkingston changed the title Add multi-goal planning to LazyPRM/LazyPRM* WIP: Add multi-goal planning to LazyPRM/LazyPRM* May 26, 2023
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.

LazyPRM family does not properly plan against multiple goals

2 participants