18#include "wpi/units/acceleration.hpp"
19#include "wpi/units/velocity.hpp"
41 wpi::units::meters_per_second_squared_t maxAcceleration)
42 : m_maxVelocity(maxVelocity), m_maxAcceleration(maxAcceleration) {}
55 m_startVelocity = startVelocity;
63 m_endVelocity = endVelocity;
76 template <std::derived_from<TrajectoryConstra
int> Constra
int>
78 m_constraints.emplace_back(std::make_unique<Constraint>(constraint));
108 template <
size_t NumModules>
118 return m_startVelocity;
125 wpi::units::meters_per_second_t
EndVelocity()
const {
return m_endVelocity; }
131 wpi::units::meters_per_second_t
MaxVelocity()
const {
return m_maxVelocity; }
138 return m_maxAcceleration;
145 const std::vector<std::unique_ptr<TrajectoryConstraint>>&
Constraints()
147 return m_constraints;
157 wpi::units::meters_per_second_t m_startVelocity = 0_mps;
158 wpi::units::meters_per_second_t m_endVelocity = 0_mps;
159 wpi::units::meters_per_second_t m_maxVelocity;
160 wpi::units::meters_per_second_squared_t m_maxAcceleration;
161 std::vector<std::unique_ptr<TrajectoryConstraint>> m_constraints;
162 bool m_reversed =
false;
#define WPILIB_DLLEXPORT
Definition SymbolExports.hpp:36
A class that enforces constraints on the differential drive kinematics.
Definition DifferentialDriveKinematicsConstraint.hpp:22
Helper class that converts a chassis velocity (dx and dtheta components) to left and right wheel velo...
Definition DifferentialDriveKinematics.hpp:33
A class that enforces constraints on the mecanum drive kinematics.
Definition MecanumDriveKinematicsConstraint.hpp:21
Helper class that converts a chassis velocity (dx, dy, and dtheta components) into individual wheel v...
Definition MecanumDriveKinematics.hpp:48
A class that enforces constraints on the swerve drive kinematics.
Definition SwerveDriveKinematicsConstraint.hpp:20
Helper class that converts a chassis velocity (dx, dy, and dtheta components) into individual module ...
Definition SwerveDriveKinematics.hpp:59
wpi::units::meters_per_second_t StartVelocity() const
Returns the starting velocity of the trajectory.
Definition TrajectoryConfig.hpp:117
void SetKinematics(SwerveDriveKinematics< NumModules > &kinematics)
Adds a swerve drive kinematics constraint to ensure that no wheel velocity of a swerve drive goes abo...
Definition TrajectoryConfig.hpp:109
TrajectoryConfig(TrajectoryConfig &&)=default
wpi::units::meters_per_second_t EndVelocity() const
Returns the ending velocity of the trajectory.
Definition TrajectoryConfig.hpp:125
const std::vector< std::unique_ptr< TrajectoryConstraint > > & Constraints() const
Returns the user-defined constraints of the trajectory.
Definition TrajectoryConfig.hpp:145
TrajectoryConfig & operator=(TrajectoryConfig &&)=default
void SetReversed(bool reversed)
Sets the reversed flag of the trajectory.
Definition TrajectoryConfig.hpp:70
void SetKinematics(const DifferentialDriveKinematics &kinematics)
Adds a differential drive kinematics constraint to ensure that no wheel velocity of a differential dr...
Definition TrajectoryConfig.hpp:87
TrajectoryConfig(wpi::units::meters_per_second_t maxVelocity, wpi::units::meters_per_second_squared_t maxAcceleration)
Constructs a config object.
Definition TrajectoryConfig.hpp:40
void SetKinematics(MecanumDriveKinematics kinematics)
Adds a mecanum drive kinematics constraint to ensure that no wheel velocity of a mecanum drive goes a...
Definition TrajectoryConfig.hpp:98
bool IsReversed() const
Returns whether the trajectory is reversed or not.
Definition TrajectoryConfig.hpp:154
wpi::units::meters_per_second_t MaxVelocity() const
Returns the maximum velocity of the trajectory.
Definition TrajectoryConfig.hpp:131
void SetStartVelocity(wpi::units::meters_per_second_t startVelocity)
Sets the start velocity of the trajectory.
Definition TrajectoryConfig.hpp:54
void AddConstraint(Constraint constraint)
Adds a user-defined constraint to the trajectory.
Definition TrajectoryConfig.hpp:77
TrajectoryConfig & operator=(const TrajectoryConfig &)=delete
wpi::units::meters_per_second_squared_t MaxAcceleration() const
Returns the maximum acceleration of the trajectory.
Definition TrajectoryConfig.hpp:137
TrajectoryConfig(const TrajectoryConfig &)=delete
void SetEndVelocity(wpi::units::meters_per_second_t endVelocity)
Sets the end velocity of the trajectory.
Definition TrajectoryConfig.hpp:62
Definition LinearSystem.hpp:20