26 #include "Eigen/Eigen" 34 #include "modules/planning/proto/planning.pb.h" 41 const PlannerOpenSpaceConfig& planner_open_space_config);
45 bool Smooth(
const Eigen::MatrixXd& xWS,
const double init_a,
47 const std::vector<std::vector<common::math::Vec2d>>&
48 obstacles_vertices_vec,
52 void AdjustStartEndHeading(
53 const Eigen::MatrixXd& xWS,
54 std::vector<std::pair<double, double>>*
const point2d);
56 bool ReAnchoring(
const std::vector<size_t>& colliding_point_index,
60 std::vector<double>* initial_bounds);
63 const std::vector<double>& bounds,
67 std::vector<size_t>* colliding_point_index);
69 void AdjustPathBounds(
const std::vector<size_t>& colliding_point_index,
70 std::vector<double>* bounds);
72 bool SetPathProfile(
const std::vector<std::pair<double, double>>& point2d,
75 bool CheckGear(
const Eigen::MatrixXd& xWS);
77 bool SmoothSpeed(
const double init_a,
const double init_v,
78 const double path_length,
SpeedData* smoothed_speeds);
86 bool GenerateStopProfileFromPolynomial(
const double init_acc,
87 const double init_speed,
88 const double stop_distance,
94 double CalcHeadings(
const DiscretizedPath& path_points,
const size_t index);
98 double ego_length_ = 0.0;
99 double ego_width_ = 0.0;
100 double center_shift_distance_ = 0.0;
102 std::vector<std::vector<common::math::LineSegment2d>>
103 obstacles_linesegments_vec_;
105 std::vector<size_t> input_colliding_point_index_;
107 bool enforce_initial_kappa_ =
true;
112 PlannerOpenSpaceConfig planner_open_space_config_;
~IterativeAnchoringSmoother()=default
Definition: discretized_path.h:31
Define the LineSegment2d class.
PlanningContext is the runtime context in planning. It is persistent across multiple frames...
Definition: atomic_hash_map.h:25
Definition: discretized_trajectory.h:32
Planning module main class. It processes GPS and IMU as input, to generate planning info...
Definition: quintic_polynomial_curve1d.h:33
IterativeAnchoringSmoother(const PlannerOpenSpaceConfig &planner_open_space_config)
bool Smooth(const Eigen::MatrixXd &xWS, const double init_a, const double init_v, const std::vector< std::vector< common::math::Vec2d >> &obstacles_vertices_vec, DiscretizedTrajectory *discretized_trajectory)
Definition: iterative_anchoring_smoother.h:38
The class of Box2d. Here, the x/y axes are respectively Forward/Left, as opposed to what happens in e...
Definition: speed_data.h:30