core / com.acmerobotics.roadrunner.followers / RamseteFollower

RamseteFollower

class RamseteFollower : TrajectoryFollower

Time-varying, non-linear feedback controller for nonholonomic drives. See equation 5.12 of Ramsete01.pdf.

Parameters

drive - tank drive

b - b parameter (non-negative)

zeta - zeta parameter (on (0, 1))

kV - feedforward velocity gain

kA - feedforward acceleration gain (currently unused)

kStatic - additive feedforward constant (used to overcome static friction)

clock - clock

Constructors

<init>

RamseteFollower(drive: TankDrive, b: Double, zeta: Double, kV: Double, kA: Double, kStatic: Double, clock: NanoClock = NanoClock.system())

Time-varying, non-linear feedback controller for nonholonomic drives. See equation 5.12 of Ramsete01.pdf.

Properties

lastError

var lastError: Pose2d

Robot pose error computed in the last update call.

Inherited Properties

clock

val clock: NanoClock

clock

trajectory

var trajectory: Trajectory

Functions

update

fun update(currentPose: Pose2d): Unit

Run a single iteration of the trajectory follower.

Inherited Functions

elapsedTime

fun elapsedTime(): Double

Returns the elapsed time since the last followTrajectory calls.

followTrajectory

fun followTrajectory(trajectory: Trajectory): Unit

Follow the given trajectory.

isFollowing

fun isFollowing(): Boolean

Returns true if the current trajectory has finished executing.