public class HolonomicPIDVAFollower
extends TrajectoryFollower
Traditional PID controller with feedforward velocity and acceleration components to follow a trajectory. More specifically, the feedback is applied to the components of the robot's pose (x position, y position, and heading) to determine the velocity correction. The feedforward components are instead applied at the wheel level.
Constructor and Description |
---|
HolonomicPIDVAFollower(Drive drive,
PIDCoefficients translationalCoeffs,
PIDCoefficients headingCoeffs,
double kV,
double kA,
double kStatic,
Pose2d admissibleError,
double timeout,
NanoClock clock)
Traditional PID controller with feedforward velocity and acceleration components to follow a trajectory. More
specifically, the feedback is applied to the components of the robot's pose (x position, y position, and heading) to
determine the velocity correction. The feedforward components are instead applied at the wheel level.
|
HolonomicPIDVAFollower(Drive drive,
PIDCoefficients translationalCoeffs,
PIDCoefficients headingCoeffs,
double kV,
double kA,
double kStatic,
Pose2d admissibleError,
double timeout)
Traditional PID controller with feedforward velocity and acceleration components to follow a trajectory. More
specifically, the feedback is applied to the components of the robot's pose (x position, y position, and heading) to
determine the velocity correction. The feedforward components are instead applied at the wheel level.
|
HolonomicPIDVAFollower(Drive drive,
PIDCoefficients translationalCoeffs,
PIDCoefficients headingCoeffs,
double kV,
double kA,
double kStatic,
Pose2d admissibleError)
Traditional PID controller with feedforward velocity and acceleration components to follow a trajectory. More
specifically, the feedback is applied to the components of the robot's pose (x position, y position, and heading) to
determine the velocity correction. The feedforward components are instead applied at the wheel level.
|
HolonomicPIDVAFollower(Drive drive,
PIDCoefficients translationalCoeffs,
PIDCoefficients headingCoeffs,
double kV,
double kA,
double kStatic)
Traditional PID controller with feedforward velocity and acceleration components to follow a trajectory. More
specifically, the feedback is applied to the components of the robot's pose (x position, y position, and heading) to
determine the velocity correction. The feedforward components are instead applied at the wheel level.
|
Modifier and Type | Method and Description |
---|---|
Pose2d |
getLastError()
Robot pose error computed in the last
TrajectoryFollower.update call. |
void |
setLastError(Pose2d p)
Robot pose error computed in the last
TrajectoryFollower.update call. |
void |
update(Pose2d currentPose)
Run a single iteration of the trajectory follower.
|
void |
updateDrive(Pose2d poseVelocity,
Pose2d poseAcceleration)
Update the drive powers.
|
elapsedTime, followTrajectory, getClock, getLastError, getTrajectory, isFollowing, setLastError, setTrajectory, update
public HolonomicPIDVAFollower(Drive drive, PIDCoefficients translationalCoeffs, PIDCoefficients headingCoeffs, double kV, double kA, double kStatic, Pose2d admissibleError, double timeout, NanoClock clock)
Traditional PID controller with feedforward velocity and acceleration components to follow a trajectory. More specifically, the feedback is applied to the components of the robot's pose (x position, y position, and heading) to determine the velocity correction. The feedforward components are instead applied at the wheel level.
drive
- mecanum drive instancetranslationalCoeffs
- PID coefficients for the robot axial and lateral (x and y, respectively) controllersheadingCoeffs
- PID coefficients for the robot heading controllerkV
- feedforward velocity gainkA
- feedforward acceleration gainkStatic
- signed, additive feedforward constant (used to overcome static friction)admissibleError
- admissible/satisfactory pose error at the end of each movetimeout
- max time to wait for the error to be admissibleclock
- clockdrive
- mecanum drive instancetranslationalCoeffs
- PID coefficients for the robot axial and lateral (x and y, respectively) controllersheadingCoeffs
- PID coefficients for the robot heading controllerkV
- feedforward velocity gainkA
- feedforward acceleration gainkStatic
- signed, additive feedforward constant (used to overcome static friction)admissibleError
- admissible/satisfactory pose error at the end of each movetimeout
- max time to wait for the error to be admissibleclock
- clockpublic HolonomicPIDVAFollower(Drive drive, PIDCoefficients translationalCoeffs, PIDCoefficients headingCoeffs, double kV, double kA, double kStatic, Pose2d admissibleError, double timeout)
Traditional PID controller with feedforward velocity and acceleration components to follow a trajectory. More specifically, the feedback is applied to the components of the robot's pose (x position, y position, and heading) to determine the velocity correction. The feedforward components are instead applied at the wheel level.
drive
- mecanum drive instancetranslationalCoeffs
- PID coefficients for the robot axial and lateral (x and y, respectively) controllersheadingCoeffs
- PID coefficients for the robot heading controllerkV
- feedforward velocity gainkA
- feedforward acceleration gainkStatic
- signed, additive feedforward constant (used to overcome static friction)admissibleError
- admissible/satisfactory pose error at the end of each movetimeout
- max time to wait for the error to be admissibledrive
- mecanum drive instancetranslationalCoeffs
- PID coefficients for the robot axial and lateral (x and y, respectively) controllersheadingCoeffs
- PID coefficients for the robot heading controllerkV
- feedforward velocity gainkA
- feedforward acceleration gainkStatic
- signed, additive feedforward constant (used to overcome static friction)admissibleError
- admissible/satisfactory pose error at the end of each movetimeout
- max time to wait for the error to be admissiblepublic HolonomicPIDVAFollower(Drive drive, PIDCoefficients translationalCoeffs, PIDCoefficients headingCoeffs, double kV, double kA, double kStatic, Pose2d admissibleError)
Traditional PID controller with feedforward velocity and acceleration components to follow a trajectory. More specifically, the feedback is applied to the components of the robot's pose (x position, y position, and heading) to determine the velocity correction. The feedforward components are instead applied at the wheel level.
drive
- mecanum drive instancetranslationalCoeffs
- PID coefficients for the robot axial and lateral (x and y, respectively) controllersheadingCoeffs
- PID coefficients for the robot heading controllerkV
- feedforward velocity gainkA
- feedforward acceleration gainkStatic
- signed, additive feedforward constant (used to overcome static friction)admissibleError
- admissible/satisfactory pose error at the end of each movedrive
- mecanum drive instancetranslationalCoeffs
- PID coefficients for the robot axial and lateral (x and y, respectively) controllersheadingCoeffs
- PID coefficients for the robot heading controllerkV
- feedforward velocity gainkA
- feedforward acceleration gainkStatic
- signed, additive feedforward constant (used to overcome static friction)admissibleError
- admissible/satisfactory pose error at the end of each movepublic HolonomicPIDVAFollower(Drive drive, PIDCoefficients translationalCoeffs, PIDCoefficients headingCoeffs, double kV, double kA, double kStatic)
Traditional PID controller with feedforward velocity and acceleration components to follow a trajectory. More specifically, the feedback is applied to the components of the robot's pose (x position, y position, and heading) to determine the velocity correction. The feedforward components are instead applied at the wheel level.
drive
- mecanum drive instancetranslationalCoeffs
- PID coefficients for the robot axial and lateral (x and y, respectively) controllersheadingCoeffs
- PID coefficients for the robot heading controllerkV
- feedforward velocity gainkA
- feedforward acceleration gainkStatic
- signed, additive feedforward constant (used to overcome static friction)drive
- mecanum drive instancetranslationalCoeffs
- PID coefficients for the robot axial and lateral (x and y, respectively) controllersheadingCoeffs
- PID coefficients for the robot heading controllerkV
- feedforward velocity gainkA
- feedforward acceleration gainkStatic
- signed, additive feedforward constant (used to overcome static friction)public Pose2d getLastError()
Robot pose error computed in the last TrajectoryFollower.update
call.
TrajectoryFollower.update
public void setLastError(Pose2d p)
Robot pose error computed in the last TrajectoryFollower.update
call.
TrajectoryFollower.update
public void update(Pose2d currentPose)
Run a single iteration of the trajectory follower.
currentPose
- current robot pose