38 #include "frc/trajectory/Trajectory.h"
39 #include "frc/trajectory/constraint/TrajectoryConstraint.h"
47 using PoseWithCurvature = std::pair<Pose2d, curvature_t>;
69 const std::vector<PoseWithCurvature>& points,
70 const std::vector<std::unique_ptr<TrajectoryConstraint>>& constraints,
71 units::meters_per_second_t startVelocity,
72 units::meters_per_second_t endVelocity,
73 units::meters_per_second_t maxVelocity,
74 units::meters_per_second_squared_t maxAcceleration,
bool reversed);
77 constexpr
static double kEpsilon = 1E-6;
84 struct ConstrainedState {
86 units::meter_t distance = 0_m;
87 units::meters_per_second_t maxVelocity = 0_mps;
88 units::meters_per_second_squared_t minAcceleration = 0_mps_sq;
89 units::meters_per_second_squared_t maxAcceleration = 0_mps_sq;
102 static void EnforceAccelerationLimits(
104 const std::vector<std::unique_ptr<TrajectoryConstraint>>& constraints,
105 ConstrainedState* state);