25 #include "Eigen/Dense" 26 #include "modules/planning/proto/planning.pb.h" 37 const ReferenceLineSmootherConfig& config);
46 std::vector<double>* ptr_theta,
47 std::vector<double>* ptr_kappa,
48 std::vector<double>* ptr_dkappa,
49 std::vector<double>* ptr_s, std::vector<double>* ptr_x,
50 std::vector<double>* ptr_y)
const;
54 std::vector<common::PathPoint>
Interpolate(
const std::vector<double>& theta,
55 const std::vector<double>& kappa,
56 const std::vector<double>& dkappa,
57 const std::vector<double>& s,
58 const std::vector<double>& x,
59 const std::vector<double>& y,
60 const double resolution)
const;
63 bool Smooth(std::vector<Eigen::Vector2d> point2d,
64 std::vector<double>* ptr_theta, std::vector<double>* ptr_kappa,
65 std::vector<double>* ptr_dkappa, std::vector<double>* ptr_s,
66 std::vector<double>* ptr_x, std::vector<double>* ptr_y)
const;
70 const double start_x,
const double start_y,
const double start_s,
71 const double theta0,
const double kappa0,
const double dkappa0,
72 const double theta1,
const double kappa1,
const double dkappa1,
73 const double delta_s,
const double resolution)
const;
75 common::PathPoint to_path_point(
const double x,
const double y,
76 const double s,
const double theta,
78 const double dkappa)
const;
80 std::vector<AnchorPoint> anchor_points_;
82 bool fixed_start_point_ =
false;
84 double fixed_start_x_ = 0.0;
86 double fixed_start_y_ = 0.0;
88 double fixed_start_theta_ = 0.0;
90 double fixed_start_kappa_ = 0.0;
92 double fixed_start_dkappa_ = 0.0;
94 double fixed_end_x_ = 0.0;
96 double fixed_end_y_ = 0.0;
100 double zero_y_ = 0.0;
void SetAnchorPoints(const std::vector< AnchorPoint > &) override
PlanningContext is the runtime context in planning. It is persistent across multiple frames...
Definition: atomic_hash_map.h:25
std::vector< common::PathPoint > Interpolate(const std::vector< double > &theta, const std::vector< double > &kappa, const std::vector< double > &dkappa, const std::vector< double > &s, const std::vector< double > &x, const std::vector< double > &y, const double resolution) const
Planning module main class. It processes GPS and IMU as input, to generate planning info...
bool Smooth(const ReferenceLine &raw_reference_line, ReferenceLine *const smoothed_reference_line) override
SpiralReferenceLineSmoother(const ReferenceLineSmootherConfig &config)
virtual ~SpiralReferenceLineSmoother()=default
int SmoothStandAlone(std::vector< Eigen::Vector2d > point2d, std::vector< double > *ptr_theta, std::vector< double > *ptr_kappa, std::vector< double > *ptr_dkappa, std::vector< double > *ptr_s, std::vector< double > *ptr_x, std::vector< double > *ptr_y) const
Definition: reference_line.h:39
Definition: reference_line_smoother.h:39
Definition: spiral_reference_line_smoother.h:34