CARLA Simulator
Python
AVs
Path Planning
Approach
Compared A* and Hybrid A* path planning for autonomous parking in CARLA (Town05). Both planners were sourced from an open-source motion planning library (zhm‑real) — my contribution was the system integration: building the CARLA obstacle pipeline from vehicle bounding boxes, a custom path follower with crash detection (CARLA's built-in manager doesn't support custom path tracking), Stanley controller tuning to match the Audi e-tron model, and the trial evaluation framework. This closed-loop setup — planning → tracking → crash detection — is what caught A*'s Trial 1 collision, directly demonstrating the kinematic-feasibility gap the project set out to test.
Code Summary
Hybrid A* discretizes heading into 15° bins and samples 39 steering angles per expansion, propagating a bicycle kinematic model and using Reeds‑Shepp shortcuts to terminate search early once a direct connection to the goal is feasible.
Sim Experience
Five trials with varying obstacle layouts in a 57×34m parking lot, isolating the planner as the only variable between runs to attribute outcome differences directly to the algorithm.
Results
Hybrid A* produced smoother, collision-free paths across all five trials (max turning angle ≤0.09 rad in 4/5 trials vs. A*'s consistent 1.571 rad), at the cost of longer planning time on complex routes (0.61s vs 0.16s in Trial 4) — while A* caused one collision from its sharp, kinematically-infeasible turns. Five trials in a single layout demonstrate the failure mode clearly, but aren't a statistically powered comparison.
Co-developed with Vanessa Guzman — my contributions: simulation setup, obstacle pipeline, CARLA integration, path follower, controller tuning.