37 bool Init(
const std::string& config_dir,
const std::string& name,
38 const std::shared_ptr<DependencyInjector>& injector)
override;
47 bool DecidePathBounds(std::vector<PathBoundary>* boundary);
53 bool OptimizePath(
const std::vector<PathBoundary>& path_boundaries,
54 std::vector<PathData>* candidate_path_data);
60 bool AssessPath(std::vector<PathData>* candidate_path_data,
69 std::string* borrow_lane_type);
74 bool IsNecessaryToBorrowLane();
76 bool HasSingleReferenceLine(
const Frame& frame);
78 bool IsWithinSidePassingSpeedADC(
const Frame& frame);
80 bool IsLongTermBlockingObstacle();
82 bool IsBlockingObstacleWithinDestination(
85 bool IsBlockingObstacleFarFromIntersection(
90 void UpdateSelfPathInfo();
100 bool* left_neighbor_lane_borrowable,
101 bool* right_neighbor_lane_borrowable);
110 const double check_s,
118 void SetPathInfo(
PathData*
const path_data);
120 std::vector<SidePassDirection> decided_side_pass_direction_;
122 std::string blocking_obstacle_id_;