public class MecanumDrive
extends Drive
This class provides the basic functionality of a mecanum drive using class MecanumKinematics
.
class MecanumKinematics
@JvmOverloads public MecanumDrive(double kV, double kA, double kStatic, double trackWidth, double wheelBase, double lateralMultiplier)
This class provides the basic functionality of a mecanum drive using class MecanumKinematics
.
kV
- velocity feedforwardkA
- acceleration feedforwardkStatic
- additive constant feedforwardtrackWidth
- lateral distance between pairs of wheels on different sides of the robotwheelBase
- distance between pairs of wheels on the same side of the robotlateralMultiplier
- lateral multiplierclass MecanumKinematics
@JvmOverloads public MecanumDrive(double kV, double kA, double kStatic, double trackWidth, double wheelBase)
This class provides the basic functionality of a mecanum drive using class MecanumKinematics
.
kV
- velocity feedforwardkA
- acceleration feedforwardkStatic
- additive constant feedforwardtrackWidth
- lateral distance between pairs of wheels on different sides of the robotwheelBase
- distance between pairs of wheels on the same side of the robotclass MecanumKinematics
@JvmOverloads public MecanumDrive(double kV, double kA, double kStatic, double trackWidth)
This class provides the basic functionality of a mecanum drive using class MecanumKinematics
.
kV
- velocity feedforwardkA
- acceleration feedforwardkStatic
- additive constant feedforwardtrackWidth
- lateral distance between pairs of wheels on different sides of the robotclass MecanumKinematics
@NotNull public Localizer getLocalizer()
Localizer used to determine the evolution of poseEstimate
.
poseEstimate
public void setLocalizer(@NotNull Localizer p)
Localizer used to determine the evolution of poseEstimate
.
poseEstimate
public void setDriveSignal(@NotNull DriveSignal driveSignal)
Sets the current commanded drive state of the robot. Feedforward is applied to driveSignal
before it reaches
the motors.
driveSignal
public void setDrivePower(@NotNull Pose2d drivePower)
Sets the current commanded drive state of the robot. Feedforward is not applied to drivePower
.
drivePower
public void setMotorPowers(double frontLeft, double rearLeft, double rearRight, double frontRight)
Sets the following motor powers (normalized voltages). All arguments are on the interval [-1.0, 1.0]
.
@NotNull public java.util.List<java.lang.Double> getWheelPositions()
Returns the positions of the wheels in linear distance units. Positions should exactly match the ordering in
setMotorPowers
.
setMotorPowers
@Nullable public java.util.List<java.lang.Double> getWheelVelocities()
Returns the velocities of the wheels in linear distance units. Positions should exactly match the ordering in
setMotorPowers
.
setMotorPowers