论文部分内容阅读
当机器人进入没有任何先验信息的未知环境时,机器人需要根据传感器反馈的信息实时计算自己的位置,并且绘制出环境的地图。机器人感知自身位置并且绘制地图的过程就是实时定位与地图重建(Simultaneous Localization and Mapping,SLAM)。在移动机器人的应用中,SLAM是一项核心技术,也是当前学术界研究的热点。SLAM可以借助多种传感器实现,仅使用相机作为传感器称为视觉SLAM,仅使用激光雷达称为激光SLAM,同时使用多种不同类型的传感器则称为多传感器融合SLAM。相比于使用单一传感器的SLAM算法,多传感器融合SLAM算法同时使用多个可以互补的传感器,不管是精度还是鲁棒性都有了很大地提升,并且计算量相比于单一传感器并没有明显增加,是目前移动机器人SLAM技术研究的的主要方向。视觉惯性里程计(Visual Inertial Odometry,VIO)是视觉惯性多传感器融合SLAM算法的核心,本文以非线性优化和目前最新的研究成果为基础,设计出了一种融合惯性测量单元(Inertial Measurement Unit,IMU)、磁强计、全球定位系统(Global Positioning System,GPS)、相机的多传感器融合VIO算法。本文的研究内容和创新点主要包括以下几个方面:(1)完成了基于ROS(Robot Operating System)系统的室外移动机器人实验平台的搭建。基于ROS系统搭建了软硬件实验平台,完成了IMU/磁强计、GPS、移动机器人遥控、上下位机通讯等ROS节点的编写。并且本文给出了以上程序的程序框图和关键代码展示。(2)完成了 VIO与磁强计的紧耦合融合算法,展示了整个融合算法的流程,并且给出了程序架构图。本文从经典卡尔曼滤波框架开始介绍,从最大似然估计角度推导了磁强计与光束平差法(Bundle Adjustment,BA)的融合方式。首先基于椭球拟合进行了磁强计标定,计算传感器之间的坐标变换,然后采用改进的双矢量定姿算法进行磁强计姿态估计,最后通过基于四元数的乘法运算构造了磁强计残差项,采用非线性优化实现了磁强计与VIO算法的紧耦合融合。并且还从增量方程求解的角度分析了融合算法的计算量,证明了添加磁强计后没有破坏增量方程中Hessian矩阵原有的稀疏结构。(3)完成了 VIO与GPS的松耦合融合算法。首先简要介绍了基于扩展卡尔曼滤波(Extended Kalman Filter,EKF)和基于非线性优化的多传感器融合方式,采用双端队列的方式对齐GPS消息和VIO输出消息的时间戳,然后计算了 GPS坐标系和VIO坐标系的变换关系,最后利用位姿图建模,完成融合算法。本文使用的位姿图融合算法在原始位姿图的基础上添加了 GPS约束项,并且对多传感器时间戳不一致的情况进行了补偿,采用非线性优化实现了 GPS与VIO的融合算法。(4)利用室外机器人移动平台测试本文提出的多传感器融合算法的效果,实验结果证明了本文提出算法的可靠性和正确性。本文最后也阐述了在完成本论文过程中发现的一些不足之处及改进方法。