67 const std::vector<PoseWithCurvature>& points,
68 const std::vector<std::unique_ptr<TrajectoryConstraint>>& constraints,
69 wpi::units::meters_per_second_t startVelocity,
70 wpi::units::meters_per_second_t endVelocity,
71 wpi::units::meters_per_second_t maxVelocity,
72 wpi::units::meters_per_second_squared_t maxAcceleration,
bool reversed);
75 constexpr static double kEpsilon = 1E-6;
82 struct ConstrainedState {
84 wpi::units::meter_t distance = 0_m;
85 wpi::units::meters_per_second_t maxVelocity = 0_mps;
86 wpi::units::meters_per_second_squared_t minAcceleration = 0_mps_sq;
87 wpi::units::meters_per_second_squared_t maxAcceleration = 0_mps_sq;
100 static void EnforceAccelerationLimits(
102 const std::vector<std::unique_ptr<TrajectoryConstraint>>& constraints,
103 ConstrainedState* state);
static Trajectory TimeParameterizeTrajectory(const std::vector< PoseWithCurvature > &points, const std::vector< std::unique_ptr< TrajectoryConstraint > > &constraints, wpi::units::meters_per_second_t startVelocity, wpi::units::meters_per_second_t endVelocity, wpi::units::meters_per_second_t maxVelocity, wpi::units::meters_per_second_squared_t maxAcceleration, bool reversed)
Parameterize the trajectory by time.