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
  • Loading branch information
kosuke55 committed Aug 22, 2023
1 parent 51480eb commit 8bd25f3
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 @@ -931,6 +931,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 @@ -988,6 +998,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 8bd25f3

Please sign in to comment.