pub fn blend_cartesian_path<const N: usize, const M: usize, const CAP: usize>(
chain: &CuKinematicChain<N>,
model: &CuRobotCollisionModel<N, M>,
env: &CuCollisionEnv<'_>,
waypoints: &[CuCartesianWaypoint<N>],
params: &CuCartesianBlendParams,
out: &mut CuCartesianBlendPath<N, CAP>,
) -> CuResult<CuCartesianBlendStatus>Expand description
Construct a Cartesian path through joint waypoints with per-waypoint TCP zones.
Each waypoint carries its zone radius. First and last must be zero. A
zero interior radius is an exact stop; a positive radius is a fly-by zone.
Trimming is capped to 49% of each adjacent straight segment to avoid
overlapping zones. Degenerate corners and zones too small relative to IK
tolerance are rejected, as are invalid params. The input joint
configurations define TCP position and orientation through FK.
Collisions are checked against env (pass CuCollisionEnv::EMPTY for
self-collision only); checking is discrete, not swept-volume continuous
collision detection;
parameterize_cartesian_path
rechecks the interpolated path when timing it.
All output and scratch storage is const-sized; failure clears the output.