3#include <units/velocity.h> 
    4#include <units/acceleration.h> 
    5#include <units/angular_velocity.h> 
    6#include <units/angular_acceleration.h> 
    7#include <units/voltage.h> 
   11namespace pathplanner {
 
   25            units::meters_per_second_squared_t maxAccel,
 
   26            units::radians_per_second_t maxAngularVel,
 
   27            units::radians_per_second_squared_t maxAngularAccel,
 
   28            units::volt_t nominalVoltage = 12_V, 
bool unlimited = 
false) : m_maxVelocity(
 
   29            maxVel), m_maxAcceleration(maxAccel), m_maxAngularVelocity(
 
   30            maxAngularVel), m_maxAngularAcceleration(maxAngularAccel), m_nominalVoltage(
 
   31            nominalVoltage), m_unlimited(unlimited) {
 
   49            units::volt_t nominalVoltage) {
 
   50        double inf = std::numeric_limits<double>::infinity();
 
   52                units::meters_per_second_squared_t { inf },
 
   53                units::radians_per_second_t { inf },
 
   54                units::radians_per_second_squared_t { inf }, nominalVoltage,
 
   73        return m_maxAcceleration;
 
   82        return m_maxAngularVelocity;
 
   91        return m_maxAngularAcceleration;
 
  100        return m_nominalVoltage;
 
  103    constexpr bool isUnlimited()
 const {
 
  107    bool operator==(
const PathConstraints &other)
 const {
 
  108        return std::abs(m_maxVelocity() - other.m_maxVelocity()) < 1E-9
 
  109                && std::abs(m_maxAcceleration() - other.m_maxAcceleration())
 
  112                        m_maxAngularVelocity() - other.m_maxAngularVelocity())
 
  115                        m_maxAngularAcceleration()
 
  116                                - other.m_maxAngularAcceleration()) < 1E-9
 
  117                && std::abs(m_nominalVoltage() - other.m_nominalVoltage())
 
  118                        < 1E-9 && m_unlimited == other.m_unlimited;
 
  122    units::meters_per_second_t m_maxVelocity;
 
  123    units::meters_per_second_squared_t m_maxAcceleration;
 
  124    units::radians_per_second_t m_maxAngularVelocity;
 
  125    units::radians_per_second_squared_t m_maxAngularAcceleration;
 
  126    units::volt_t m_nominalVoltage;
 
Definition: PathConstraints.h:12
 
static constexpr PathConstraints unlimitedConstraints(units::volt_t nominalVoltage)
Definition: PathConstraints.h:48
 
constexpr units::meters_per_second_t getMaxVelocity() const
Definition: PathConstraints.h:63
 
constexpr units::volt_t getNominalVoltage() const
Definition: PathConstraints.h:99
 
static PathConstraints fromJson(const wpi::json &json)
Definition: PathConstraints.cpp:6
 
constexpr PathConstraints(units::meters_per_second_t maxVel, units::meters_per_second_squared_t maxAccel, units::radians_per_second_t maxAngularVel, units::radians_per_second_squared_t maxAngularAccel, units::volt_t nominalVoltage=12_V, bool unlimited=false)
Definition: PathConstraints.h:24
 
constexpr units::radians_per_second_squared_t getMaxAngularAcceleration() const
Definition: PathConstraints.h:90
 
constexpr units::radians_per_second_t getMaxAngularVelocity() const
Definition: PathConstraints.h:81
 
constexpr units::meters_per_second_squared_t getMaxAcceleration() const
Definition: PathConstraints.h:72