Mapless Autonomous Parking
Hyundai Ioniq · ROS 2 Humble · Autoware Universe · FAST-LIO · HuVILab
I implemented and validated a mapless autonomous parking system on a real Hyundai Ioniq platform. The stack uses FAST-LIO odometry, native C++ LiDAR occupancy accumulation, RViz goal-pose input, delay-aware trajectory following, and Autoware-compatible control commands wired into the Ioniq CAN control path.
Earlier Isaac Sim prototype:
Problem
- No prebuilt parking map available.
- The parking system had to run on top of an existing research-lab vehicle software platform without breaking the validated vehicle interface.
- Parking had to work on the real vehicle under low-speed, reverse-capable, compute-bounded conditions with practical ROS 2 timing and visualization needs.
Architecture
FAST-LIO LocalizationLiDAR-inertial odometry aligned to the vehicle localization frame
→
C++ LiDAR Occupancy Gridtimestamp-paired pointclouds, sparse tile updates, vehicle-centered ROI
→
Goal-Pose PlannerRViz target pose to parking trajectory without prebuilt maps
→
Trajectory Followerdelay-aware pose/velocity prediction with forward/reverse gear handling
→
Ioniq Command PathAutoware-compatible commands forwarded to the vehicle CAN interface
What I Built
- Real-vehicle parking integration that connects autonomous parking logic to the existing Ioniq research platform.
- FAST-LIO localization bridge that aligns LiDAR-inertial odometry with the vehicle pose and TF path used by the parking system.
- LiDAR pointcloud adapter and native C++ occupancy-grid path for map generation without prebuilt pointcloud/vector maps.
- Occupancy accumulation with timestamp-paired raw/obstacle pointclouds, map-frame projection, log-odds sparse tiles, stale-cell decay, and ROI reduction.
- Parking planner driven by occupancy grid, current pose, and RViz goal pose.
- Trajectory resampler / filler / follower with curvature-aware velocity filling, gear-change stops, and low-speed forward/reverse tracking.
- Delay-aware control using measured steering and longitudinal response delays for pose prediction, velocity prediction, and separate reference preview.
- Runtime integration that brings up localization, mapping, planning, control output, and the vehicle command interface together.
Built vs Used
- Used: ROS 2 Humble, Autoware components, FAST-LIO, the Hyundai Ioniq research vehicle platform, and its CAN command interface.
- Built: localization bridge, pointcloud compatibility layer, C++ occupancy accumulation path, parking planner integration, delay-aware trajectory follower, RViz control interface, and runtime launch composition.
Result
- Implemented a mapless parking system on a real Hyundai Ioniq platform.
- Connected FAST-LIO odometry, C++ LiDAR occupancy mapping, RViz goal input, delay-aware trajectory following, Autoware-compatible commands, and the Ioniq CAN path.
- Validated low-speed parking execution with stable odometry and vehicle motion.
- Measured real vehicle response delay and reflected it in follower-side pose/velocity prediction.
Evidence
- Real Hyundai Ioniq parking execution was validated with stable odometry and vehicle motion.
- The runtime path wires FAST-LIO odometry, native occupancy-grid generation, planner output, trajectory processing, control output, and RViz interaction into one runnable parking system.
- The localization bridge adapts FAST-LIO odometry into the pose frame used by mapping, planning, and trajectory following.
- The follower compensates measured actuator delay by integrating predicted pose and velocity before computing tracking error and speed control.
- The demo video shows the parking stack running on the real vehicle.
Engineering Scope
- The work focuses on the parking layer: localization adaptation, live occupancy mapping, parking planning, delay-aware following, and vehicle command integration.
- The default mapping path uses a native C++ pointcloud occupancy-grid accumulator for live LiDAR updates around the vehicle.
- The project is presented here as a real-vehicle validation project; the Isaac Sim prototype is shown only as earlier development context.