40 const std::string& config_dir,
41 const std::string& name,
42 const std::shared_ptr<DependencyInjector>& injector)
override;
51 bool DecidePathBounds(std::vector<PathBoundary>* boundary);
57 bool OptimizePath(
const std::vector<PathBoundary>& path_boundaries, std::vector<PathData>* candidate_path_data);
63 bool AssessPath(std::vector<PathData>* candidate_path_data,
PathData* final_path);
67 void UpdateLaneChangeStatus();
72 void GetBoundaryFromLaneChangeForbiddenZone(
PathBoundary*
const path_bound);
74 bool GetBoundaryFromNudgeDecision(
PathBoundary*
const path_bound);
81 void GetLaneChangeStartPoint(
96 bool HysteresisFilter(
97 const double obstacle_distance,
98 const double safe_distance,
99 const double distance_buffer,
100 const bool is_obstacle_blocking);
101 void SetPathInfo(
PathData*
const path_data);
104 void GetSLPolygons(std::vector<SLPolygon>* polygons);
108 bool is_clear_to_change_lane_ =
false;
109 bool is_exist_lane_change_start_position_ =
false;