public class TankPIDVAFollower
extends TrajectoryFollower
Traditional PID controller with feedforward velocity and acceleration components to follow a trajectory. More
specifically, one feedback loop controls the path displacement (that is, x in the robot reference frame), and
another feedback loop to minimize cross track (lateral) error via heading correction (overall, very similar to
class HolonomicPIDVAFollower
except adjusted for the nonholonomic constraint). Feedforward is applied at the wheel level.
class HolonomicPIDVAFollower
trajectory
Constructor and Description |
---|
TankPIDVAFollower(PIDCoefficients axialCoeffs,
PIDCoefficients crossTrackCoeffs,
Pose2d admissibleError,
double timeout,
NanoClock clock)
Traditional PID controller with feedforward velocity and acceleration components to follow a trajectory. More
specifically, one feedback loop controls the path displacement (that is, x in the robot reference frame), and
another feedback loop to minimize cross track (lateral) error via heading correction (overall, very similar to
class HolonomicPIDVAFollower except adjusted for the nonholonomic constraint). Feedforward is applied at the wheel level. |
TankPIDVAFollower(PIDCoefficients axialCoeffs,
PIDCoefficients crossTrackCoeffs,
Pose2d admissibleError,
double timeout)
Traditional PID controller with feedforward velocity and acceleration components to follow a trajectory. More
specifically, one feedback loop controls the path displacement (that is, x in the robot reference frame), and
another feedback loop to minimize cross track (lateral) error via heading correction (overall, very similar to
class HolonomicPIDVAFollower except adjusted for the nonholonomic constraint). Feedforward is applied at the wheel level. |
TankPIDVAFollower(PIDCoefficients axialCoeffs,
PIDCoefficients crossTrackCoeffs,
Pose2d admissibleError)
Traditional PID controller with feedforward velocity and acceleration components to follow a trajectory. More
specifically, one feedback loop controls the path displacement (that is, x in the robot reference frame), and
another feedback loop to minimize cross track (lateral) error via heading correction (overall, very similar to
class HolonomicPIDVAFollower except adjusted for the nonholonomic constraint). Feedforward is applied at the wheel level. |
TankPIDVAFollower(PIDCoefficients axialCoeffs,
PIDCoefficients crossTrackCoeffs)
Traditional PID controller with feedforward velocity and acceleration components to follow a trajectory. More
specifically, one feedback loop controls the path displacement (that is, x in the robot reference frame), and
another feedback loop to minimize cross track (lateral) error via heading correction (overall, very similar to
class HolonomicPIDVAFollower except adjusted for the nonholonomic constraint). Feedforward is applied at the wheel level. |
Modifier and Type | Method and Description |
---|---|
Pose2d |
getLastError()
Robot pose error computed in the last
update call. |
protected DriveSignal |
internalUpdate(Pose2d currentPose) |
protected void |
setLastError(Pose2d p)
Robot pose error computed in the last
update call. |
elapsedTime, followTrajectory, getClock, getLastError, getTrajectory, internalUpdate, isFollowing, setLastError, setTrajectory, update
@JvmOverloads public TankPIDVAFollower(@NotNull PIDCoefficients axialCoeffs, @NotNull PIDCoefficients crossTrackCoeffs, @NotNull Pose2d admissibleError, double timeout, @NotNull NanoClock clock)
Traditional PID controller with feedforward velocity and acceleration components to follow a trajectory. More
specifically, one feedback loop controls the path displacement (that is, x in the robot reference frame), and
another feedback loop to minimize cross track (lateral) error via heading correction (overall, very similar to
class HolonomicPIDVAFollower
except adjusted for the nonholonomic constraint). Feedforward is applied at the wheel level.
axialCoeffs
- PID coefficients for the robot axial (robot X) controllercrossTrackCoeffs
- PID coefficients for the robot heading controller based on cross track erroradmissibleError
- admissible/satisfactory pose error at the end of each movetimeout
- max time to wait for the error to be admissibleclock
- clockclass HolonomicPIDVAFollower
@JvmOverloads public TankPIDVAFollower(@NotNull PIDCoefficients axialCoeffs, @NotNull PIDCoefficients crossTrackCoeffs, @NotNull Pose2d admissibleError, double timeout)
Traditional PID controller with feedforward velocity and acceleration components to follow a trajectory. More
specifically, one feedback loop controls the path displacement (that is, x in the robot reference frame), and
another feedback loop to minimize cross track (lateral) error via heading correction (overall, very similar to
class HolonomicPIDVAFollower
except adjusted for the nonholonomic constraint). Feedforward is applied at the wheel level.
axialCoeffs
- PID coefficients for the robot axial (robot X) controllercrossTrackCoeffs
- PID coefficients for the robot heading controller based on cross track erroradmissibleError
- admissible/satisfactory pose error at the end of each movetimeout
- max time to wait for the error to be admissibleclass HolonomicPIDVAFollower
@JvmOverloads public TankPIDVAFollower(@NotNull PIDCoefficients axialCoeffs, @NotNull PIDCoefficients crossTrackCoeffs, @NotNull Pose2d admissibleError)
Traditional PID controller with feedforward velocity and acceleration components to follow a trajectory. More
specifically, one feedback loop controls the path displacement (that is, x in the robot reference frame), and
another feedback loop to minimize cross track (lateral) error via heading correction (overall, very similar to
class HolonomicPIDVAFollower
except adjusted for the nonholonomic constraint). Feedforward is applied at the wheel level.
axialCoeffs
- PID coefficients for the robot axial (robot X) controllercrossTrackCoeffs
- PID coefficients for the robot heading controller based on cross track erroradmissibleError
- admissible/satisfactory pose error at the end of each moveclass HolonomicPIDVAFollower
@JvmOverloads public TankPIDVAFollower(@NotNull PIDCoefficients axialCoeffs, @NotNull PIDCoefficients crossTrackCoeffs)
Traditional PID controller with feedforward velocity and acceleration components to follow a trajectory. More
specifically, one feedback loop controls the path displacement (that is, x in the robot reference frame), and
another feedback loop to minimize cross track (lateral) error via heading correction (overall, very similar to
class HolonomicPIDVAFollower
except adjusted for the nonholonomic constraint). Feedforward is applied at the wheel level.
axialCoeffs
- PID coefficients for the robot axial (robot X) controllercrossTrackCoeffs
- PID coefficients for the robot heading controller based on cross track errorclass HolonomicPIDVAFollower
@NotNull public Pose2d getLastError()
Robot pose error computed in the last update
call.
update
protected void setLastError(@NotNull Pose2d p)
Robot pose error computed in the last update
call.
update
@NotNull protected DriveSignal internalUpdate(@NotNull Pose2d currentPose)