38 bool Init(
const std::string& config_dir,
const std::string& name,
39 const std::shared_ptr<DependencyInjector>& injector)
override;
49 bool DecidePathBounds(std::vector<PathBoundary>* boundary);
55 bool OptimizePath(
const std::vector<PathBoundary>& path_boundaries,
56 std::vector<PathData>* candidate_path_data);
62 bool AssessPath(std::vector<PathData>* candidate_path_data,
67 void UpdateLaneChangeStatus();
72 void GetBoundaryFromLaneChangeForbiddenZone(
PathBoundary*
const path_bound);
78 void GetLaneChangeStartPoint(
const ReferenceLine& reference_line,
89 const std::string& path_id);
93 bool HysteresisFilter(
const double obstacle_distance,
94 const double safe_distance,
95 const double distance_buffer,
96 const bool is_obstacle_blocking);
97 void SetPathInfo(
PathData*
const path_data);
103 bool is_clear_to_change_lane_ =
false;
104 bool is_exist_lane_change_start_position_ =
false;