core / com.acmerobotics.roadrunner.path.heading / WiggleInterpolator

WiggleInterpolator

class WiggleInterpolator : HeadingInterpolator

Heading interpolator that wraps another interpolator and adds sinusoidal oscillations ("wiggles") while preserving continuity. More specifically, the wiggle function is composed of a sine wave with a quintic spline on either end.

Constructors

<init>

WiggleInterpolator(amplitude: Double, desiredPeriod: Double, baseInterpolator: HeadingInterpolator = TangentInterpolator())

Heading interpolator that wraps another interpolator and adds sinusoidal oscillations ("wiggles") while preserving continuity. More specifically, the wiggle function is composed of a sine wave with a quintic spline on either end.

Inherited Properties

parametricCurve

lateinit var parametricCurve: ParametricCurve

Functions

deriv

fun deriv(displacement: Double): Double

Returns the heading derivative at the specified displacement.

get

operator fun get(displacement: Double): Double

Returns the heading at the specified displacement.

init

fun init(parametricCurve: ParametricCurve): Unit

Initialize the interpolator with a parametricCurve.

respectsDerivativeContinuity

fun respectsDerivativeContinuity(): Boolean

Returns true if the heading interpolator respects derivative continuity at path segment endpoints. That is, the start and end heading derivatives match those of the TangentInterpolator.

secondDeriv

fun secondDeriv(displacement: Double): Double

Returns the heading second derivative at the specified displacement.

Inherited Functions

end

fun end(): Double

Returns the end heading.

endDeriv

fun endDeriv(): Double

Returns the end heading derivative.

endSecondDeriv

fun endSecondDeriv(): Double

Returns the end heading second derivative.

start

fun start(): Double

Returns the start heading.

startDeriv

fun startDeriv(): Double

Returns the start heading derivative.

startSecondDeriv

fun startSecondDeriv(): Double

Returns the start heading second derivative.