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
ひとこと要約

本稿では、GMappingを用いた2次元LiDAR SLAMのためのリソース効率の良いFPGAベースのアクセラレータを提示する。粒子間の並列スキャンマッチングとマップ圧縮を活用することで、スキャンマッチングで5.31–8.75倍の高速化、全体のスループットで3.72–5.10倍の向上を達成した。Pynq-Z2ボードではFPGAリソース使用率がわずか44%にとどまった。

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.

研究の動機と目的

  • リソース制限のあるモバイルロボットにおける2次元LiDAR SLAMの高い計算コストに対処すること。
  • GMappingのようなRBPFベースのSLAMアルゴリズムにおけるスキャンマッチングのボトル neck を克服すること。
  • 精度を維持しながらリソース使用量を最小限に抑えた軽量で高スループットなFPGAアクセラレータを設計すること。
  • Pynq-Z2 FPGAボードのような低消費電力で埋め込み可能なプラットフォームでもリアルタイムSLAMを実現すること。

提案手法

  • Rao-Blackwellized Particle Filter (RBPF) に内在する並列性を活用し、FPGA上で複数の粒子を同時にスキャンマッチング処理すること。
  • 2値化と局所マップ領域を用いたマップ圧縮を適用し、BRAM使用量の削減とデータアクセス効率の向上を図った。
  • 座標変換における高コストな浮動小数点演算を回避するため、事前計算されたルックアップテーブルを用いた固定小数点演算を採用した。
  • オフチップメモリアクセスを最小限に抑えるデータフロー最適化により、スキャンマッチング計算の遅延を低減した。
  • Xilinx Zynq ZC7Z020 FPGAをターゲットに、100 MHzで動作するスキャンマッチャIPコアのパイプラインアーキテクチャを実装した。
  • BRAMおよびLUT制約を満たしつつスループットを最大化できるように、並列処理度(2粒子)を最適化した。

実験結果

リサーチクエスチョン

  • RQ1FPGAベースのアクセラレーションは、精度を劣化させることなく2次元LiDAR SLAMのスキャンマッチングで顕著な高速化を達成できるか?
  • RQ2マップ圧縮(2値化+局所マップ)は、SLAMにおけるFPGAリソース使用量の削減にどの程度効果的か?
  • RQ3固定小数点演算とルックアップテーブルは、浮動小数点ソフトウェアと比較してスキャンマッチングの精度をどの程度保持できるか?
  • RQ4低消費電力FPGAプラットフォームでGMappingをアクセラレートした場合、実現可能なスループットとリソース使用率はどの程度か?
  • RQ5ハードウェアアクセラレーションされたSLAMは、ソフトウェアベースラインと同等のトポロジカルおよび幾何学的整合性を維持できるか?

主な発見

  • FPGAアクセラレータは、ベンチマークデータセット全体でスキャンマッチング計算において5.31–8.75倍の高速化を達成した。
  • ソフトウェアオンリーセットトップCPU実装と比較して、システム全体のスループットが3.72–5.10倍向上した。
  • 最終的なマップ品質とトレース精度は維持され、ポーズ推定においてわずかな差異(ACESデータセットでは0.0712±0.127 m RMSE)しか生じなかった。
  • Pynq-Z2 FPGA上でBRAM使用率が43.6%、LUT使用率が43.7%にとどまり、高いリソース効率を示した。
  • 消費電力は2.9 Wに保たれ、ソフトウェアベースラインと同等であったが、著しく高速な実行が実現した。
  • 将来的なスケーラビリティをサポートしており、残りのリソースにより並列処理度の増加(例:4粒子)や追加のアルゴリズム部品のオフロードが可能である。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。