40 const Eigen::MatrixXd& constraint_boundary);
42 const Eigen::MatrixXd& constraint_boundary);
51 const std::vector<double>& angle,
52 const std::vector<apollo::common::math::Vec2d>& ref_point,
53 const std::vector<double>& longitudinal_bound,
54 const std::vector<double>& lateral_bound);
58 const std::vector<double>& t_coord,
const std::vector<double>& angle,
59 const std::vector<apollo::common::math::Vec2d>& ref_point,
60 const std::vector<double>& longitudinal_bound,
61 const std::vector<double>& lateral_bound);
65 const std::vector<double>& t_coord,
const std::vector<double>& angle,
66 const std::vector<apollo::common::math::Vec2d>& ref_point,
67 const std::vector<double>& longitudinal_bound,
68 const std::vector<double>& lateral_bound);
72 const std::vector<double>& t_coord,
const std::vector<double>& angle,
73 const std::vector<apollo::common::math::Vec2d>& ref_point,
74 const std::vector<double>& longitudinal_bound,
75 const std::vector<double>& lateral_bound);
103 uint32_t FindIndex(
const double t)
const;
104 std::vector<double> AffineCoef(
const double angle,
const double t)
const;
105 std::vector<double> AffineDerivativeCoef(
const double angle,
106 const double t)
const;
107 std::vector<double> AffineSecondDerivativeCoef(
const double angle,
108 const double t)
const;
109 std::vector<double> AffineThirdDerivativeCoef(
const double angle,
110 const double t)
const;
111 std::vector<double> PolyCoef(
const double t)
const;
112 std::vector<double> DerivativeCoef(
const double t)
const;
113 std::vector<double> SecondDerivativeCoef(
const double t)
const;
114 std::vector<double> ThirdDerivativeCoef(
const double t)
const;
116 const double angle)
const;
117 bool AddPointKthOrderDerivativeConstraint(
118 const double t,
const double x_kth_derivative,
119 const double y_kth_derivative,
const std::vector<double>& kth_coeff);
124 std::vector<double> t_knots_;
125 uint32_t spline_order_;
126 uint32_t total_param_;
bool Add2dThirdDerivativeBoundary(const std::vector< double > &t_coord, const std::vector< double > &angle, const std::vector< apollo::common::math::Vec2d > &ref_point, const std::vector< double > &longitudinal_bound, const std::vector< double > &lateral_bound)
bool Add2dBoundary(const std::vector< double > &t_coord, const std::vector< double > &angle, const std::vector< apollo::common::math::Vec2d > &ref_point, const std::vector< double > &longitudinal_bound, const std::vector< double > &lateral_bound)
: inequality boundary constraints if no boundary, do specify either by std::infinity or let vector....
bool Add2dDerivativeBoundary(const std::vector< double > &t_coord, const std::vector< double > &angle, const std::vector< apollo::common::math::Vec2d > &ref_point, const std::vector< double > &longitudinal_bound, const std::vector< double > &lateral_bound)
bool Add2dSecondDerivativeBoundary(const std::vector< double > &t_coord, const std::vector< double > &angle, const std::vector< apollo::common::math::Vec2d > &ref_point, const std::vector< double > &longitudinal_bound, const std::vector< double > &lateral_bound)