工厂环境下改进的视觉SLAM算法

  • 工厂环境下改进的视觉SLAM算法已关闭评论
  • 85 views
  • A+
所属分类:AGV设计资料
摘要

针对工业场景对自动导引车(AGV)高定位精度的要求,提出一种改进的视觉同时定位与地图创建(VSLAM)算法.在算法前端,双目相机采集立体图像,通过双目匹配算法得到亚像素级的匹配点对,计算出这些特征点在相机坐标系中的3D信息.然后利用RansacPnP算法根据3D-2D匹配点对计算位姿变换,并以它为初值进一步最小化重投影误差,实现局部优化.基于匹配点对描述子的汉明距离提出一种不确定性模型,该模型为局部优化中的约束条件提供信息矩阵,提高定位精度.在算法的后端,通过竖直向上拍摄的单目相机检测可靠的人工信标闭环信息,进行全局位姿优化,并针对AGV的运动模型和工作场景,提出一种基于全局平面约束的优化方法,降低SLAM系统的误差.实验通过KITTI离线数据集对比了该算法前端双目里程计与ORB-SLAM2及libviso2算法里程计的定位精度,并在工厂环境中对整个算法进行实地测试来判断其实际精度和鲁棒性.实验结果表明该算法具有良好的综合性能,定位误差在10 cm以内,定位频率达20 Hz,能够满足工业现场要求.

1 引言(Introduction)

随着智慧物流、自动化仓库的发展,自动导引车(AGV)作为物流系统的关键组成,其应用前景愈加广泛.然而目前主流的 AGV 导航定位技术不能满足 AGV 在精度、可扩展性等方面的需求.同步定位与地图构建(SLAM)作为解决机器人定位问题的方法,已引起研究人员的广泛关注.其中,视觉 SLAM 技术凭借其成本低、获得环境信息丰富、扩展性强等优势,成为 AGV 导航技术的研究重点.

目前,学术界和工业界较为认可的视觉 SLAM方法可划分为 3 大类:基于滤波器、基于非线性优化和基于直接跟踪的方法.基于滤波器的视觉 SLAM 假设了系统的马尔可夫性,使用状态向量存储位姿和地图点坐标,将 SLAM 问题建模成概率问题,基于观测模型递归地更新方差和均值.其中典型工作有:MonoSLAM 、MSCKF(multistate constraint Kalman filter).基于非线性优化的 SLAM 系统将位姿跟踪(tracking)和地图构建(mapping)分为独立的 2 个线程:地图构建作为后端,建立全局非线性优化模型,维护关键帧位姿及其中可视的 3 维点.在前端线程里,算法仅求解当前帧的位姿,可以提高计算效率以保证系统的实时性.PTAM(parallel tracking and mapping)、ORBSLAM(oriented FAST and rotated BRIEF SLAM)、RDSLAM(robust dynamic SLAM)等都是以非线性优化为框架的优秀 SLAM 系统.以上 2 种 SLAM方案都需要在图像中提取并匹配特征点,因此对环境特征复杂度较为敏感.与之相比,基于直接跟踪的方法不依赖于特征的提取和匹配,可以在纹理信息较少的场景中取得更好的效果,同时方法可以对每个像素进行处理,建立稠密地图.基于直接跟踪的 SLAM 系统有 LSD-SLAM(large-scaledirect monocular SLAM)、DTAM(dense trackingand mapping) 等.

目前的 SLAM 算法多数使用环境中的自然信息,然而在 AGV 工作的工厂等场景中,由于噪声和动态障碍干扰等影响因素的存在,自然特征的稳定性难以保证.与之相比,人工信标具有形状、尺寸等先验信息,检测难度较低.因此,人工信标通常用于室内环境的导航和建图中,在基于视觉的机器人定位中,使用人工信标可以大大提高精度.

本文为了提高视觉 SLAM 系统在工业 AGV 场景中的稳定性和实用性,引入人工信标辅助,设计一种基于工厂环境改进的视觉 SLAM 算法.该算法使用顶视单目相机和前视双目相机作为图像采集传感器,于工厂中 AGV 行进路径上方天花板的若干位置布置人工信标.在前端线程中,使用一种可获取亚像素精度的双目匹配算法计算视差.提取并配 ORB 特征点,使用 RansacPnP方法求解位姿初值,进而进行局部优化,最小化重投影误差,得到精确的位姿估计.本文提出了一种根据描述子的汉明距离建立的不确定性模型,可以提高位姿优化的精度.在后端中,针对 AGV 运动模型和工作场景,提出一种基于全局平面约束和人工信标闭环检测的优化算法.该方法接收前端线程提取的关键帧并进行优化,降低系统累积误差,得到全局一致的地图.

2 基于工厂环境改进的视觉 SLAM 算法(Improved visual SLAM algorithm in factory environment)

本文算法基于图优化框架搭建,由前端的位姿跟踪和后端的全局优化组成,前端和后端分为2 个线程并行运行,算法流程如图 1 所示.

工厂环境下改进的视觉SLAM算法

图 1 算法流程图

前端:采集图像后对左右目图像进行畸变校正,以保证左右目图像对应像素位于同一行上.提取 ORB 特征点后,进行双目匹配以获得深度信息,深度信息用于将像素平面的点恢复到 3 维空间.在ORB 特征点匹配的环节中,本文提出了一种根据描述子的汉明距离建立的不确定性模型,以提高位姿优化的精度.基于 RansacPnP 算法,由若干 3D-2D匹配点对求解位姿变换初值;在位姿初值的基础上进行局部优化,提升位姿求解的精度.前端线程最后对地图点的维护和关键帧的插入进行判断.地图点的维护主要由 2 个因素决定:(1) 当前地图点库中存在的地图点数量;(2) 地图点匹配次数 nmatch 与地图点可视次数 nvisible 的比率.若 nmatch/nvisible 小于阈值,证明对该点的跟踪效果不佳,将该地图点删除.关键帧的插入与否由 3 个条件判断:(1) 当前帧包含参考帧中的特征少于 70%;(2) 当前关键帧至少跟踪到 100 个特征点;(3) 距离上一次插入关键帧相隔超过 20 帧.

后端:在后端线程中循环检测新关键帧队列中是否有插入,如果没有则等待下一关键帧的插入;如果存在新的关键帧,则将该关键帧作为节点插入到位姿图中.本文针对 AGV 运动模型和工作场景,提出一种新的基于全局平面约束的优化方法.后端线程中循环查询是否检测到人工信标,对位姿图中所有节点进行优化.

抱歉,此资源仅限赞助会员下载,请先
注意:本站资源多为网络收集,如涉及版权问题请及时与站长联系QQ:2766242327,我们会在第一时间内与您协商解决。如非特殊说明,本站所有资源解压密码均为:agvba.com。
weinxin
微信公众号
agvba是一个分享AGV知识和agv案例视频的网站。