Skip to content

Commit

Permalink
fix(route_handler): deal with completely overlapped inverted lane (au…
Browse files Browse the repository at this point in the history
…towarefoundation#1901)

Signed-off-by: Takayuki Murooka <[email protected]>

Signed-off-by: Takayuki Murooka <[email protected]>
  • Loading branch information
takayuki5168 authored and boyali committed Oct 19, 2022
1 parent 9a2a3ad commit 18a10eb
Showing 1 changed file with 26 additions and 2 deletions.
28 changes: 26 additions & 2 deletions planning/route_handler/src/route_handler.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -865,7 +865,19 @@ boost::optional<lanelet::ConstLanelet> RouteHandler::getLeftLanelet(
lanelet::Lanelets RouteHandler::getRightOppositeLanelets(
const lanelet::ConstLanelet & lanelet) const
{
return lanelet_map_ptr_->laneletLayer.findUsages(lanelet.rightBound().invert());
const auto opposite_candidate_lanelets =
lanelet_map_ptr_->laneletLayer.findUsages(lanelet.rightBound().invert());

lanelet::Lanelets opposite_lanelets;
for (const auto & candidate_lanelet : opposite_candidate_lanelets) {
if (candidate_lanelet.leftBound().id() == lanelet.rightBound().id()) {
continue;
}

opposite_lanelets.push_back(candidate_lanelet);
}

return opposite_lanelets;
}

lanelet::ConstLanelets RouteHandler::getAllLeftSharedLinestringLanelets(
Expand Down Expand Up @@ -943,7 +955,19 @@ lanelet::ConstLanelets RouteHandler::getAllSharedLineStringLanelets(

lanelet::Lanelets RouteHandler::getLeftOppositeLanelets(const lanelet::ConstLanelet & lanelet) const
{
return lanelet_map_ptr_->laneletLayer.findUsages(lanelet.leftBound().invert());
const auto opposite_candidate_lanelets =
lanelet_map_ptr_->laneletLayer.findUsages(lanelet.leftBound().invert());

lanelet::Lanelets opposite_lanelets;
for (const auto & candidate_lanelet : opposite_candidate_lanelets) {
if (candidate_lanelet.rightBound().id() == lanelet.leftBound().id()) {
continue;
}

opposite_lanelets.push_back(candidate_lanelet);
}

return opposite_lanelets;
}

lanelet::ConstLineString3d RouteHandler::getRightMostSameDirectionLinestring(
Expand Down

0 comments on commit 18a10eb

Please sign in to comment.