摘要
Light detection and ranging (LiDAR) based normal distribution transform (NDT) is a popular localization algorithm in smart vehicles for its robustness and accuracy. To meet the requirement of higher speed of smart vehicles, LiDAR point clouds become increasingly large due to the increase of not only the number of laser channels but also their frame rates. However, previous NDT implementations fail to achieve real-time performance when handling large point clouds because they require an enormous number of search operations and perform intensive computations per search operation. To address this issue, we propose an optimized NDT algorithm and its FPGA implementation. First, we effectively speed up each search operation by proposing a new non-recursive and memory-efficient data structure, called occupation-aware-voxel-structure (OAVS). Second, we significantly reduce the number of search operations by removing redundant searches with an optimized semantic-assisted OAVS-based NDT algorithm (SEO-NDT). Third, we further improve the real-time and energy efficiency by proposing a streaming FPGA accelerator architecture for SEO-NDT. Compared with the state-of-the-art embedded CPU and GPU implementations, our FPGA implementation achieves up to 35.85x and 2.44x execution time speed up, respectively.