pub fn parameterize_cartesian_path<const N: usize, const M: usize, const CAP: usize, const OUT: usize>(
chain: &CuKinematicChain<N>,
model: &CuRobotCollisionModel<N, M>,
env: &CuCollisionEnv<'_>,
path: &CuCartesianBlendPath<N, CAP>,
params: &CuPathTimingParams<N>,
out: &mut CuTrajectoryPayload<N, OUT>,
) -> CuResult<CuTimingStatus>Expand description
Times a sampled Cartesian path with one profile along the whole path.
Every move between an exact stop or zone corner and the next follows
params.timing.profile in the path parameter; zones are crossed at a
constant corner speed. Joint velocity and acceleration stay within
params.timing.limits; S-curve additionally bounds joint jerk on the
quintic reconstruction, including curvature contributions. The geometric
spline is rechecked for collisions against env (pass
CuCollisionEnv::EMPTY for self-collision only) and for zone
containment with discrete samples, not swept-volume continuous collision
detection. This check does not certify the reconstructed execution curve
against geometry. out.interpolation is set to the reconstruction the
limits were validated on: CuTrajectoryInterpolation::Quintic for the
S-curve, CuTrajectoryInterpolation::Cubic for the other profiles, so
CuTrajectoryPayload::sample (and the default follower) execute the
validated position, velocity and acceleration. All scratch storage is
const-sized; out is empty unless the status is Success.