12 #include <ndcurves/exact_cubic.h>
27 using exact_cubic_t = ndcurves::exact_cubic<double, double, false, point_t>;
46 const std::vector<waypoint_t> & waypoints = {},
47 const point_t & init_vel = {},
48 const point_t & init_acc = {},
49 const point_t & end_vel = {},
50 const point_t & end_acc = {});
56 void update()
override;
63 void waypoint(
size_t idx,
const point_t & waypoint);
70 void waypoint(
size_t idx,
const double t);
78 const waypoint_t & waypoint(
size_t idx)
const;
85 double waypointTime(
size_t idx)
const;
95 void constraints(
const point_t & init_vel,
96 const point_t & init_acc,
97 const point_t & end_vel,
98 const point_t & end_acc);
104 const point_t & init_vel()
const;
109 const point_t & init_acc()
const;
114 const point_t & end_vel()
const;
119 const point_t & end_acc()
const;
129 std::vector<Eigen::Vector3d> splev(
double t,
unsigned int der = 0);
135 std::vector<Eigen::Vector3d> sampleTrajectory();
145 spline_constraints_t constraints_;
146 std::unique_ptr<exact_cubic_t> spline_ =
nullptr;