@@ -512,7 +512,7 @@ void NormalLaneChange::insert_stop_point_on_current_lanes(PathWithLaneId & path)
512
512
dist_to_terminal - min_dist_buffer - calculation::calc_stopping_distance (lc_param_ptr);
513
513
514
514
const auto distance_to_last_fit_width = std::invoke ([&]() -> double {
515
- const auto & curr_lanes_poly = common_data_ptr_->lanes_polygon_ptr ->current ;
515
+ const auto & curr_lanes_poly = common_data_ptr_->lanes_polygon_ptr ->current . value () ;
516
516
if (utils::isEgoWithinOriginalLane (curr_lanes_poly, getEgoPose (), *bpp_param_ptr)) {
517
517
return utils::lane_change::calculation::calc_dist_to_last_fit_width (
518
518
lanes_ptr->current , path.points .front ().point .pose , *bpp_param_ptr);
@@ -740,7 +740,7 @@ bool NormalLaneChange::hasFinishedLaneChange() const
740
740
if (has_passed_end_pose) {
741
741
const auto & lanes_polygon = common_data_ptr_->lanes_polygon_ptr ->target ;
742
742
return !boost::geometry::disjoint (
743
- lanes_polygon,
743
+ lanes_polygon. value () ,
744
744
lanelet::utils::to2D (lanelet::utils::conversion::toLaneletPoint (current_pose.position )));
745
745
}
746
746
@@ -767,7 +767,7 @@ bool NormalLaneChange::isAbleToReturnCurrentLane() const
767
767
return false ;
768
768
}
769
769
770
- const auto & curr_lanes_poly = common_data_ptr_->lanes_polygon_ptr ->current ;
770
+ const auto & curr_lanes_poly = common_data_ptr_->lanes_polygon_ptr ->current . value () ;
771
771
if (!utils::isEgoWithinOriginalLane (
772
772
curr_lanes_poly, getEgoPose (), planner_data_->parameters ,
773
773
lane_change_parameters_->cancel .overhang_tolerance )) {
@@ -843,7 +843,7 @@ bool NormalLaneChange::isAbleToStopSafely() const
843
843
const auto stop_dist =
844
844
-(current_velocity * current_velocity / (2.0 * planner_data_->parameters .min_acc ));
845
845
846
- const auto & curr_lanes_poly = common_data_ptr_->lanes_polygon_ptr ->current ;
846
+ const auto & curr_lanes_poly = common_data_ptr_->lanes_polygon_ptr ->current . value () ;
847
847
double dist = 0.0 ;
848
848
for (size_t idx = nearest_idx; idx < status_.lane_change_path .path .points .size () - 1 ; ++idx) {
849
849
dist += calcSignedArcLength (status_.lane_change_path .path .points , idx, idx + 1 );
@@ -1076,7 +1076,7 @@ FilteredByLanesObjects NormalLaneChange::filterObjectsByLanelets(
1076
1076
const auto & route_handler = getRouteHandler ();
1077
1077
const auto & common_parameters = planner_data_->parameters ;
1078
1078
const auto check_optional_polygon = [](const auto & object, const auto & polygon) {
1079
- return ! polygon. empty () && isPolygonOverlapLanelet (object, polygon);
1079
+ return polygon && isPolygonOverlapLanelet (object, * polygon);
1080
1080
};
1081
1081
1082
1082
// get backward lanes
@@ -1963,7 +1963,7 @@ bool NormalLaneChange::is_collided(
1963
1963
const auto & current_polygon = lanes_polygon_ptr->current ;
1964
1964
const auto & expanded_target_polygon = lanes_polygon_ptr->target ;
1965
1965
1966
- if (current_polygon.empty () || expanded_target_polygon.empty ()) {
1966
+ if (! current_polygon.has_value () || ! expanded_target_polygon.has_value ()) {
1967
1967
return !is_collided;
1968
1968
}
1969
1969
@@ -1989,9 +1989,9 @@ bool NormalLaneChange::is_collided(
1989
1989
}
1990
1990
1991
1991
const auto collision_in_current_lanes =
1992
- utils::lane_change::is_collided_polygons_in_lanelet (collided_polygons, current_polygon);
1993
- const auto collision_in_target_lanes = utils::lane_change::is_collided_polygons_in_lanelet (
1994
- collided_polygons, expanded_target_polygon);
1992
+ utils::lane_change::isCollidedPolygonsInLanelet (collided_polygons, current_polygon);
1993
+ const auto collision_in_target_lanes =
1994
+ utils::lane_change::isCollidedPolygonsInLanelet ( collided_polygons, expanded_target_polygon);
1995
1995
1996
1996
if (!collision_in_current_lanes && !collision_in_target_lanes) {
1997
1997
utils::path_safety_checker::updateCollisionCheckDebugMap (
@@ -2077,7 +2077,7 @@ bool NormalLaneChange::is_valid_start_point(
2077
2077
const lanelet::BasicPoint2d lc_start_point (pose.position .x , pose.position .y );
2078
2078
2079
2079
const auto & target_neighbor_poly = common_data_ptr->lanes_polygon_ptr ->target_neighbor ;
2080
- const auto & target_lane_poly = common_data_ptr_->lanes_polygon_ptr ->target ;
2080
+ const auto & target_lane_poly = common_data_ptr_->lanes_polygon_ptr ->target . value () ;
2081
2081
2082
2082
return boost::geometry::covered_by (lc_start_point, target_neighbor_poly) ||
2083
2083
boost::geometry::covered_by (lc_start_point, target_lane_poly);
0 commit comments