Dynamics-Aware Adaptive Corridors with Feasibility-Perturbed Trust-Region SQP for Certified Nonholonomic Motion Planning
Organizations: Jiangsu College of Safety Technology, Jiangsu, China
Abstract
Optimisation-based parking planners usually impose collision constraints only at the time samples, so a vehicle corner can cut an obstacle between samples, and no executable trajectory exists until the solver converges. We present a planner for car-like vehicles with reverse gear in which every iterate of the optimisation phase satisfies the discretised dynamics exactly and keeps the whole vehicle rectangle clear of obstacles between the samples. Each time interval receives one convex corridor that holds all vehicle corners at both ends and is shrunk by a sweep margin bounding how far the corner paths leave their chords. Separating half-planes give the corridors a direction out of obstacles when the initial guess is in collision; later, heading-aligned boxes are grown from the speed, curvature and step of the current iterate and rebuilt after accepted steps. A feasibility-perturbed trust-region sequential quadratic programming method projects each step onto the dynamics by feedback and verifies it exactly; the cost decreases monotonically, and once the corridors stop changing, limit points are Karush-Kuhn-Tucker points of the corridor-constrained problem or violate a constraint qualification. On 820 benchmark cases the planner succeeds in 818 without penetration (797 from the first initial guess), none of the 7103 evaluated optimisation-phase iterates is unusable, and it succeeds in 96.5% of the cases when 99% of the initial guesses intersect an obstacle. Its maneuvers take 0.7% longer in the median than those of a similarly certified exact-collision baseline. The guarantees hold for the planning model, not for a physical vehicle.
Figures & tables
| Planner | Body model | Convex set and its update | Inter-sample | Usable iterates | Convergence result |
| OBCA, H-OBCA [ 4 , 5 ] | rectangle | none (exact dual constraints) | samples | – | local solver |
| STC [ 7 ] | two discs | one box per disc and sample, built once around the path | samples | – | local solver |
| LIOM [ 8 ] | two discs | boxes rebuilt from each intermediate solution | samples | – (dynamics penalised) | – |
| Embodied Footprints [ 22 ] | rectangle | none; footprint buffers as decision variables | buffers from speed and curvature | – | local solver |
| Chen et al. [ 17 ] | rectangle | obstacle subset selected by a trust region | samples | – | – |
| STO [ 16 ] | rectangle | polygon per sample, rebuilt at every SQP iteration | samples | – | – |
| Vehicle | m, m, m, m |
|---|---|
| Bounds | m/s, rad, m/s 2 , rad/s |
| Objective | , , |
| Terminal box | 0.1 m, 0.1 m, 0.05 rad, 0.05 m/s; free |
| Warm starts | = , , [m/s, –, s], tried in this order; |
| Corridors | m, m, m, m, m, m, |
| Phase I | , iterations, restarts |
| Method | 820 cases | success per family [%] | time [s] | ratio | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| success | pen. | perp. | par. | ang. | clut. | TPCAP | med. | P90 | med. (pairs) | |
| DA-ASC/FP-SQP (ours) | 818 | 0 | 100 | 100 | 100 | 99.5 | 95.0 | 5.8 | 26.9 | – |
| fixed corridors | 815 | 0 | 100 | 100 | 100 | 98.0 | 95.0 | 4.9 | 21.8 | 0.997 (815) |
| OBCA-CT, 60 s | 791 | 0 | 100 | 97.5 | 100 | 91.0 | 70.0 | 6.0 | 22.6 | 1.007 (791) |
| OBCA-CT, 3600 s | 809 | 0 | 100 | 98.0 | 100 | 98.0 | 85.0 | 6.1 | 27.0 | 1.007 (808) |
| STC-IPOPT | 786 | 16 | 95.5 | 100 | 100 | 90.5 | 70.0 | 1.7 | 3.1 | 0.998 (786) |
| Variant | success | pen. | min. clear. [cm] | ratio | iterations |
|---|---|---|---|---|---|
| full planner | 200/200 | 0 | 2.43 | – | 71 |
| no rebuild (fixed corridors) | 200/200 | 0 | 2.48 | 0.996 | 61 |
| axis-aligned boxes | 200/200 | 0 | 2.06 | 0.994 | 77 |
| no sweep margin | 200/200 | 0 | 1.78 | 1.000 | 66 |
| no clearance buffer ( ) | 200/200 | 0 | 0.44 | 1.001 | 73 |
| no sweep margin, | 194/200 | 6 | 1.002 | 70 |
| Mismatch | cross-track [cm] | [deg] | clearance loss [cm] | , 90% | , 90% | |||||
|---|---|---|---|---|---|---|---|---|---|---|
| P95 | max | max | P95 | max | pen. | pen. | pen. | pen. | pen. | |
| none | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0 | 0 | 0 | 0 | 0 |
| wheelbase | 3.8 | 4.8 | 1.2 | 3.4 | 3.6 | 2 | 0 | 0 | 1 | 0 |
| wheelbase | 13.4 | 19.8 | 5.0 | 6.3 | 32.3 | 8 | 4 | 1 | 7 | 1 |
| delay 50 ms | 1.4 | 6.7 | 1.4 | 1.1 | 3.1 | 1 | 0 | 0 | 0 | 0 |
| delay 100 ms | 3.7 | 16.3 | 3.6 | 2.9 | 10.0 | 5 | 1 | 0 | 2 | 0 |