Skip to main content

Module clothoid_path

Module clothoid_path 

Source
Expand description

Clothoid (Euler Spiral) Path Planner

A clothoid is a curve whose curvature changes linearly with arc length. It is the industry standard for road geometry design in highway engineering and autonomous driving, providing smooth curvature transitions.

The clothoid is parametrized by: kappa(s) = kappa0 + kappa1 * s

where kappa0 is the initial curvature, kappa1 is the curvature rate (sharpness), and s is the arc length.

The position along the curve is obtained by integrating: x(s) = integral cos(theta(t)) dt y(s) = integral sin(theta(t)) dt

where theta(s) = theta0 + kappa0 * s + 0.5 * kappa1 * s^2.

§References

  • Bertolazzi, E. & Frego, M. (2015). “G1 fitting with clothoids”. Mathematical Methods in the Applied Sciences, 38(5), 881-897.

Structs§

ClothoidConfig
Configuration for the clothoid path planner.
ClothoidPath
A clothoid (Euler spiral) path connecting two poses.
ClothoidPlanner
Clothoid path planner.

Functions§

clothoid_eval
Evaluate a clothoid curve at arc length s, starting from the origin with heading theta0, initial curvature kappa0, and sharpness kappa1.
clothoid_g1_fit
Solve the G1 Hermite interpolation problem: find a clothoid connecting two poses (x0, y0, theta0) and (x1, y1, theta1).
clothoid_sample
Sample n_points along a clothoid starting at pose (x0, y0, theta0), with initial curvature kappa0, sharpness kappa1, and total arc length length.
fresnel
Evaluate the Fresnel integrals C(t) and S(t) defined as: C(t) = integral_0^t cos(pi/2 * u^2) du S(t) = integral_0^t sin(pi/2 * u^2) du