public class TankDrive
extends Drive
This class provides the basic functionality of a tank/differential drive using class TankKinematics
.
class TankKinematics
Modifier and Type | Class and Description |
---|---|
static class |
TankDrive.TankLocalizer
Default localizer for tank drives based on the drive encoders and (optionally) a heading sensor.
|
Constructor and Description |
---|
TankDrive(double kV,
double kA,
double kStatic,
double trackWidth)
This class provides the basic functionality of a tank/differential drive using
class TankKinematics . |
Modifier and Type | Method and Description |
---|---|
Localizer |
getLocalizer()
Localizer used to determine the evolution of
poseEstimate . |
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 . |
void |
setDrivePower(Pose2d drivePower)
Sets the current commanded drive state of the robot. Feedforward is not applied to
drivePower . |
void |
setDriveSignal(DriveSignal driveSignal)
Sets the current commanded drive state of the robot. Feedforward is applied to
driveSignal before it reaches
the motors. |
void |
setLocalizer(Localizer p)
Localizer used to determine the evolution of
poseEstimate . |
void |
setMotorPowers(double left,
double right)
Sets the following motor powers (normalized voltages). All arguments are on the interval
[-1.0, 1.0] . |
getExternalHeading, getLocalizer, getPoseEstimate, getRawExternalHeading, setDrivePower, setDriveSignal, setExternalHeading, setLocalizer, setPoseEstimate, updatePoseEstimate
public TankDrive(double kV, double kA, double kStatic, double trackWidth)
This class provides the basic functionality of a tank/differential drive using class TankKinematics
.
kV
- velocity feedforwardkA
- acceleration feedforwardkStatic
- additive constant feedforwardtrackWidth
- lateral distance between pairs of wheels on different sides of the robotclass TankKinematics
@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 left, double right)
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