这两天入校手续马上办完了,就要进组搬砖了。组里除了做3D激光SLAM,视觉IMU融合的学长,还有做传感器的和水下SLAM的。就着对各个方向多些了解进而发散思维的想法,从而去了解了水下SLAM。
- 摘要
非结构化场景、重要特征提取、传感器的不精确性以及无法使用GPS信号是水下环境中遇到的一些挑战。在这种不利的环境下,SLAM试图在未知的水下环境中有效地定位机器人,同时生成环境的代表性模型。
- 介绍
目前,水下环境是矿产和生物资源的主要来源之一。石油管道的安装和监控等许多活动都是由水下机器人完成的。有限的光照范围、海流的存在、混浊度和环境的均匀性是机器人定位和制图应用中面临的一些问题。虽然有水下环境的三角测量方法,但这些方法通常需要付出巨大的努力、高昂的成本和可观的后勤资源。当机器人事先不知道环境地图,也不知道自己的姿势时,问题就会产生,由此引出了水下SLAM算法(underwater SLAM)。目前,我们已经为静态、结构化和有限大小的环境提供了可靠的映射方法。这些方法处理与计算复杂度、数据关联和环境表示相关的问题。地图非结构化、动态或大规模环境仍然是一个开放的研究问题。本文主要内容将从水下SLAM面临的挑战,基于概率的方法,一种生物启发的方法这三方面展开。
- 水下SLAM的挑战
水下性质带来了许多陆地或室内应用所不面临的挑战。 1)传感器 考虑到水下环境的特殊性,对环境的感知是需要提及的一个关键方面。一般来说,来自传感器的数据精度有限,特别是在光线弱、洋流强和水体浑浊的环境中。估计的噪声最终会对定位和建图任务产生重大影响,通常会导致系统的不收敛。传感器噪声建模是一项重要而困难的任务,尤其是在大规模环境中,因为噪声在某些情况下可能不同,需要进行新的校准以获得对系统的更好估计。传感器的工作深度通常有限,因此在高深度应用时成本高昂。下表列出了水下机器人使用的主要传感器以及每种传感器提供的信息类型。 2) 特征提取 SLAM最重要的因素之一是路标。路标的识别对于保持机器人的估计位置、降低系统的不确定性和在行走前识别出地点至关重要。由于环境的非结构化特性,在大多数情况下没有明显的对象或特性。混浊会干扰传感器的工作,尤其是那些基于光的传感器,如摄像机和激光。太阳光只照射到水面几米的地方。在开阔的海洋中,只有不到0.5%的表面光到达100米的深度。机器人的视野非常小,因此需要在更高深度使用人工照明。由于声纳具有更大的射程,即使在恶劣的环境下,声纳也是水下资源特征提取的主要传感器。声纳测量中存在多个干扰源,如海流或波浪的静水压效应、地震活动、压力不均匀分布、船舶交通、海洋动物和自身的螺旋桨。除了声纳读数的噪声外,在提取特征时,通常需要处理存在的重影、反射和低分辨率的声学成像。水下自然资源的动态性是另一个因素,这使得识别以前访问过的地点(回环检测)成为一项艰巨的任务。 3) 绝对位置 水下环境不允许使用GPS。为了克服这一局限性,提出了其他解决方案,例如使用LBL、USBL和SBL等三角测量系统。这些系统安装工作量大,超出了物流的特殊要求,成本高。此外,这些解决方案限制了机器人的操作区域。 4) 计算复杂性 SLAM应用程序的计算复杂性与要探索的环境大小以及用于特征提取、跟踪、数据关联和滤波的算法密切相关。一旦机器人在环境中移动,大多数特征都被识别。大规模的环境,今天仍然被认为是SLAM应用的一个限制因素。
- 概率的方法
有多种多样的方法处理SLAM相关的方法,比如对以前提取特征的识别(即数据关联或回环检测)。被用在SLAM中的统计学中的方法包括卡尔曼滤波,粒子滤波,点云数据的扫描匹配,仿生学的方法也开始被探索… 以概率学的方式,SLAM需要以下的概率分布:
对所有k进行计算。该概率分布描述了给定观察
,输入控制
,和初始车辆状态
后,k时刻机器人状态和路标点位置的后验概率。一般来说,问题的递归解决方案是可取的。从时间k−1对分布
的估计开始,控制
和观测
之后的后验概率使用贝叶斯定理计算。这种计算需要定义状态转换模型和观测模型,分别描述输入控制和观测的效果。基于概率贝叶斯算法的主要算法有扩展卡尔曼滤波、粒子滤波和扩展信息滤波。EKF一般只和上一时刻状态有关,如果它是错误的,机器人可能会迷失在环境中。粒子滤波依赖迭代可以表示各种估计,因为每个粒子代表状态的估计。在计算复杂度方面,EKF的复杂度为O(M2))其中M为状态向量的大小,FastSLAM上的粒子滤波算法的复杂度为O(MK),其中M为地标的数量,K为粒子的数量。
- 生物启发的方法(仿生学)
考虑到概率算法的缺点,考虑到大比例尺地图的计算复杂度,我们将介绍一种新的仿生技术来解决SLAM问题,重点关注水下环境。 最近,研究人员正在利用动物神经元行为的发现来开发新的算法和方法,应用于机器人等领域的计算解决方案。在SLAM的背景下提出了一个名为RatSLAM的算法,该算法模拟了老鼠大脑的导航机制。这种方法着重于模拟在哺乳动物大脑中发现的与导航目的相关的网格细胞。这种方法的一个特点是建立环境的拓扑地图,因为它是强制对大鼠和蝙蝠的神经实验。该算法已应用于水下环境,取得了良好的效果。系统分为局部视图单元、位姿单元和经验图三个模块。
A. 位姿单元 此单元是算法的的核心。它由CANN(Continuous Attractor Neural Network)组成,被设计去模拟大脑导航机制的行为。在该方法中,扩展了RatSLAM的位姿单元,并在神经网络中增加了另一层,来进行四自由度的位置估计。从现在开始,它是由一个4D CANN估计姿态xyz和偏航方向yaw。 B. 局部视图单元 路径整合过程中累积的错误通过学习位姿单元活动和局部视图单元活动之间的关联来重置,同时回忆以前的关联。局部视图用向量V表示,向量的每个元素表示每个局部视图单元的活动。在一次回环事件中,熟悉的视觉场景激活局部视图单元与位姿单元学习的连接,代表这是视觉场景是第一次遇到的姿态。由于位姿单元的吸引子动力学(attractor dynamics),单一的视觉场景不足以促使位姿的立即改变,更新姿态需要几个连续一致的视图。数据关联问题是用的Bag of Features(BoF)算法解决的,流程的每个阶段将在下文中解释。 提取和识别位置:针对机器人在环境中所访问的位置的学习和识别任务,开发了一种基于视觉特征词袋模型的算法。该算法扮演了视觉特征字典的角色,从环境中的摄像机图像中提取。第一步是创建字典,它对应于图像中每个特征点的集合。采用鲁棒性的加速算法进行关键点提取特征算法(SURF),一种鲁棒的局部特征检测器。聚类算法需要从训练数据中采样的数百万(或数十亿)局部特征中构建一个离散的词汇表。一般采用K-Means算法对相似特征进行分组。每个集群区域在字典中形成一个单词。这个字典是训练阶段的最终结果,当一个环境特性的“a-先验”数据库。图中描述了利用视觉特征来表示和识别环境位置的一般过程。
在识别阶段,首先利用SURF算法提取关键点。然后,我们创建一个直方图的特征,表示每个组的特征在图像中的数量。然后,将直方图归一化,并与已经存储的每个模板(直方图)进行比较。当一个模板与另一个已经创建的模板匹配时,将能量注入到与该位姿单元的CANN的局部视图模板相关的神经元中,如果能量足够移动网络的活动包,则导致闭环。否则,当直方图与所创建的模板不匹配时,将创建一个新的模板并分配给姿态单元CANN中的某个神经元。 C. 经验图 经验地图模块的变化最大,因为现在需要创建一个三维地图。为此,创建、更新经验和闭环的过程被修改。 经验仍然是一个元组。
其中三维姿态表示的位置
的变化,如公式所示。该姿态有原点和方向,最后一个由四元数表示。
两种位姿之间可以互相转换,如下:
新经验的位置将由当前经验的位置乘以在两者之间进行的转换实验来计算:
这种方法非常适用于环境具有一定程度的模糊性和相当多的地标性的长期地图。算法复杂度与拓扑映射中的节点数呈线性关系。
ratslam代码仓库: RatSLAM : a hippocampal model for simultaneous localization and mapping. In: Proceedings of IEEE International Conference on Robotics and Automation