  This paper presents a hierarchical planning algorithm for racing with
multiple opponents. The two-stage approach consists of a high-level behavioral
planning step and a low-level optimization step. By combining discrete and
continuous planning methods, our algorithm encourages global time optimality
without being limited by coarse discretization. In the behavioral planning
step, the fastest behavior is determined with a low-resolution spatio-temporal
visibility graph. Based on the selected behavior, we calculate maneuver
envelopes that are subsequently applied as constraints in a time-optimal
control problem. The performance of our method is comparable to a parallel
approach that selects the fastest trajectory from multiple optimizations with
different behavior classes. However, our algorithm can be executed on a single
core. This significantly reduces computational requirements, especially when
multiple opponents are involved. Therefore, the proposed method is an efficient
and practical solution for real-time multi-vehicle racing scenarios.
