Skip to content

Commit f01711e

Browse files
committed
get shoulder lanelets at goal pose using route handler function
Signed-off-by: Maxime CLEMENT <maxime.clement@tier4.jp>
1 parent 79c4942 commit f01711e

File tree

1 file changed

+8
-12
lines changed

1 file changed

+8
-12
lines changed

planning/mission_planner/src/lanelet2_plugins/default_planner.cpp

+8-12
Original file line numberDiff line numberDiff line change
@@ -185,8 +185,6 @@ void DefaultPlanner::map_callback(const HADMapBin::ConstSharedPtr msg)
185185
lanelet_map_ptr_ = std::make_shared<lanelet::LaneletMap>();
186186
lanelet::utils::conversion::fromBinMsg(
187187
*msg, lanelet_map_ptr_, &traffic_rules_ptr_, &routing_graph_ptr_);
188-
lanelet::ConstLanelets all_lanelets = lanelet::utils::query::laneletLayer(lanelet_map_ptr_);
189-
shoulder_lanelets_ = lanelet::utils::query::shoulderLanelets(all_lanelets);
190188
is_graph_ready_ = true;
191189
}
192190

@@ -316,17 +314,15 @@ bool DefaultPlanner::is_goal_valid(
316314

317315
// check if goal is in shoulder lanelet
318316
lanelet::Lanelet closest_shoulder_lanelet;
317+
const auto shoulder_lanelets = route_handler_.getShoulderLaneletsAtPose(goal);
319318
if (lanelet::utils::query::getClosestLanelet(
320-
shoulder_lanelets_, goal, &closest_shoulder_lanelet)) {
321-
if (is_in_lane(closest_shoulder_lanelet, goal_lanelet_pt)) {
322-
const auto lane_yaw =
323-
lanelet::utils::getLaneletAngle(closest_shoulder_lanelet, goal.position);
324-
const auto goal_yaw = tf2::getYaw(goal.orientation);
325-
const auto angle_diff = tier4_autoware_utils::normalizeRadian(lane_yaw - goal_yaw);
326-
const double th_angle = tier4_autoware_utils::deg2rad(param_.goal_angle_threshold_deg);
327-
if (std::abs(angle_diff) < th_angle) {
328-
return true;
329-
}
319+
shoulder_lanelets, goal, &closest_shoulder_lanelet)) {
320+
const auto lane_yaw = lanelet::utils::getLaneletAngle(closest_shoulder_lanelet, goal.position);
321+
const auto goal_yaw = tf2::getYaw(goal.orientation);
322+
const auto angle_diff = tier4_autoware_utils::normalizeRadian(lane_yaw - goal_yaw);
323+
const double th_angle = tier4_autoware_utils::deg2rad(param_.goal_angle_threshold_deg);
324+
if (std::abs(angle_diff) < th_angle) {
325+
return true;
330326
}
331327
}
332328

0 commit comments

Comments
 (0)