22template <
typename WheelPositions,
typename WheelVelocities,
23 typename WheelAccelerations>
24 requires std::copy_constructible<WheelPositions> &&
25 std::assignable_from<WheelPositions&, const WheelPositions&>
40 const WheelVelocities& wheelVelocities) const = 0;
65 const WheelPositions& end) const = 0;
76 virtual WheelPositions
Interpolate(const WheelPositions& start,
77 const WheelPositions& end,
90 const WheelAccelerations& wheelAccelerations) const = 0;
#define WPILIB_DLLEXPORT
Definition SymbolExports.hpp:36
Helper class that converts a chassis velocity (dx, dy, and dtheta components) into individual wheel v...
Definition Kinematics.hpp:26
virtual Twist2d ToTwist2d(const WheelPositions &start, const WheelPositions &end) const =0
Performs forward kinematics to return the resulting Twist2d from the given change in wheel positions.
virtual ChassisAccelerations ToChassisAccelerations(const WheelAccelerations &wheelAccelerations) const =0
Performs forward kinematics to return the resulting chassis accelerations from the wheel acceleration...
virtual WheelVelocities ToWheelVelocities(const ChassisVelocities &chassisVelocities) const =0
Performs inverse kinematics to return the wheel velocities from a desired chassis velocity.
virtual ~Kinematics() noexcept=default
virtual WheelAccelerations ToWheelAccelerations(const ChassisAccelerations &chassisAccelerations) const =0
Performs inverse kinematics to return the wheel accelerations from a desired chassis acceleration.
virtual WheelPositions Interpolate(const WheelPositions &start, const WheelPositions &end, double t) const =0
Performs interpolation between two values.
virtual ChassisVelocities ToChassisVelocities(const WheelVelocities &wheelVelocities) const =0
Performs forward kinematics to return the resulting chassis velocity from the wheel velocities.
Definition LinearSystem.hpp:20
Represents robot chassis accelerations.
Definition ChassisAccelerations.hpp:21
Represents robot chassis velocities.
Definition ChassisVelocities.hpp:26
A change in distance along a 2D arc since the last pose update.
Definition Twist2d.hpp:23