Real-time Velocity Profile Optimization for Time-Optimal Maneuvering with Generic Acceleration Constraints
Mattia Piazza, Mattia Piccinini, Sebastiano Taddei, Francesco Biral, Enrico Bertolazzi
TL;DR
FBGA introduces a real-time forward-backward algorithm to compute time-optimal velocity profiles along a fixed path under generic g-g-v acceleration envelopes. By discretizing the path into short segments and employing a signed-distance envelope to enforce feasibility, FBGA achieves accuracy comparable to optimal-control benchmarks while delivering up to three orders of magnitude faster computation. The method handles non-convex, speed-dependent acceleration shapes and demonstrates robust performance across diverse track layouts and vehicle types (car and motorcycle). This enables online multi-query trajectory planning and can serve as a fast building block for sampling-based planners in autonomous racing and beyond, with open-source C++ implementation provided.
Abstract
The computation of time-optimal velocity profiles along prescribed paths, subject to generic acceleration constraints, is a crucial problem in robot trajectory planning, with particular relevance to autonomous racing. However, the existing methods either support arbitrary acceleration constraints at high computational cost or use conservative box constraints for computational efficiency. We propose FBGA, a new \underline{F}orward-\underline{B}ackward algorithm with \underline{G}eneric \underline{A}cceleration constraints, which achieves both high accuracy and low computation time. FBGA operates forward and backward passes to maximize the velocity profile in short, discretized path segments, while satisfying user-defined performance limits. Tested on five racetracks and two vehicle classes, FBGA handles complex, non-convex acceleration constraints with custom formulations. Its maneuvers and lap times closely match optimal control baselines (within $0.11\%$-$0.36\%$), while being up to three orders of magnitude faster. FBGA maintains high accuracy even with coarse discretization, making it well-suited for online multi-query trajectory planning. Our open-source \texttt{C++} implementation is available at: https://anonymous.4open.science/r/FB_public_RAL.
