Class TargetAlignmentModule
- java.lang.Object
-
- com.thegongoliers.output.drivetrain.TargetAlignmentModule
-
- All Implemented Interfaces:
DriveModule
public class TargetAlignmentModule extends java.lang.Object implements DriveModule
A drivetrain module which align to vision targets
-
-
Constructor Summary
Constructors Constructor Description TargetAlignmentModule(TargetingCamera camera, double aimStrength, double rangeStrength, boolean shouldSeek)TargetAlignmentModule(TargetingCamera camera, com.kylecorry.pid.PID aimPID, com.kylecorry.pid.PID rangePID, boolean shouldSeek)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidalign(double desiredHorizontalOffset, double desiredTargetArea)booleanisAligning()booleanoverridesUser()Determines if the module should override the user's inputDriveSpeedrun(DriveSpeed currentSpeed, DriveSpeed desiredSpeed, double deltaTime)Run the drive modulevoidsetAimPID(com.kylecorry.pid.PID aimPID)voidsetAimThreshold(double threshold)voidsetRangePID(com.kylecorry.pid.PID rangePID)voidsetRangeThreshold(double threshold)voidsetSeekSpeed(double speed)voidsetShouldSeek(boolean shouldSeek)voidstopAligning()
-
-
-
Constructor Detail
-
TargetAlignmentModule
public TargetAlignmentModule(TargetingCamera camera, double aimStrength, double rangeStrength, boolean shouldSeek)
-
TargetAlignmentModule
public TargetAlignmentModule(TargetingCamera camera, com.kylecorry.pid.PID aimPID, com.kylecorry.pid.PID rangePID, boolean shouldSeek)
-
-
Method Detail
-
run
public DriveSpeed run(DriveSpeed currentSpeed, DriveSpeed desiredSpeed, double deltaTime)
Description copied from interface:DriveModuleRun the drive module- Specified by:
runin interfaceDriveModule- Parameters:
currentSpeed- the current speed of the drivetraindesiredSpeed- the desired speed of the drivetraindeltaTime- the delta time since the last call in seconds- Returns:
- the speed the drivetrain should set
-
overridesUser
public boolean overridesUser()
Description copied from interface:DriveModuleDetermines if the module should override the user's input- Specified by:
overridesUserin interfaceDriveModule- Returns:
- true if it overrides the user's input
-
align
public void align(double desiredHorizontalOffset, double desiredTargetArea)
-
stopAligning
public void stopAligning()
-
isAligning
public boolean isAligning()
-
setShouldSeek
public void setShouldSeek(boolean shouldSeek)
-
setSeekSpeed
public void setSeekSpeed(double speed)
-
setRangeThreshold
public void setRangeThreshold(double threshold)
-
setAimThreshold
public void setAimThreshold(double threshold)
-
setRangePID
public void setRangePID(com.kylecorry.pid.PID rangePID)
-
setAimPID
public void setAimPID(com.kylecorry.pid.PID aimPID)
-
-