FPGA的SLAM算法加速文献综述

 2023-08-17 04:08
  1. 文献综述(或调研报告)
  2. 引言

视觉SLAM(Simultaneous Localization And Mapping)是为了解决以图像作为唯一输入信息,确定机器人、汽车或者移动相机的位置,并同时对某一区域建模的问题提出的。SLAM是机器自动化的一项重要工作。现在,人们认为SLAM问题已经通过利用比如激光和声纳等大量传感器建立小而静止的环境的二维地图的方法而得以解决。

但是,利用传统上利用激光雷达的方案需要使用昂贵而笨重的激光传感器,人们倾向于寻找使用低成本的传感器,其中之一就是相机。相机不仅比起激光雷达成本低,提供的信息也更加丰富,对于智能化的趋势,图像包含了语义信息,这是传统方案不能提供的。

然而,利用图像作为唯一信号源,且在复杂、动态、较大的环境的SLAM,仍是研究热点。应用在SLAM中的,类似检测、描述、匹配关键特征,图像识别和搜索这样的计算机视觉技术相比于其他技术,仍亟需改进。这类算法通常有实时的要求,对平台的计算能力提出了很高要求。

  1. ARM-FPGA SoC嵌入式平台

随着嵌入式领域对运算能力、开发效率和功耗要求不断提高,传统通用处理器比如ARM吞吐量不足,传统纯FPGA流程控制和开发效率不高的缺点越来越影响着嵌入式平台的总体性能。而对于单板集成通用处理器和FPGA的做法,对于电路板的布局布线提出了很高的要求,所以FPGA行业推出了ARM-FPGA异构计算的SoC。

以Xilinx公司推出的ZYNQ系列芯片为例,片内集成了双核或者四核的ARM架构的处理器(如图的Processing System,PS)和各种常用外设,可以运行操作系统和各种软件;另外还集成了一个可编程阵列(如图中的Programmable Logic,PL)。他们之间通过AXI总线互相连接,PS部分能够方便地控制PL部分,并且由PS部分为PL部分提供内存控制器等功能,简化了PL部分的编程。在PS部分的编程中,PL部分的自定义加速器也可以作为一个通常的外设通过读写寄存器来使用,大大简化了总体工程的开发过程,提高了开发效率。

  1. Xilinx PYNQ开源框架

PYNQ是Xilinx公司推出的,在Xilinx ZYNQ系列SoC上运行的一个基于Ubuntu18.04的开源编程框架。它集成了对Xilinx公司提供的FPGA的IP的支持,并且给用户自定义IP提供了接口。

PYNQ把ZYNQ系列SoC上的接口、控制器硬核和IP核都抽象为类,对这些类的操作都抽象为类方法,并且通过Vivado工具生成的硬件描述文件,在下载bit文件到PL上时,自动读取了板上的硬件信息。这样一来,用户只需关心如何实现数据流调配的问题,而不必过于关心底层的初始化和硬件驱动的问题。

同时,由于PYNQ建立在Ubuntu18.04上,所以它也能提供完整的Linux系统支持,对各种扩展应用的安装使用十分方便。

  1. ORB-SLAM/ORB-SLAM2原理及介绍

ORB-SLAM是西班牙 Zaragoza 大学的 Rauacute;l Mur-Arta 编写的视觉 SLAM 系统。它是一个完整的 SLAM 系统,包括视觉里程计、跟踪、回环检测,是一种完全基于稀疏特征点的单目 SLAM 系统。其核心是使用 ORB (Orinted FAST and BRIEF) 作为整个视觉 SLAM 中的核心特征。它包含了三个部分:跟踪(Tracking)、建图(Mapping)和回环检测(Loop Closing)。

剩余内容已隐藏,您需要先支付 10元 才能查看该篇文章全部内容!立即支付

课题毕业论文、开题报告、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。