50 const Eigen::MatrixXd& xWS,
53 const std::vector<std::vector<common::math::Vec2d>>& obstacles_vertices_vec,
57 void AdjustStartEndHeading(
const Eigen::MatrixXd& xWS, std::vector<std::pair<double, double>>*
const point2d);
59 bool ReAnchoring(
const std::vector<size_t>& colliding_point_index,
DiscretizedPath* path_points);
61 bool GenerateInitialBounds(
const DiscretizedPath& path_points, std::vector<double>* initial_bounds);
63 bool CheckCollisionAvoidance(
const DiscretizedPath& path_points, std::vector<size_t>* colliding_point_index);
65 void AdjustPathBounds(
const std::vector<size_t>& colliding_point_index, std::vector<double>* bounds);
67 bool SetPathProfile(
const std::vector<std::pair<double, double>>& point2d,
DiscretizedPath* raw_path_points);
69 bool CheckGear(
const Eigen::MatrixXd& xWS);
71 bool SmoothSpeed(
const double init_a,
const double init_v,
const double path_length,
SpeedData* smoothed_speeds);
73 bool CombinePathAndSpeed(
80 bool GenerateStopProfileFromPolynomial(
81 const double init_acc,
82 const double init_speed,
83 const double stop_distance,
89 double CalcHeadings(
const DiscretizedPath& path_points,
const size_t index);
93 double ego_length_ = 0.0;
94 double ego_width_ = 0.0;
95 double center_shift_distance_ = 0.0;
97 std::vector<std::vector<common::math::LineSegment2d>> obstacles_linesegments_vec_;
99 std::vector<size_t> input_colliding_point_index_;
101 bool enforce_initial_kappa_ =
true;
112 std::vector<std::vector<common::math::Vec2d>>
box_vec_;
113 std::vector<std::vector<std::vector<common::math::Vec2d>>>
box_vec_vec_;
120 const std::vector<double>& bounds,
122 std::vector<std::vector<common::math::Vec2d>> point_box = {});