谷 雨,赵修斌,代传金
(空军工程大学信息与导航学院,陕西西安 710077)
无人机器可以通过特定的传感器或环境中的某些先验信息来确定其当前的空间位置[1],但是在没有任何先验信息的情况下,动物和人类也可以使用感官中不完整的空间信息来快速定位其当前位置并导航到目标.随着在小鼠海马结构中具有特定放电特征的神经元细胞(包括位置细胞、网格细胞和头朝向细胞等)[2-3]被不断发现,深入了解并应用动物和人类快速实现他们对空间环境的认知机制和对自我的定位机制成为了可能.最终,无人机器也得以完善其重要的导航功能,即使用不完整的空间信息来计算其当前位置并导航到目标[4].
实验表明,动物海马结构中网格细胞与位置细胞以不同的方式表示空间,一般认为网格细胞为位置细胞提供了路径整合信息.网格细胞主要位于内嗅皮层,放电野呈现出规则六边形形状,密铺在整个环境当中,特征主要包括放电野大小、空间尺度、相位和方向[5].其中,网格野大小和空间尺度会随着网格细胞解剖位置从内嗅皮层背侧向腹侧的移动而增加,多个尺度的网格细胞共同对整个环境进行编码[6].
针对网格细胞放电模型,伦敦大学学院认知神经科学研究所Burgess教授团队,提出了基于速度控制振荡器(velocity-controlled oscillators,VCO)的振荡干扰模型[7-8].其核心是将位置变化转换为相位的变化,然后对相位进行余弦函数处理后得到规律性信息,通过多个规律性信息整合后可以产生网格状放电样式[9].Bush等人[10]在其基础上描述了网格细胞的多尺度结构,并展示了如何在任意位置间进行矢量导航,但是始终没有解决如何使用小空间尺度来度量大的空间区域这一问题.
加州大学圣巴巴拉分校理论物理研究所Fiete博士等提出了多尺度网格细胞模块执行余数编码的设想[11],不要求网格空间尺度须大于运行范围,具有潜在大尺度空间适用性,但未进行建模验证.国内的杨闯等人[12]根据其设想,提出了基于连续吸引子模型和余数系统的大尺度空间矢量导航方法,实现了大尺度空间中的矢量导航,但文中只是验证了在无噪声情况下矢量导航方法的可行性,而没有解决测量噪声对其导航过程造成干扰的问题.
本文与文献[12]都是针对大尺度环境中的导航问题所提出的类脑矢量导航方法,两者最大的区别在于位置解算算法的不同.文献[12]采用算法是文献[11]所提出的余数系统,其核心是用距离对固定的一组基进行取余数运算后,用一组余数(相位)表示一个非周期变量(距离).此方法有3个特点,其一取余为整数运算,这就要求距离与基全部为整数;其二距离的容量为这组基的最小公倍数;其三采用的是中国余数定理进行距离解算.在此背景下,2%的测量噪声对其解算结果正确性的影响是致命的,因为在此条件下其取得的余数可能全部都有偏差,对解算结果将造成极大的影响,即使如文献[11]所提出,牺牲容量,用冗余容量表示相同的信息来纠正故障相位,也只能解决噪声对个别相位的扰动,而无力解决测量噪声对所有相位造成的普遍影响.
本文采取的逐级模糊度确定法是针对测量噪声所提出的,其有两个核心,一是采用两个相近的空间尺度产生一个远大于它们的组合空间尺度(容量),并使用两个相位测量值做差得到组合相位测量值,这两者相乘即为实际距离;二是针对测量噪声采用多级空间尺度的结构,逐级解算减小误差,从而提高解算精度.多级空间尺度设计的原则是后一级要大于前一级中误差的两倍,这样后一级就可根据前一级的距离估计值进行无歧义的模糊度解算,进而得到更加准确的距离估计值.
因此,本文基于组合空间尺度的整周模糊度比原空间尺度的更容易求解这个事实,通过对多空间尺度测量值进行线性组合,建立了多级组合空间尺度,提出了一种基于振荡干扰模型和逐级模糊度确定法的大尺度空间矢量导航方法.经实验验证,该方法可以在测量噪声的干扰下准确实现由运动速度和运动方向的输入到当前位置矢量的输出,提高了大尺度空间内矢量导航的鲁棒性.
位于大脑内嗅皮层的网格细胞被认为是支持动物矢量导航的核心神经单元[12].网格细胞在内嗅皮层中离散为多个层级,每一层由大量具有相同空间尺度的网格细胞构成,不同层的空间尺度沿内嗅皮层背侧向腹侧的方向增加.每一层的网格细胞分别接收边界细胞、头朝向细胞、速度细胞等导航细胞提供的自运动信息,进行路径整合后将位移矢量信息传递给位置细胞,完成矢量导航.
针对网格细胞路径整合的机理,众多研究者提出了各自的模型,其中最重要的是吸引子网络模型和振荡干扰模型.但是吸引子网络模型仅在一维运动期间模拟了相位进动,很难在两个维度上执行路径集成;而基于速度控制振荡器的振荡干扰模型则可以在两个维度上执行路径集成.因此,现阶段一致认可的方法是通过构建网格细胞的振荡干扰模型模拟网格细胞路径整合机制.
在振荡干扰模型中,网格细胞放电被认为是由两个或多个VCO之间的干扰引起的,其频率根据动物的速度而有所不同,即VCO中两个振荡器频率的差受速度所控制[7-8].
在一个VCO中,有
式中:fa和fb是两个振荡器上的频率,两者之间的差异由速度所控制;β是一个正常数,与空间尺度有关;是速度;是优选方向上的单位矢量.将上式展开,可以得到
式中:s(t)为运动速度,φ(t)是运动方向,φd是优选方向.一个振荡器当前的相位等于初始相位加上角频率的时间积分.其表达式为
式中:φ(t)为当前相位,φ(0)为初始相位,f(t)为振荡器的频率.根据上式,两个振荡器的相位可以分别表示为
用式(1)-(2),得
通过定义VCO的相位函数φab(t)=φa(t)-φb(t),上式可写为
式中:x(t)是动物的实时位置,x(0)是初始位置.
因此,VCO在优选方向上路径积分的结果为当前相位与初始相位的差,并且这一结果还是周期性变化的.图1左上方部分为振荡干扰模型在一维空间中的放电野,其颜色变化表示网格细胞放电值大小,可以看出其周期性,它的相位值用0~2π表示,如图1右下方所示.
根据Burgess等人所做的实验,优选方向相差60◦的两个VCO相乘可以产生规则的六边形网格形状.仿真结果如图1左下方部分所示,其为振荡干扰模型在二维空间中的放电野,是由两个夹角为60◦的VCO相乘得到的,s表示其空间尺度,θ表示其方向.图1所示的振荡干扰模型与生物实验数据相吻合.
图1 振荡干扰模型[8]Fig.1 Oscillation interference model[8]
在振荡干扰模型中,VCO进行路径整合的结果是产生一个相位值,其只能表示空间尺度s范围内的位移.因此在远大于空间尺度的环境中,输出相位与实际经过的相位相差整数个周期,而周期个数的模糊会导致输出相位表示位移产生不确定的问题.文献[10]将相差周期的个数定义为整周模糊度,在下文中用N表示.
二维空间中VCO路径整合的过程如图2所示,积分输出的相位值可由公式表示为
图2 二维空间路径整合过程Fig.2 Two-dimensional space path integration process
x轴方向上的整周模糊度为2,y轴方向上的整周模糊度为1,但是这两者在VCO路径整合结果中并不能表达出来,进而导致在大尺度空间中位移矢量无法确定.因此进行大尺度空间矢量导航就需要解算出整周模糊度.
基于组合空间尺度的整周模糊度比原空间尺度的更容易求解这个事实,整周模糊度可以通过建立多级组合空间尺度,对多空间尺度测量值进行线性组合以逐级解算.
网格细胞的多尺度结构为模糊度求解带来了契机.文献[13]所做实验表明,不同层网格细胞的网格野空间尺度是不相同的,最小为25 cm,最大大于300 cm.相邻层之间有明显的间距,层数大约有10个.不同层的网格细胞进行度量时相互独立,网格细胞群被离散为功能独立的亚群.
如图3所示,图3(a)与图3(c)分别为同一目标矢量在空间尺度s1和s2下的表示,图3(b)与图3(d)分别为各自积分得到的相位值.可以看出,同一目标矢量使用不同的空间尺度来表示,整周模糊度和输出相位值都是不同的.本文通过选择一组空间尺度,得到相应的相位值,从而求取其中的模糊度.
图3 同一目标矢量在不同空间尺度下的表示Fig.3 Representation of the same target vector in different spatial scales
逐级模糊度确定法的思路是基于组合空间尺度的整周模糊度比原空间尺度的更容易求解这个事实,通过对多空间尺度测量值进行线形组合而产生一系列不同空间尺度的测量值,然后沿着从最大组合空间尺度到最小组合空间尺度的顺序逐级求解出各个空间尺度中的整周模糊度.
在一维的情况下,给定初始位置a和目标位置b在不同空间尺度下的相位值,导航的问题就是计算两者之间的位移d=b-a.设有m个空间尺度{s1,s2,···,sm},位置a和b的相位值分别为{p1(a),p2(a),···,pm(a)}和{p1(b),p2(b),···,pm(b)}.为简单起见,每个模块在初始位置a处的相位值为0,即
则b的相位值与d的大小相对应.其中两个相位测量值可以用公式表示为
式中ε表示测量误差.由两个相位测量值的差组合而成的相位值定义为
则展开上式得
其中,组合得到的空间尺度为
整周模糊度Nw1为Nw1=N1-N2.
可见,如果两个空间尺度s1与s2的值很接近,那么组合空间尺度sw1会远大于s1与s2.不同的接近程度可以产生不同大小的组合空间尺度,因此选取合适的空间尺度即可逐级解算出整周模糊度.
逐级模糊度确定法的计算步骤可以归纳成如下:首先,用一组相近空间尺度的相位测量值做差得到一个组合空间尺度的相位测量值,从而获得一个无模糊度的距离估计值,如式(7)所示:
然后,利用距离估计值求解出另一个较小组合空间尺度的整周模糊度,从而获得一个无歧义且精度更高的距离估计值,如式(9):
最后,依次逐级求解,直至解算出原始空间尺度相位测量值的整周模糊度,得到精确的距离.
图4给出了一维空间中的逐级确定模糊度算法流程.首先进行路径积分,在载体运动速度和运动方向信息的驱动下,实时生成在m个不同尺度下的相位值;通过测量这组相位值,并且使用逐级模糊度确定法,可以输出一维空间中的当前位置.同理可得另一个维度上的位置,两个维度上的位置信息进行整合即可无歧义地表示二维空间中的矢量,进行矢量导航.
图4 一维空间逐级确定模糊度算法流程Fig.4 One dimensional space ambiguity determination algorithm flow
大尺度空间矢量导航方法包括编码和解码,即振荡干扰模型和逐级模糊度确定法两部分.矢量导航的流程图如图5所示.
在编码过程中,首先使用三角函数将速度在夹角为60°的两坐标轴方向上进行分解,经过时间积分得到两位移,然后通过式(3)-(4)计算得到两位移在一组空间尺度下的相位值.测量过程中,在加入2%的随机噪声后,进行数据整理,以使相位值处于[0,1)的合理范围内.解码过程中的关键在于n个空间尺度的设计,第1级空间尺度决定了本矢量导航方法能够度量的最大空间.测量噪声会导致第1级位移解算产生较大的误差.针对这一误差,设计了第2级到第n级空间尺度,用以逐级缩小解算误差,提高解算精度.
最终形成了基于网格细胞模型的类脑大尺度空间矢量导航方法.
假设动物由原点开始运动,在二维场景中,以2 m/s的速度沿与x轴正向夹角+20°(逆时针为正)的方向匀速运动43 s到达A点,再以同样的速度沿与x轴正向夹角+50°的方向运动1 min到达B点.网格细胞空间尺度为s1=50 cm,s2=50.1 cm,s3=51 cm,s4=60 cm,并且测量噪声为2%以内的随机噪声.
按第5.1节仿真场景,运行如图5所示的矢量导航的流程,并实时记录A点和B点在4个空间尺度下的相位值,通过相位值解算出其位置信息.
图5 矢量导航的流程图Fig.5 Flow chart of vector navigation
O点为各空间尺度度量的起始点,通过路径积分可得到OA和OB的长度,使用三角形公式可以求得各自在两坐标轴上的投影长度,分别除以4个空间尺度,得到的余数即为代表A,B两点的相位值(以周为单位).按式(6)计算,在无测量噪声干扰的情况下该4个网格细胞模块能无歧义表示的最大度量空间为250.5 m×250.5 m×sin 60°,进一步调小空间尺度的差,将获得更大的度量空间,可根据需要进行调整.
测量两点的相位值,测量噪声为2%以内的随机噪声.采用第3节提出的逐级模糊度解算方法进行解算.图6为使用三级组合空间尺度与一级原空间尺度测量过程的示意图,三级组合空间尺度分别为250.5 m,25.5 m和3 m,原空间尺度中选用的是50 cm.
图6 使用4级空间尺度测量过程Fig.6 Measurement process using four-level spatial scale
由于相位测量过程中存在干扰噪声,所以每一级位置解算过程都会存在误差,但是通过合理地设置空间尺度,解算误差将会得到逐级减小.在本文选择的空间尺度条件下,每个维度上的四级解算误差经过计算,分别应为10.02 m,1.02 m,0.12 m以及0.01 m,因此二维空间中A点的解算位置将落在菱形区域,并逐渐收敛于真值附近.图7为对A点相位进行100次测量和解算得到的结果,这与理论上的计算相符合,B点的解算过程与A点类似.
图7 多次测量解算A点结果Fig.7 Multiple measurements to solve A point results
文献[12]所采用的一组基为互质的33 cm,41 cm,49 cm,58 cm,容量为四者相乘即约38 km,2%的测量噪声将为其解算结果带来远大于2%乘以实际距离的误差,并且没有好的方法可以很好的解决这一问题.在同样测量条件下,本文所采用的4个空间尺度为50 cm,50.1 cm,51 cm,60 cm,第1级组合空间尺度根据式(6),为50 cm与50.1 cm所产生的250.5 m,解算误差最大为4%×250.5 m,即10.02 m;针对这一误差,第2级组合空间尺度,即50 cm与51 cm所产生的25.5 m,能有效缩小误差至4%×25.5 m,即1.02 m以内;第3级组合空间尺度,50 cm与60 cm所产生的3 m空间尺度,能够有效缩小误差至12 cm以内;第4级空间尺度,选择50 cm,能够将误差缩小至1 cm以内.因此,通过多级空间尺度的设计,解算方法能够将解算误差缩小至1 cm以内,图7所示仿真结果与理论分析相吻合.
仿真结果表明,在2%的测量噪声条件下,该方法可以在245 m×245 m×sin 60°的大尺度环境下准确解算出位置矢量,并且每个维度中位置的解算精度可以达到1 cm以内,有效提高了大尺度空间内矢量导航的鲁棒性.
本文针对基于连续吸引子模型和余数系统的大尺度空间矢量导航方法所存在的鲁棒性问题,提出了一种基于振荡干扰模型和逐级模糊度确定法的大尺度空间矢量导航方法.经实验验证,该方法可以在测量噪声的干扰下准确实现由运动速度和运动方向的输入到当前位置矢量的输出,提高了大尺度空间内矢量导航的鲁棒性.
基于网格细胞模型的类脑大尺度空间矢量导航方法,对进一步研究三维网格细胞矢量导航问题、发展大尺度空间下无人机三维类脑矢量导航方法具有较好参考意义.