public class GVFFollower
extends PathFollower
State-of-the-art path follower based on the class GuidingVectorField
.
class GuidingVectorField
@JvmOverloads public GVFFollower(double maxVel, double maxAccel, @NotNull Pose2d admissibleError, double kN, double kOmega, @NotNull kotlin.jvm.functions.Function1<? super java.lang.Double,java.lang.Double> errorMapFunc, @NotNull NanoClock clock)
State-of-the-art path follower based on the class GuidingVectorField
.
maxVel
- maximum velocitymaxAccel
- maximum accelerationadmissibleError
- admissible/satisfactory pose error at the end of each movekN
- normal vector weight (see class GuidingVectorField
)kOmega
- proportional heading gainerrorMapFunc
- error map function (see class GuidingVectorField
)clock
- clockclass GuidingVectorField
@JvmOverloads public GVFFollower(double maxVel, double maxAccel, @NotNull Pose2d admissibleError, double kN, double kOmega, @NotNull kotlin.jvm.functions.Function1<? super java.lang.Double,java.lang.Double> errorMapFunc)
State-of-the-art path follower based on the class GuidingVectorField
.
maxVel
- maximum velocitymaxAccel
- maximum accelerationadmissibleError
- admissible/satisfactory pose error at the end of each movekN
- normal vector weight (see class GuidingVectorField
)kOmega
- proportional heading gainerrorMapFunc
- error map function (see class GuidingVectorField
)class GuidingVectorField
@JvmOverloads public GVFFollower(double maxVel, double maxAccel, @NotNull Pose2d admissibleError, double kN, double kOmega)
State-of-the-art path follower based on the class GuidingVectorField
.
maxVel
- maximum velocitymaxAccel
- maximum accelerationadmissibleError
- admissible/satisfactory pose error at the end of each movekN
- normal vector weight (see class GuidingVectorField
)kOmega
- proportional heading gainclass GuidingVectorField
@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
public void followPath(@NotNull Path path)
Follow the given path
.
path
- pathpath
@NotNull protected DriveSignal internalUpdate(@NotNull Pose2d currentPose)