Package com.marswars.swerve_lib
Class ChassisRequest.FieldCentric
java.lang.Object
com.marswars.swerve_lib.ChassisRequest.FieldCentric
- All Implemented Interfaces:
ChassisRequest
- Enclosing interface:
- ChassisRequest
Drives the swerve drivetrain in a field-centric manner.
When users use this request, they specify the direction the robot should travel oriented against the field, and the rate at which their robot should rotate about the center of the robot.
-
Nested Class Summary
Nested classes/interfaces inherited from interface com.marswars.swerve_lib.ChassisRequest
ChassisRequest.ApplyChassisSpeeds, ChassisRequest.ApplyFieldSpeeds, ChassisRequest.ChassisRequestParameters, ChassisRequest.FieldCentric, ChassisRequest.FieldCentricFacingAngle, ChassisRequest.Idle, ChassisRequest.PointWheelsAt, ChassisRequest.RobotCentric, ChassisRequest.RobotCentricFacingAngle, ChassisRequest.SwerveDriveBrake, ChassisRequest.XPositiveReference -
Field Summary
FieldsModifier and TypeFieldDescriptionThe center of rotation the robot should rotate around.doubleThe allowable deadband of the request.The type of control request to use for the drive motor.protected SwerveModuleState[]The last applied state in case we don't have anything to drive.doubleThe rotational deadband of the request.The desired chassis speeds (field-relative)The type of control request to use for the steer motor.The perspective to use when determining which direction is forward. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidapply(ChassisRequest.ChassisRequestParameters parameters, Module... modulesToApply) Applies this swerve request to the given modules.withCenterOfRotation(Translation2d centerOfRotation) Sets the center of rotation of the requestwithDeadband(double deadband) Sets the allowable deadband of the request.withDriveRequestType(Module.DriveControlMode driveRequestType) Sets the type of control request to use for the drive motor.withRotationalDeadband(double rotationalDeadband) Sets the rotational deadband of the request.withSpeeds(ChassisSpeeds speeds) The linear and angular velocity to apply to the drivetrain, specified as ChassisSpeeds.withSteerRequestType(Module.SteerControlMode steerRequestType) Sets the type of control request to use for the steer motor.withXPositiveReference(ChassisRequest.XPositiveReference xPositiveReference) Sets the perspective to use when determining which direction is forward.
-
Field Details
-
Speeds
The desired chassis speeds (field-relative) -
Deadband
public double DeadbandThe allowable deadband of the request. -
RotationalDeadband
public double RotationalDeadbandThe rotational deadband of the request. -
CenterOfRotation
The center of rotation the robot should rotate around. This is (0,0) by default, which will rotate around the center of the robot. -
DriveRequestType
The type of control request to use for the drive motor. -
SteerRequestType
The type of control request to use for the steer motor. -
XPositiveReference
The perspective to use when determining which direction is forward. -
m_lastAppliedState
The last applied state in case we don't have anything to drive.
-
-
Constructor Details
-
FieldCentric
public FieldCentric()
-
-
Method Details
-
apply
Applies this swerve request to the given modules. This is typically called by the SwerveDrivetrain.- Specified by:
applyin interfaceChassisRequest- Parameters:
parameters- Parameters the control request needs to calculate the module statemodulesToApply- Modules to which the control request is applied
-
withSpeeds
The linear and angular velocity to apply to the drivetrain, specified as ChassisSpeeds. These speeds are assumed to be field-relative.- Parameters:
speeds- Field-relative chassis speeds to apply- Returns:
- this request
-
withDeadband
Sets the allowable deadband of the request.- Parameters:
deadband- Allowable deadband of the request- Returns:
- this request
-
withRotationalDeadband
Sets the rotational deadband of the request.- Parameters:
rotationalDeadband- Rotational deadband of the request- Returns:
- this request
-
withCenterOfRotation
Sets the center of rotation of the request- Parameters:
centerOfRotation- The center of rotation the robot should rotate around.- Returns:
- this request
-
withDriveRequestType
Sets the type of control request to use for the drive motor.- Parameters:
driveRequestType- The type of control request to use for the drive motor- Returns:
- this request
-
withSteerRequestType
Sets the type of control request to use for the steer motor.- Parameters:
steerRequestType- The type of control request to use for the steer motor- Returns:
- this request
-
withXPositiveReference
public ChassisRequest.FieldCentric withXPositiveReference(ChassisRequest.XPositiveReference xPositiveReference) Sets the perspective to use when determining which direction is forward.- Parameters:
xPositiveReference- The perspective to use when determining which direction is forward.- Returns:
- this request
-