论文部分内容阅读
自主导航是实现机器人自主执行任务的基本前提,也是将机器人应用到各领域需要解决的关键问题,已成为机器人技术领域的研究热点。目前常用的自主导航方式有惯性导航、视觉导航和里程计导航等,它们直接使用机器人搭载的传感器感知运动,与外界不发生信息交换,具有很强的自主性。然而单一的自主导航方式只能在特定的条件下使用,无法满足移动机器人对导航性能越来越高的要求。因此将多种导航系统组合使用是解决机器人自主导航问题的一种思路,一方面可以提高机器人导航定位的精度,另一方面也能增强系统的鲁棒性和可靠性。因此,本文针对移动机器人对自主导航的需求,在理论层面研究基于单目视觉、惯性以及里程计的组合导航算法;在实际应用层面设计基于ARM/GPU的嵌入式组合导航系统方案。本文主要研究工作和贡献概述如下:(1)研究基于级联滤波的视觉/惯性/里程计组合导航算法。首先,根据惯性导航原理建立系统状态方程,并推导系统误差状态方程,并将里程计信息作为速度观测,推导速度误差观测方程,将其与惯性导航解算结果一同输入至卡尔曼滤波器(Kalman Filter,KF),实现基于KF的惯性/里程计组合。其次,将相邻四个时刻相机采集的图像作为视觉输入,分别提取和匹配SIFT特征,利用图像之间的空间几何约束(对极几何和三焦张量)组成视觉观测方程,将惯性/里程计组合结果以及视觉观测量输入至无迹卡尔曼滤波器(Unscented Kalman Filter,UKF)完成状态更新,实现视觉/惯性/里程计组合导航。最后分别使用KITTI开源数据集和课题组采集的车载实验数据验证算法的可行性和有效性。(2)研究基于GPU实现的SIFT特征提取和匹配方法。本文使用CUDA编程,基于GPU提取和匹配SIFT特征。首先,根据SIFT算法原理,分步骤实现构建尺度空间、定位关键点、计算主方向和计算特征描述向量四个部分的GPU并行加速算法。其次,使用向量夹角作为特征相似性度量方法,将待匹配的两幅图像的特征点集合分别表示为矩阵,通过矩阵相乘并在结果矩阵中搜索的方式,实现特征匹配。同时,使用相机拍摄的实际场景图片进行了并行算法功能验证。(3)基于ARM/GPU异构计算平台TX1,实现嵌入式视觉/惯性/里程计组合导航算法。首先,将惯性导航解算、KF滤波、UKF滤波等除SIFT特征提取和匹配之外的功能代码使用C/C++语言编程实现,完成视觉/惯性/里程计组合导航功能;其次,使用KITTI开源数据集和课题组采集的车载实验数据对该嵌入式组合导航系统性能进行验证。