基于GFCC特征提取机器人仿生声呐SLAM算法研究
2021-11-10谢道平于帅珍
谢道平,于帅珍,武 岳
(安徽财经大学 管理科学与工程学院,安徽 蚌埠 233030)
0 引言
SLAM(Simultaneous Localization and Mapping)[1],即同步定位与地图构建,其最早由Smith、Self Cheeseman 于1988 年提出,其作为实现全自主移动机器人的关键。
机器人SLAM[2]技术广泛应用于二维空间,在执行军事侦测、监视、地震救灾等方面发挥巨大的作用。现在处理机器人SLAM[3]问题的方法主要包括视觉SLAM[4]、声呐SLAM[5]、惯性导航设备[6]。视觉SLAM算法[7-8]使用视觉传感器获取图像信息,对光线强度的要求相对较高,当光线强度不满足要求时,很难获取清晰的图像信息,从而导致经历图的失真问题;传统的声呐SLAM 通常将大量不切实际的声呐数据,应用于SLAM算法[9-10]中,这样造成了数据不准确,导航降低;惯性导航设备主要使用惯性/卫星/磁传感器组合导航[11-12],但是在室内,卫星导航系统的信号不稳定且强度较弱,不易完成准确的导航与定位。
动物虽然没有完善的传感器系统,但是仍然可以适应复杂的环境,从而实现自身的定位导航,我们可以借鉴动物导航,为SLAM 问题[13-15]的解决提供了很好的方案。澳大利亚昆士兰大学Michael 提出了一种基于复合位姿表征的啮齿动物海马区扩展模型(RatSLAM)。由此想到了空中的具有海马区的蝙蝠。文献[16]是基于RatSLAM 模型,文献中利用所构建的仿生声呐模板来替代RatSLAM 模型中的视觉模板,用Gammatone 听觉滤波器组滤波后构建的耳蜗图来取代视觉图像,因此BatSLAM 模型可以在不会受到光线变化的影响,可以满足暗光环境下二维经历图的构建。
在存在许多噪音环境下,人耳听觉系统可以有效的感知不同的人所发出的声音,并能够进行有效的识别。众多研究表明,人耳听觉系统具有很好的鲁棒性和抗干扰能力,可以有效的抵抗外界的噪音干扰,从而完成事物的准确识别。文献[17]有效的使用动态压缩Gammachirp 听觉滤波器组来获取音频信号的特征参数,可以有效的提高语音识别的的准确性;。文献[18]将听觉系统的非线性压缩特性进行了细致的研究,并列举了非线性压缩的优缺点,本文在传统的BatSLAM的基础上,采用基于GFCC特征提取参数构建耳蜗图模型,用指数压缩来模拟听觉系统的非线性特性,使用加海宁窗处理来减小回波信号所存在的边缘影响,使用离散余弦变换来对耳蜗图进行有损数据压缩,从而提高耳蜗图的抗干扰能力,使用升半正弦倒谱提升来提高耳蜗图的鲁棒性,通过GFCC特征提取的BatSLAM 模型可以有效提高室内定位的精度和准确性。
1 算法原理与设计
本文提出一种移动机器人在室内环境下导航的基于GFCC特征提取BatSLAM 模型系统。使用基于CTFM的声呐模型来构建出仿生声呐系统,从而模仿蝙蝠的耳朵和嘴来进行信号的收发。为了提高回波信号在噪音环境下的鲁棒性和抗干扰能力,利用GFCC特征参数提取来构建耳蜗图模型,将双耳耳蜗图作为局部视图模板,并构建局部视图模板数据库。将该数据库注入Bat-SLAM 模型中,实现经历图的构建。
基于GFCC特征提取BatSLAM 模型如图1所示。
1.1 基于CTFM 模型构建仿生声呐系统
在自然世界中,蝙蝠具有非常完善的声呐系统。声呐系统主要是由发声系统和听觉系统构成。连续发射频率调制(CTFM)作为宽带主动式声学探测手段,广泛应用于机器人导航领域。因为连续发射频率调制(CTFM)声呐模型的工作原理与蝙蝠的嘴巴和耳朵的功能其相似,因此本文采用CTFM 声呐模型来构建仿生声呐系统。使用信号发生模块模仿蝙蝠发出脉冲信号,使用回波采集模块模仿蝙蝠的耳朵来接收回波信号
1.2 基于GFCC特征提取构建耳蜗图模型
1.2.1 Gammatone 听觉滤波器组
人耳听觉系统模型在音频信号处理方面得到了广泛的应用,Gammatone 听觉滤波器组是最常用的音频信号处理方式,其用于模拟人类耳蜗基底膜的工作原理。本文使用Gammatone 听觉滤波器组来对蝙蝠耳廓听觉频率响应进行模拟,如表达式(1)为:
其中,中心频率fc(n),带宽为b。
1.2.2 指数压缩
为了提高耳蜗图的抗干扰能力,需要对耳蜗图进行指数压缩处理,经过研究表明,听觉系统具有抗干扰能力的主要原因是由于其具有非线性的。而指数压缩具备非线性同时其非线性特点由低频到高频是处于不断增强的。进行非线性处理的一般方法是利用语音信号的输出输入比,本文采用声压强进行表示,如表达式(2)为:
其中,hi为采集信号的功率;h0为发射信号的功率;hr为信号功率的参考值;ℑ 为采集信号与发射信号的比值。
将公式进行转换后如表达式(3)为:
通过公式可以表明,听觉系统具备非线性特性,同时其满足指数压缩的特点。倒谱系数的性能受到非线性压缩值的影响,有二点结论受到大家普遍认可:1.当信号的频率高于1KHZ 后,非线性压缩增强,其指数压缩值相差较小,2.当信号频率低于1KHZ,非线性压缩性能伴随着频率的降低而不断减弱。
1.2.3 GFCC特征参数提取构建耳蜗图模型
本文使用Gammatone[19-20]听觉滤波器组来模拟人类耳蜗基底膜的工作原理,在此基础上利用指数压缩来提高耳蜗图的非线性特点,利用GFCC(Gammatone Frequency Cepstrum Coefficient)特征参数提取来构建耳蜗图模型。GFCC特征参数提取如图2 所示。
图2 GFCC特征参数提取
(1)预处理操作
当信号频率低于1KHZ,非线性压缩性能伴随着频率的降低而不断减弱,为了加强高频信号,对采集到的信号进行预加重处理,系数为0.99。为接收到的回波信号,信号经过预加重后如表达式(4)(5)为:
利用语音信号时间越短越平稳,对获取的回波信号分为若干帧信号来处理,每帧设置128 个采样点。
考虑到信号存在边缘影响,本文采用加海宁窗处理,如表达式(6)(7)(8)为:
(2)傅里叶变换
本文使用傅里叶变换将预处理后的回波信号由时域转化为频域,从而获取到离散功率谱y(k)L和y(k)R。
(3)滤波处理
将获取的离散功率谱y(k)进行取平方处理,来获得能量谱,对获取到的能量谱进行滤波处理,本文采用Gammatone 听觉滤波器组进行处理,如表达式(9)为:
(4)指数压缩处理
(5)离散余弦变换
对处理后的回波信号执行离散余弦变换(Discrete Cosine Transform,DCT)),从而得到GFCC,如表达式(12)(13)为:
将回波信号构建成BGFCC(j)L和BGFCC(j)R后,其作为左耳耳蜗图和右耳耳蜗图。
(6)升半正弦倒谱提升
为了提高耳蜗图的鲁棒性,使其更符合人耳听觉特性,对离散余弦变换后的回波信号进行升半正弦倒谱提升处理,如表达式(14)(15)(16)为:
1.3 基于耳蜗图构建局部视图模板
将GFCC特征参数提取得到的耳蜗图进行连接,构建成双耳耳蜗图如式(17)所示。
其中,BGFCC(j)L为左侧GFCC特征参数提取得到的耳蜗图,BGFCC(j)R为GFCC特征参数提取得到的耳蜗图。
对构建的双耳耳蜗图进行标准化处理,如式18 所示:
局部视图模板由标准化双耳耳蜗图进行构建,如式19 所示:
对于每一个新的声呐数据对应的局部视图模板进行测试,检查是否已经经历过。计算当前的局部视图模板与数据库中所有的局部视图模板间的欧氏距离di如式(20)所示
其中,Gi表示数据库中的第i 个模板。
如果最小欧氏距离低于某一阈值τ,新的测量量被认为与以往的对应于最小距离的局部视图模板Gmin进行对应匹配。通过与Gmin活性相关联的局部场景细胞注入到姿态细胞网络的对应区域中。阈值τ如式(21)所示,
其中,τ为利用所有欧氏距离求和后的均方差按比例缩小后进行重新计算,nG为数据库中的局部视图模板的数量,a调整系统的比例因子,at设置为0.5。
如果最小欧氏距离保持在阈值τ以上,场景被认为最新的。在这种情况下,Gcur加入数据库,与Gcur联系的一个新的局部场景细胞被加入到局部视图细胞网络中。
1.4 位姿估计
当移动机器人在室内环境中移动至特定的位置时,会有一个位姿状态与之对应,在BatSLAM模型中使用空间位姿细胞网络(X,Y 和θ)来表示机器人所处的位置,通过连续吸引子网络(CAN)控制着无人机位姿感知网络内部的活动。机器人的位姿信息的变化过程通过位姿感知细胞的活动包在空间位姿细胞网络中的转移体现出来。
当仿生声呐传感器系统识别特定场景时,当前局部视图模板与数据库中的模板相匹配。局部场景细胞和数据库中存储的局部视图模板相对应,将局部场景细胞中的活性注入位姿细胞网络中。注入的活性激活与局部场景细胞最密切相关的位姿感知细胞,位姿感知细胞产生活动变化。局部场景细胞与位姿细胞网络的活性链接通过使用Hebbian 学习进行加强。CAN 系统的动力学性质,确保只有一个活化峰可以保持在空间位姿细胞网络中,从而将惯性导航传感器和感受外界的传感器进行信息融合,形成机器人的位姿估计。
1.5 经历图的构建
从仿生声呐系统中提取的耳蜗图(通过当前局部视图模Gcur表示)与局部视图模板数据库G的模板进行比较。如果识别模板,则局部场景细胞Gi激活与局部场景细胞Gi最密切相关的位姿细胞,在位姿细胞网络P中校正位置,绘制经历i。经历图绘制完成时需要进行一次闭环检测校准从而实现经历图的优化,构建准确的闭合环路。
2 实验与分析
2.1 机器人在具体位置的声波图像和耳蜗图
机器人移动至空间具体位置时,来观察回波构建的耳蜗图的特征。实验时,使用超声波换能器发射250 us的FM 波,收集该位置收到的回波信号,并将该信号传输至上位机生成声波图像和耳蜗图。具体位置获得的回声的时域波形和幅域波形如图3 所示。
图3 (a)左耳时域波形和幅域波形图
图3 (b)右耳时域波形和幅域波形图
对左耳与右耳回波信号进行分析,二耳的回波信号具有很大的不同,我们可以通过声音的时域波形和幅域波形对机器人所处的空间位置进行识别。
但是,仅仅通过回波信号,不能完全的表现该位置周围环境的特征。不同的位置采集的信息不同,对应不同的“声呐图像”,这里将信号经过Gammatone 滤波器处理后构建左右耳蜗能量谱作为“声呐图像”。如图9 所示。
图4 中,不同颜色表示不同的能量强度,横坐标代表时间。图4 中时间都为3 s,每个时刻能量强度较弱,并且左右耳蜗能量谱也不相同;可以根据耳蜗能量谱能量强度和时间等特征来识别不同的位置。因此将耳蜗能量谱构建的耳蜗图来作为与环境中特定地方相关的“指纹”,基于这些“指纹”作为局部视图模板去构建准确和稳定的地图。
图4 位置二左右耳蜗能量谱图
2.2 基于GFCC特征提取的BatSLAM算法SLAM 定位误差分析
选取房间里的一个椭圆形方桌构建的环形空间作为实验场地如图5 所示。在实验场地中,分别使用惯性导航算法、BatSLAM算法和基于GFCC特征提取的BatSLAM算法算法在暗光条件下进行绕圈实验,并将数据上传至上位机进行分析。如图5 所示,随着时间的推移,惯性导航算法在15 s 时,其定位误差开始不断增大,其定位误差一直高于BatSLAM算法和基于GFCC特征提取的BatSLAM算法,当达到100 s 时其定位误差已经达到了25 cm,并保持稳定;BatSLAM算法在最初的13 s 内,其定位误差高于惯性导航算法和基于GFCC特征提取的BatSLAM算法,在13-30 s的时间范围内,其定位误差一直与基于GFCC特征提取的BatSLAM算法一致,但是当30 后其定位误差开始变大,并且一直来回波动,并且高于基于GFCC特征提取的BatSLAM算法,当到达100s 时,其定位误差达到20 cm,并有上升的趋势;观察基于GFCC特征提取的BatSLAM算法的定位误差,其只有在13-30 s 时与BatSLAM算法保持一致,其它时刻的定位误差均低于惯性导航算法、BatSLAM算法,其定位误差一直在13 cm 左右来回波动。基于GFCC特征提取的BatSLAM算法不仅实现了在暗光条件下进行导航,同时通过改善耳蜗图的抗干扰性和鲁棒性,可以有效的较小定位误差,从而提高移动机器人的定位精度和准确性。
图5 实验场地图
图6 基于GFCC特征提取的BatSLAM算法定位误差分析图
2.3 改进算法与原算法定位精度对比
本文利用定位精度中的二项关键指标平均误差和最大误差来分析原算法和改进算法的定位效果。改进算法的最大误差和平均误差相对较小(如表1),定位精度更高。
表1 算法精度指数对比表
3 结论
本文提出的基于GFCC特征提取的Bat-SLAM 模型可以实现在暗光条件下导航,同时通过改善耳蜗图的抗干扰性和鲁棒性,可以有效的较小定位误差,从而提高移动机器人的定位精度和准确性。如何将仿生算法与音频图像融合来实现机器人精确导航以及如何准确的识别不同的音频图像,这些问题还需要深入的研究。