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