MecanumKinematics

data class MecanumKinematics(val trackWidth: <Error class: unknown class>, val wheelbase: <Error class: unknown class>, val lateralMultiplier: <Error class: unknown class> = 1.0) : RobotKinematics<MecanumKinematics.MecanumWheelIncrements<*>, WheelVelocities<*>>

Kinematics for a mecanum drive train.

Parameters

trackWidth

distance between wheels on opposite sides; see the diagram below Wheelbase and track width diagram

wheelbase

distance between the front and rear axles

lateralMultiplier

factor that multiplies strafe velocity to compensate for slip; increase it to boost the distance traveled in the strafe direction

Constructors

Link copied to clipboard
constructor(trackWidth: <Error class: unknown class>, wheelbase: <Error class: unknown class>, lateralMultiplier: <Error class: unknown class> = 1.0)

Types

Link copied to clipboard
data class MecanumWheelIncrements<Param>(val leftFront: <Error class: unknown class><Param>, val leftBack: <Error class: unknown class><Param>, val rightBack: <Error class: unknown class><Param>, val rightFront: <Error class: unknown class><Param>)
Link copied to clipboard
data class MecanumWheelVelocities<Param>(val leftFront: <Error class: unknown class><Param>, val leftBack: <Error class: unknown class><Param>, val rightBack: <Error class: unknown class><Param>, val rightFront: <Error class: unknown class><Param>)

Properties

Link copied to clipboard
val lateralMultiplier: <Error class: unknown class> = 1.0
Link copied to clipboard
val trackWidth: <Error class: unknown class>
Link copied to clipboard
val wheelbase: <Error class: unknown class>

Functions

Link copied to clipboard
open fun <Param> forward(velocities: <Error class: unknown class><out <Error class: unknown class>>): <Error class: unknown class><Param>
open fun <Param> forward(increments: MecanumKinematics.MecanumWheelIncrements<*>): <Error class: unknown class><Param>

Performs forward kinematics: computes the twist (pose delta) that occurred based on the given wheel increments.

Performs forward kinematics: computes the chassis velocity required to achieve the given wheel velocities.

Link copied to clipboard
open fun <Param> inverse(velocity: <Error class: unknown class><Param>): <Error class: unknown class>

Performs inverse kinematics: computes wheel velocities required to achieve the desired robot velocity.