42      units::meters_per_second_squared_t maxLinearAccel,
 
   43      units::radians_per_second_squared_t maxAngularAccel)
 
   45                                             -maxLinearAccel, maxLinearAccel,
 
 
   62      units::meters_per_second_squared_t minLinearAccel,
 
   63      units::meters_per_second_squared_t maxLinearAccel,
 
   64      units::radians_per_second_squared_t maxAngularAccel)
 
   65      : m_system{
std::move(system)},
 
   66        m_trackwidth{trackwidth},
 
   67        m_minLinearAccel{minLinearAccel},
 
   68        m_maxLinearAccel{maxLinearAccel},
 
   69        m_maxAngularAccel{maxAngularAccel} {
 
   70    if (minLinearAccel > maxLinearAccel) {
 
   71      throw std::invalid_argument(
 
   72          "maxLinearAccel must be greater than minLinearAccel");
 
 
   86      units::meters_per_second_t leftVelocity,
 
   87      units::meters_per_second_t rightVelocity, units::volt_t leftVoltage,
 
   88      units::volt_t rightVoltage);
 
   92  units::meter_t m_trackwidth;
 
   93  units::meters_per_second_squared_t m_minLinearAccel;
 
   94  units::meters_per_second_squared_t m_maxLinearAccel;
 
   95  units::radians_per_second_squared_t m_maxAngularAccel;
 
 
#define WPILIB_DLLEXPORT
Definition SymbolExports.h:36
Filters the provided voltages to limit a differential drive's linear and angular acceleration.
Definition DifferentialDriveAccelerationLimiter.h:29
DifferentialDriveAccelerationLimiter(LinearSystem< 2, 2, 2 > system, units::meter_t trackwidth, units::meters_per_second_squared_t minLinearAccel, units::meters_per_second_squared_t maxLinearAccel, units::radians_per_second_squared_t maxAngularAccel)
Constructs a DifferentialDriveAccelerationLimiter.
Definition DifferentialDriveAccelerationLimiter.h:60
DifferentialDriveWheelVoltages Calculate(units::meters_per_second_t leftVelocity, units::meters_per_second_t rightVelocity, units::volt_t leftVoltage, units::volt_t rightVoltage)
Returns the next voltage pair subject to acceleration constraints.
DifferentialDriveAccelerationLimiter(LinearSystem< 2, 2, 2 > system, units::meter_t trackwidth, units::meters_per_second_squared_t maxLinearAccel, units::radians_per_second_squared_t maxAngularAccel)
Constructs a DifferentialDriveAccelerationLimiter.
Definition DifferentialDriveAccelerationLimiter.h:40
A plant defined using state-space notation.
Definition LinearSystem.h:35
Implement std::hash so that hash_code can be used in STL containers.
Definition PointerIntPair.h:280
Motor voltages for a differential drive.
Definition DifferentialDriveWheelVoltages.h:14