Package-level declarations

Abstract definitions for various drivetrains

Types

Link copied to clipboard
abstract class AbstractMecanumDrive @JvmOverloads constructor(val trackWidth: Double, val wheelBase: Double = trackWidth, val lateralMultiplier: Double = 1.0, val externalHeadingSensor: AngleSensor? = null) : Drive

This class provides the basic functionality of a mecanum drive using MecanumKinematics.

Link copied to clipboard
abstract class AbstractSwerveDrive @JvmOverloads constructor(val modules: List<SwerveModule>, val modulePositions: List<Vector2d>, val externalHeadingSensor: AngleSensor? = null) : Drive

This class provides the basic functionality of a swerve drive using SwerveKinematics.

Link copied to clipboard
abstract class AbstractTankDrive(val trackWidth: Double, val externalHeadingSensor: AngleSensor? = null) : Drive

This class provides the basic functionality of a tank/differential drive using TankKinematics.

Link copied to clipboard
abstract class Drive

Abstraction for generic robot drive motion and localization. Robot poses are specified in a coordinate system with positive x pointing forward, positive y pointing left, and positive heading measured counter-clockwise from the x-axis.

Link copied to clipboard
data class DriveSignal @JvmOverloads constructor(val vel: Pose2d = Pose2d(), val accel: Pose2d = Pose2d())

Signal indicating the commanded kinematic state of a drive.

Link copied to clipboard
abstract class PIDDiffSwerveModule(pidCoefficients: PIDCoefficients, var feedforward: Feedforward) : SwerveModule

A basic SwerveModule implementation using a PIDController to control a differential swerve module.

Link copied to clipboard
abstract class PIDSwerveModule(val pidCoefficients: PIDCoefficients) : SwerveModule

A basic SwerveModule implementation using a PIDController to hold module position.

Link copied to clipboard
abstract class SwerveModule