15 #include "frc/spline/SplineParameterizer.h"
16 #include "frc/trajectory/Trajectory.h"
17 #include "frc/trajectory/TrajectoryConfig.h"
18 #include "frc/trajectory/constraint/DifferentialDriveKinematicsConstraint.h"
19 #include "frc/trajectory/constraint/TrajectoryConstraint.h"
27 using PoseWithCurvature = std::pair<Pose2d, curvature_t>;
43 const std::vector<Translation2d>& interiorWaypoints,
59 const Pose2d& start,
const std::vector<Translation2d>& interiorWaypoints,
96 template <
typename Spline>
98 const std::vector<Spline>& splines) {
100 std::vector<PoseWithCurvature> splinePoints;
103 splinePoints.push_back(splines.front().GetPoint(0.0));
107 for (
auto&& spline : splines) {
112 splinePoints.insert(std::end(splinePoints), std::begin(points) + 1,
124 s_errorFunc = std::move(func);
128 static void ReportError(
const char* error);
131 static std::function<void(
const char*)> s_errorFunc;
Represents a two-dimensional parametric spline that interpolates between two points.
Definition: Spline.h:33
Helper class used to generate trajectories with various constraints.
Definition: TrajectoryGenerator.h:25
static void SetErrorHandler(std::function< void(const char *)> func)
Set error reporting function.
Definition: TrajectoryGenerator.h:123
static Trajectory GenerateTrajectory(Spline< 3 >::ControlVector initial, const std::vector< Translation2d > &interiorWaypoints, Spline< 3 >::ControlVector end, const TrajectoryConfig &config)
Generates a trajectory from the given control vectors and config.
Represents a 2d pose containing translational and rotational elements.
Definition: Pose2d.h:23
static std::vector< PoseWithCurvature > Parameterize(const Spline< Dim > &spline, double t0=0.0, double t1=1.0)
Parameterizes the spline.
Definition: SplineParameterizer.h:72
Represents a time-parameterized trajectory.
Definition: Trajectory.h:34
static std::vector< PoseWithCurvature > SplinePointsFromSplines(const std::vector< Spline > &splines)
Generate spline points from a vector of splines by parameterizing the splines.
Definition: TrajectoryGenerator.h:97
A class that enforces constraints on the differential drive kinematics.
Definition: SPIAccelerometerSim.h:16
Represents the configuration for generating a trajectory.
Definition: TrajectoryConfig.h:35