MotionState

constructor(position: Measure<U>, velocity: Per<U, TimeUnit> = position.unit.per(Seconds).of(0.0), acceleration: Per<PerUnit<U, TimeUnit>, TimeUnit> = position.unit.per( Seconds, ).per(Seconds).of(0.0))(source)

Type Parameters

U

The position unit type (e.g., dev.nextftc.units.unittypes.DistanceUnit for linear motion, dev.nextftc.units.unittypes.AngleUnit for angular motion)


constructor(unit: U, position: Double = 0.0, velocity: Double = 0.0, acceleration: Double = 0.0)(source)

Convenience constructor that accepts raw numeric magnitudes and a unit, converting them into strongly-typed Measure and Per values used by this class.

All three numeric parameters default to 0.0.

Example:

// Create a linear MotionState with position in inches, velocity in inches/sec,
// and acceleration in inches/sec^2
val s = MotionState(Inches, 12.0, 3.0, 0.5)

Parameters

unit

the position unit (used to construct typed measures)

position

position magnitude in unit

velocity

velocity magnitude in unit / second (interpreted as unit.per(Seconds))

acceleration

acceleration magnitude in unit / second^2 (interpreted as unit.per(Seconds).per(Seconds))