论文部分内容阅读
近年来,由于硬件成本的降低和机器人技术的快速发展,一些室内外服务机器人逐渐出现在日常生活中。服务机器人发展的背后离不开一项关键技术:同时定位与地图构建(Simultaneous Localization and Mapping,SLAM)。其中,由于低成本易获取等特点,基于视觉的SLAM技术尤其得到重视。当前视觉SLAM技术均基于一个重要的假设:环境是静态的。在实际的场景中,环境一般会包含有运动目标,如行人、车辆等。这些运动目标会影响定位和地图构建的精度。因此,针对动态环境,本文提出了一种结合运动目标检测的视觉SLAM技术。在构建环境地图的同时,能检测环境中的运动目标,适应动态环境,减少定位误差。针对动态环境中的运动目标,提出了一种带运动补偿的图像帧差检测方法。由于相机运动,直接图像差分会引入大量的背景。使用单应矩阵模型将上一帧图像投影到当前图像坐标系下,再利用图像帧差法消除大量的环境背景,只留下运动区域高亮。通常,得到的帧差图中仍然会包含少量的背景。为了提高检测准确率,我们使用了粒子滤波来检测运动目标区域。将每个粒子所在的位置视为运动区域的一部分,并使用了一种带权重的聚类方法得到最终的检测结果。实验结果表明,在不同相机运动条件下,本文提出的算法均能有效地检测到运动目标,检测精度高于其他算法。在同时定位和地图构建中,将视觉和惯性传感器信息融合,构建了一个能适应动态环境的SLAM系统。采用了主流的视觉SLAM框架,将整个过程分为三个部分:跟踪,制图,闭环检测。在跟踪线程中,加入了运动目标检测算法,以减少场景中由运动物体导致的定位误差。同时,对于特征匹配,还使用了对极几何约束和重投影误差进行特征筛选,进一步减少动态特征的干扰。制图线程中,除了生成传统的地图点,还利用了运动目标区域的特征点,计算它们在全局地图中的位置,得到运动目标的距离和速度信息。最后,使用回环检测,进一步减少累计误差,构建全局一致的地图。实验结果表明:所构建的SLAM系统在静态环境下,其定位精度与目前最好的方案一致;在动态环境中,能准确地定位和地图构建。