10#include "units/acceleration.h"
11#include "units/curvature.h"
12#include "units/math.h"
13#include "units/velocity.h"
30 units::meters_per_second_squared_t maxCentripetalAcceleration)
31 : m_maxCentripetalAcceleration(maxCentripetalAcceleration) {}
34 const Pose2d& pose, units::curvature_t curvature,
35 units::meters_per_second_t velocity)
const override {
46 return units::math::sqrt(m_maxCentripetalAcceleration /
47 units::math::abs(curvature) * 1_rad);
51 const Pose2d& pose, units::curvature_t curvature,
52 units::meters_per_second_t speed)
const override {
59 units::meters_per_second_squared_t m_maxCentripetalAcceleration;
#define WPILIB_DLLEXPORT
Definition SymbolExports.h:36
A constraint on the maximum absolute centripetal acceleration allowed when traversing a trajectory.
Definition CentripetalAccelerationConstraint.h:27
constexpr MinMax MinMaxAcceleration(const Pose2d &pose, units::curvature_t curvature, units::meters_per_second_t speed) const override
Returns the minimum and maximum allowable acceleration for the trajectory given pose,...
Definition CentripetalAccelerationConstraint.h:50
constexpr units::meters_per_second_t MaxVelocity(const Pose2d &pose, units::curvature_t curvature, units::meters_per_second_t velocity) const override
Returns the max velocity given the current pose and curvature.
Definition CentripetalAccelerationConstraint.h:33
constexpr CentripetalAccelerationConstraint(units::meters_per_second_squared_t maxCentripetalAcceleration)
Definition CentripetalAccelerationConstraint.h:29
Represents a 2D pose containing translational and rotational elements.
Definition Pose2d.h:27
An interface for defining user-defined velocity and acceleration constraints while generating traject...
Definition TrajectoryConstraint.h:21
Definition SystemServer.h:9
Represents a minimum and maximum acceleration.
Definition TrajectoryConstraint.h:37