DisplacementProfile

@Serializable
@SerialName(value = "DisplacementProfile")
data class DisplacementProfile(val disps: List<Double>, val vels: List<Double>, val accels: List<Double>) : Profile

Acceleration-limited motion profile parameterized by displacement.

This class represents a piecewise profile where:

  • disps contains displacement waypoints, beginning at zero and sorted ascending

  • vels contains velocities at each displacement waypoint

  • accels contains constant accelerations applied over each displacement interval

The profile can be queried at any displacement to get velocity and acceleration values.

Constructors

Link copied to clipboard
constructor(disps: List<Double>, vels: List<Double>, accels: List<Double>)

Types

Link copied to clipboard
object Companion

Properties

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

Functions

Link copied to clipboard
open operator override fun get(x: Double): DualNum<Time>

Evaluates the profile at the given displacement, returning position, velocity, and acceleration. Uses binary search to efficiently find the correct interval and interpolates as needed.

Link copied to clipboard

Combines two displacement profiles end-to-end. Requires that the ending velocity of the first profile matches the beginning velocity of the second.