13#include "wpi/units/acceleration.hpp"
14#include "wpi/units/angular_acceleration.hpp"
15#include "wpi/units/length.hpp"
16#include "wpi/units/velocity.hpp"
17#include "wpi/units/voltage.hpp"
41 wpi::units::meters_per_second_squared_t maxLinearAccel,
42 wpi::units::radians_per_second_squared_t maxAngularAccel)
44 -maxLinearAccel, maxLinearAccel,
61 wpi::units::meters_per_second_squared_t minLinearAccel,
62 wpi::units::meters_per_second_squared_t maxLinearAccel,
63 wpi::units::radians_per_second_squared_t maxAngularAccel)
64 : m_system{
std::move(system)},
65 m_trackwidth{trackwidth},
66 m_minLinearAccel{minLinearAccel},
67 m_maxLinearAccel{maxLinearAccel},
68 m_maxAngularAccel{maxAngularAccel} {
69 if (minLinearAccel > maxLinearAccel) {
70 throw std::invalid_argument(
71 "maxLinearAccel must be greater than minLinearAccel");
85 wpi::units::meters_per_second_t leftVelocity,
86 wpi::units::meters_per_second_t rightVelocity,
87 wpi::units::volt_t leftVoltage, wpi::units::volt_t rightVoltage);
91 wpi::units::meter_t m_trackwidth;
92 wpi::units::meters_per_second_squared_t m_minLinearAccel;
93 wpi::units::meters_per_second_squared_t m_maxLinearAccel;
94 wpi::units::radians_per_second_squared_t m_maxAngularAccel;
#define WPILIB_DLLEXPORT
Definition SymbolExports.hpp:36
DifferentialDriveWheelVoltages Calculate(wpi::units::meters_per_second_t leftVelocity, wpi::units::meters_per_second_t rightVelocity, wpi::units::volt_t leftVoltage, wpi::units::volt_t rightVoltage)
Returns the next voltage pair subject to acceleration constraints.
DifferentialDriveAccelerationLimiter(LinearSystem< 2, 2, 2 > system, wpi::units::meter_t trackwidth, wpi::units::meters_per_second_squared_t minLinearAccel, wpi::units::meters_per_second_squared_t maxLinearAccel, wpi::units::radians_per_second_squared_t maxAngularAccel)
Constructs a DifferentialDriveAccelerationLimiter.
Definition DifferentialDriveAccelerationLimiter.hpp:59
DifferentialDriveAccelerationLimiter(LinearSystem< 2, 2, 2 > system, wpi::units::meter_t trackwidth, wpi::units::meters_per_second_squared_t maxLinearAccel, wpi::units::radians_per_second_squared_t maxAngularAccel)
Constructs a DifferentialDriveAccelerationLimiter.
Definition DifferentialDriveAccelerationLimiter.hpp:39
A plant defined using state-space notation.
Definition LinearSystem.hpp:35
Definition StringMap.hpp:773
Definition LinearSystem.hpp:20
Motor voltages for a differential drive.
Definition DifferentialDriveWheelVoltages.hpp:14