Skip to content

Commit

Permalink
feat(route_handler): support shoulder lane in getLeft(Right)Lanelet (a…
Browse files Browse the repository at this point in the history
…utowarefoundation#4604)

Signed-off-by: kosuke55 <kosuke.tnp@gmail.com>
  • Loading branch information
kosuke55 authored and kminoda committed Aug 21, 2023
1 parent 2d3d0c9 commit 3c6d5aa
Showing 1 changed file with 20 additions and 0 deletions.
20 changes: 20 additions & 0 deletions planning/route_handler/src/route_handler.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -942,6 +942,16 @@ bool RouteHandler::isBijectiveConnection(
boost::optional<lanelet::ConstLanelet> RouteHandler::getRightLanelet(
const lanelet::ConstLanelet & lanelet, const bool enable_same_root) const
{
// right road lanelet of shoulder lanelet
if (isShoulderLanelet(lanelet)) {
for (const auto & road_lanelet : road_lanelets_) {
if (lanelet::geometry::rightOf(road_lanelet, lanelet)) {
return road_lanelet;
}
}
return boost::none;
}

// routable lane
const auto & right_lane = routing_graph_ptr_->right(lanelet);
if (right_lane) {
Expand Down Expand Up @@ -999,6 +1009,16 @@ bool RouteHandler::getLeftLaneletWithinRoute(
boost::optional<lanelet::ConstLanelet> RouteHandler::getLeftLanelet(
const lanelet::ConstLanelet & lanelet, const bool enable_same_root) const
{
// left road lanelet of shoulder lanelet
if (isShoulderLanelet(lanelet)) {
for (const auto & road_lanelet : road_lanelets_) {
if (lanelet::geometry::leftOf(road_lanelet, lanelet)) {
return road_lanelet;
}
}
return boost::none;
}

// routable lane
const auto & left_lane = routing_graph_ptr_->left(lanelet);
if (left_lane) {
Expand Down

0 comments on commit 3c6d5aa

Please sign in to comment.