一种高精度室内导航方法及装置与流程

文档序号:16676532发布日期:2019-01-18 23:59阅读:197来源:国知局
一种高精度室内导航方法及装置与流程

本公开涉及ap定位与导航技术领域,具体涉及一种高精度室内导航方法及装置。



背景技术:

在室外露天的无线定位很容易,因为有gps卫星、北斗卫星导航和地上运营商的通信基站,其实在gps卫星无法穿透的购物中心也并不难,因为购物中心内几乎都遍布了wi-fi热点,机场、火车站、图书馆以及办公楼中遍布的wi-fi热点,通过这些锚点对用户进行室内定位和导航,并且利用wi-fi热点进行室内定位和导航,在技术层面已经成熟。wifi精确度大约在1米至15米的范围内,但需要先在系统覆盖区域对设置的若干个ap(accesspoint)固定点采集其位置信息以及信号强度形成位置数据库,采集数据工作量大,而且为了达到较高的精度,固定点ap的位置测算设置比较繁琐。如有新的固定点ap加入,需要对其位置信息以及信号强度进行采集后,才能用于定位。另wifi收发器都只能覆盖半径90米以内的区域,而且由于墙壁和障碍物的影响,会带来多径衰弱、吸收以及遮蔽等一系列问题,且在电梯、楼梯等会有覆盖死角,从而影响其精度;wifi只能定位出移动设备的一个范围,并不能描述出其运动轨迹。

在无线定位技术中,仅仅是ap定位的精度已无法满足现有需求,室内的场景需要的是高精准的导航,而当前的技术上这些wi-fi的ap定位能将定位范围缩减到5米左右,现有的很多需求场景都需要精确到厘米级以下,在此种精度要求以下的导航技术,在实际的导航应用中容易碰撞障碍物和出现误导航等情况。



技术实现要素:

本公开提供一种高精度室内导航方法及装置,预设障碍物以及根据预警阈值计算障碍物区域的以离散概率分布计算概率计算其预警区间,在预警区间的导航中以过渡导航线修正导航路径。

为了实现上述目的,根据本公开的一方面,提供一种高精度室内导航方法,所述方法包括以下步骤:

步骤1,标记需要提供导航服务的空间区域中的障碍物区域;

步骤2,根据预警阈值计算障碍物区域的预警区间;

步骤3,生成导航路径;

步骤4,当导航节点进入预警区间生成过渡导航路径修正导航路径。

进一步地,在步骤1中,标记需要提供导航服务的空间区域中的障碍物区域的方法为以下步骤,

步骤1.1,读取需要提供导航服务的空间区域的地图的图片格式文件;

步骤1.2,将图片格式文件转化为像素矩阵;

步骤1.3,运用像素边界算法寻找像素矩阵的障碍物区域的方法为,从地图的图片的矩阵的第一个像素的rgb值开始向右和向下寻找写其不相同的rgb值,标记为障碍物区域,遍历完每一个障碍物区域后,再从剩下像素找下一个障碍物区域,一直到遍历完为止,记录下所有障碍物区域的像素。

进一步地,在步骤2中,根据预警阈值计算障碍物区域的预警区间的方法为,在地图中的障碍物区域外层的距离为预警阈值的空间标记为预警区间,所述外层障碍物区域外层为障碍物朝向导航服务空间区域表面,所述预警阈值为50毫米,可人工进行调整。

进一步地,在步骤3中,所述生成导航路径的方法为ida*迭代加深搜索算法,通过以深度优先寻路方式对导航服务的空间区域的进行路径搜索得到n个导航路径上的路径节点,使用开销评估函数cost(n)限制搜索深度,第n个路径节点的cost(n)代价确定由式f(n)=cost(n)(n)=g(n)=h(n)给出,式中,g(n)是导航起始节点到导航路径点n的开销评估,h(n)导航路径从导航节点n到目的节点的开销估计,首先,每一个迭代器根据现在的评估函数cost(n)释放出轮廓线中的所有导航路径点。如果导航路径未找到,则搜索扩展到下一个导航轮廓线cost(n)。一旦在该导航轮廓线中搜索完成,将开始新一轮的循环,在下一轮的导航轮廓线中使用一个新的评估函数cost(n),以该函数为限制逐层深入,这样最终将获得最优解的导航路径。

进一步地,在步骤4中,生成过渡导航路径修正导航路径的方法为以下步骤,

步骤4.1,输入:导航路径:g=(v1,v2,e),其中v1和v2为两个节点集、e为导航路径边集,初始化参数t、r,规模缩减率rr;

步骤4.2,将v2中全部节点按度从大到小顺利排列,并抽取前nh个最大度节点构成节点子集其中这nh个节点中相同度重复数的最大值为t,nh的取值由节点集v2中节点的度和参数t唯一确定。

步骤4.3,计算并将导航路径g分解为其中

步骤4.4,设d1,d2,…,ds为导航路径g中节点集v1的全部节点度,并设dmax为节点集中的最大节点度,计算节点集的度分布{g(d)|d=1,2,…,dmax},其中g(d)表示中度为d的节点比率,初始化导航路径g′=(v1′,v2′,e′)←g=(v1,v2,e),初始化导航路径

初始化导航路径初始化导航路径gll′中节点集的度分布{g′(d)|d=1,2,…,dmax}←{g(d)|d=1,2,…,dmax},计算需删除边的总数ed=||e||·rr,初始化变量t=0;

步骤4.5,如果t<ed,转到步骤4.6;否则g′=(v1′,v2′,e′),且e′=elh′∪ell′,为最终输出结果,转到步骤4.11;

步骤4.6,如果任意选择集合s中一个节点v,并计算两个可选边集如果转到步骤4.8;如果转到步骤4.9;否则以概率pll′=γll′/(γlh′ll′)转到步骤4.8,并以概率1-pll′转到步骤4.9,其中,γll′=mll-(||ell||-||ell′||),γlh′=mlh-(||elh||-||elh′||),mlh=ed-mll;转到步骤4.7;

步骤4.7,如果s=φ,以式定义的离散概率分布pk/σi=1,2,…,spi(k=1,2,…,s)随机采样一个节点度d∈{d1,d2,…,ds},其中d1>d2>…>ds>0,f(d1),f(d2),…,f(ds)表示节点集v1中度为dk(1≤k≤s)的节点比率;计算两个可选边集如果转到步骤4.8;如果转到步骤4.9,否则,以概率pll′=γll′/(γlh′ll′)转到步骤4.8,并以概率1-pll′转到步骤4.9;

步骤4.8,假设其中计算dh=argdmaxd∈d{g′(d)-g(d)},并计算的子集从ea中均等概率分布地采样一条边e,并将此边从导航路径和g′=(v1′,v2′,e′)中删除,即更新ell′←ell′/{e}且e′←e′/{e},更新gll′的节点度分布{g′(d)|d=1,2,…,dmax},其中g′(d)表示中度为d的节点比率,转到步骤4.10;

步骤4.9,从中均等概率分布地采样一条边e,并将此边从导航路径和g′=(v1′,v2′,e′)中删除,即更新elh′←elh′/{e}且e′←e′/{e},转到步骤4.11;

步骤4.10,更新t←t+1,转到步骤4.5;

步骤4.11,输出:过渡导航路径修正后的导航路径g′=(v1′,v2′,e′)。

其中,||s||表示集合s的势,即集合s包含元素的总数;x←y表示将右边的函数或数值y赋值给左边的变量x;dv表示节点v在导航路径g′=(v1′,v2′,e′)中的度;a/b:如果a和b为数值,则表示除法,如果a和b为集合,则表示从集合a中删除集合b的所有元素;dh=argdmaxd∈d{g′(d)-g(d)}表示将g′(d)-g(d)取最大值时参数d的取值赋值给dh;∈表示“属于”;表示“不属于”;∧表示“逻辑与”;节点的度是指与该节点相邻边的总数;∪表示集合的并集;输入参数规模缩减率rr被定义为需要从输入的导航路径中删除边的总数与该输入导航路径包含边数的比率,初始化参数默认值t为0.05、r为1.5,规模缩减率rr为0.09,参数的默认值可以进行人工调整。

本发明还提供了一种高精度室内导航装置,所述装置包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序运行在所述装置的以下单元中:

障碍物标记单元,用于标记需要提供导航服务的空间区域中的障碍物区域;

预警区间单元,用于根据预警阈值计算障碍物区域的预警区间;

路径生成单元,用于生成导航路径;

过渡修正单元,用于当导航节点进入预警区间生成过渡导航路径修正导航路径。

本公开的有益效果为:本发明提供一种高精度室内导航方法及装置,预设障碍物以及根据预警阈值计算障碍物区域的以离散概率分布计算概率计算其预警区间,在预警区间的导航中以过渡导航线修正导航路径,能够是高精准的导航,在厘米级以下的室内外场景中,以极大程度的避免了碰撞障碍物和出现误导航等情况。

附图说明

通过对结合附图所示出的实施方式进行详细说明,本公开的上述以及其他特征将更加明显,本公开附图中相同的参考标号表示相同或相似的元素,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,在附图中:

图1所示为一种高精度室内导航方法的流程图;

图2所示为一种高精度室内导航装置图。

具体实施方式

以下将结合实施例和附图对本公开的构思、具体结构及产生的技术效果进行清楚、完整的描述,以充分地理解本公开的目的、方案和效果。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

如图1所示为根据本公开的一种高精度室内导航方法的流程图,下面结合图1来阐述根据本公开的实施方式的一种高精度室内导航方法。

本公开提出一种高精度室内导航方法,具体包括以下步骤:

步骤1,标记需要提供导航服务的空间区域中的障碍物区域;

步骤2,根据预警阈值计算障碍物区域的预警区间;

步骤3,生成导航路径;

步骤4,当导航节点进入预警区间生成过渡导航路径修正导航路径。

进一步地,在步骤1中,标记需要提供导航服务的空间区域中的障碍物区域的方法为以下步骤,

步骤1.1,读取需要提供导航服务的空间区域的地图的图片格式文件;

步骤1.2,将图片格式文件转化为像素矩阵;

步骤1.3,运用像素边界算法寻找像素矩阵的障碍物区域的方法为,从地图的图片的矩阵的第一个像素的rgb值开始向右和向下寻找写其不相同的rgb值,标记为障碍物区域,遍历完每一个障碍物区域后,再从剩下像素找下一个障碍物区域,一直到遍历完为止,记录下所有障碍物区域的像素。

进一步地,在步骤2中,根据预警阈值计算障碍物区域的预警区间的方法为,在地图中的障碍物区域外层的距离为预警阈值的空间标记为预警区间,所述外层障碍物区域外层为障碍物朝向导航服务空间区域表面,所述预警阈值为50毫米,可人工进行调整。

进一步地,在步骤3中,所述生成导航路径的方法为ida*迭代加深搜索算法,通过以深度优先寻路方式对导航服务的空间区域的进行路径搜索得到n个导航路径上的路径节点,使用开销评估函数cost(n)限制搜索深度,第n个路径节点的cost(n)代价确定由式f(n)=cost(n)(n)=g(n)=h(n)给出,式中,g(n)是导航起始节点到导航路径点n的开销评估,h(n)导航路径从导航节点n到目的节点的开销估计,首先,每一个迭代器根据现在的评估函数cost(n)释放出轮廓线中的所有导航路径点。如果导航路径未找到,则搜索扩展到下一个导航轮廓线cost(n)。一旦在该导航轮廓线中搜索完成,将开始新一轮的循环,在下一轮的导航轮廓线中使用一个新的评估函数cost(n),以该函数为限制逐层深入,这样最终将获得最优解的导航路径。

ida*迭代加深搜索算法的伪代码形式的方法步骤为:

进一步地,在步骤4中,生成过渡导航路径修正导航路径的方法为以下步骤,

步骤4.1,输入:导航路径:g=(v1,v2,e),其中v1和v2为两个节点集、e为导航路径边集,初始化参数t、r,规模缩减率rr;

步骤4.2,将v2中全部节点按度从大到小顺利排列,并抽取前nh个最大度节点构成节点子集其中这nh个节点中相同度重复数的最大值为t,nh的取值由节点集v2中节点的度和参数t唯一确定。

步骤4.3,计算并将导航路径g分解为其中

步骤4.4,设d1,d2,…,ds为导航路径g中节点集v1的全部节点度,并设dmax为节点集中的最大节点度,计算节点集的度分布{g(d)|d=1,2,…,dmax},其中g(d)表示中度为d的节点比率,初始化导航路径g′=(v1′,v2′,e′)←g=(v1,v2,e),初始化导航路径

初始化导航路径初始化导航路径gll′中节点集的度分布{g′(d)|d=1,2,…,dmax}←{g(d)|d=1,2,…,dmax},计算需删除边的总数ed=||e||·rr,初始化变量t=0;

步骤4.5,如果t<ed,转到步骤4.6;否则g′=(v1′,v2′,e′),其中且e′=elh′∪ell′,为最终输出结果,转到步骤4.11;

步骤4.6,如果任意选择集合s中一个节点v,并计算两个可选边集如果转到步骤4.8;如果转到步骤4.9;否则以概率pll′=γll′/(γlh′ll′)转到步骤4.8,并以概率1-pll′转到步骤4.9,其中,γll′=mll-(||ell||-||ell′||),γlh′=mlh-(elh||-||elh′||),mlh=ed-mll;转到步骤4.7;

步骤4.7,如果s=φ,以式定义的离散概率分布pk/σi=1,2,…,spi(k=1,2,…,s)随机采样一个节点度d∈{d1,d2,…,ds},其中d1>d2>…>ds>0,f(d1),f(d2),…,f(ds)表示节点集v1中度为dk(1≤k≤s)的节点比率;计算两个可选边集如果转到步骤4.8;如果转到步骤4.9,否则,以概率pll′=γll′/(γlh′ll′)转到步骤4.8,并以概率1-pll′转到步骤4.9;

步骤4.8,假设其中计算dh=argdmaxd∈d{g′(d)-g(d)},并计算的子集从ea中均等概率分布地采样一条边e,并将此边从导航路径和g′=(v1′,v2′,e′)中删除,即更新ell′←ell′/{e}且e′←e′/{e},更新gll′的节点度分布{g′(d)|d=1,2,…,dmax},其中g′(d)表示中度为d的节点比率,转到步骤4.10;

步骤4.9,从中均等概率分布地采样一条边e,并将此边从导航路径和g′=(v1′,v2′,e′)中删除,即更新elh′←elh′/{e}且e′←e′/{e},转到步骤4.11;

步骤4.10,更新t←t+1,转到步骤4.5;

步骤4.11,输出:过渡导航路径修正后的导航路径g′=(v1′,v2′,e′)。

其中,||s||表示集合s的势,即集合s包含元素的总数;x←y表示将右边的函数或数值y赋值给左边的变量x;dv表示节点v在导航路径g′=(v1′,v2′,e′)中的度;a/b:如果a和b为数值,则表示除法,如果a和b为集合,则表示从集合a中删除集合b的所有元素;dh=argdmaxd∈d{g′(d)-g(d)}表示将g′(d)-g(d)取最大值时参数d的取值赋值给dh;∈表示“属于”;表示“不属于”;∧表示“逻辑与”;节点的度是指与该节点相邻边的总数;∪表示集合的并集;输入参数规模缩减率rr被定义为需要从输入的导航路径中删除边的总数与该输入导航路径包含边数的比率,初始化参数默认值t为0.05、r为1.5,规模缩减率rr为0.09,参数的默认值可以进行人工调整。

本公开的实施例提供的一种高精度室内导航装置,如图2所示为本公开的一种高精度室内导航装置图,该实施例的一种高精度室内导航装置包括:处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述一种高精度室内导航装置实施例中的步骤。

所述装置包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序运行在所述装置的以下单元中:

障碍物标记单元,用于标记需要提供导航服务的空间区域中的障碍物区域;

预警区间单元,用于根据预警阈值计算障碍物区域的预警区间;

路径生成单元,用于生成导航路径;

过渡修正单元,用于当导航节点进入预警区间生成过渡导航路径修正导航路径。

所述一种高精度室内导航装置可以运行于桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备中。所述一种高精度室内导航装置,可运行的装置可包括,但不仅限于,处理器、存储器。本领域技术人员可以理解,所述例子仅仅是一种高精度室内导航装置的示例,并不构成对一种高精度室内导航装置的限定,可以包括比例子更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述一种高精度室内导航装置还可以包括输入输出设备、网络接入设备、总线等。

所称处理器可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述一种高精度室内导航装置运行装置的控制中心,利用各种接口和线路连接整个一种高精度室内导航装置可运行装置的各个部分。

所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述一种高精度室内导航装置的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

尽管本公开的描述已经相当详尽且特别对几个所述实施例进行了描述,但其并非旨在局限于任何这些细节或实施例或任何特殊实施例,而是应当将其视作是通过参考所附权利要求考虑到现有技术为这些权利要求提供广义的可能性解释,从而有效地涵盖本公开的预定范围。此外,上文以发明人可预见的实施例对本公开进行描述,其目的是为了提供有用的描述,而那些目前尚未预见的对本公开的非实质性改动仍可代表本公开的等效改动。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1