public class GVFFollower
extends PathFollower
State-of-the-art path follower based on the class GuidingVectorField
.
class GuidingVectorField
Constructor and Description |
---|
GVFFollower(TankDrive drive,
SimpleMotionConstraints constraints,
Pose2d admissibleError,
double kN,
double kOmega,
double kV,
double kA,
double kStatic,
kotlin.jvm.functions.Function1<? super java.lang.Double,java.lang.Double> errorMapFunc,
NanoClock clock)
State-of-the-art path follower based on the
class GuidingVectorField . |
GVFFollower(TankDrive drive,
SimpleMotionConstraints constraints,
Pose2d admissibleError,
double kN,
double kOmega,
double kV,
double kA,
double kStatic,
kotlin.jvm.functions.Function1<? super java.lang.Double,java.lang.Double> errorMapFunc)
State-of-the-art path follower based on the
class GuidingVectorField . |
GVFFollower(TankDrive drive,
SimpleMotionConstraints constraints,
Pose2d admissibleError,
double kN,
double kOmega,
double kV,
double kA,
double kStatic)
State-of-the-art path follower based on the
class GuidingVectorField . |
Modifier and Type | Method and Description |
---|---|
void |
followPath(Path path)
Follow the given path.
|
Pose2d |
getLastError()
Robot pose error computed in the last
PathFollower.update call. |
void |
setLastError(Pose2d p)
Robot pose error computed in the last
PathFollower.update call. |
void |
update(Pose2d currentPose)
Run a single iteration of the path follower.
|
followPath, getClock, getLastError, getPath, isFollowing, setLastError, setPath, update
public GVFFollower(TankDrive drive, SimpleMotionConstraints constraints, Pose2d admissibleError, double kN, double kOmega, double kV, double kA, double kStatic, kotlin.jvm.functions.Function1<? super java.lang.Double,java.lang.Double> errorMapFunc, NanoClock clock)
State-of-the-art path follower based on the class GuidingVectorField
.
drive
- tank driveconstraints
- robot motion constraintsadmissibleError
- admissible/satisfactory pose error at the end of each movekN
- normal vector weight (see class GuidingVectorField
)kOmega
- proportional heading gainkV
- feedforward velocity gainkA
- feedforward acceleration gain (currently unused)kStatic
- additive feedforward constant (used to overcome static friction)errorMapFunc
- error map function (see class GuidingVectorField
)clock
- clockdrive
- tank driveconstraints
- robot motion constraintsadmissibleError
- admissible/satisfactory pose error at the end of each movekN
- normal vector weight (see class GuidingVectorField
)kOmega
- proportional heading gainkV
- feedforward velocity gainkA
- feedforward acceleration gain (currently unused)kStatic
- additive feedforward constant (used to overcome static friction)errorMapFunc
- error map function (see class GuidingVectorField
)clock
- clockclass GuidingVectorField
public GVFFollower(TankDrive drive, SimpleMotionConstraints constraints, Pose2d admissibleError, double kN, double kOmega, double kV, double kA, double kStatic, kotlin.jvm.functions.Function1<? super java.lang.Double,java.lang.Double> errorMapFunc)
State-of-the-art path follower based on the class GuidingVectorField
.
drive
- tank driveconstraints
- robot motion constraintsadmissibleError
- admissible/satisfactory pose error at the end of each movekN
- normal vector weight (see class GuidingVectorField
)kOmega
- proportional heading gainkV
- feedforward velocity gainkA
- feedforward acceleration gain (currently unused)kStatic
- additive feedforward constant (used to overcome static friction)errorMapFunc
- error map function (see class GuidingVectorField
)drive
- tank driveconstraints
- robot motion constraintsadmissibleError
- admissible/satisfactory pose error at the end of each movekN
- normal vector weight (see class GuidingVectorField
)kOmega
- proportional heading gainkV
- feedforward velocity gainkA
- feedforward acceleration gain (currently unused)kStatic
- additive feedforward constant (used to overcome static friction)errorMapFunc
- error map function (see class GuidingVectorField
)class GuidingVectorField
public GVFFollower(TankDrive drive, SimpleMotionConstraints constraints, Pose2d admissibleError, double kN, double kOmega, double kV, double kA, double kStatic)
State-of-the-art path follower based on the class GuidingVectorField
.
drive
- tank driveconstraints
- robot motion constraintsadmissibleError
- admissible/satisfactory pose error at the end of each movekN
- normal vector weight (see class GuidingVectorField
)kOmega
- proportional heading gainkV
- feedforward velocity gainkA
- feedforward acceleration gain (currently unused)kStatic
- additive feedforward constant (used to overcome static friction)drive
- tank driveconstraints
- robot motion constraintsadmissibleError
- admissible/satisfactory pose error at the end of each movekN
- normal vector weight (see class GuidingVectorField
)kOmega
- proportional heading gainkV
- feedforward velocity gainkA
- feedforward acceleration gain (currently unused)kStatic
- additive feedforward constant (used to overcome static friction)class GuidingVectorField
public Pose2d getLastError()
Robot pose error computed in the last PathFollower.update
call.
PathFollower.update
public void setLastError(Pose2d p)
Robot pose error computed in the last PathFollower.update
call.
PathFollower.update
public void followPath(Path path)
Follow the given path.
path
- pathpublic void update(Pose2d currentPose)
Run a single iteration of the path follower.
currentPose
- current robot pose