胡文超,孙新柱,陈孟元
(安徽工程大学 安徽省电气传动与控制重点实验室,安徽 芜湖 241000)
同步定位与地图构建(simultaneous location and mapping,SLAM)就是运动载体利用自身携带的传感器获得周围环境的地图,同时确定自己在地图中的位置[1]。机器人SLAM可以实现二维空间的经历图构建,但是对于空中某一高度的经历图构建,例如利用SLAM技术用经历图来描述建筑物特定高度的外围轮廓,机器人SLAM已经不再适用。无人机可以在特定高度下飞行,利用无人机SLAM技术可以实现特定高度下二维经历图的构建。无人机SLAM问题应用最成功的是概率的方法,如卡尔曼滤波算法[2]、扩展卡尔曼滤波算法[3]、粒子滤波算法[4]等,文献[5]将小型无人机的SLAM问题分解成路径估计与环境地标估计两部分,分别采用粒子滤波器和扩展卡尔曼滤波器进行估计,提出了一种小型无人机的FAST SLAM算法,运算的复杂度大幅度降低,且能更好地表示非线性、非高斯运动模型,这些概率算法的优势是能够处理传感器与环境的模糊性,有很好的SLAM性能,但由于概率方法存在计算量大、搜索时间长、易陷于局部最优解等问题,故不能够完全解决全局地图构建和导航问题。惯性导航设备是无人机最常用的导航与地图构建方案,其主要使用惯性/卫星/磁传感器/气压高度计组合导航,但是无人机在楼群之间、大型建筑物内部或者山区等GPS信号较弱的地区飞行时,由于缺乏卫星导航系统,惯性导航系统的误差会不断发散,很难实现准确的导航与地图构建[6]。而视觉SLAM方法仅使用机载摄像头作为外部传感器,目前常用的是单目视觉SLAM[7]、双目视觉SLAM[8]、RGB_D SLAM[9]、文献[10]使用四旋翼飞行器搭载RGB_D传感器并进行SLAM系统研究,使用稀疏的RGB_D SLAM方法,提高无人机SLAM系统的实时性的同时也达到了高精度的效果。然而视觉SLAM算法对于光照依赖性较强,必须在适宜的光照强度下,在黑暗或较暗的光强下,很难实现准确的同步定位与地图构建;为了解决此类问题,出现了声呐SLAM算法,声呐SLAM与视觉SLAM相比,声呐具有处理速度快、不受光线条件限制等优点,文献[11]利用AUV上的声呐传感器持续探测非合作目标并估计目标航迹的同时,利用探测到的AUV与目标间的相对信息修正其自身航位推算带来的累积估计误差,从而提高AUV的自定位精度。但是声呐SLAM的缺点在于获取的信息量较少,空间分布分散,其感知信息存在较大的不确定性,因此生物声呐逐渐作为研究的热点。生物声呐,能够实现在复杂的环境下进行导航,因为它从回声中提取更多的信息。文献[12]提出可以模仿蝙蝠声呐的发射与接收过程,利用仿生声呐系统实现复杂环境下的定位与导航。
概率方法广泛应用于SLAM的同时,澳大利亚昆士兰大学Michael等[13]提出了一种基于复合位姿表征的啮齿动物海马区扩展模型(RatSLAM)。RatSLAM模型提出了一种位姿细胞网络,即连续吸引子网络,作为一种手段来进行路径积分。RatSLAM的路径积分是通过里程计获取速度与角度信息,同时使用视觉传感器对里程计得到的信息进行修正与更新,绘制精确的经历图。文献[14]已经证明在RatSLAM基础上,可以使用仿生声呐模板来代替RatSLAM系统中的视觉模板,用双耳平滑耳蜗图来代替视觉图像,可以实现在暗光或黑暗的条件下,使用BatSLAM模型来构建二维经历图。
BatSLAM模型通过双耳平滑耳蜗图作为仿生声呐模板构建二维经历图,使用绝对差值和(SAD)模块进行处理产生局部场景,即通过计算所有模板中的耳蜗图的像素亮度与当前耳蜗图的像素亮度之差并求和后与阈值相比较来进行仿生声呐模板的更新,但是此方法是基于外观的低分辨率、并且只需判断图像外观前后是否一致,不存在几何处理和特征提取。耳蜗图在获取和传输过程中会产生各类噪音,相同位置获得的回波信号构建的耳蜗图具有一定的差异,单独使用SAD模块处理会由于识别出错而导致二维经历图的失真。
文献[15]提出对视觉图像进行闭环检测,通常利用当前帧和历史帧的特征点匹配对数,通过设定的阈值来判断是否达到闭环状态。对于音频图像,出现了可以进行声音识别的音频感知哈希技术。音频感知哈希是指可以代表一段音频重要声学特征的基于内容的紧致数字签名,其主要目的是建立一种有效机制来比较两个音频文件的感知听觉质量[16]。本文以音频感知哈希检索时的误码率作为标准,将当前耳蜗图构建的音频感知哈希与模板库中耳蜗图构建的音频感知哈希相比较,当最小误码率小于某一阈值时,识别成功,完成闭环检测,从而实现经历图的优化。
采用一种可以在特定高度下进行绘制二维经历图的BatSLAM模型,使用仿生声呐模板来代替RatSLAM系统中的视觉模板,用双耳平滑耳蜗图代替视觉图像来构建二维经历图。使用仿生声呐系统采集回波信号,经过一系列处理后将二次采样的双耳平滑耳蜗图作为仿生声呐模板,同时生成局部场景细胞。用位姿感知细胞来表示无人机在特定高度下的位置与方向。使用陀螺仪与加速度计信息来更新位姿感知细胞,使用仿生声呐模板对应的局部场景细胞来实现位姿感知细胞的修正,当使用仿生声呐模板识别失败时,则使用音频感知哈希模板进行位姿细胞的修正。考虑到单独使用音频感知哈希进行修正会降低算法的实时性,所以选择优先使用仿生声呐模板修正,辅助使用音频感知哈希修正,在提高闭环检测准确率的同时,实时性也不会有很大的影响。最后由位姿感知细胞、局部场景细胞与音频感知哈希的相互联系来实现二维经历图的构建与校正。改进后的BatSLAM算法的结构框图如图1。
图1 改进后的BatSLAM算法的结构框图Fig.1 Structure block diagram of the improved BatSLAM algorithm
蝙蝠发出高频信号,并对反射的回波信号进行分析并进行导航。在头部相关传递函数(head function related transfer,HRTF)的基础上,加入发射器与接收器的位置信息,采用echolation related transfer function(ERTF)进行声源定位。左耳与右耳ERTF滤波器如式(1)、式(2)所示。
式中: He(f,θ)表 示发射器方位,(f,θ)、(f,θ)分别表示左右接收器方位。频率为 f, 角度 θ表示仿生声呐系统中处于特定高度的反射器的方位角。
文献[11]指出双耳ERTF差是综合了回声谱、双耳强度差(IID)和双耳时间差(ITD)的声源定位模型,包含了从目标物到反射器位置的详细方位信息,可以实现蝙蝠的回声定位。
在多个反射器的作用下,左右耳蜗接收到的信号如式(3)、式(4)所示。
为了分析这些双耳回波信号的生理学时频特性,使用Gammatone听觉滤波器组来模拟蝙蝠耳廓听觉频率响应,其时域表达式为式中: fc(n)为中心频率;b为带宽。对于接收到的回波信号经过Gammatone滤波器组处理后,使用得到的Gammatone耳蜗能量谱来表示回波信号的时频特性,接下来进行一阶低通滤波,分别得到左耳与右耳耳蜗图,计算公式如式(6)、式(7)所示。式 中 : XL(t) 、 XR(t)分 别 为 左 耳 与 右 耳 耳 蜗 图 ,ulp(t)为 一阶低通滤波, xL(t)、 xR(t)为左耳与右耳接收的信号。
在BatSLAM模型中,将构建的耳蜗图模型作为仿生声呐模板,在使用耳蜗图作为仿生声呐模板时,必须注意对无人机位置细微的变化进行处理,及时进行二次采样的单声道耳蜗图使系统更加具有鲁棒性。这里使用高斯滤波器进行平滑处理,进一步排除细小位置改变带来的影响。二个平滑和二次采样的单声道耳蜗图连接起来,形成一个双耳平滑耳蜗图如式(8)所示。
使用标准化双耳平滑耳蜗图,计算公式为
将标准化双耳平滑耳蜗图作为当前仿生声呐模板,计算公式为
定高飞行的无人机在特定的位姿状态时,处于空间位姿感知细胞网络(X,Y,θ)中,通过连续吸引子网络(CAN)控制无人机位姿感知网络内部的活动。路径积分是通过转换每个位姿感知细胞基于无人机加速度计速度、陀螺仪角速度和(X,Y,θ)坐标的活动来更新姿态细胞的活动,同时使用仿生声呐模板的比较来保持和修正位姿信息,从而实现位姿感知细胞的重定位。
1) CAN模型
位姿细胞内部动态过程主要包括兴奋度更新,对所有细胞的全局抑制。使用一个三维离散高斯分布来创建兴奋度权重矩阵 ε,如式(11)所示:
式中: km、 kn分别表示位置与方向的常数;a、b、c为x′、 y′、 θ′的分布系数。
由于兴奋性造成的位姿感知细胞的活动变化如式(12)所示:
式中: Nx′,Ny′,Nθ′为 (x′,y′,θ′)空间中的位姿感知细胞三维矩阵元素。 Pabc为位姿感知细胞的活动系数,对于位姿感知细胞的活动变化的全局抑制如式(13)所示:
式中:抑制常数 φ控制全局抑制水平且兴奋度水平被限制在非负数范围。
2)直观的路径积分
该模型的路径积分方法是转换现有位姿感知细胞的活性而不是立即将当前活性复制传递。该过程使其性能独立于感知变化更新速率和加速度计速度与陀螺仪角速度,不仅能生成更加准确的无人机飞行轨迹,并且不需要参数调整。经过路径积分后,被更新的位姿感知细胞活性为如式(14)所示:
式中: kx′、 ky′、 kθ′是路径积分常数;v表示加速度计速度;w表示陀螺仪得到的角速度。
3)仿生声呐模板修正位姿感知细胞
采用双耳平滑耳蜗图作为仿生声呐模板,局部场景细胞由一个一维细胞阵列组成,每个细胞单元对应一个特定的仿生声呐模板。在路径积分时,由于位置和方向上的累计误差,使用仿生声呐模板来进行修正。对于每个新的场景,算法会建立新的仿生声呐模板,同时建立局部场景细胞与位姿感知细胞间的联系。进行更新的连接强度如式(16)所示:
式中: Gi为局部场景细胞的活动水平; Px′y′θ′为位姿感知细胞的活动水平;λ表示加权值。
对于每一个双耳平滑耳蜗图使用绝对差值和SAD模块进行处理产生局部场景。SAD模块将当前耳蜗图与模板库中的耳蜗图进行比较,通过计算所有模板中耳蜗图的像素亮度与当前耳蜗图的像素亮度之差,如式(17)所示:
式中: Ucur表示当前耳蜗图的像素亮度; Ui表示数据库中的第i个仿生声呐模板的像素亮度。如果像素亮度之差低于某一阈值 τ,当前耳蜗图被识别出来,对位姿感知细胞进行校正:
如果像素亮度之差高于某一阈值 τ,当前耳蜗图成为新的仿生声呐模板并加入到模板库中。阈值τ为
式中: nG为数据库中的仿生声呐模板的数量; αt为调整系统的比例因子, αt设置为0.5。
1)音频感知哈希
音频感知哈希是音频数据集到音频感知摘要集的单向映射,将具有相同感知内容的音频数字表示唯一地映射为一段数字摘要。映射关系为PH,如式(20)所示, ph感知哈希(perceptual hash):
生成的数字摘要称为感知哈希(perceptual hash)。在感知哈希映射作用下,音频信息间主观测度下的感知距离转化为感知哈希间的客观可计算的数学距离 n ∈N。
2)音频感知哈希的生成
仿生声呐系统将收集到的音频信号B作为感知哈希函数的输入,使用一组具有8通道的Gammatone滤波器进行滤波,将滤波后的的数据根据频带高低进行排序,由低到高分别为 S1,S2,···,S8。使用Gammatone耳蜗能量谱来对回波信号的时频特性进行表示。将每一个频带的数据{,,···,}实行90%重叠后进行分帧,每帧20 ms(即
80个采样点),矩阵W作为能量谱矩阵,对于能量谱矩阵里每一个元素 W(n,L),如式(21)所示:
式中: Δ2Qk是 对 Qk做 二阶差分, Rk长度为6。最后对得到的结果实行二值化处理,音频感知哈希Y如式(23)所示。
式中:音频感知哈希生成过程如图2所示。
图2 音频感知哈希生成Fig.2 Audio perception Hashi generation
3)音频感知哈希模板修正
对于每个新的场景,算法会建立新的音频感知哈希模板。同时建立音频感知哈希与位姿感知细胞间的联系。进行更新的连接强度如式(24)所示:
式中: Yi指的是第i个音频感知哈希模板。这里采用误码率P=Vi/V来衡量任意二个音频感知哈希之间的相似水平,V表示待识别音频感知哈希码元个数,Vi表示模板库中的音频感知哈希进行对比时出现错误的个数。将当前音频感知哈希和数据库中音频感知哈希进行对比,若低于阈值 γ则
对位姿感知细胞进行修正:
如果高于阈值 γ,当前音频感知哈希成为新的音频感知哈希模板并加入到音频感知哈希模板库中。
每个经验 exi,yi,θi= 〈Ei,Pxi,yi,θi,Yi,Gi〉关联经验能级Ei, 位姿细胞 Pxi,yi,θi和局部场景细胞 Gi,与音频感知哈希模板 Yi,第i个经验如式(26)所示:
当前位姿感知细胞的活性或当前的音频感知哈希决定经验能级 Ei的各组成要素,如式(27)所示。
使用当前位姿信息、音频感知哈希和仿生声呐模板与经历图进行匹配时,当到达经验过的地方时,进行一次闭环检测,并对经历图进行校正,经验位姿改变如式(28)所示:
式中:α为校正常数, Nf为经验i到其他经验的连接数, Nt为从其他经验到经验i的连接数。
本文是通过I2C协议来读取MPU6050数据,获取的传感器数据经过预处理后,经过互补滤波算法进行数据融合,通过姿态解算获取四旋翼飞行器的姿态角与位置,由SPI总线将数据发送到定高飞行的无人机控制器。使用气压计MES5611来获取气压数据。因为气压值与海拔高度成固定的比例,通过气压计数据转换为海拔高度:
式中:Alt是海拔高度,m; P0为1 013.25 hPa.
通过3个超声波换能器作为蝙蝠的耳朵和嘴,3个超声波换能器按照“一字型”进行排列。“二耳”分别将采集的信息通过信号接收电路,经过AD芯片转换为数字信号传递给四旋翼飞行器的STM32主控芯片;STM32主控芯片发出信号,经过信号处理电路后使用“嘴”发出声波,仿生声呐系统采集音频信号并传输给上位机获得左右耳蜗图。
图3表示为2组不同回波信号的Gammatone耳蜗能量谱。分别含有了3段回波信号的最初版本、带噪声版本、高斯平滑处理版本。耳蜗能量谱的纵轴表示不同的频带,横轴表示不同时间,能量值越高对应的颜色也相应较深。由图3可以发现,两组音频信号获得的能量谱具有很大的不同,而相同音频虽然经过不同的处理,但是相邻频带间能量差异依然没有较大改变。所以可以通过耳蜗能量谱进行特征提取构建音频感知哈希。
图3 最初音频和处理后的音频耳蜗能量谱比较Fig.3 Comparison of the energy spectrum between the initial and the processed audio cochlea.
为了分析不同噪音条件下改进算法与原算法的闭环检测的准确率,这里选取典型的两种噪音,即高斯噪音与椒盐噪音。设计了外加高斯噪音、椒盐噪音和未添加噪音下的准确率-召回率对比试验。选取其中一个耳蜗图模板,得到不同噪音版本与原始版本的耳蜗图对比如图4所示。
图4 不同噪音版本与原始版本耳蜗图对比Fig.4 Comparison of different noise versions and original versions of cochlea
为了分析不同噪音对于闭环检测准确性的影响,本文使用准确率P、召回率R来分析不同条件下2种算法的性能。其表达式如式(30)、式(31)所示。
式中:TP表示正确识别的闭环经验单元,FP表示错误识别的闭环经验单元,FN表示未识别的实际闭环经验单元。BatSLAM算法和基于音频感知哈希闭环检测的BatSLAM算法在不同条件下的准确率、召回率如表1、2所示。
表1 BatSLAM在不同条件下的准确率、召回率Table1 The accuracy and recall rate of BatSLAM under different conditions
表2 基于音频感知哈希的BatSLAM在不同条件下的准确率、召回率Table2 The accuracy and recall rate of BatSLAM based on audio perception Hashi under different conditions
通过表1、2可得,在无噪音条件下,两种算法的准确率大体相同分别为99.06%和100%,但是对于召回率,改进后的算法具有明显提高,未识别的实际闭环经验单元数量明显减少。当噪声干扰较小时,即高斯噪音,准确率提高程度不太明显,当噪音干扰较大时,即椒盐噪音,其准确率具有显著提高,因为改进后的算法不仅考虑到外观,而且考虑到相邻频带间的能量差异,从而提高了正确识别的闭环经验单元数量。当存在多种噪音时,基于音频感知哈希的BatSLAM算法具有明显优势,提高了闭环检测的准确率。
本文首先设计了硬件平台数据处理方案,实现了对MPU6050姿态数据、气压计MES5611的数据以及音频数据的采集与处理;然后将无人机定高飞行过程中获取的姿态数据与仿生声呐系统获取的音频数据上传到上位机进行了MATLAB仿真实验分析,来验证改进算法的可行性。
选取室外高度为1 m的椭圆形方桌构建的环形空间作为实验场地,使用GPS获取位置信息作为基准。无人机分别使用BatSLAM算法和基于音频感知哈希的BatSLAM算法在暗光条件下以1 m的特定高度进行绕圈实验,起始点为A,终点为B,图5和图6中A与B点代表相同的实际位置。如图5所示,BatSLAM算法构建的经历图在第一圈时,由于声呐模板修正,当到达终点B时,自动定位到起点A,继续导航,当到达C点时,由于耳蜗图在获取和传输过程中会产生各类噪音,仅仅使用SAD处理方法会导致识别出错,同时因为加速度计与陀螺仪漂移出现了C-D间的误差偏移,当到达D点时,再次识别成功,自动定位到E点,继续导航。如图6所示,将音频感知哈希算法融合进入的BatSLAM算法,经历图在第一圈时,由于声呐模板-音频感知哈希修正,当到达终点B时,自动定位到起点A,继续导航,虽然在导航过程会存在各种噪音干扰,但是当使用仿生声呐模板识别失败时,自动调用音频感知哈希进行修正,因此第二圈轨迹与第一圈基本重合。因为声呐模板-音频感知哈希修正不仅考虑到外观,而且考虑到相邻频带间的能量差异,提高了闭环检测的准确性。基于音频感知哈希闭环检测的BatSLAM算法不仅完成了无人机特定高度和暗光条件下的二维经历图绘制,而且提高了闭环检测准确率,减小了轨迹偏差,改善了经历图的失真,实现了经历图优化。
图5 BatSLAM经历图Fig.5 BatSLAM experience diagram
图6 基于音频感知哈希闭环检测的BatSLAM经历图Fig.6 BatSLAM experience graph based on audio perception Hashi closed loop detection
本文提出的基于音频感知哈希闭环检测的BatSLAM模型不仅实现了无人机特定高度和暗光条件下的二维经历图绘制,同时改善单独使用SAD模块处理所导致二维经历图失真问题,而且提高了闭环检测的准确率,减小了轨迹偏差,从而实现经历图的优化。基于本算法的无人机SLAM技术具有适应性强的优势,可以摆脱对于GPS的依赖,不受光照强度的限制等,可以适用于各种复杂的外界环境下,如矿洞、楼群间、山区等。同时具有广泛的实际应用前景,可以实现无人机自主导航的同时并在固定高度下对农作物进行灌溉;模仿蝙蝠在洞穴中躲避空中钟乳石的原理,实现在室内或室外复杂环境下躲避空中障碍物;实现建筑物特定高度外围轮廓的的二维经历图构建等。本文仅仅进行了简单地形环境下的SLAM二维经历图的构建并证明了算法的合理性与可行性,复杂环境下的SLAM二维经历图的构建将是接下来的工作重点,正在深入研究中。