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§
- Clothoid
Config - Configuration for the clothoid path planner.
- Clothoid
Path - A clothoid (Euler spiral) path connecting two poses.
- Clothoid
Planner - Clothoid path planner.
Functions§
- clothoid_
eval - Evaluate a clothoid curve at arc length
s, starting from the origin with headingtheta0, initial curvaturekappa0, and sharpnesskappa1. - 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_pointsalong a clothoid starting at pose(x0, y0, theta0), with initial curvaturekappa0, sharpnesskappa1, and total arc lengthlength. - 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