8#include "wpi/units/acceleration.hpp"
9#include "wpi/units/curvature.hpp"
10#include "wpi/units/math.hpp"
11#include "wpi/units/velocity.hpp"
29 wpi::units::meters_per_second_squared_t maxCentripetalAcceleration)
30 : m_maxCentripetalAcceleration(maxCentripetalAcceleration) {}
33 const Pose2d& pose, wpi::units::curvature_t curvature,
34 wpi::units::meters_per_second_t velocity)
const override {
45 return wpi::units::math::sqrt(m_maxCentripetalAcceleration /
46 wpi::units::math::abs(curvature) * 1_rad);
50 const Pose2d& pose, wpi::units::curvature_t curvature,
51 wpi::units::meters_per_second_t velocity)
const override {
58 wpi::units::meters_per_second_squared_t m_maxCentripetalAcceleration;
#define WPILIB_DLLEXPORT
Definition SymbolExports.hpp:36
constexpr wpi::units::meters_per_second_t MaxVelocity(const Pose2d &pose, wpi::units::curvature_t curvature, wpi::units::meters_per_second_t velocity) const override
Returns the max velocity given the current pose and curvature.
Definition CentripetalAccelerationConstraint.hpp:32
constexpr MinMax MinMaxAcceleration(const Pose2d &pose, wpi::units::curvature_t curvature, wpi::units::meters_per_second_t velocity) const override
Returns the minimum and maximum allowable acceleration for the trajectory given pose,...
Definition CentripetalAccelerationConstraint.hpp:49
constexpr CentripetalAccelerationConstraint(wpi::units::meters_per_second_squared_t maxCentripetalAcceleration)
Definition CentripetalAccelerationConstraint.hpp:28
Represents a 2D pose containing translational and rotational elements.
Definition Pose2d.hpp:27
constexpr TrajectoryConstraint()=default
Definition LinearSystem.hpp:20
Represents a minimum and maximum acceleration.
Definition TrajectoryConstraint.hpp:36