Multimodal Trajectory Planning for Surface Vehicles
Supplementary video results

Supplementary material for a manuscript under review

This page hosts three schematic animations of the method, followed by the closed-loop simulation videos that accompany the results section. For the full method, please refer to the submitted manuscript.


Three schematic animations of the method

Each clip isolates one idea: a barrier that commits an avoidance side, an enumeration of all side combinations, and a parallel batch that solves them at once.

1 · One constraint, two committed sides: LTC-CBF and RTC-CBF

Left and right turning-circle CBF commitments around one obstacle
The turning-circle CBF keeps the escape turning circle on the committed side clear of the obstacle. A single discrete parameter σ selects the right circle (RTC, σ = +1) or the left circle (LTC, σ = −1); flipping it mirrors the maneuver, and both sides rejoin the nominal path after the pass.

2 · Two obstacles → four modes

Four homotopy modes around two obstacles
Each obstacle can be passed left or right, giving K = 2² = 4 topologies (L·L, L·R, R·L, R·R). A gradient planner is trapped in its starting class; the multimodal planner solves all four at every step and commits by cost. For N branching obstacles this is K = 2N; the ship results below use N = 4, K = 16.

3 · All modes at once: one OpenMP batch

Sequential versus OpenMP-batched solving of the 16 mode problems
The K mode-problems differ only in their σ vector, so they share dimensions and solver structure and can be batched. An OpenMP-parallelized batch (acados/HPIPM) solves them simultaneously and commits the arg-min mode. At K = 16 this is 1.4 ms batched versus 8.2 ms sequential, well inside the 1 s replanning budget.
Schematics loop; the closed-loop clips below play once.

Three planners, identical traffic, three densities

Each row is one paired realization of the benchmark. All three planners face byte-identical traffic and perceive the same six nearest ships; the compared configurations differ only in how the avoidance side of each ship is determined.

Density 1 — 8 dynamic + 3 static obstacles

Baseline A — safety-zone breach at t = 297 s Baseline A at density 1
Distance-based avoidance with no committed passing side. Stopped by the opening encounter group.
Baseline B — safety-zone breach at t = 341 s Baseline B at density 1
Single committed passing side per ship. The commitment is invalidated and no alternative remains.
Proposed — completes the route Proposed method at density 1
Clears the same group and finishes in 4607 s, changing its committed avoidance route 8 times. Worst-case clearance 60 m beyond the combined safety radius.

Density 2 — 12 dynamic + 4 static obstacles

Baseline A — safety-zone breach at t = 327 s Baseline A at density 2
Same failure mode, one density level up.
Baseline B — safety-zone breach at t = 315 s Baseline B at density 2
The prescribed side reverses as a ship crosses the bow line.
Proposed — completes the route Proposed method at density 2
Finishes in 4996 s, changing its committed avoidance route 17 times. Worst-case clearance 82 m.

Density 3 — 16 dynamic + 5 static obstacles

Baseline A — safety-zone breach at t = 437 s Baseline A at density 3
Densest level. The opening group is not resolvable without a committed side.
Baseline B — safety-zone breach at t = 406 s Baseline B at density 3
A single committed side is not enough when several ships are decision-relevant at once.
Proposed — completes the route Proposed method at density 3
Finishes in 4814 s under sustained congestion, changing its committed avoidance route 26 times. Worst-case clearance 92 m.
Clips start automatically as they scroll into view.

Aggregate outcome of the benchmark

The clips above are single realizations. For context, the paired Monte Carlo statistics reported in the manuscript are reproduced below, over 100 trials per cell.

Success / safety-violation rates in %, and the median depth by which a violating trial penetrates the safety zone. The remainder of each cell are timeouts.
Configuration Density 1 Density 2 Density 3
suc./viol.depth [m] suc./viol.depth [m] suc./viol.depth [m]
Baseline A40 / 6025031 / 69229 20 / 80266
Baseline B76 / 2460877 / 23646 65 / 31598
Proposed99 / 1219 97 / 3127 86 / 1019

A breach is an infringement of a virtual keep-out disk of roughly one kilometre, not a hull contact, so each trial is simulated to the end of the route even after the zone is first entered. That leaves the success statistics unchanged and additionally records how far each configuration cuts into the zone.