Skip to main content
QUICK REVIEW

[论文解读] An FPGA Acceleration and Optimization Techniques for 2D LiDAR SLAM Algorithm

Keisuke Sugiura, Hiroki Matsutani|arXiv (Cornell University)|May 29, 2020
Robotics and Sensor-Based Localization参考文献 27被引用 4
一句话总结

本论文提出了一种基于FPGA的资源高效加速器,用于2D LiDAR SLAM,采用GMapping算法,通过在粒子间并行执行扫描匹配以及地图压缩技术,在扫描匹配阶段实现了5.31–8.75×的加速,在整体吞吐量上实现了3.72–5.10×的提升,且在Pynq-Z2板卡上仅使用了44%的FPGA资源。

ABSTRACT

An efficient hardware implementation for Simultaneous Localization and Mapping (SLAM) methods is of necessity for mobile autonomous robots with limited computational resources. In this paper, we propose a resource-efficient FPGA implementation for accelerating scan matching computations, which typically cause a major bottleneck in 2D LiDAR SLAM methods. Scan matching is a process of correcting a robot pose by aligning the latest LiDAR measurements with an occupancy grid map, which encodes the information about the surrounding environment. We exploit an inherent parallelism in the Rao-Blackwellized Particle Filter (RBPF) based algorithms to perform scan matching computations for multiple particles in parallel. In the proposed design, several techniques are employed to reduce the resource utilization and to achieve the maximum throughput. Experimental results using the benchmark datasets show that the scan matching is accelerated by 5.31-8.75x and the overall throughput is improved by 3.72-5.10x without seriously degrading the quality of the final outputs. Furthermore, our proposed IP core requires only 44% of the total resources available in the TUL Pynq-Z2 FPGA board, thus facilitating the realization of SLAM applications on indoor mobile robots.

研究动机与目标

  • 解决资源受限移动机器人中2D LiDAR SLAM计算成本过高的问题。
  • 突破基于RBPF的SLAM算法(如GMapping)中扫描匹配的性能瓶颈。
  • 设计一种轻量化、高吞吐量的FPGA加速器,在最小化资源使用的同时保持高精度。
  • 实现在低功耗嵌入式平台(如Pynq-Z2 FPGA板)上的实时SLAM。

提出的方法

  • 利用Rao-Blackwellized粒子滤波(RBPF)中固有的并行性,在FPGA上同时对多个粒子执行扫描匹配。
  • 通过二值化和局部地图区域划分实现地图压缩,以减少BRAM使用并提升数据访问效率。
  • 采用定点运算结合预计算查找表,消除坐标变换中的高成本浮点运算。
  • 优化数据流以最小化片外内存访问,降低扫描匹配计算的延迟。
  • 为Xilinx Zynq ZC7Z020 FPGA设计了流水线化的扫描匹配IP核,工作频率为100 MHz。
  • 在保持BRAM和LUT资源约束的前提下,将并行度(2个粒子)优化至最佳,以最大化吞吐量。

实验结果

研究问题

  • RQ1基于FPGA的加速是否能在不降低精度的前提下,显著提升2D LiDAR SLAM扫描匹配的性能?
  • RQ2地图压缩(二值化+局部地图)在减少SLAM算法FPGA资源使用方面有多有效?
  • RQ3与浮点软件实现相比,定点运算和查找表在扫描匹配中能多大程度上保持精度?
  • RQ4在低功耗FPGA平台(如Pynq-Z2)上加速GMapping时,可实现的吞吐量和资源利用率如何?
  • RQ5硬件加速的SLAM能否保持与软件基线一致的拓扑和几何一致性?

主要发现

  • FPGA加速器在基准数据集上实现了5.31–8.75×的扫描匹配计算加速。
  • 与纯软件CPU实现相比,整体系统吞吐量提升了3.72–5.10×。
  • 最终地图质量和轨迹精度得到保持,姿态估计仅存在微小差异(如ACES数据集上RMSE为0.0712±0.127 m)。
  • 该设计在Pynq-Z2 FPGA上仅消耗了43.6%的可用BRAM和43.7%的LUT,表明具有极高的资源效率。
  • 功耗保持在2.9 W,与软件基线一致,同时实现了显著更快的执行速度。
  • 该实现具备良好的可扩展性,剩余资源允许进一步提升并行度(如支持4个粒子)或卸载更多算法组件。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。