Skip to content

Commit 892e435

Browse files
committed
update
Signed-off-by: Barış Zeren <bzeren1819@gmail.com>
1 parent fb3512a commit 892e435

File tree

1 file changed

+25
-26
lines changed
  • planning/behavior_path_planner/autoware_behavior_path_planner_common/src/utils

1 file changed

+25
-26
lines changed

planning/behavior_path_planner/autoware_behavior_path_planner_common/src/utils/utils.cpp

+25-26
Original file line numberDiff line numberDiff line change
@@ -504,35 +504,34 @@ bool isEgoOutOfRoute(
504504
const auto shoulder_goal_lanes = route_handler->getShoulderLaneletsAtPose(goal_pose);
505505
if (!shoulder_goal_lanes.empty()) goal_lane = shoulder_goal_lanes.front();
506506

507-
const bool is_failed_getting_lanelet = std::invoke([&]() {
508-
if (utils::isInLanelets(goal_pose, shoulder_goal_lanes)) {
509-
return !lanelet::utils::query::getClosestLanelet(shoulder_goal_lanes, goal_pose, &goal_lane);
510-
}
511-
if (common_param.enable_differential_map_loading) {
512-
// If dynamic map is enabled, get the goal lanelet from the current lanelet map
513-
//
514-
// Check the route lanelets and last route element in the current lanelet map
515-
// will be the goal lanelet
516-
517-
lanelet::LaneletMapPtr map = route_handler->getLaneletMapPtr();
518-
lanelet::ConstLanelets all_lanelets = lanelet::utils::query::laneletLayer(map);
519-
lanelet::ConstLanelets route_lanelets = route_handler->getRouteLanelets();
520-
521-
auto goalLaneletIt =
522-
std::find_if(all_lanelets.rbegin(), all_lanelets.rend(), [&](const auto & currentLanelet) {
523-
return currentLanelet.id() == route_lanelets.back().id();
524-
});
525-
526-
if (goalLaneletIt != all_lanelets.rend()) {
507+
bool is_failed_getting_lanelet;
508+
if (!common_param.enable_differential_map_loading) {
509+
is_failed_getting_lanelet = shoulder_goal_lanes.empty() && !route_handler->getGoalLanelet(&goal_lane);
510+
} else {
511+
// If dynamic map is enabled, get the goal lanelet from the current lanelet map
512+
//
513+
// Check the route lanelets and last route element in the current lanelet map
514+
// will be the goal lanelet
515+
516+
lanelet::LaneletMapPtr map = route_handler->getLaneletMapPtr();
517+
lanelet::ConstLanelets all_lanelets = lanelet::utils::query::laneletLayer(map);
518+
lanelet::ConstLanelets route_lanelets = route_handler->getRouteLanelets();
519+
520+
auto goalLaneletIt =
521+
std::find_if(all_lanelets.rbegin(), all_lanelets.rend(), [&](const auto & currentLanelet) {
522+
return currentLanelet.id() == route_lanelets.back().id();
523+
});
524+
525+
if (goalLaneletIt != all_lanelets.rend()) {
527526
RCLCPP_DEBUG(
528-
rclcpp::get_logger("behavior_path_planner").get_child("util"),
529-
"Found goal lanelet in current lanelet map");
527+
rclcpp::get_logger("behavior_path_planner").get_child("util"),
528+
"Found goal lanelet in current lanelet map");
530529
goal_lane = *goalLaneletIt;
531-
return false;
532-
}
530+
is_failed_getting_lanelet = false;
533531
}
534-
return !route_handler->getGoalLanelet(&goal_lane);
535-
});
532+
is_failed_getting_lanelet = !route_handler->getGoalLanelet(&goal_lane);
533+
}
534+
536535
if (is_failed_getting_lanelet) {
537536
RCLCPP_WARN_STREAM(
538537
rclcpp::get_logger("behavior_path_planner").get_child("util"), "cannot find goal lanelet");

0 commit comments

Comments
 (0)