Package-level declarations

Types

Link copied to clipboard
@Serializable
data class Acceleration2d(val linearAcc: Vector2d, val angAcc: Double)
Link copied to clipboard
@Serializable
class Arclength : DualParameter

Arclength parameter for DualNum

Link copied to clipboard
@Serializable
class DualNum<Param : DualParameter>(values: DoubleArray)
Link copied to clipboard
sealed interface DualParameter
Link copied to clipboard
@Serializable
data class IntegralScanResult(val values: List<Double>, val sums: List<Double>)
Link copied to clipboard
@Serializable
class Internal : DualParameter

Parameter for DualNum for internal use only.

Link copied to clipboard
class Matrix(data: Array<DoubleArray>)

Represents a matrix of doubles. Internally represented as a SimpleMatrix from EJML.

Link copied to clipboard
data class MinMax(val min: Double, val max: Double)
Link copied to clipboard
@Serializable
data class Pose2d(val position: Vector2d, val heading: Rotation2d)
Link copied to clipboard
@Serializable
data class Pose2dDual<Param : DualParameter>(val position: Vector2dDual<Param>, val heading: Rotation2dDual<Param>)

Dual version of Pose2d.

Link copied to clipboard
@Serializable
data class PoseVelocity2d(val linearVel: Vector2d, val angVel: Double)
Link copied to clipboard
@Serializable
data class PoseVelocity2dDual<Param : DualParameter>(val linearVel: Vector2dDual<Param>, val angVel: DualNum<Param>)

Dual version of PoseVelocity2d.

Link copied to clipboard
data class RobotState(val pose: Pose2d, val vel: PoseVelocity2d, val accel: Acceleration2d)

Represents a robot's pose on the field at a given time.

Link copied to clipboard
@Serializable
data class Rotation2d(val real: Double, val imag: Double)
Link copied to clipboard
@Serializable
data class Rotation2dDual<Param : DualParameter>(val real: DualNum<Param>, val imag: DualNum<Param>)

Dual version of Rotation2d.

Link copied to clipboard
@Serializable
class Time : DualParameter

Time parameter for DualNum

Link copied to clipboard
@Serializable
data class Twist2d(val line: Vector2d, val angle: Double)
Link copied to clipboard
@Serializable
data class Twist2dDual<Param : DualParameter>(val line: Vector2dDual<Param>, val angle: DualNum<Param>)
Link copied to clipboard
@Serializable
data class Vector2d(val x: Double, val y: Double)
Link copied to clipboard
@Serializable
data class Vector2dDual<Param : DualParameter>(val x: DualNum<Param>, val y: DualNum<Param>)

Dual version of Vector2d.

Functions

Link copied to clipboard
Link copied to clipboard
fun clamp(x: Double, lo: Double, hi: Double): Double
Link copied to clipboard
Link copied to clipboard
fun Int.fact(): Int
Link copied to clipboard
Link copied to clipboard
fun lerp(x: Double, fromLo: Double, fromHi: Double, toLo: Double, toHi: Double): Double
Link copied to clipboard
fun <Param : DualParameter> lerpDual(x: Double, fromLo: Double, fromHi: Double, toLo: DualNum<Param>, toHi: DualNum<Param>): DualNum<Param>
Link copied to clipboard
fun lerpLookup(source: List<Double>, target: List<Double>, query: Double): Double
Link copied to clipboard
fun lerpLookupMap(source: List<Double>, target: List<Double>, queries: List<Double>): List<Double>
Link copied to clipboard
fun lerpMatrix(start: Matrix, end: Matrix, t: Double): Matrix
Link copied to clipboard
fun lerpMatrixLookup(times: List<Double>, matrices: List<Matrix>, query: Double): Matrix
Link copied to clipboard
fun lerpPose2d(start: Pose2d, end: Pose2d, t: Double): Pose2d

Linearly interpolates between two Pose2d objects.

Link copied to clipboard
Link copied to clipboard
fun lerpPoseLookup(times: List<Double>, poses: List<Pose2d>, query: Double): Pose2d
Link copied to clipboard
Link copied to clipboard

Linearly interpolates an angle, handling wrap-around.

Link copied to clipboard

Linearly interpolates between two Vector2d objects.

Link copied to clipboard
fun makeBrysonMatrix(vararg tolerances: Double): Matrix

Creates a cost matrix from the given tolerances using Bryson's rule.

Link copied to clipboard
fun range(begin: Double, end: Double, samples: Int): List<Double>
Link copied to clipboard
fun rangeCentered(begin: Double, end: Double, samples: Int): List<Double>
Link copied to clipboard
fun snz(x: Double): Double
Link copied to clipboard

Solves for X in the equation \(aX = b)\.

Link copied to clipboard
fun <A, B, C> Iterable<Triple<A, B, C>>.unzip(): Triple<List<A>, List<B>, List<C>>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard