Smooth vehicle path using cubic spline interpolation

**Library:**Automated Driving Toolbox

The Path Smoother Spline block generates a smooth vehicle path, consisting of a sequence of discretized poses, by fitting the input reference path poses to a cubic spline. Given the input reference path directions, the block also returns the directions that correspond to each pose.

Use this block to convert a C^{1}-continuous path to a
C^{2}-continuous path. C^{1}-continuous
paths include Dubins or Reeds-Shepp paths that are returned by path planners. For more details
on these path types, see C1-Continuous and C2-Continuous Paths.

You can use the returned poses and directions with a vehicle controller, such as the Lateral Controller Stanley block.

The path-smoothing algorithm interpolates a parametric cubic spline that passes through all input reference pose points. The parameter of the spline is the cumulative chord length at these points. [1]

The tangent direction of the smoothed output path approximately matches the orientation angle of the vehicle at the starting and goal poses.

[1] Floater,
Michael S. "On the Deviation of a Parametric Cubic Spline Interpolant from Its Data Polygon."
*Computer Aided Geometric Design*. Vol. 25, Number 3, 2008, pp.
148–156.

[2] Lepetic,
Marko, Gregor Klancar, Igor Skrjanc, Drago Matko, and Bostjan Potocnik. "Time Optimal Path
Planning Considering Acceleration Limits." *Robotics and Autonomous
Systems*. Vol. 45, Numbers 3–4, 2003, pp. 199–210.