APP下载

基于自组织可增长映射的移动机器人仿生定位算法研究

2021-04-25陈孟元徐明辉

电子与信息学报 2021年4期
关键词:位姿视图神经元

陈孟元 徐明辉

①(安徽工程大学高端装备先进感知与智能控制教育部重点实验室 芜湖 241000)

②(安徽工程大学电气工程学院 芜湖 241000)

1 引言

实现移动机器人的高精度定位逐渐成为机器人导航重要的研究方向之一[1,2],也是实现机器人智能化决策和控制的基础。通过传感器获取信息和基于概率的同步定位与地图构建(Simultaneous Localization And Mapping, SLAM)算法是目前机器人自主导航的主要研究方向。科学家通过对生物环境认知能力的研究发现,哺乳类动物具有对环境的自主认知能力。O’Keefe等人[3]在对鼠类海马体椎体神经细胞的放电率进行研究时发现,一些椎体神经细胞的放电活动具有明显的位置选择性,即当大鼠到达某一特定位置时,对应的神经细胞产生复杂的尖峰电位,而其余细胞处于抑制状态。O’Keefe等人将具有这种特性的细胞称为位置细胞(Place Cell, PC)。Hafting等人[4]发现放电形式为六边形的网格细胞,多个网格细胞的关联响应可以实现空间导航。在之后的研究中,O’Keefe等人和挪威的Moser等人[5-7]根据位置细胞和网格细胞具有的“定位”属性,提出了大脑里的“导航系统”概念。文献[8]对海马体位置细胞的功能和特性作出了更加详细的说明。更多的研究发现,通过对位置细胞放电率的计算,结合路标获取、位置编码和图像信息能完成机器人的空间位置估计[9,10]。空军工程大学的李伟龙等人[11]基于位置细胞的放电机理,提出了位置细胞表征空间位置的两种方法,借助环境路标的提取实现了对于机器人空间位置的高精度表征。周牧等人[12]提出一种基于Mann-Whitney秩和检验的无线局域网室内映射与定位方法,该方法可根据实际定位精度需求对目标区域进行分段处理,在无需运动传感器辅助和构建位置指纹数据库的条件下,实现更高的映射与定位精度,但存在相同聚类接收信号强度(Received Signal Strength, RSS)样本冗余等问题导致聚类(即信号空间中的骨干节点)映射到物理空间中的邻接性较差。文献[13]提出的基于RSS非齐性分布特征的半监督学习室内定位指纹库构建算法,实现运用少量标记数据对大量未标记数据的位置标定,但仍存在高维接收信号强度(RSS)数据分布不均匀的影响,缺乏对环境局部几何特征的提取性能。Aronov等人[14]在大鼠奖励实验中发现,当大鼠到达“奖励空间”时,位于海马体的位置细胞活动速率达到最大,将这些活动速率变大的位置细胞的响应位置记录下来,得到一条覆盖大鼠活动区域的路径,即大鼠的运动路径。Milford等人[15-17]提出了一种通过关联视觉场景细胞和位姿细胞建立经历地图的仿生SLAM算法,这一算法能有效地进行闭环检测,更快实现空间地图构建。但也存在定位精度低和处理数据速度慢的缺点。

1982年芬兰科学家Kohonen[18,19]基于侧抑制现象提出一种自组织图(Self-Organizing Map,SOM),并引入“赢者通吃”的竞争规则。这种自组织方法通过学习能够自主绘制出拓扑地图,但必须定义其初始网络结构,无法满足系统实时性要求。Montazeri等人[20]提出一种将增长自组织特征图应用于强化学习的算法,通过两个增长的自组织映射实现状态空间的最佳表征。于乃功等人[21]根据自组织可增长映射图(Growing Self-Organizing Map, GSOM)的特性结合双目立体视觉视差理论,通过构建空间环境的拓扑关系,解决了SOM网络需要预先确定拓扑结构的问题。

本文根据GSOM神经网络的特性,引入位置细胞放电机理构建空间经历地图,神经网络用来建立环境的拓扑地图,位置细胞使拓扑地图的输出神经元具备激活响应,并应用于Milford等人提出的仿生SLAM模型中。

2 局部视图与位姿细胞构建模型

O’Keefe等人[3]通过大鼠的导航细胞和SLAM导航策略提出的基于局部视图和位姿感知的同步定位与地图构建(local View and Pose cell - Simultaneous Localization And Mapping, VP-SLAM)模型由局部视图单元(view cell)、位姿细胞(pose cell)和经历地图3部分组成,本文将该算法简称为VPSLAM。其位姿细胞网络是头方向细胞和位置细胞合并形成的定位网络,头方向细胞和位置细胞都具有强烈的空间感知特性,其中头方向细胞能感知机器人的方向信息,位置细胞能感知机器人的位置信息;局部视图单元是可扩展的单元阵列,每个单元代表环境中独特的视觉场景;经历地图是由位姿感知网络和局部视图单元的活性驱动产生的多个经历整合而成的相关地图。VP-SLAM模型如图1所示,在VP-SLAM模型中,里程计获取内部感知的自运动信息来估算此刻机器人的位置和方向,局部场景作为外部感知形成局部视图单元,通过视觉场景学习进行重定位,再将位姿细胞网络获得的位姿信息与局部视图单元的模板关联生成经历地图。

2.1 位姿细胞模型

连续吸引子竞争网络(Competitive Attractor Network, CAN)模拟位置细胞和头方向细胞的认知导航功能,在没有外部输入的情况下,CAN模型可以通过对位姿细胞网络注入适当的兴奋或抑制性激励,保证位姿细胞的动态更新,用P表示位姿细胞的活跃水平。位姿细胞由位置细胞和头方向细胞组成,其被模型化为一个3维立方体结构,如图2所示。在笛卡儿坐标系中,位姿细胞以离散的形式排列,并以多个位姿细胞组成的活动包形式表征机器人位姿。该活动包编码了机器人对其当前位姿的最佳内部估计。这种动态的内部估计行为是通过局部兴奋性、全局抑制和归一化3个阶段实现的。

图1 VP-SLAM模型

图2 位姿细胞模型

头方向细胞由一组神经元表示,用来表征机器人的方向。当头方向细胞表征的方向与机器人实际方向一致时,头方向细胞被激活。反之,头方向细胞的活性降低。当机器人学习完外部传感器输入和方向之间的关联时,可以应用这个关联对之前感知的方向进行校正。位置细胞以一个离散的2维矩阵方式排列,如果机器人处于一个特定的位置,则相应单元被激活,所有的位置细胞之间采用全激励连接。激励权重矩阵δij的2维形式高斯分布如式(1)所示

其中, σ2为激励权重高斯分布的方差,u为位置细胞自关联权重,保证了每个位置细胞的活性随着机器人偏离该位置细胞所表征的位置而降低。

视觉图像信息为位姿细胞模型中位置细胞的唯一输入,与头方向细胞类似,在环境中不同位置处的 场景需要与位置细胞进行关联。

2.1.1 局部兴奋性

因为位姿网络的3维特性,每个阶段均采用3维高斯分布来创建一个兴奋性空间权重矩阵,用这个矩阵来表示图2中3维位姿感知网络对应活动包兴奋时单个位姿细胞的映射关系。该矩阵的3维高斯分布表示为式(2)

其中,sx, sy, sz为位姿细胞权值矩阵在( x,y,z)上的维数。i, j, k分别为从0到 sx-1,sy-1,sz-1的整数。

由内部兴奋性动态估计引起的位姿细胞活跃水平Δ P的变化表示如式(4)

2.1.2 全局抑制

在整个位姿表征过程中,随着视觉输入信息的注入,CAN的抑制作用相对缓慢。通过添加轻微的全局抑制保证在竞争过程中,兴奋性位姿细胞的活动包与抑制性位姿细胞的活动包同时存在。而不采用传统的墨西哥帽连接方式。抑制后位姿细胞活跃水平如式(5)

其中, φ表示抑制参数,调整位姿细胞活跃水平为正数。

2.1.3 归一化

位姿细胞通过获取自运动和视觉输入信息完成位姿估计,归一化位姿细胞的活动水平保持位姿细胞的总活性不变,更新后如式(6)

2.2 局部视图单元

局部视图单元是可扩展的单元阵列,每个单元代表环境中独特的视觉场景。当机器人看到新的视觉场景时,会创建新的局部视图单元并将其与该场景中的原始像素数据相关联。另外,该局部视图单元与此时位姿网络中的被激活的活动包之间通过兴奋链接 β进行学习。当机器人再次看到该场景时,局部视图单元会再次被激活,并通过增强被激活局部视图单元和位姿细胞膜之间的兴奋性链接 β,将激活的局部视图单元的活动信息注入到位姿细胞中。兴奋性链接β可表示为式(7)

其中, λ为兴奋链接常数;Li为局部视图单元的活性;Pxyz为位姿细胞的活性。活动信息持续注入到位姿网络中将导致重定位,当活跃的局部视图单元将激活与熟悉场景相关联的位姿细胞的活性时,位姿细胞的活性变化为式(8)

其中, τ为视觉影响量,决定机器人当前感知的位姿 信息与先前关联的感知方向的置信水平。

2.3 经历地图

经历地图是由许多经历构成的细粒度的拓扑地图。每个经历由位姿细胞的活性P与局部视图单元的活性Li构成,用经历能级Ei表示。

每个经历都有对应的( x,y,z)状态表示,此状态描述了该经历在经历地图坐标系的空间位置。经历地图坐标系不同于连续吸引子网络的笛卡儿坐标系和局部视图单元的空间坐标系。在经历地图坐标系中,通常把获取的第1个经历初始化作为坐标系的(0,0,0)位置,后续经历根据上一个经历和机器人的运动变化来分配一个位置。具体的坐标描述如式(9)

其中,Si为经历地图中经历的位置。

当位姿细胞和局部视图单元的当前活动状态与现有的经历三者没有高度匹配时,创建新的经历。新的位姿感知细胞活性、局部视图单元和经历状态三者的匹配程度用度量系数F 来表示,如式(10)

其中, µp和 µl分 别为位姿细胞和局部视图单元的加权匹配值,且 µp+µl=1。当度量系数F小于设定的匹配阈值Fmax时,表明此经历是机器人先前遇到的场景。当F > Fmax时,创建新的经历Ei。通过两个经历的位置变化能对机器人位姿做进一步修正。经历位置变化如式(11)

其中, λ为位置校正参数;Na为 经历Ei到其他经历的 链接数;Nb为其他经历到经历Ei的链接数。

3 GSOM算法下的VP-SLAM模型

3.1 GSOM算法

自组织图(SOM)是一种无监督的竞争网络,该网络通过竞争学习规则调整连接权重,实现神经元有规律的形成某种输入空间的映像。但是必须预先定义尺寸图和平面图结构成为传统SOM网络更进一步发展的限制。传统的SOM网络在训练初始化之前要进行预定义结构和学习参数的分配,即训练前必须确定地图大小(神经元数目)和拓扑顺序(维度和链接结构)。实际上,生成具有预定尺寸的多个特征图十分耗时,并且这种预先定义的地图是基于主观标准评估生成的,这使得SOM网络不适合在线学习和处理非固定数据集。为了解决这个限制,提出了SOM网络的动态变体GSOM。与传统SOM网络不同的是,GSOM不是被限制在一个预定数量的神经元地图中,它有着灵活的结构,并且相较于原始的SOM其非线性学习能力更强,在低维特征空间中映射更少的神经元。

3.1.1 GSOM网络结构

GSOM的网络结构如图3所示,不同于一般神经网络,自组织竞争网络拥有输入层、竞争层与输出层3层结构,竞争层被隐藏。因为是增长的自组织网络,又把输入层称为GSOM层。GSOM层通常由4个神经元组成矩形点阵,这样可以保证所有神经元在初始化阶段具有相似的输入条件。

图3 GSOM网络结构

输入单元的个数等于输入的维数,为m个,输出单元的个数为n个,输出可以形成1维、2维或多维结构。输入单元和输出单元之间的连接权值表示连接状态,每个连接权重的值称为连接权值,各连接权值通过竞争学习规则调整。为清晰考虑,增长前的连接权重用实线表示,增长后的连接权重用虚线表示。其中, xk=[x1,x2,···,xm]为输入单元。wk=[w1i,w2i,···,wmi](i=1,2,···,n)为 权 重 向 量,分 别与输出层各个输出单元相连。

3.1.2 GSOM学习算法

GSOM学习算法严格遵守竞争学习规则,在这一竞争过程中,1个时刻只会有1个输出神经元被激活,这个被激活的神经元一般称为竞争获胜单元或者最佳匹配单元。当1个激活神经元产生时,其他的神经元处于抑制状态,所以这种竞争学习规则又称为“赢者通吃”(Winner-Take-All, WTA)。学习流程如表1所示。

表1 GSOM学习算法

(1)网络初始化。

(a)权重初始化:避免学习样本的输入信号对学习速率的影响,对当前网络学习样本的输入模式向量 X和隐藏竞争层中各神经元对应的权重向量Wj( 对应j 神 经元)全部进行归一化,使得X和Wj模为1。

(b)施加邻域约束:采用邻域约束建立一个以获胜SOM神经元为中心的优胜拓扑邻域。落在这个邻域内的所有神经元需要重新更新连接权值。采用高斯函数来表达这一邻域约束,邻域函数为式(12)

其中, ri和 rj分 别为输出单元i和 胜出单元j 的位置;σ为邻域范围。

(2)寻找最佳匹配单元。

(a)输入单元到输出单元的连接权重:每一个连接权重的值称为权值,这里采用欧氏距离来判断对应连接权重的权值大小,计算公式为式(13)

其中, xi为单元i的 输入;wij为加权后单元i到单元j的连接权重;m 为输入单元的个数。

(b)确定最佳匹配单元即胜出单元:采用最小相似性度量来确定胜出的单元,即选定输出单元j∗,使其满足j∗=min dj,即为最佳匹配单元。

(3)调节神经元权重。

更新胜出单元 j∗的邻域内所有单元的连接权重:给出更新规则为式(14)

其中, j∧∈j∗的邻域;η (t) 为学习因子;0 ≤i ≤M -1。该更新规则意味着此方法可以产生由获胜者表示的典型连接权重以及与获胜者相应的相邻权重。

(4)调节邻域大小。

3.2 位置细胞放电模型

科学家在对鼠类海马体椎体神经细胞的活动率进行研究时发现,存在于海马体CA1和CA3区的一些椎体神经细胞具有复杂的尖峰电位,其放电行为存在明显的位置选择性:即当大鼠到达空间中一个特定位置时,海马体内某个神经细胞的活动率会显著增加,处于一种兴奋状态,到访其他位置时,会有另外的细胞显示兴奋状态。O’Keefe等人将这种具有明显 “位置偏好”特性的神经细胞称为“位置细胞”(place cell)。这种位置细胞的位置偏好特性还有着明显的范围特征,即大鼠在到达空间特定位置时,大脑海马体内某个位置细胞的放电率呈现最大化,而周围的细胞没有或很少有放电活动。位置细胞对特定位置的放电称为该细胞的位置野(place field)或放电野(firing field)。如图4所示,越靠近中心位置,放电率越高,随着放电半径的增大,放电率逐渐降低。

图4 位置细胞放电模拟图

用2维高斯公式表示第n 个位置细胞在所处空间位置ρ 下的放电率为式(15)

其中,pn是 第n 个 位置细胞的参考位置,α 是位置细胞放电率调整参数。

在拓扑地图中建立环境路标,并将位置细胞的放电模型映射到拓扑地图的2维空间中,通过路标识别得到经过位置编码后的位置细胞放电率。移动机器人位于真实空间下第i个位置的放电率如式(16)

其中,( x,y)为 位置细胞在空间中的真实位置,(xi,yi)为 位置细胞的参考位置。

3.3 GSOM算法下的VP-SLAM模型

通过O’Keefe等人的实验可以发现,自由活动的大鼠海马体内某些位置细胞的兴奋程度具有很强的位置选择性,在某个具体位置时,位置细胞呈现最大的放电率。将多个对应位置进行连线可得到机器人在空间中的认知路径,即位置细胞能够编码当前对应位置的位置信息,多个位置细胞编码的位置信息能够编码机器人的真实空间轨迹。

基于此,本文提出一种融合GSOM神经网络和位置细胞的SLAM算法(后文称“改进VP-SLAM”),将GSOM映射的环境信息与位置细胞表征的位置信息进行关联,并将该算法应用于VP-SLAM模型中,建立如图5所示的改进SLAM模型。环境拓扑信息的建立过程包括以下4个步骤:

(2)将训练样本输入至改进GSOM神经网络进行竞争学习,输出与位置细胞放电率关联的获胜神经元;

图5 融合GSOM的VP-SLAM模型

(3)计算获胜神经元与GSOM网络数据集的位置误差,若小于一定阈值,则当前位置细胞编码的位置信息与机器人位置一致,否则,记录当前机器人位置坐标加入GSOM网络数据集;

(4)在GSOM网络中通过邻域约束寻找邻接神经元并与其建立邻接关系,绘制环境拓扑地图,编码机器人的真实运动轨迹。

4 实验结果与分析

4.1 环境映射和定位分析

采集一个未知空间区域的环境位置信息,以视觉传感器运动起点在地面的投影点所在位置为坐标原点,按20:1比例映射至GSOM网络学习样本中,其中学习样本中共有2维区域π 上1100个样本点,即GSOM网络的输入个数为m=1100,可运动区域大小为10 m×10 m的2维环境。运动区域内环境样本分布如图6所示,获得样本点数据后用本文提出的基于GSOM算法建立环境的拓扑地图。通过度量最小欧氏距离确定胜出单元,根据胜出单元与给定样本的误差确定是否增加神经元,同时更新胜出单元邻域内所有单元的连接权重。

样本的学习是一个不断调参的过程,通过对神经网络参数的调整,选定合适的参数(神经元连接强度为[0 1],输出维度为2,步长为10:30:100,学习率0.06)重新训练神经网络,得到合适的环境拓扑地图。如图7所示,图7中红色‘·’为GSOM神经网络映射在2维空间的神经元,两点间的连线代表两个神经元的连接权重。生成的拓扑地图用了342个神经元表示了1100个环境样本点,在保持样本数据拓扑顺序的同时,十分逼近样本的分布结构。

图6 环境样本分布

在如图7环境拓扑地图的实验基础上,通过给定不同位置细胞间隔R研究位置细胞放电模型对机器人定位精度的影响,仿真参数设置如下:运动空间为10 m×10 m,定位周期为2 s,定位方向任意,每个定位周期内机器人保持匀速运动,不同定位周期内机器人运行速度在0.5~2 m/s之间任意选择。训练时间相同的情况下,分析间隔R对机器人定位效果的影响。图8为给定不同位置细胞间隔的情况下得到的位置细胞对机器人位置定位的结果。从图8(a)和图8(b)的对比可以得知,当R越小时,记录机器人的运动轨迹需要的位置细胞数量越多,定 位的精度也越高。

图7 环境拓扑地图

4.2 改进VP-SLAM的位姿细胞活性表征

实验环境选取如图9(a)所示的会议室,大小5 m×7 m,图9(b)中阴影部分为发言席、会议桌、椅子等,红色五角星为起点,红色圆圈为终点,虚线为机器人漫游轨迹。a, b, c, d分别为机器人在漫游过程中实际到达的位置。移动机器人硬件平台如图10所示,通过相机采集场景信息,将获取的环境样本点信息和机器人自运动信息上传到上位机进行处理,实现运行过程中数据获取和实时计算,并利用MATLAB进行后续实验仿真。其中相机分辨率为640×480,输出频率为30 Hz,实验中移动机器人匀速顺时针行驶。

图8 不同间隔R下的定位轨迹

图9 实验环境

图10 移动机器人硬件平台

在保持实验场景布局不变的情况下,将本文改进算法与文献[21]算法进行对比。两种算法的位姿细胞活性表征如图11所示,左侧为机器人在不同时刻所处位置获得的4幅局部场景图像,中间为原始VP-SLAM模型对应机器人4个位置的位姿细胞活性表征图,右侧为改进VP-SLAM模型对应机器人4个位置的位姿细胞活性表征图。对比两种算法在a,b两点分别对应的位姿细胞活性表征图可以发现,当机器人从a运行到b过程中,两种模型均能在一定误差范围内实现定位,且都能实现由a到b位姿细胞网络活性转移的表征。当机器人处于c点时,原始VP-SLAM模型的位姿细胞网络活性表征的位置与实际位置开始产生较大偏差,而改进VP-SLAM模型对于机器人的定位依然在一定误差范围内。同时随着两种模型的持续运行,机器人从c运行到d时,两种模型的位姿细胞网络活性转移表征依然能够体现,原有模型的定位误差进一步增加,相比之下,改进模型产生的定位误差虽有一定程度增大但仍小于原始模型,验证改进模型在实验场景下有效地提高了机器人的定位精度。

图11 两种VP-SLAM模型位姿细胞活性表征过程

基于上述实验分析中定位误差的描述,机器人围绕实验场景运行10圈,选取10个测试点共获得20组定位数据(数据来源为环境拓扑地图的2维数据)为定位样本,通过对样本数据进一步分析得到如表2所示的模型定位误差表。表中对比了两种模型的最大绝对误差、平均误差和模型准确率,在准确率方面,融合后的模型虽然最大只有2.82%的提升,但在最大绝对误差和平均误差方面,相比于原始VP-SLAM模型,改进后的模型的两种误差减少了近1/2。验证了显示改进模型的定位性能要优于原始VP-SLAM模型。

4.3 改进VP-SLAM模型的性能分析

移动机器人围绕实验场景进行6圈场景采集,加入GSOM神经网络的VP-SLAM模型与原始VP-SLAM模型的性能对比如图12所示,图12(a)和图12(b)分别为原始VP-SLAM模型和本文算法模型的局部场景模板数。由图12可以看出,本文算法完成场景认知生成的局部场景模板比原始VP-SLAM模型模板数目要少。由于融合了GSOM算法,使得融合后的模型只需更少的局部场景模板数目就可以完成对实验场景的认知,验证了本文提出的融合GSOM的VP-SLAM模型具备更快认知实验场景及进行场景重定位的能力。

表2 两种模型的定位误差

图12 两种模型的模板匹配

在数据处理的实时性上,改进模型与原有模型的对比如图13所示。蓝色代表改进模型的CPU处理时间,红色代表原有模型的CPU处理时间。相比于原始VP-SLAM模型,改进后的VP-SLAM模型CPU处理时间更少,处理数据的效率更高,这是因为认知实验场景需要的局部场景模板数目更少,一定程度上降低了计算量,缓解了计算资源,使得改进VP-SLAM模型比原始VP-SLAM模型处理数据使用的时间更少。验证了改进后VP-SLAM模 型更能契合数据处理实时和高效的要求。

图13 两种模型的CPU处理时间

4.4 实验场景定位轨迹对比

图14 两种模型的轨迹对比图

原始VP-SLAM模型与改进VP-SLAM模型在实验场景中构建的经历地图如图14所示,相比于原始VP-SLAM模型,改进后的VP-SLAM模型构建的经历地图更接近机器人运行的实际路径,有效地提高了地图的精确性。从图14还可以发现,在遇到相同的场景时改进后的模型可以更快地实现闭环检测,校正机器人位姿,验证了改进VP-SLAM模型在实验场景的鲁棒性和快速性。

5 结束语

基于对啮齿类动物大脑导航机制的认识,本文提出一种基于GSOM神经网络的移动机器人仿生定位算法。本文通过GSOM神经网络拓扑扩展特性和自组织增长特性,结合鼠脑海马体位置细胞的放电机理得到移动机器人的位置响应,并基于位置响应特性进行移动机器人的高精度定位研究。实验结果表明,相较于原始VP-SLAM模型,改进VP-SLAM模型具有更高效的位置估计能力,使机器人基于环境认知提高对自身所处位置的精度定位。本文提出的算法建立在生物导航的认知机理上,增加了生物认知地图在移动机器人定位领域的应用。后续将会在进一步提高定位精度的前提下展开对移动机器人路径规划方面的研究。

猜你喜欢

位姿视图神经元
跃动的神经元——波兰Brain Embassy联合办公
5.3 视图与投影
视图
Y—20重型运输机多视图
SA2型76毫米车载高炮多视图
基于共面直线迭代加权最小二乘的相机位姿估计
基于CAD模型的单目六自由度位姿测量
小型四旋翼飞行器位姿建模及其仿真
基于二次型单神经元PID的MPPT控制
ERK1/2介导姜黄素抑制STS诱导神经元毒性损伤的作用