34 const Pose2d& start,
const std::vector<Translation2d>& interiorWaypoints,
44 const std::vector<Pose2d>& waypoints);
65 std::vector<Translation2d> waypoints,
89 const std::vector<QuinticHermiteSpline>& splines);
98 static Spline<5>::ControlVector QuinticControlVector(
double scalar,
100 return {{point.X().value(),
scalar * point.Rotation().Cos(), 0.0},
101 {point.Y().value(),
scalar * point.Rotation().Sin(), 0.0}};
113 static void ThomasAlgorithm(
const std::vector<double>& a,
114 const std::vector<double>&
b,
115 const std::vector<double>&
c,
116 const std::vector<double>& d,
117 std::vector<double>* solutionVector);
#define WPILIB_DLLEXPORT
Definition: SymbolExports.h:36
Represents a 2D pose containing translational and rotational elements.
Definition: Pose2d.h:23
constexpr const Rotation2d & Rotation() const
Returns the underlying rotation.
Definition: Pose2d.h:103
constexpr units::meter_t Y() const
Returns the Y component of the pose's translation.
Definition: Pose2d.h:96
constexpr units::meter_t X() const
Returns the X component of the pose's translation.
Definition: Pose2d.h:89
constexpr double Cos() const
Returns the cosine of the rotation.
Definition: Rotation2d.h:142
constexpr double Sin() const
Returns the sine of the rotation.
Definition: Rotation2d.h:149
Helper class that is used to generate cubic and quintic splines from user provided waypoints.
Definition: SplineHelper.h:21
static std::vector< CubicHermiteSpline > CubicSplinesFromControlVectors(const Spline< 3 >::ControlVector &start, std::vector< Translation2d > waypoints, const Spline< 3 >::ControlVector &end)
Returns a set of cubic splines corresponding to the provided control vectors.
static std::vector< QuinticHermiteSpline > OptimizeCurvature(const std::vector< QuinticHermiteSpline > &splines)
Optimizes the curvature of 2 or more quintic splines at knot points.
static std::vector< QuinticHermiteSpline > QuinticSplinesFromControlVectors(const std::vector< Spline< 5 >::ControlVector > &controlVectors)
Returns a set of quintic splines corresponding to the provided control vectors.
static wpi::array< Spline< 3 >::ControlVector, 2 > CubicControlVectorsFromWaypoints(const Pose2d &start, const std::vector< Translation2d > &interiorWaypoints, const Pose2d &end)
Returns 2 cubic control vectors from a set of exterior waypoints and interior translations.
static std::vector< QuinticHermiteSpline > QuinticSplinesFromWaypoints(const std::vector< Pose2d > &waypoints)
Returns quintic splines from a set of waypoints.
Represents a two-dimensional parametric spline that interpolates between two points.
Definition: Spline.h:25
This class is a wrapper around std::array that does compile time size checking.
Definition: array.h:26
Definition: AprilTagPoseEstimator.h:15
class WPILIB_DLLEXPORT Pose2d
Definition: Transform2d.h:13
static constexpr const velocity::meters_per_second_t c(299792458.0)
Speed of light in vacuum.
unit< std::ratio< 1 >, units::category::scalar_unit > scalar
Definition: base.h:2510