基于路径规则和预测的室内人员定位系统及方法
技术领域
本发明属于无线传感器网络定位技术领域,具体涉及无线传感器网络室内环境中人和物的定位系统及方法。
背景技术
随着传感器技术、计算机网络技术和无线通信技术的发展,无线传感器网络的应用越来越广泛。定位是无线传感器网络的重要支撑技术,引入位置信息,使无线传感器网络的监测数据变得更有意义。现有的位置服务系统,大多应用在室外,如GPS系统。但在实际应用过程中,常常需要对室内情况下的人和物体进行定位,如矿道求灾、医疗护理(老人/小孩监护)、室内导游、监所管理、人员物品跟踪、机器人定位、仓库管理、军事、物流等。因此,对室内环境中的人和物体的定位具有重要的意义。
现有无线传感器网络室内定位系统及方法,如2012年3月28日公布(公布号为CN102395195A)的“一种提高非视距环境下定位精度的方法”专利,公开的方法是在信号传输的经验模型基础之上,通过增加隔墙因子和传输因子得到信号的传输模型;然后计算移动台的信号与固定基站的定位偏差,进而得到移动台的信号对应于固定基站的定位圆环;通过定位圆环之间的重叠区域得到移动基站的位置估计区域;最后,对信号的传输路径损耗取平均值,并用多元线性回归的方法对移动台的信号强度估计得到移动台的位置。该专利存在的主要缺点:1)定位方法单一,适用能力差。该专利中,采用的定位方法的实质是基于RSSI的多边定位方法,即通过对室内RSSI测距的精确建模来提高测距,并用多元线性回归进行数值处理,减小误差。该定位精度提高的根本因素是依赖于对室内的RSSI建模是否准确。在对RSSI建模时,该专利通过增加隔墙因子和传输因子对经典模型进行改进。但隔墙因子具有不确定性,很难在多个场合内适用,且由于各个建筑墙体对无线信号的衰减作用各不相同,很难用统一的模型来刻画。即使在某一种建筑室内中,墙体的种类也有多种,并且除了墙体外,室内的其它物体也会对RSSI造成很大的干扰。2)定位精度不高,定位一致性不好。该专利的定位系统,在实际应用中,在某个房间或大厅内的定位精度可能较好,但在由多个房间构成的室内复杂环境下,定位精度不高。且由于室内环境对RSSI的强干扰的影响,导致定位的一致性极差,常出现时而定位较好,时而偏差很大的情况。3)对动态物体的定位性能较差,不能反映目标的运动轨迹。该专利由于定位精度和一致性不高,在室内情况下,由于室内人员的运动特性,定位结果无法很好的显示人员的位置变动情况,且常出现其运动轨迹与实际格局不符合的情况,例如,定位结果上一时刻显示人的位置在走道,而下一时刻则直接穿墙而过,显示在房间里了,与实际应用不符,定位的准确性差。
发明内容
本发明的目的是针对现有无线传感器网络的室内的定位系统及方法的不足,提供一种基于路径规划和预测的室内人员定位系统和方法,实现了对室内环境中的人和物体的准确定位。具有定位精确高,定位结果稳定、适用性强、应用范围广等特点。
实现本发明目的的技术方案是:一种基于路径规则和预测的室内人员定位系统,主要包括定位控制中心、定位信息汇集设备、参考节点设备、未知节点设备。所述的定位控制中心通过因特网(Internet)或USB与所述的信息汇集设备连接,并通过所述的信息汇集设备以无线通信方式与所述的参考节点设备进行连接,所述的参考节点设备通过无线通信与所述的未知节点设备连接。
所述的定位控制中心为装载有计算机程序的定位环境地图设置模块、定位路径设置模块、定位修正点设置模块、定位信息处理模块和数据库管理模块的PC机。所述PC机中各个计算机程序模块完成的功能如下:
1)所述定位环境地图设置模块的功能为:通过程序,将定位环境以图片的形式,直观的显示在用户面前,图片相当于定位环境的平面地图,所有的所述的参考节点设备、所述的未知节点设备都显示在地图中对应的位置,方便用户实时了解定位情况。所述的定位环境地图设置模块的实现方法为:首先,通过绘图软件(如:Visio/CAD)制作环境的平面地图(即图片,格式为jpg、bmp、png等);然后,将该图片加载到本系统的安装目录下,供所述的定位环境地图设置模块调用;其次,根据地图尺寸与实际尺寸的比例关系设置比例尺;再次,将所述的参考节点设备在实际中的位置对应标示在地图相应的位置,方便用户直观了解节点布局;最后,将定位算法计算的结果显示在地图中。这样,用户能很直观的了解定位的情况。
2)所述的定位路径设置模块的功能为:通过程序,设置人或者物体在室内的运动路径,对定位结果进行约束,并直观的显示在定位后台界面的地图上。在所述的定位环境地图设置模块实施完成以后,通过程序,输入路径关键点,来表示这条路径。室内的任何路径都分解成多段直线段的组合,当是曲线段路径时,用多段直线段的组合来表示。所述的定位路径设置模块的实现方法为:首先,根据实际室内建筑格局,选择一条路径,其次,在地图对应位置设置该路径的起点和终点,即:在系统中输入起点的坐标和终点的坐标就能完成这条直线段路径的设置,最后,定位路径设置模型通过程序,根据输入的起点和终点坐标生成该条路径的路径函数,以用于定位,提高定位精度。
3)所述的定位修正点设置模块的功能为:通过程序,对定位结果进行修正,提高定位精度。所述的定位修正点设置模块的实现方法为:首先,在地图与路径设置完成以后,在各个路径的拐点处和各个房间的中心位置,设置关键点,设置方法为输入该点的坐标。其次,在实际环境中,在与各个关键点对应的位置进行采样(采集各个所述的参考节点设备的RSSI值),建立修正点匹配库,修正点匹配库的建立方法在本发明中定位方法部分中有所阐述。最后,设置修正门限值。
4)所述的定位信息处理模块的功能为:通过程序,将所述的定位信息汇集设备上传上来的数据进行解析、分析、与计算。根据系统约定的协议,解析数据包,提取与定位计算有用的相关数据,利用本发明提供的定位方法,分析数据,计算并输出定位结果。
5)所述的数据库管理模块的功能为:通过程序,存储和读写已构造的路径函数及相关信息、已设置的定位修正点及相关信息及一段时间内的定位结果数据。
所述的定位控制中心通过所述的定位信息汇集设备,以无线通信方式与所述的参考节点设备进行信息交互。
所述的定位信息汇集设备为市购的无线通信设备,用来收集各个所述的参考节点设备上传的定位信息,并将该信息转发给所述的定位控制中心的中转设备。所述定位信息汇集设备能够与所述的参考节点设备进行2.4GHz(2.405GHz-2.485GHz)无线通信,并以因特网(Internet)或USB形式与所述的定位控制中心进行信息交换。
所述的参考节点设备为市购的具有RSSI测距功能的设备。所述的参考节点设备的数量与定位区域的面积相关,一般每个房间的数量为3~8个,分别装设在定位环境(即室内)内反映室内建筑格局特点的各处(如房间的四个角),作为定位的已知的固定坐标点。每个所述的参考节点设备分别以无线通信方式,分别与所述的定位信息汇集设备和所述的未知节点设备进行信息交互,确保对定位环境中的人或物体进行准确定位。
所述的未知节点设备为市购的与定位目标(即人或物体)绑定在一起的能够周期性广播RSSI信号的设备,作为所述的未知坐标点。所述的未知节点设备数量与被定位目标数量一致,但最多不超过1000个(受系统处理能力影响)。所述的未知节点设备的作用是用来反映人或物体的位置。每个所述的未知节点设备分别通过无线通信,与每个所述的参考节点设备进行信息交互,用以对定位目标进行定位,确保定位的准确性。
一种基于路径规划和预测的室内人员定位方法,利用PC机和本发明定位系统,通过程序,基于无线网络,经过系统准备阶段(即通过构建定位环境及其对应的地图,在所述的定位控制中心中建立反映实际环境的可视化定位界面,并根据室内建筑格局,对路径进行规划,最后通过采样,建立修正点匹配库)和系统运行阶段(即利用无线传感器网络技术,通过建立与该系统相适应的通信协议,进行定位相关数据的测量和传输,并在后台中进行信息处理,最后,求解出目标的位置)进行室内人员或物体的定位。所述方法的具体步骤如下:
(1) 系统准备
1)系统定位环境构建
将各所述的参考节点设备布置在定位环境中,布置后任意时刻都有三个及以上所述的参考节点设备与所述的未知节点设备进行通信(通过将所述的未知节点设备放在环境中,发送数据包进行测试,满足能够与三个以上的所述的参考节点设备通信)。通过构建满足通信要求的定位环境,使系统在定位过程中能够正常的进行信息交换和传输,最后才能将信息传到PC机中,供定位计算使用。
2)定位环境地图构造
第(1)-1)步完成后,按照实际定位环境中各个对象的比例关系,画出实际定位环境的图片表示形式,并将图片导入系统中,构建定位时所需要的地图界面。通过定位环境地图构造,将实际定位环境直观的反映到PC机定位界面中,便于人机交互。
3)路径函数库构造
第(1)-2)步完成后,根据室内建筑格局对人在室内运动的限制特点,对人的运动路径进行规则,建立如下路径函数:
(1)
式中,X,Y分别为定位区域的两个正交方向上的最大定位范围,f m(x,y)为第m段路径的函数表示形式(简称该段的路径子函数)。各段路径子函数的集合构成人员在整个定位环境中应该遵循的路径函数F(x,y)。根据实际应用中大多数室内格局的路径特点,定义路径子函数的类型为直线段(当实际中的路径是曲线段时,则用分段的几段直线段来表示)。直线段f(x,y)的确定为:设置该直线段的起点(x a,y a)和终点(x b,y b),生成该直线段,其方程为:
(2)
路径函数库的构建有两个功能:一是构建的路径函数用于定位计算,使定位计算的结果不会偏离得太远;二是对定位计算结果的显示起一定的约束作用,使定位计算的结果在界面上的显示更加能够反映目标的运动轨迹。
(4)修正点匹配库的建立
第(1)-3)步完成后,修正点匹配库的建立方法如下:
首选,确定关键点,即:按照所述定位系统中定位关键点的确定方法,在实际环境中找出对应关键点的位置。
然后,采集RSSI(接收信号强度指示)值,即:将所述的未知节点设备放在该关键点所对应的位置处,采集所述的未知节点设备到各所述的参考节点设备的RSSI值。
再次,滤波,即:采集的RSSI值进行卡尔曼滤波,将滤波结果作为所述的未知节点设备与所述的参考节点设备对应用匹配库所需要的RSSI值。此步完成后,则一个修正点的匹配数据建立完成。
最后,对所有关键点建立修正点匹配库,即重复‘确定关键点,采集RSSI值,滤波’这个过程,直到对环境中所有关键点都建立修正库为止。
最终,修正点匹配库的数据组成为:
对关键点K:{x,y,RS(i)}。x,y为该关键点在该定位环境中的实际位置坐标。RS(i)为该关键点与第i个所述的参考节点设备之间的RSSI值。
通过建立修正点匹配,避免在定位过程中产生的累积误差,对由累积误差而产生的定位错误计算起到一定的修正作用。
(2) 系统运行
在(1)完成以后,当系统运行时,对目标的定位过程为:
1)网络初始化/启动
网络初始化包括启动网络中各个设备(即所述的参考节点设备、所述的未知节点设备、所述的信息汇集设备及PC机对应的定位程序)、网络数据包广播、网络相关参数初始化(即:设置RSSI滤波门限r、定位时刻k初始化、路径函数上的位置Sk-1、Sk、人的运行速度v k初始化、第k时刻人遵守的路径的初始化为f m(x 0,y 0) )等。
2)解析数据包
在第 (2)-1) 步完成后,根据事先约定好的协议,解析所述的定位信息汇集设备上传来的数据包,从中提出RSSI值。定位周期要求小于1s,且要求每次定位时至少上传100组RSSI值。并将这100组数据进行打包,上传到所述的定位控制中心,供其解析。
3)RSSI滤波
在第 (2)-2) 步完成后,用均值滤波法对其进行滤波:先求平均,设置滤波门限,去掉超过门限的RSSI值,将剩下的再求均值,直到满足门限要求为止。具体步骤为:
首先,求滤波后的RSSI的平均值,式中,n为RSSI的总数,其取值为100,RSSIi为第i (i≤100)个RSSI值,然后计算第i个RSSI值与R0的差的绝对值R=|RSSI i-R 0|,最后,判断R是否超过门限r,当R超过门限r时,则去掉第i个RSSI值,将剩下的RSSI值再求平均值,返回第一步,当R没有超过门限r时,则滤波结束,输出滤波结果R0。
4)RSSI测距计算
在第 (2)-3) 步完成后,按照如下公式(3),将滤波后的RSSI值转换成对应的距离值,
(3)
式中,RSSI(d)为离发射源d处的RSSI强度值,单位dbm;RSSI(d0)为参考距离d0处的RSSI强度值,单位dbm;λ为路径衰减指数,反映环境对测距的影响程度;为均值为0,标准差为σ的高斯分布。
5)多边定位计算
在第 (2)-4) 步完成后,就得到所述的未知节点设备与其邻居的所述的参考节点设备之间的距离关系,然后通过以下计算方法初步计算所述的未知节点设备的位置。
假设对于某个所述的未知节点设备,其邻居的所述的参考节点设备分别为N1(x1,y1),N2(x2,y2), N3(x3,y3),…, Nt(xt,yt)}(t为能够用于定位的邻居的所述的参考节点设备的总数),对应的RSSI距离分别为{d1,d2,…,dt},则该所述的未知节点设备的坐标(x,y)由方程AX=b解得。其中,
(4)
式中,z=x 2+y 2, 由最小二乘法解得,从而得到所述的未知节点设备的初步位置为。
6)第k+1时刻位置预测
在第 (2)-5) 步完成后,假设第k时刻定位最终结果为,在路径函数F(x,y)上的最近投影点为S k,即F(x,y)上到距离最近的点,定位最终结果构成的序列 ,其在路径函数F(x,y)上对应的投影点序列为{S 1,S 2,…,S i},则在已知第k-1、k时刻的相关信息后,对第k+1时刻的预测为:
①计算k时刻到k+1时刻的人运行的路程S=v k*ΔT=S <Sk-1,Sk>,式中,S和S <Sk-1,Sk>相等且都表示路径函数F(x,y)上k-1时刻对应的点S k-1到第k时刻对应的点S k的最短路程,v k为k时间的速度大小,ΔT为定位周期。
②判断k+1时刻人运行遵守的路径
在第 (2)-6)-① 步完成后,假设第k时刻S k所属的路径子函数为f Sk(x,y),在已知k时刻F(x,y)上对应S k的坐标和速度v k以后,根据路径子函数之间的相互关系判断第k+1时刻人遵守的路径子函数,具体判断如下:
首先,找出F(x,y)上与路径子函数f Sk(x,y)相交的其它路径子函数的集合
f C = {f c1(x,y),f c2(x,y),…,f cn(x,y) } (5)
然后,分别求f C中各路径子函数与f Sk(x,y)的交点,最后形成交点的集合C={C 1,C 2…C n},
其次,分别求S k到各交点C 1,C 2,…,C n的路程S <Sk,Cr>,S <Sk,Cr>的具体求法为:
(6)
式中,C r(1≤r≤n)为C中任意一点,求得S k到各交点C 1,C 2,…,C n的路程分别为{ S <Sk,C1>,S <Sk,C2>,…,S <Sk,Cn>};
最后,求k+1时刻人运行的路径。
当满足条件时S <Sk,Cr><S时,则认为C r所在的路径子函数f Cr(x,y)为下一路径子函数,从而确定出人第k+1时刻运行路径对应的路径子函数的集合为 f 'C={ f Sk(x,y),f 'C1,f 'C2,…f 'Cn },知m≤n。
③求k+1时刻人到达的点的位置
在第 (2)-6)-② 步完成后,根据路径函数对人的约束及人运动速度的限制,预测出人第k+1时刻的位置,满足该条件的位置的集合为:f 'C上到点S k的距离为S的点的集合,以S k为原点,计算当路径子函数属于f 'C时,满足路程为S的点的集合,即满足如下方程的点:
(7)
式中,,M k+1为f Mk+1(x,y)为中某一函数时满足路程为S的点,从而到第k+1时刻人的预测结果的位置集合M k+1 ={M 1,M 2,…}。
④计算k+1时刻预测结果
在第 (2)-6)-③ 步完成后,在得到集合M k+1后,选择M k+1中离第k+1次定位算法计算结果最近的一点作为最终预测结果,即满足如下条件:
(8)
7)多方法进行加权,求最终定位结果
在第 (2)-1)~ (2)-6)步完成后,在求得和以后,最后的定位结果由以下公式确定:
(9)
权值w确定的条件如下:
当时, ,否则,w=1,
式中,v max为人的最大运动速度,为S k到的路程,ΔT为定位周期,为k+1时刻预测结果到定位结果之间的距离。
权值的确定条件如下:
当满足修正点匹配条件时,,否则,,为满足修正点匹配条件时该修正点的坐标,本发明中,确定修正点的匹配条件为:
(10)
式中,RSSI i 为定位过程中,所述的未知节点设备与第i(i≤n)个所述的参考节点设备之间的RSSI观测值;R(i)为修正库中对应所述的未知节点设备与第i个所述的参考节点设备之间的RSSI值,为匹配门限,反映RSSI观测值与该点实际滤波后的RSSI值之间偏差情况,一般情况下,不同硬件设备,对应的门限有所不同,推荐的门限范围为1~3,当有多个修正点满足该条件时,则选择满足D值最小的修正点作为最终修正结果,D的求法如下:
(11)
式中,。
8)预测中各量的更新
在第(2)-7)步完成后,对算法中各量进行更新,以用于下一次定位。
首先, 路径子函数的更新,即:为路径子函数上的点,将 作为k+1时刻,定位完成后,定位点所遵守的路径函数。
然后,路径函数上位置的更新S k+1,即:将上离的最近点作为S k+1的更新位置,则确定S k+1满足的条件如下:,S min为上的点。
最后,速度更新,即:确定速度v k+1的更新规则为 :
(12)
式中,<S k+1 - S k>为路径函数上S k到S k+1之间的路程,采用公式(7)求得。
附图说明
图1为实施例1的系统结构示意图。
图2 为实施例1中的定位环境示意图;
图中:“”为路径;“”为关键点。
图3为本发明方法的程序流程框图。
图4 为RSSI滤波方法的程序流程框图。
图中:1定位控制中心,2定位信息汇集设备,3参考节点设备,4未知节点设备。
具体实施方式
下面结合具体实施方式,进一步说明本发明。
实施例1
如图1所示,一种基于路径规则和预测的室内人员定位系统,主要包括定位控制中心1、定位信息汇集设备2、参考节点设备3、未知节点设备4。所述的定位控制中心1通过因特网(Internet)或USB与所述的信息汇集设备2连接,并通过所述的信息汇集设备2以无线通信方式与所述的参考节点设备3进行连接,所述的参考节点设备3通过无线通信与所述的未知节点设备4连接。如图2所示,定位环境主要由5个房间和一条走道构成,如图4所示。各个房间的面积为10*8平方米,走道宽度为3米。
所述的定位控制中心1为装载有计算机程序的定位环境地图设置模块、定位路径设置模块、定位修正点设备模块、定位信息处理模块和数据库管理模块的PC机。所述PC机中各个计算机程序模块完成的功能如下:
1)所述的定位环境地图设置模块的主要功能为:通过程序,将定位环境以图片的形式,直观的显示在用户面前,图片相当于定位环境的平面地图,所有的所述的参考节点设备3、所述的未知节点设备4都显示在地图中对应的位置,方便用户实时了解定位情况。所述的定位环境地图设置模块的实现方法为:首先,通过绘图软件(如:visio/CAD)制作环境的平面地图(即图片,格式为jpg、bmp、png等);然后将该图片加载到本系统的安装目录下,供所述的定位环境地图设置模块调用;其次根据地图尺寸与实际尺寸的比例关系设置比例尺;再次,将所述的参考节点设备3在实际中的位置对应标示在地图相应的位置,方便用户直观了解节点布局;最后,将定位算法计算的结果显示在地图中。这样,用户能很直观的了解定位的情况。
2)所述的定位路径设置模块的主要功能为:通过程序,设置人或者物体在室内的运动路径,对定位结果进行约束,并直观的显示在定位后台界面的地图上。在所述的定位环境地图设置模块实施完成以后,通过程序,输入路径关键点,来表示这条路径。室内的任何路径都分解成多段直线段的组合(当是曲线段路径时,用多段直线段的组合来表示)。所述的定位路径设置模块的实现方法为:首先,根据实际室内建筑格局,选择一条路径,其次,在地图对应位置设置该路径的起点和终点,即:在系统中输入起点的坐标和终点的坐标就能完成这条直线段路径的设置,最后,定位路径设置模型通过程序,根据输入的起点和终点坐标生成该条路径的路径函数,以用于定位,提高定位精度。
3)所述的定位修正点设置模块的主要功能为:通过程序,对定位结果进行修正,提高定位精度。所述的定位修正点设置模块的实现方法为:首先,在地图与路径设置完成以后,在各个路径的拐点处和各个房间的中心位置,设置关键点,设置方法为输入该点的坐标。其次,在实际环境中,在与各个关键点对应的位置进行采样(采集各个所述的参考节点设备3的RSSI值),建立修正点匹配库,修正点匹配库的建立方法在本发明中定位方法部分中有所阐述。最后,设置修正门限值。
4)所述的定位信息处理模块的主要功能为:通过程序,将所述的定位信息汇集设备2上传上来的数据进行解析、分析、与计算。根据系统约定的协议,解析数据包,提取与定位计算有用的相关数据,利用本发明提供的定位方法,分析数据,计算并输出定位结果。
5)所述的数据库管理模块的主要功能为:通过程序,存储和读写已构造的路径函数及相关信息、已设置的定位修正点及相关信息及一段时间内的定位结果数据。
所述的定位控制中心1通过所述的定位信息汇集设备2,以无线通信方式与所述的参考节点设备3进行信息交互。
所述的定位信息汇集设备2为市购的无线通信设备(如成都无线龙公司的CC2430协调器,通过外加功率放大器能够作为本实施例的无线通信设备),用来收集各个所述的参考节点设备3(33个)上传的定位信息,并将该信息转发给所述的定位控制中心1的中转设备。所述的定位信息汇集设备2能够与所述的参考节点设备3进行2.4GHz频段(2.405GHz-2.485GHz)无线通信,并以因特网(Internet)或USB形式与所述的定位控制中心1进行信息交换。
所述的参考节点设备3为市购的具有RSSI测距功能的设备(如成都无线龙公司的CC2430定位节点,通过外加功率放大器为本实施例的所述的参考节点设备3),作为定位的已知坐标点。所述的参考节点设备3分别装设在定位环境内,定位环境共5个房间和1条走道,每个房间的四个角和中间分别布置一个所述的参考节点设备3(各房间总数为25个),走道均匀布置8个所述的参考节点设备3(布置后显现3个矩形网格的形状),共33个所述的参考节点设备3。每个所述的参考节点设备3分别以无线通信方式,分别与所述的定位信息汇集设备2和所述的未知节点设备4进行信息交互,确保对定位环境中的人或物体进行准确定位。
所述的未知节点设备4(1个)为市购的与定位目标(即人或物体)绑定在一起的能够周期性广播RSSI信号的设备(如成都无线龙公司的CC2430定位节点,为本实施例的所述的未知节点设备4),作为定位的未知坐标点。所述的未知节点设备4数量为1个。实施时,带有所述的未知节点设备4的目标在5个房间和1条走道内任意活动。所述的未知节点设备4的作用是用来反映人或物体的位置。每个所述的未知节点设备4分别通过无线通信,与每个所述的参考节点设备3进行信息交互,用以对定位目标进行定位,确定定位的精确性。通过本系统,利用本方法,能够实时定位出所述的未知节点设备4的位置(即目标的位置),并实时反映到所述的定位控制中心1的界面上进行显示。
实施例2
一种基于路径规则和预测的室内人员定位系统,同实施例1,其中,所述的参考节点设备3的数量为每个房间的布置3个,走道布置为两端各2个,共19个。所述的参考节点设备3为市购的具有RSSI测距功能的设备(如成都无线龙公司的CC2430定位节点,通过外加功率放大器为本实施例的所述的参考节点设备3),作为定位的已知坐标点。所述的参考节点设备3分别装设在定位环境内,定位环境共5个房间和1条走道,每个房间的四个角和中间分别布置一个所述的参考节点设备3(各房间总数为15个),走道两端各两个所述的参考节点设备3,共19个所述的参考节点设备3。每个所述的参考节点设备3分别以无线通信方式,分别与所述的定位信息汇集设备2和所述的未知节点设备4进行信息交互,确保对定位环境中的人或物体进行准确定位。通过本系统,利用本方法,能够实时定位出所述的未知节点设备4的位置(即目标的位置),并实时反映到所述的定位控制中心1的界面上进行显示。
实施例3
一种基于路径规则和预测的室内人员定位系统,同实施例1,其中,所述的参考节点设备3的数量为每个房间布置8个,走道布置12个(2*6),共52个。所述的参考节点设备3为市购的具有RSSI测距功能的设备(如成都无线龙公司的CC2430定位节点,通过外加功率放大器为本实施例的所述的参考节点设备3),作为定位的已知坐标点。所述的参考节点设备3分别装设在定位环境内,定位环境共5个房间和1条走道,每个房间均匀布置8个所述的参考节点设备3(各房间总数为40个),走道均匀布置12个所述的参考节点设备3,共52个所述的参考节点设备3。每个所述的参考节点设备3分别以无线通信方式,分别与所述的定位信息汇集设备2和所述的未知节点设备4进行信息交互,确保对定位环境中的人或物体进行准确定位。
所述的未知节点设备4(50个)为市购的与定位目标(即人或物体)绑定在一起的能够周期性广播RSSI信号的设备(如成都无线龙公司的CC2430定位节点,为本实施例的所述的未知节点设备4),作为定位的未知坐标点。实施时,带有所述的未知节点设备4的50个目标在5个房间和1条走道内任意活动。所述的未知节点设备4的作用是用来反映人或物体的位置。每个所述的未知节点设备4分别通过无线通信,与每个所述的参考节点设备3进行信息交互,用以对定位目标进行定位,确定定位的精确性。通过本系统,利用本方法,能够实时定位出所有50个所述的未知节点设备4的位置(即所有50个目标的位置),并实时反映到所述的定位控制中心1的界面上进行显示。
实施例4
如图3所示,一种基于路径规划和预测的室内人员定位方法,利用PC机和实施例1的定位系统,通过程序,基于无线网络,经过系统准备阶段(即通过构建定位环境及其对应的地图,在所述的定位控制中心中建立能反映实际环境的可视化定位界面,并根据室内建筑格局,对路径进行规划,最后通过采样,建立修正点匹配库)和系统运行阶段(即利用无线传感器网络技术,通过建立与该系统相适应的通信协议,进行定位相关数据的测量和传输,并在后台中进行信息处理,最后,求解出目标的位置)进行室内人员或物体的定位。所述方法的具体步骤如下:
(1)系统准备
1)系统定位环境构建
将各所述的参考节点设备3布置在定位环境中,布置后任意时刻都有三个及以上所述的参考节点设备3与所述的未知节点设备4进行通信(通过将所述的未知节点设备4放在环境中,发送数据包进行测试,满足能够与三个以上的所述的参考节点设备3通信)。通过构建满足通信要求的定位环境,使系统在定位过程中能够正常的进行信息交换和传输,最后才能将信息传到PC机中,供定位计算使用。
2)定位环境地图构造
第(1)-1)步完成后,按照实际定位环境中5个房间和1条走道的比例关系,画出实际定位环境的图片表示形式,如图2所示。并将图片导入系统中,构建定位时所需要的地图界面。通过定位环境地图构造,将实际定位环境直观的反映到PC机定位界面中,便于人机交互。
3)路径函数库构造
第(1)-2)步完成后,根据室内建筑格局对人在室内运动的限制特点,对人的运动路径进行规则,建立如下路径函数:
(1)
式中,X,Y分别为定位区域的两个正交方向上的最大定位范围,f m(x,y)为第m段路径的函数表示形式(简称该段的路径子函数)。各段路径子函数的集合构成人员在整个定位环境中应该遵循的路径函数F(x,y)。根据实际应用中大多数室内格局的路径特点,定义路径子函数的类型为直线段(当实际中的路径是曲线段时,则用分段的几段直线段来表示)。直线段f(x,y)的确定为:设置该直线段的起点(x a,y a)和终点(x b,y b),生成该直线段,其方程为:
(2)
如图2所示,6条路径子函数的起点和终点坐标分别为:路径1的起点为(0,11.5),终点为(40,11.5);路径2的起点为(1.33,1.67),终点为(8,11.5);路径3的起点为(8,11.5),终点为(13.33,1.67);路径4的起点为(17.33,1.67),终点为(24,11.5);路径5的起点为(24,11.5),终点为(30.67,1.67);路径6的起点为(33.67,1.67),终点为(40,11.5);将各条路径的起点和终点代入公式(2)即得到各条路径的路径子函数。
路径函数库的构建有两个功能:一是构建的路径函数用于定位计算,使定位计算的结果不会偏离得太远;二是对定位计算结果的显示起一定的约束作用,使定位计算的结果在界面上的显示更加能够反映目标的运动轨迹。
(4)修正点匹配库的建立
第(1)-3)步完成后,修正点匹配库的建立方法如下:
首选,确定关键点,即:按照所述定位系统中定位关键点的确定方法,在实际环境中找出对应关键点的位置。如图2所示,确定8个关键点。
然后,采集RSSI(接收信号强度指示)值,即:将未知节点设备4放在该关键点所对应的位置处,采集所述的未知节点设备4到各所述的参考节点设备3的RSSI值。
再次,滤波,即:采集的RSSI值进行卡尔曼滤波,将滤波结果作为所述的未知节点设备4与所述的参考节点设备3对应用匹配库所需要的RSSI值。此步完成后,则一个修正点的匹配数据建立完成。
最后,对所有关键点建立修正点匹配库,即重复‘确定关键点,采集RSSI值,滤波’这个过程,直到对环境中所有关键点都建立修正库为止。
最终,修正点匹配库的数据组成为:
对关键点K:{x,y,RS(i)}。x,y为该关键点在该定位环境中的实际位置坐标。RS(i)为该关键点与第i个所述的参考节点设备3之间的RSSI值。
通过建立修正点匹配,避免在定位过程中产生的累积误差,对由累积误差而产生的定位错误计算起到一定的修正作用。
(2)系统运行
在(1)完成以后,当系统运行时,对目标的定位过程为:
1)网络初始化/启动
网络初始化包括启动网络中各个设备(即所述的参考节点设备3、所述的未知节点设备4、所述的信息汇集设备2及PC机对应的定位程序)、网络数据包广播、网络相关参数初始化(即设置RSSI滤波门限r=3、定位时刻k初始化k=10、路径函数上的位置Sk-1、Sk、人的运行速度v k初始化(都赋初值为0)、第k时刻人遵守的路径的初始化为路径2、对应的路径子函数为f 2(x,y))等。
2)解析数据包
在第 (2)-1) 步完成后,根据事先约定好的协议,解析所述的定位信息汇集设备2上传来的数据包,从中提出RSSI值。定位周期设置为200ms,每次定位时上传100组RSSI值到所述的定位控制中心,供其解析。
3)RSSI滤波
在第 (2)-2) 步完成后,用均值滤波法对其进行滤波:先求平均,设置滤波门限,去掉超过门限的RSSI值,将剩下的再求均值,直到满足门限要求为止。具体步骤为:
如图4所示。首先,求滤波后的RSSI的平均值,式中,n为RSSI的总数,其取值为100,RSSIi为第i (i≤100)个RSSI值,然后计算第i个RSSI值与R0的差的绝对值R=|RSSI i-R 0|,最后,判断R是否超过门限r,当R超过门限r时,则去掉第i个RSSI值,将剩下的RSSI值再求平均值,返回第一步,当R没有超过门限r时,则滤波结束,输出滤波结果R0。
4)RSSI测距计算
在第 (2)-3) 步完成后,按照如下公式(3),将滤波后的RSSI值转换成对应的距离值,
(3)
式中,RSSI(d)为离发射源d处的RSSI强度值,单位dbm;RSSI(d0)为参考距离d0处的RSSI强度值,单位dbm;λ为路径衰减指数,反映环境对测距的影响程度;为均值为0,标准差为σ的高斯分布。
5)多边定位计算
在第 (2)-4) 步完成后,就得到所述的未知节点设备4与其邻居的所述的参考节点设备3之间的距离关系,然后通过以下计算方法初步计算所述的未知节点设备4的位置。
假设对于某个所述的未知节点设备4,其邻居的所述的参考节点设备3分别为N1(x1,y1),N2(x2,y2), N3(x3,y3),…, Nt(xt,yt)}(t为用于定位的邻居的所述的参考节点设备3的总数),对应的RSSI距离分别为{d1,d2,…,dt},则所述的未知节点设备4的坐标(x,y)由方程AX=b解得。其中,
(4)
式中,z=x 2+y 2, 由最小二乘法解得,从而得到所述的未知节点设备4的初步位置为。
6)第k+1时刻位置预测
在第 (2)-5) 步完成后,假设第k时刻定位最终结果为,在路径函数F(x,y)上的最近投影点为S k,即F(x,y)上到距离最近的点,定位最终结果构成的序列 ,其在路径函数F(x,y)上对应的投影点序列为{S 1,S 2,…,S i},则在已知第k-1、k时刻的相关信息后,对第k+1时刻的预测为:
①计算k时刻到k+1时刻的人运行的路程S=v k*ΔT=S <Sk-1,Sk>,式中,S和S <Sk-1,Sk>相等且都表示路径函数F(x,y)上k-1时刻对应的点S k-1到第k时刻对应的点S k的最短路程,v k为k时间的速度大小,ΔT为定位周期。
②判断k+1时刻人运行遵守的路径
在第 (2)-6)-① 步完成后,假设第k时刻S k所属的路径子函数为f Sk(x,y),在已知k时刻F(x,y)上对应S k的坐标和速度v k以后,根据路径子函数之间的相互关系判断第k+1时刻人遵守的路径子函数,具体判断如下:
首先,找出F(x,y)上与路径子函数f Sk(x,y)相交的其它路径子函数的集合
f C = {f c1(x,y),f c2(x,y),…,f cn(x,y) } (5)
然后,分别求f C中各路径子函数与f Sk(x,y)的交点,最后形成交点的集合C={C 1,C 2…C n},
其次,分别求S k到各交点C 1,C 2,…,C n的路程S <Sk,Cr>,S <Sk,Cr>的具体求法为:
(6)
式中,C r(1≤r≤n)为C中任意一点,求得S k到各交点C 1,C 2,…,C n的路程分别为{ S <Sk,C1>,S <Sk,C2>,…,S <Sk,Cn>};
最后,求k+1时刻人运行的路径。
当满足条件时S <Sk,Cr><S时,则认为C r所在的路径子函数f Cr(x,y)为下一路径子函数,从而确定出人第k+1时刻运行路径对应的路径子函数的集合为 f 'C={ f Sk(x,y),f 'C1,f 'C2,…f 'Cn },知m≤n。
③求k+1时刻人到达的点的位置
在第 (2)-6)-② 步完成后,根据路径函数对人的约束及人运动速度的限制,预测出人第k+1时刻的位置,满足该条件的位置的集合为:f 'C上到点S k的距离为S的点的集合,以S k为原点,计算当路径子函数属于f 'C时,满足路程为S的点的集合,即满足如下方程的点:
(7)
式中,,M k+1为f Mk+1(x,y)为中某一函数时满足路程为S的点,从而到第k+1时刻人的预测结果的位置集合M k+1 ={M 1,M 2,…}。
④计算k+1时刻预测结果
在第 (2)-6)-③ 步完成后,在得到集合M k+1后,选择M k+1中离第k+1次定位算法计算结果最近的一点作为最终预测结果,即满足如下条件:
(8)
7)多方法进行加权,求最终定位结果
在第 (2)-1)~ (2)-6)步完成后,在求得和以后,最后的定位结果由以下公式确定:
(9)
权值w确定的条件如下:
当时, ,否则,w=1,
式中,v max为人的最大运动速度,为S k到的路程,ΔT为定位周期,为k+1时刻预测结果到定位结果之间的距离。
权值的确定条件如下:
当满足修正点匹配条件时,,否则,,为满足修正点匹配条件时该修正点的坐标,本发明中,确定修正点的匹配条件为:
(10)
式中,RSSI i 为定位过程中,所述的未知节点设备4与第i(i≤n)个所述的参考节点设备3之间的RSSI观测值;R(i)为修正库中对应所述的未知节点设备4与第i个所述的参考节点设备3之间的RSSI值,为匹配门限,反映RSSI观测值与该点实际滤波后的RSSI值之间偏差情况,一般情况下,不同硬件设备,对应的门限有所不同,推荐的门限范围为1~3,当有多个修正点满足该条件时,则选择满足D值最小的修正点作为最终修正结果,D的求法如下:
(11)
式中,。
8)预测中各量的更新
在第(2)-7)步完成后,对算法中各量进行更新,以用于下一次定位。
首先, 路径子函数的更新,即:为路径子函数上的点,将 作为k+1时刻,定位完成后,定位点所遵守的路径函数。
然后,路径函数上位置的更新S k+1,即:将上离的最近点作为S k+1的更新位置,则确定S k+1满足的条件如下:,S min为上的点。
最后,速度更新,即:确定速度v k+1的更新规则为 :
(12)
式中,<S k+1 - S k>为路径函数上S k到S k+1之间的路程,采用公式(7)求得。
从实施例4知:
1 通过地图设置,得到很好的人机交互界面。用户能很清楚的看到目标在定位环境(5个房间和1条走道)中的运动情况。人机交互界面良好,可视化效果明显,操作简单、实用。
2 通过路径规则,限制目标的运动行为,反映目标的运动轨迹,使目标一直围绕所建立的路径进行运动。定位结果符合实际情况,不会出现“上一时刻定位显示结果在走道,而下一时刻(间隔时间很短)则‘穿墙而过’,进入某一房间内”的非常理现象。
3 采用多边定位、路径规划、预测和修正点匹配等多种定位方法相结合,保证定位精度。实施例情况下,平均定位精度在3m以内,且所述的参考节点设备3数量越多,精度越高(如每个房间布置8个所述的参考节点设备3时,平均定位精度在1.5米以内)。但当所述的参考节点设备3数量较低时(如每个房间只布置3个所述的参考节点设备3)时,仍能保证3米的定位精度。且定位结果一直围绕路径进行显示,定位结果比较稳定,效果较好。
4 本方法适应范围较广,适用能力较强。本发明可广泛应用于各种室内2维定位环境中,对定位目标的静态或动态定位。