一种基于栅格地图的环境特征的相似性度量方法
技术领域
本发明涉及人工智能、模式识别与Fourier变换、Walsh变换等离散正交变换技术,特别是机器人对陌生环境的建模及识别的方法,应用于机器人的环境识别与自主运动方面。
背景技术
随着近些年工业机器人的发展,带动了服务机器人行业的逐渐掘起,同时从2014年开始的智能硬件领域也开始突起,根据国际机器人联盟的统计,2015年服务机器人销售额将达85亿美元,并且保持较高的20%~30%增长率,在智能硬件领域,据艾瑞研究,2014年全球智能硬件装机量达到60亿台,预计2017年将超过140亿台。
在市场高速发展的背后,问题同样明显,一方面市场的潜力还远未挖掘出来,另一方面,机器人及智能硬件进入服务行业也存在着一些技术难点,例如机器人进入实际的家庭环境中,进行环境识别与安全性地自主移动等,目前来看都还有一定的技术难点。
发明目的
本发明的主要目的就是解决基于栅格地图的环境建模后的环境相似性判断及相似程度度量,它提供一种方法,辅助环境识别,为其他实际应用提供技术支撑。可以但不限于应用在面向家庭的机器人游戏及机器人清洁方面。
技术方案
本发明的目的是这样实现的:通过相关设备及算法,例如激光雷达、SLAM算法等,已经获取了实际环境的栅格地图信息,并在栅格地图中做了环境特征建模,其包括以下步骤:
(1)在环境特征建模时,考虑到计算的方便,我们设定一个影响距离σ,即障碍物栅格对周边栅格的影响范围,σ可以是但不限于欧氏距离、曼哈顿(Manhattan)距离等。同时也为了计算方便,把栅格x的影响向量f(x)元素都平均离散到栅格x的八个方向上[0,π/4,π/2,3π/4,π,5π/4,3π/2,7π/4],并且计算栅格x的影响向量f(x)的特征向量与特征谱,这里给出两种特征向量及特征谱的计算方法,
(2)在环境特征表示系统中,把每个空闲栅格的影响向量的每个分量初始化为0,逐个分析每个障碍物栅格对σ距离内的所有栅格的影响,例如,在分析的过程中,障碍物栅格ξ相对栅格x的角度为θ,距离为d,d≤σ,则障碍物栅格ξ对栅格x的影响函数可以是但不限于f(xθ,d)=1/d,如果θ恰好在栅格x的八个方向中的某一方向上,则直接在这个方向上叠加即可,如果θ在某两个方向之间,例如θ∈(π/4,π/2),则按照向量分解,把f(xθ,d)分解并叠加到方向π/4与方向π/2上,当对所有的障碍物栅格分析完成后,每一个栅格的影响向量已经计算完成,并存储在栅格中,记为f(x)=[f1,f2,...,f8]
(3)在环境特征建模时,考虑到计算的方便,我们求取f(x)=[f1,f2,...,f8]的特征向量F(x),并存储在栅格中:
方法一、通过Fourier变换求取F(x),令变换算子根据快速Fourier变换计算得,
方法二,通过Walsh变换求取F(x),令变换算子根据快速Walsh Hadama变换算得,
上述公式中的8x8矩阵,是8维的Walsh Hadama变换矩阵,不同的维数,所对应的Walsh Hadama变换矩阵是不相同的,其中:
(4)在环境特征建模时,考虑到计算的方便,我们求取特征向量F(x)=[F1,F2,...,F8]的特征谱P(x),并存储在栅格中:
方法一、根据快速Fourier变换求出的特征向量F(x)=[F1,F2,...,F8],我们有,
P(x)=[|F1|,|F2|,...,|F8|],通过求模运算,特征谱元素P(x)[i]=|F(x)[i]|=|Fi+1|,i∈[0,7]
方法二、根据快速Walsh Hadama变换求出的特征向量F(x)=[F1,F2,...,F8],我们有,
(5)在环境特征相似性度量系统中,我们设定阈值deg reethreshold,环境栅格x的影响向量f(x)=[f1,f2,...,f8],根据以上步骤求取对应的特征谱P(x),另一环境栅格y,并比对相应的特征谱P(y),记向量P(x)与向量P(y)之间的夹角为∠(P(x),P(y))≤degreethreshold,计算如果cos∠(P(x),P(y))≥cos(degreethreshold),就表示栅格y与目标栅格x在实际环境中是相似的,
(6)在环境特征相似性度量系统中,对两个相似的环境栅格x与环境栅格y,如果:
考虑到i∈[1,n],λi有等于零的情况,我们取
m≤n,j∈[1,m],λ′j>0
令,则我们定义环境栅格x到环境栅格y的相似比为λ。
(7)在环境特征相似性度量系统中,对两个相似的环境栅格x与环境栅格y,根据它们的特征向量F(x)与F(y)来考察其旋转不变性与镜像对称性,
方法一、根据快速Fourier变换,令
如果,r=0,1,2,…,7,则F(x)循环右移r步等同F(y),也就是实际环境栅格x循环右移r步与实际环境栅格y在空间上各向同性,即旋转不变性。
如果,r=0,1,2,…,7,则F(x)镜像对称后再循环右移r步等同F(y),如果r=0我们称环境栅格x与环境栅格y具有镜像对称性。
方法二、根据快速Walsh Hadama变换,令:
如果,l=0,1,2,…,7,则F(x)循环左移l步等同F(y),也就是实际环境栅格x循环左移l步与实际环境栅格y在空间上各向同性,即旋转不变性。
如果,l=0,1,2,…,7,则F(x)镜像对称后再循环左移l步等同F(y),如果l=0我们称环境栅格x与环境栅格y具有镜像对称性。
本发明所使用的系统组成如下:相似性判断系统、相似比度量系统、旋转性度量系统、对称性度量系统。这四个系统是按照功能设置的软件系统,各子系统具体功能如下:
*相似性判断系统:在已建模后的栅格地图上,分析比对特征谱向量,判断环境栅格的相似性,
*相似比度量系统:对相似的环境计算其相似比,
*旋转性度量系统:对相似的环境计算其旋转性,
*对称性度量系统:对相似的环境计算其对称性。
附图说明:
图1是本发明方法所用系统组成图
图2(a)是栅格地图,(b)是栅格的影响向量
图3是栅格影响的向量分解
图4(a)、(b)、(c)分别表示不同的角落环境
具体实施方式
下面结合附图,说明本发明的实施方式。
本发明方法所用的系统整体结构可参考图1,它有四个子系统组成,具体包含如下步骤:
第一步
首先,环境相似性判断系统,定义距离为欧氏距离,设定影响距离σ=4,即障碍物栅格只影响周边距离4以内的栅格,如图2(a)与(b)所示,按π/4把栅格的影响平均分配到八个方向上。
其次,在环境相似性判断系统里,设定deg reethreshold=5°。
第二步
如图2(b)所示,初始化每个栅格的影响向量fi=0,i∈[1,8],逐个扫描栅格地图中的每一个栅格,对每一个障碍物栅格全面计算对周边栅格的影响。
例如,如图2(a)所示,障碍物栅格(4,4)对栅格(4,3)的影响f(xπ/2,1)=1,且其只影响栅格(4,3)的f3分量,所以f3=f3+f(xπ/2,1)=0+1=1。
同理,障碍物栅格(2,3)对栅格(4,3)的影响f(xπ,2)=1/2,且其只影响栅格(4,3)的f5分量,所以f5=f5+f(xπ,2)=0+1/2=0.5。
障碍物栅格(3,4)对栅格(4,3)的影响且其只影响栅格(4,3)的f4分量,所以
障碍物栅格(2,4)对栅格(4,3)的影响由角度分析知介于分量f4与f5之间,所以要做一个向量分解,如图3所示,与所以:
f5=f5+f′5=0.5+1/5=0.7
综上栅格(4,3)所受的影响向量f(4,3)=[0,0,1,0.9898,0.7,0,0,0]
第三步
根据以上步骤的方法,我们求出图4所示的三种角落环境的影响向量:
根据快速Walsh Hadama变换求出相应的特征向量,我们有:
F(corner:a)=[0.42675,0.07325,0,0,0.17675,-0.17675,-0.25,-0.25]
F(corner:b)=[0.42675,0.07325,0,0,0.42675,0.07325,0,0]
F(corner:c)=[0.42675,0.07325,0,0,-0.17675,0.17675,0.25,0.25]
及相应的特征谱,我们有:
P(corner:a)=[0.182116,0.00536556,0,0.187481]
P(corner:b)=[0.182116,0.00536556,0,0.187481]
P(corner:c)=[0.182116,0.00536556,0,0.187481]
第四步
在相似性判断系统里,由于以上三个角落环境的特征谱都相同,容易计算其各夹角余弦值:
cos∠(P(corner:a),P(corner:b))=1≥cos(deg reethreshold)=0.996195
cos∠(P(corner:a),P(corner:c))=1≥cos(deg reethreshold)=0.996195
cos∠(P(corner:c),P(corner:b))=1≥cos(deg reethreshold)=0.996195
易知,以上这些环境都是相似的。
在相似比度量系统里,根据特征谱,也容易计算其相似比都为λ=1。
第五步
在旋转性度量系统与对称性度量系统里,根据方法二的Walsh Hadama变换我们容易计算:
可知,
1.角落b镜像后再循环左移3步与角落a在空间上各向同性,他们兼具镜像对称性与旋转不变性;
2.角落c循环左移4步与角落a在空间上各向同性,他们具有旋转不变性;
3.角落b镜像后再循环左移7步与角落c在空间上各向同性,他们兼具镜像对称性与旋转不变性;
综上,我们可以看到图4所示的角落环境都是相似的,相似比均为λ=1,旋转不变性与镜像对称性均以量化的形式具体计算出,理论计算与实际环境中也是相符的。通过环境特征的相似性度量系统,我们是可以把环境的特征信息量化建模计算的,这就方便做后续的环境识别。