
Overview
This project implements an autonomous navigation pipeline on a Polaris GEM e2 vehicle using a Velodyne LiDAR sensor. The vehicle detects two physical boxes in its environment, plans a path through the gap between them, and drives to the midpoint using GPS-guided pure pursuit control — all within a ROS framework.
System Architecture
PointCloud2 stream
Grid density clustering
Midpoint + GPS transform
PACMod vehicle control
LiDAR Box Detection
The Velodyne point cloud is filtered to retain only points in the forward detection zone — within 2m laterally and at a minimum distance from the vehicle. The surviving points are projected onto a 12×12 occupancy grid in the XY plane, and the two highest-density cells are identified as box centers.
The two peak-density blocks are returned as the detected obstacle positions.
Waypoint Planning
The planner targets the midpoint between the two boxes as the navigation goal, then linearly interpolates 15 waypoints from the vehicle’s current position to that target:
Waypoints are then rotated and translated from LiDAR-local frame into GPS world coordinates using the vehicle’s heading from the Novatel INS.
Results
| Component | Method |
|---|---|
| Obstacle Detection | Velodyne LiDAR + grid density clustering |
| Localization | Novatel GPS/INS (NovatelPosition + Inspva) |
| Path Planning | Linear interpolation to gap midpoint |
| Control | Pure pursuit via PACMod interface |
| Platform | Polaris GEM e2, ROS Noetic |
Key Observations
- Grid density clustering is simple but effective for detecting large objects like boxes in sparse outdoor point clouds
- Linear waypoint interpolation works well for straight-line approach paths; curved paths would require a spline-based planner
- The coordinate frame transform (LiDAR → GPS world) is critical — a heading error directly shifts the target position