Skip to content

lissajous

NumPy Lissajous trajectory implementation.

Classes:

Name Description
LissajousTrajectory

Three-dimensional Lissajous trajectory.

LissajousTrajectory dataclass

LissajousTrajectory(yaw_from_velocity: bool = True, fixed_yaw: float = 0.0, attitude: tuple[float, float] = (0.0, 0.0), body_rate: tuple[float, float] = (0.0, 0.0), center: tuple[float, float, float] = (0.0, 0.0, 1.0), amplitude: tuple[float, float, float] = (1.0, 1.0, 0.2), frequency: tuple[float, float, float] = (1.0, 2.0, 0.5), phase: tuple[float, float, float] = (0.0, np.pi / 2.0, 0.0), omega: float = 0.5)

Bases: SpatialTrajectory

Three-dimensional Lissajous trajectory.

Methods:

Name Description
__post_init__

Cache vector-valued parameters as float32 NumPy arrays.

sample

Sample the Lissajous trajectory at time t.

sample_heading

Sample yaw and yaw-rate references for time t and translation state.

build_target

Assemble a full 12D target from position, velocity, and acceleration.

sample_batch

Sample a batch of timestamps and stack the resulting 12D targets.

__post_init__

__post_init__()

Cache vector-valued parameters as float32 NumPy arrays.

sample

sample(t: float) -> np.ndarray

Sample the Lissajous trajectory at time t.

sample_heading

sample_heading(t: float, pos: ndarray, vel: ndarray, acc: ndarray) -> tuple[float, float]

Sample yaw and yaw-rate references for time t and translation state.

build_target

build_target(t: float, pos: ndarray, vel: ndarray, acc: ndarray) -> np.ndarray

Assemble a full 12D target from position, velocity, and acceleration.

sample_batch

sample_batch(ts: ndarray) -> np.ndarray

Sample a batch of timestamps and stack the resulting 12D targets.