REF:面向通信机房智能巡检机器人导航的SLAM 算法及路径规划研究
1. 背景概述 传统机房内的设备数量庞大,除了服务器系统,还包括机柜状态、暖通系统、变配电系统等,人工巡检工作量大,容易出现漏检等情况,且机房内部环境温度较高、噪声较大,维护成本高昂;近几年逐渐兴起的大数据云计算中心、5G通信机房同样需要大量智能巡检机器人替代人工完成运维任务,
目前的研究存在以下几个问题与不足:
SLAM 算法在长走廊的退化环境下面临挑战,长期以来都是 SLAM 领域的一个热门研究问题。而通信机房内排列整齐的机柜之间的通道正是类似于长走廊的退化环境,机器人在相似的场景中移动,若使用传统 SLAM 算法,尤其是机器人在前进过程中使用激光雷达扫描时,更容易出现定位漂移的现象,错误地识别自身定位,甚至形成累计误差,导致位姿估计和地图的精度降低。 通信机房内由于日常运维之后现场可能会遗留维修工具,或者存在少许杂乱的光纤跳线从机柜中延伸出来,于是在机房通道的地面上形成小型的临时障碍物,而室内场景的移动机器人因考虑成本因素通常都使用 2D 单线激光雷达及相应的激光 SLAM 算法,但它只能扫描一个平面,因此可能漏掉一些矮小的障碍物,导致出现机器人未识别出障碍物,从而出现严重事故。
真实机房场景
79366629a2f6ae5f445cf758cd80034d.png
09f7b9f09112c7a8213a766ad9c74955.png
维修时候的杂乱现场
51b766075bf718e6a236564c03ac64a7.png
2. 视觉SLAM特征 1f5816a5f96142ccadaa901cbc704f9a.png
计算机视觉中常见的提取特征点的算法包括 SIFT、SURF、ORB等:
SIFT 算法:通过在不同尺度空间搜索极值点来检测关键点,并通过关键点周围区域的梯度信息来生成描述符,关键点的位置和尺度不变性确保了特征的重复性和匹配性,使得对于图像缩放、旋转甚至仿射变换鲁棒。 SURF 算法:一种流行的尺度不变特征变换方法,利用积分图像来加速图像的卷积运算,进而加速 Hessian 矩阵特征点的检测。首先构建尺度空间,然后在尺度空间中寻找对比度高的关键点,并用泰勒级数展开式近似求解特征点的精确位置和尺度 ORB 算法:一种快速且有效的特征点检测和描述符提取算法,计算速度快于 SIFT 和 SURF,基于 FAST 关键点检测器和 BRIEF 描述符,对性能进行了改进,特别是加入了对关键点方向的一致性和旋转不变性。FAST 关键点提取:检测图像中局部像素灰度值出现明显变化的地方作为为角点,仅比较像素的亮度信息,而不考虑方向信息,因此运算速度相对较快。核心思想就是像素周围的像素灰度差别较大,且达到一定数目,这个像素很可能就是角点。 BRIEF 描述子提取:在提取关键点后,就需要对每个关键点的信息进行量化,即计算其描述子。BRIEF 描述子采用二进制编码形式,它是一个 256 位的向量,每一位是 0 或 1,后面进行特征匹配时,只需要通过用异或位运算计算汉明距离,来比较两个描述子,将具有更快的计算速度。 ORB-SLAM2 检测出的特征点
074fd4a5d3665b9601a48abc652924e1.png
ORB-SLAM2 的工作流程图
d64ecd5770e6b895722c8afa16487e5f.png
构建仿真环境
6515ab6f8c2b34b6ab2b731986c7233c.png
3. 多传感器融合 多传感器信息融合按照融合系统在信息处理结构上的不同层次,分为数据层融合、特征层融合以及决策层融合:
数据层融合:基于观测量的融合,指直接把不同传感器前端采集到的数据提供的约束放在一个优化器中进行求解,而融合过程未进行特征检测;数据融合完成后,才进行特征提取。直接统计和分析原始数据之间的关联性,保留了原始数据的完整性、全面性和真实性,最终得到的融合结果精确性更好,但因为原始数据量庞大且关系复杂,直接处理所需的时间较长,计算量大,实时性较差。
e6fbeb0238ce593d7573102d1fdbdf9e.png
特征层融合:指每个传感器根据自身的特点,先用合适的方法独立进行特征提取和匹配,将环境的特征信息融合为单一的特征矢量,从而进行后续的计算分析与数据融合。因为对原始观测数据进行了特征提取和压缩,保留了关键重要的信息,可以提高系统的实时性,同时减少噪声对系统处理的影响,但压缩了信息,一定程度上影响了系统的鲁棒性,属于中间层次的信息融合,在融合前需要对数据进行预处理,以减少错误信息的影响。
6c1ab3785e136c749cc3c3d409c6e85d.png
决策层融合:在不同传感器获取到环境信息,分别进行数据预处理、特征提取和识别,之后再对特征进行联合判断和统一处理,从而得出对观测目标的一致性结论,对目标属性做出统一决策,可以根据不同的环境场景灵活地选择传感器,实现复杂的灵活决策,提高系统的容错能力.
95754d651dd2d35de047a329471fcb0c.png
信息融合算法:按照方法理论的不同可以分为:加权平均法:为每个传感器数据设置不同的权重,最后算出的结果作为数据融合值,核心是确定各数据的权重,适用于构建动态实时系统 卡尔曼滤波法:为融合数据提供统计意义下的最优估计,适用于满足线性模型、误差为高斯白噪声的系统,核心是建立滤波所需的状态方程和观测方程 贝叶斯估计法:先将每一个传感器作为一个贝叶斯估计,然后把每个物体的关联概率分布合成一个联合的后验概率分布函数,计算联合分布函数的似然函数最小值,得到多传感器信息融合值,融合信息与环境的一个先验模型以提供整个环境的一个特征描述,并根据条件概率估计未知状态 D-S 证据理论:贝叶斯推理的扩充,推理结构分为三级,第一级为目标合成,第二级为推断,第三级为更新。它不仅包含基本概率赋值函数,还引入了信任函数概念,能够解决“未知”所引起的不确定性,得到更加可靠的多源信息融合结果 模糊集合理论:一种表达模糊性的数学思想,使用它可以将复杂的观测对象和模糊概念创建为简单的模糊集合,建立隶属函数,用 0 到 1 之间的数来表达元素隶属于集合的程度,通过模糊集合的计算变换,从而更方便对模糊对象进行分析,在逻辑演算的过程中表示信息融合中的不确定性关系 人工神经网络:模仿神经元,根据样本相似性确定分类标准,经过权重和激励函数运算处理,采用学习算法来获取知识,根据不确定性推理机制,完成传感器的多源信息融合任务 位姿估计融合算法流程图
c57032ad468074ca5ff6bbc2e9723fa4.png
SLAM 算法融合多传感器
0ebdb76cbf590403a97b5cddc9a01fc2.png
红色栅格为起始点,深绿色栅格为目标点;黄色箭头线条代表外层算法规划出的外层路径,给出了路径大致的前进方向;绿色箭头线条代表内层算法规划出的具体路径,给出了初步规划出的完整路径;先运行外层算法,再运行内层算法。
冗余点剔除:找到存在环绕路径的障碍物区块,从上一区块到当前区块所有路过的栅格进行遍历,如果跟后面某个栅格距离更短或者连线未穿越障碍物,则移除路径上当前障碍物区块在当前栅格前面的所有栅格。剔除冗余点后,使转折次数更少,且总路径更短;粗黄箭头线条表示外层算法规划的路径,绿色箭头线条为外层算法和内层算法联合规划出的初始路径,红色箭头线条即为剔除冗余点之后形成的新路径,黄色栅格即为路径节点中被剔除掉的冗余点,冗余点剔除之后,可以使总路径长度更短、转折次数更少,路径更平滑。