Trajectory

Represents a robot trajectory that combines a geometric path with a motion profile.

A trajectory defines both the spatial path the robot follows and the timing/velocity profile for traversing that path. It can be parameterized by displacement (Arclength) or time (Time), and provides conversions between these representations.

Trajectories are the primary output of motion planning and can be queried to obtain the robot's desired state (position, heading, velocity, acceleration) at any point.

Parameters

Param

The parameter type used to parameterize the trajectory (e.g., Arclength, Time)

Inheritors

Functions

Link copied to clipboard
open fun duration(): Duration

Returns the total time duration required to execute the trajectory.

Link copied to clipboard

Returns the robot state at the end of the trajectory with respect to displacement.

Link copied to clipboard

Returns the robot state at the end of the trajectory with respect to time.

Link copied to clipboard
abstract operator fun get(param: Double): RobotState

Evaluates the trajectory at the given parameter value to obtain the robot state.

Link copied to clipboard
abstract fun length(): Double

Returns the total arc length of the trajectory.

Link copied to clipboard

Applies a pose transformation map to this trajectory.

Link copied to clipboard
open operator fun plus(other: Trajectory<Param>): CompositeTrajectory

Combines this trajectory with another trajectory to create a composite trajectory.

Link copied to clipboard
abstract fun project(query: Vector2d, init: Double): Double

Projects a query position onto the trajectory's path using Newton's method.

Link copied to clipboard
open fun start(): RobotState

Returns the robot state at the start of the trajectory (parameter = 0).

Link copied to clipboard

Converts this trajectory to a displacement-parameterized representation.

Link copied to clipboard
abstract fun wrtTime(): TimeTrajectory

Converts this trajectory to a time-parameterized representation.