2023 Drive base
 
Loading...
Searching...
No Matches
frc.robot.subsystems.DriveBase Class Referenceabstract
Inheritance diagram for frc.robot.subsystems.DriveBase:
frc.robot.subsystems.MecaDrive frc.robot.subsystems.TankDrive

Classes

enum  Mode
 

Public Member Functions

void drive (double leftAnalogX, double leftAnalogY, double rightAnalogX, double rightAnalogY)
 Drive the robot with controller input.
 
void drive (double leftAnalogX, double leftAnalogY, double rightAnalogX)
 
abstract void printControlsOfCurrentMode ()
 Prints the controls of the current driving mode.
 
void increaseSpeedBracket ()
 The speed bracket controls the multiplier for al the speeds So when you change it, lets say, to 1/2 speed, all movement will be at 1/2 speed.
 
void decreaseSpeedBracket ()
 
void turnOnDefaultMode ()
 
void turnOnDebugMode ()
 
void turnOnStopMode ()
 should be overridden for actual functionality because depends on drive base specifc speeds (for tank drive, there is a left and right speed, whereas for mecanum there are 4)
 
void turnONPIDTuningMode ()
 
abstract void cycleMotor ()
 Needs to be implemented in sub classes becuase there might be different numbers of motors.
 
void AButtonPressed ()
 
void BButtonPressed ()
 
void XButtonPressed ()
 
void YButtonPressed ()
 
void leftBumperPressed ()
 
void rightBumperPressed ()
 
Mode getCurrentMode ()
 
void setCurrentMode (Mode currentMode)
 
int getDebugEnabledMotor ()
 
void setDebugEnabledMotor (int debugEnabledMotor)
 
Trajectory getCurrentTrajectory ()
 
void setCurrentTrajectory (Trajectory currentTrajectory)
 
TrajectoryConfig getTrajectoryConfig ()
 
RamseteController getChassisController ()
 
double getCurrentTrajectoryTime ()
 
void resetCurrentTrajectoryTime ()
 
void incrementCurrentTrajectoryTime ()
 

Protected Attributes

TrajectoryConfig trajectoryConfig
 

Private Attributes

Trajectory currentTrajectory
 
double currentTrajectoryTime
 
final RamseteController chassisController = new RamseteController(Constants.RAMSETE_B, Constants.RAMSETE_ZETA)
 

Detailed Description

Definition at line 10 of file DriveBase.java.

Member Function Documentation

◆ AButtonPressed()

void frc.robot.subsystems.DriveBase.AButtonPressed ( )

Reimplemented in frc.robot.subsystems.TankDrive.

Definition at line 126 of file DriveBase.java.

126{}

◆ BButtonPressed()

void frc.robot.subsystems.DriveBase.BButtonPressed ( )

Reimplemented in frc.robot.subsystems.TankDrive.

Definition at line 128 of file DriveBase.java.

128{}

◆ cycleMotor()

abstract void frc.robot.subsystems.DriveBase.cycleMotor ( )
abstract

Needs to be implemented in sub classes becuase there might be different numbers of motors.

Reimplemented in frc.robot.subsystems.MecaDrive, and frc.robot.subsystems.TankDrive.

◆ decreaseSpeedBracket()

void frc.robot.subsystems.DriveBase.decreaseSpeedBracket ( )

Definition at line 72 of file DriveBase.java.

72 {
73 // the min is 0.2 because below that the robot is unlikely to move
74 speedMultiplier = Math.max(0.2, speedMultiplier - 0.1);
75 System.out.println("Current speed multiplier: " + speedMultiplier);
76 }

Referenced by frc.robot.Robot.checkForButtonPresses(), and frc.robot.subsystems.TankDrive.leftBumperPressed().

◆ drive() [1/2]

void frc.robot.subsystems.DriveBase.drive ( double  leftAnalogX,
double  leftAnalogY,
double  rightAnalogX 
)

Reimplemented in frc.robot.subsystems.MecaDrive.

Definition at line 53 of file DriveBase.java.

54 {};

◆ drive() [2/2]

void frc.robot.subsystems.DriveBase.drive ( double  leftAnalogX,
double  leftAnalogY,
double  rightAnalogX,
double  rightAnalogY 
)

Drive the robot with controller input.

These are doubles on the interval [-1, 1] and come from the controller's analog sticks

Reimplemented in frc.robot.subsystems.TankDrive.

Definition at line 49 of file DriveBase.java.

50 {};

◆ getChassisController()

RamseteController frc.robot.subsystems.DriveBase.getChassisController ( )

Definition at line 160 of file DriveBase.java.

160 {
161 return chassisController;
162 }
final RamseteController chassisController
Definition: DriveBase.java:39

References frc.robot.subsystems.DriveBase.chassisController.

Referenced by frc.robot.subsystems.Autonomous.getChassisSpeeds().

◆ getCurrentMode()

Mode frc.robot.subsystems.DriveBase.getCurrentMode ( )

Definition at line 139 of file DriveBase.java.

139 {
140 return currentMode;
141 }

◆ getCurrentTrajectory()

Trajectory frc.robot.subsystems.DriveBase.getCurrentTrajectory ( )

◆ getCurrentTrajectoryTime()

double frc.robot.subsystems.DriveBase.getCurrentTrajectoryTime ( )

◆ getDebugEnabledMotor()

int frc.robot.subsystems.DriveBase.getDebugEnabledMotor ( )

Definition at line 145 of file DriveBase.java.

145 {
146 return debugEnabledMotor;
147 }

◆ getTrajectoryConfig()

TrajectoryConfig frc.robot.subsystems.DriveBase.getTrajectoryConfig ( )

Definition at line 157 of file DriveBase.java.

157 {
158 return trajectoryConfig;
159 }
TrajectoryConfig trajectoryConfig
Definition: DriveBase.java:35

References frc.robot.subsystems.DriveBase.trajectoryConfig.

Referenced by frc.robot.subsystems.Autonomous.updateTrajectory().

◆ increaseSpeedBracket()

void frc.robot.subsystems.DriveBase.increaseSpeedBracket ( )

The speed bracket controls the multiplier for al the speeds So when you change it, lets say, to 1/2 speed, all movement will be at 1/2 speed.

Definition at line 67 of file DriveBase.java.

67 {
68 speedMultiplier = Math.min(1, speedMultiplier + 0.1);
69 System.out.println("Current speed multiplier: " + speedMultiplier);
70 }

Referenced by frc.robot.Robot.checkForButtonPresses(), and frc.robot.subsystems.TankDrive.rightBumperPressed().

◆ incrementCurrentTrajectoryTime()

void frc.robot.subsystems.DriveBase.incrementCurrentTrajectoryTime ( )

Definition at line 169 of file DriveBase.java.

169 {
170 currentTrajectoryTime += Constants.SECONDS_BETWEEN_CODE_PERIODS;
171 }

References frc.robot.subsystems.DriveBase.currentTrajectoryTime, and frc.robot.Constants.SECONDS_BETWEEN_CODE_PERIODS.

Referenced by frc.robot.Robot.autonomousPeriodic().

◆ leftBumperPressed()

void frc.robot.subsystems.DriveBase.leftBumperPressed ( )

Reimplemented in frc.robot.subsystems.TankDrive.

Definition at line 134 of file DriveBase.java.

134{}

◆ printControlsOfCurrentMode()

abstract void frc.robot.subsystems.DriveBase.printControlsOfCurrentMode ( )
abstract

◆ resetCurrentTrajectoryTime()

void frc.robot.subsystems.DriveBase.resetCurrentTrajectoryTime ( )

◆ rightBumperPressed()

void frc.robot.subsystems.DriveBase.rightBumperPressed ( )

Reimplemented in frc.robot.subsystems.TankDrive.

Definition at line 136 of file DriveBase.java.

136{}

◆ setCurrentMode()

void frc.robot.subsystems.DriveBase.setCurrentMode ( Mode  currentMode)

Definition at line 142 of file DriveBase.java.

142 {
143 this.currentMode = currentMode;
144 }

◆ setCurrentTrajectory()

void frc.robot.subsystems.DriveBase.setCurrentTrajectory ( Trajectory  currentTrajectory)

Definition at line 154 of file DriveBase.java.

154 {
155 this.currentTrajectory = currentTrajectory;
156 }

References frc.robot.subsystems.DriveBase.currentTrajectory.

Referenced by frc.robot.subsystems.Autonomous.updateTrajectory().

◆ setDebugEnabledMotor()

void frc.robot.subsystems.DriveBase.setDebugEnabledMotor ( int  debugEnabledMotor)

Definition at line 148 of file DriveBase.java.

148 {
149 this.debugEnabledMotor = debugEnabledMotor;
150 }

◆ turnOnDebugMode()

void frc.robot.subsystems.DriveBase.turnOnDebugMode ( )

Definition at line 87 of file DriveBase.java.

87 {
88 if(currentMode == Mode.DEBUG_MODE) return;
89 currentMode = Mode.DEBUG_MODE;
90 System.out.println("********************************");
91 System.out.println("Current Mode: DEBUG Mode");
92 System.out.println("********************************");
94 }
abstract void printControlsOfCurrentMode()
Prints the controls of the current driving mode.

References frc.robot.subsystems.DriveBase.printControlsOfCurrentMode().

Referenced by frc.robot.Robot.checkForModeSwitches().

◆ turnOnDefaultMode()

void frc.robot.subsystems.DriveBase.turnOnDefaultMode ( )

Definition at line 78 of file DriveBase.java.

78 {
79 if(currentMode == Mode.DEFAULT_MODE) return;
80 currentMode = Mode.DEFAULT_MODE;
81 System.out.println("********************************");
82 System.out.println("Current Mode: DEFAULT Mode");
83 System.out.println("********************************");
85 }

References frc.robot.subsystems.DriveBase.printControlsOfCurrentMode().

Referenced by frc.robot.Robot.checkForModeSwitches().

◆ turnONPIDTuningMode()

void frc.robot.subsystems.DriveBase.turnONPIDTuningMode ( )

Definition at line 110 of file DriveBase.java.

110 {
111 if(currentMode == Mode.PID_TUNING_MODE) return;
112 currentMode = Mode.PID_TUNING_MODE;
113 System.out.println("********************************");
114 System.out.println("Current Mode: PID TUNING Mode");
115 System.out.println("********************************");
117 }

References frc.robot.subsystems.DriveBase.printControlsOfCurrentMode().

Referenced by frc.robot.Robot.checkForModeSwitches().

◆ turnOnStopMode()

void frc.robot.subsystems.DriveBase.turnOnStopMode ( )

should be overridden for actual functionality because depends on drive base specifc speeds (for tank drive, there is a left and right speed, whereas for mecanum there are 4)

Reimplemented in frc.robot.subsystems.TankDrive.

Definition at line 101 of file DriveBase.java.

101 {
102 if(currentMode == Mode.STOP_MODE) return;
103 currentMode = Mode.STOP_MODE;
104 System.out.println("********************************");
105 System.out.println("Current Mode: STOP Mode");
106 System.out.println("********************************");
108 }

References frc.robot.subsystems.DriveBase.printControlsOfCurrentMode().

Referenced by frc.robot.Robot.checkForModeSwitches().

◆ XButtonPressed()

void frc.robot.subsystems.DriveBase.XButtonPressed ( )

Reimplemented in frc.robot.subsystems.TankDrive.

Definition at line 130 of file DriveBase.java.

130{}

◆ YButtonPressed()

void frc.robot.subsystems.DriveBase.YButtonPressed ( )

Reimplemented in frc.robot.subsystems.TankDrive.

Definition at line 132 of file DriveBase.java.

132{}

Member Data Documentation

◆ chassisController

final RamseteController frc.robot.subsystems.DriveBase.chassisController = new RamseteController(Constants.RAMSETE_B, Constants.RAMSETE_ZETA)
private

Definition at line 39 of file DriveBase.java.

Referenced by frc.robot.subsystems.DriveBase.getChassisController().

◆ currentTrajectory

Trajectory frc.robot.subsystems.DriveBase.currentTrajectory
private

◆ currentTrajectoryTime

◆ trajectoryConfig

TrajectoryConfig frc.robot.subsystems.DriveBase.trajectoryConfig
protected

The documentation for this class was generated from the following file: