发明内容
为了解决现有技术中定位存在的问题,本发明提出了一种定位方法和装置。所述技术方案如下:
本发明实施例提出了一种定位方法,所述方法包括:
获取未知位置的无线信号及所述无线信号的信号强度和所述无线信号所属的预先布设的信标节点的ID(Identity,标识码);
对所述无线信号所属的预先布设的信标节点的ID和信号强度进行处理得到未知位置特征;
获取所述未知位置的上一个位置的坐标,并根据所述上一个位置的坐标对定位区域内预先划分的网格进行剔除;
根据所述未知位置特征和所述定位区域内进行网格剔除后的剩余网格的重心坐标计算得到所述未知位置的坐标。
进一步地,在获取未知位置的无线信号及该无线信号的信标节点和信号强度之前,所述方法还包括:
获取所述定位区域内的网格的信号特征;
通过训练建立网格分类模型;
相应地,所述根据所述未知位置特征和所述定位区域内进行网格剔除后的剩余网格的重心坐标计算得到所述未知位置的坐标,具体的为,根据所述未知位置特征和所述网格分类模型对所述定位区域内预先划分的网格进行排序,并获取排序靠前的约定个网格的重心坐标,根据所述排序靠前的约定个网格的重心坐标计算得到所述未知位置的坐标。
进一步地,获取定位区域内的网格的信号特征,具体包括:
采用在所述每一个网格中自由移动的方式逐一的采集所述定位区域内的每一个网格的多个位置的信号特征,并将所述定位区域内的每一个网格的多个位置的信号特征集合起来作为所述定位区域内的网格的信号特征。
进一步地,所述采集所述每一个网格的多个位置的信号特征中的一个位置的信号特征,具体包括:
接收当前位置可得到的无线信号,测量并读取得到所述无线信号中的信标节点ID和所述当前位置接收到的每个ID的信标节点的无线信号的信号强度,并将当前位置接收不到的所述预先布设的信标节点的无线信号的信号强度设置为默认值;
对所述每个ID的信标节点的无线信号的信号强度进行滤波处理;
将所述进行滤波处理后得到的所述每个ID的信标节点的无线信号的信号强度保存为所述当前位置的信号特征;
其中,所述信号特征在保存时,每个经过滤波处理后的无线信号的信号强度与所述无线信号的信号强度所属的信标节点的ID相对应。
进一步地,所述通过训练建立网格分类模型,具体包括:
对所述信号特征进行归一化处理,并将归一化处理结果作为所述网格的网格特征;
根据所述网格特征建立所述网格分类模型的训练集;
取所述训练集中的每个样本中的预设部分输入到SVM(support vector machines,支持向量机)中建立训练模型;
将所述训练集中每个样本中的剩余部分输入到SVM中进行测试,判断所述训练模型的准确率,并根据所述准确率调整训练模型参数,将所述准确率达到最高时得出的训练模型作为网格分类模型;
其中,所述训练集中每个样本中的剩余部分为所述训练集中除去所述每个样本中的预设部分后剩余的部分。
进一步地,对所述信标节点和信号强度进行处理得到未知位置特征,具体包括:
对所述信号强度进行滤波处理,得到所述信号强度的滤波处理结果;
对所述滤波处理结果进行归一化处理,得到所述信号强度的归一化处理结果;
将所述信号强度的归一化处理结果与所述信号强度所属的预先布设的信标节点的ID相对应保存得到未知位置特征。
进一步地,根据所述上一个位置的坐标对定位区域内预先划分的网格进行剔除,具体包括:
根据所述上一个位置的坐标和所述定位区域内预先划分的网格的重心坐标计算所述上一个位置与所述定位区域内预先划分的网格的距离,将与所述上一个位置的距离大于预定值的网格进行剔除。
进一步地,根据所述未知位置特征和所述网格分类模型对所述定位区域内预先划分的网格进行排序,具体包括:
将所述未知位置特征和所述网格分类模型输入到SVM中,采用一比一的分类策略对所述定位区域内预先划分的网格进行分类,并得出每两类的分类结果,将所述分类结果对应的网格的投票值递增1,当所有分类运算结束后,根据所述定位区域内预先划分的网格中每个网格的投票值从高到低进行排序,其中,在对所述定位区域内预先划分的网格进行排序时,将所述定位区域内被剔除的网格置为排序的末尾。
一种定位装置,所述装置包括:
无线信号获取模块,用于获取未知位置的无线信号及所述无线信号的信号强度和所述无线信号所属的预先布设的信标节点的标识码ID;
未知位置特征获取模块,用于对所述无线信号获取模块获取的所述无线信号所属的预先布设的信标节点的ID和信号强度进行处理得到未知位置特征;
剔除模块,用于获取所述未知位置的上一个位置的坐标,并根据所述上一个位置的坐标对定位区域内预先划分的网格进行剔除;
计算模块,用于根据所述未知位置特征获取模块获取的所述未知位置特征和所述剔除模块对所述定位区域内进行网格剔除后的剩余网格的重心坐标计算得到所述未知位置的坐标。
进一步地,所述装置还包括:
信号特征获取模块,用于获取所述定位区域内的网格的信号特征;
网格分类模型建立模块,用于通过训练建立网格分类模型;
相应地,所述计算模块,具体包括:
排序单元,用于根据所述未知位置特征获取模块获取的所述未知位置特征和所述网格分类模型建立模块建立的所述网格分类模型对所述定位区域内预先划分的网格进行排序;
未知位置坐标计算单元,用于获取排序靠前的约定个网格的重心坐标,根据所述排序靠前的约定个网格的重心坐标计算得到所述未知位置的坐标。
进一步地,所述信号特征获取模块,具体包括:
信号特征采集单元,用于采用在所述每一个网格中自由移动的方式逐一的采集所述定位区域内的每一个网格的多个位置的信号特征;
信号特征存储单元,用于将所述信号特征采集单元采集的所述定位区域内的每一个网格的多个位置的信号特征集合起来作为所述定位区域内的网格的信号特征。
进一步地,所述信号特征采集单元,具体用于接收当前位置可得到的无线信号,测量并读取得到所述无线信号中的信标节点ID和所述当前位置接收到的每个ID的信标节点的无线信号的信号强度,并将当前位置接收不到的所述预先布设的信标节点的无线信号的信号强度设置为默认值,对所述每个ID的信标节点的无线信号的信号强度进行滤波处理,将所述进行滤波处理后得到的所述每个ID的信标节点的无线信号的信号强度保存为所述当前位置的信号特征,其中,所述信号特征在保存时,每个经过滤波处理后的无线信号的信号强度与所述无线信号的信号强度所属的信标节点的ID相对应。
进一步地,所述网格分类模型建立模块,具体包括:
网格特征获取单元,用于对所述信号特征获取模块获取的所述信号特征进行归一化处理,并将归一化处理结果作为所述网格的网格特征;
训练集建立单元,用于根据所述网格特征获取单元获取的网格特征建立所述网格分类模型的训练集;
训练模型建立单元,用于从所述训练集建立单元建立的所述训练集中的每个样本中取出预设的部分输入到SVM中建立训练模型;
网格分类模型建立单元,用于将所述训练集建立单元建立的训练集中的每个样本的剩余部分输入到SVM中进行测试,判断所述训练模型建立单元建立的训练模型的准确率,并根据所述准确率调整训练模型参数,将所述准确率达到最高时得出的训练模型作为网格分类模型;
其中,所述训练集中每个样本中的剩余部分为所述训练集中除去所述每个样本中的预设部分后剩余的部分。
进一步地,所述未知位置特征获取模块,具体包括:
滤波单元,用于对所述信号强度进行滤波处理,得到所述信号强度的滤波处理结果;
归一化单元,用于对所述滤波单元得到的滤波处理结果进行归一化处理,得到所述信号强度的归一化处理结果;
未知位置特征获取单元,用于将所述归一化单元得到的所述信号强度的归一化处理结果与所述信号强度所属的预先布设的信标节点的ID相对应保存得到未知位置特征。
进一步地,所述剔除模块,具体包括:
坐标获取单元,用于获取所述未知位置的上一个位置的坐标;
距离计算单元,用于根据所述上一个位置的坐标和所述定位区域内预先划分的网格的重心坐标计算所述上一个位置与所述定位区域内预先划分的网格的距离;
剔除单元,用于根据所述距离计算单元计算得出的所述上一个位置与所述定位区域内预先划分的网格的距离,将所述与所述上一个位置的距离大于预定值的网格进行剔除。
进一步地,所述排序单元,具体用于将所述未知位置特征获取模块获取的所述未知位置特征和所述网格分类模型建立模块建立的所述网格分类模型输入到SVM中,采用一比一的分类策略对所述定位区域内预先划分的网格进行分类,并得出每两类的分类结果,将所述分类结果对应的网格的投票值递增1,当所有分类运算结束后,根据所述定位区域内预先划分的网格中每个网格的投票值从高到低进行排序,其中,在对所述定位区域内预先划分的网格进行排序时,将所述定位区域内被剔除的网格置为排序的末尾。
本发明实施例提供的技术方案的有益效果是:本发明实施例所提供的用于定位的方法,不需要进行测距,因此不会产生测距误差,进行定位时的精度高,受信号影响程度小,并且能够体现动态定位过程中上一个位置与当前位置的相关性,减小定位误差。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例1
本发明实施例1提出了一种定位的方法,其流程如图1所示,包括:
步骤101、获取未知位置的无线信号及该无线信号的信号强度和该无线信号所属的预先布设的信标节点的标识码ID;
步骤102、对无线信号所属的预先布设的信标节点的ID和信号强度进行处理得到未知位置特征;
步骤103、获取未知位置的上一个位置的坐标,并根据该上一个位置的坐标对定位区域内预先划分的网格进行剔除;
步骤104、根据未知位置特征和定位区域内进行网格剔除后的剩余网格的重心坐标计算得到未知位置的坐标。
本发明实施例所提供的用于定位的方法,不需要进行测距,因此不会产生测距误差,进行定位时的精度高,受信号影响程度小,并且能够体现动态定位过程中上一个位置与当前位置的相关性,减小定位误差。
实施例2
本发明实施例2提出了一种定位的方法,是在实施例1基础上改进而来,其流程如图2所示,包括:
步骤201、获取未知位置的无线信号,并获取该无线信号所属的预先布设的信标节点的ID和该无线信号的信号强度;
其中,在未知位置使用无线信号接收装置对无线信号进行接收,无线信号接收装置在接收到无线信号后,可以读取该无线信号中的信标节点ID和该无线信号的信号强度。并且,在未知位置无线信号接收装置接收到的无线信号为多个,为由不同ID的预先布设的信标节点所发送,且对同一ID的信标节点发送的无线信号接收多个。
需要说明的是,当未知位置不能接收到定位区域内所有预先布设的信标节点所发出的无线信号时,将未知位置不能接收到的信标节点的无线信号的信号强度设为默认值,例如,可以为-100dbm。
在本实施例中,获取未知位置的无线信号前,还可以包括:建立网格分类模型。其中,该建立网格分类模型的过程包括步骤2011-2014,具体如下:
2011、对定位区域进行网格划分;
在本步骤中,对定位区域进行网格划分,具体的为:将有定位需求的定位区域进行网格划分,每个网格为一个单元,并分别对划分得到的网格设置网格属性,保存在位置指纹数据库。
其中,上述网格属性至少包括:网格编号、网格重心坐标。
定位区域包括室外环境和室内环境,室内环境可以为工作室、休息室、卫生间、大厅、走廊以及楼层之间的楼梯区域等。相应地,此时网格属性还应该包括楼层编号等,用以确定当前网格在定位区域中的位置。
需要说明的是,在对定位区域进行网格划分时,根据定位的精度需求确定网格的大小,当需提高定位的精度时,应缩小网格的大小。例如,当定位需求精度较高时,可将定位区域划分为多个米级网格,当定位精度较低时,即区域性定位(比如工作室、休息室、卫生间),可将整个房间划分为一个网格。上述网格进行划分时,可以为二维或三维空间,相应地,网格重心坐标为二维或三维坐标。
2012、对定位区域布设信标节点;
在本步骤中,对定位区域布设信标,优选地为:为定位区域布置信标节点,使得在定位区域内的任一个位置均可以收到3个以上的可识别的不同的信标节点的无线信号。
信标节点具体为无线信号发射装置,例如可以为无线局域网AP(Access Point,接入点)或无线传感器网络WSN(Wireless Sensor Networks)节点,用以向周围不断发射无线信号(即广播信息),无线信号中带有信标节点ID,无线信号接收装置在接收到无线信号后,可以根据接收到的无线信号分辨出接收到的当前无线信号来自哪一信标节点,在定位区域的任一位置应可以接收到3个-75dbm以上信号强度的来自不同信标的无线信号。同时,在对信标设置时,应考虑无冗余,使得保证每个网格内接收到的无线信号具有差异性。
在本实施例中,以对定位区域内预先布设的信标节点的个数为5个为例进行说明,且上述5个信标节点的ID分别为001、002、003、004、005。
2013、获取定位区域内的网格的信号特征;
在本实施例中,获取定位区域内的网格的信号特征,具体的为:在定位区域内对每个网格逐一获取该网格的信号特征,并且在获取每一个网格的信号特征时,采用移动采集的方式在每个网格内自由移动获取该网格中多个位置的无线信号,并对无线信号进行处理得到该网格的信号特征。
下面具体以采集一个网格中的多个位置中的一个位置的信号特征进行说明获取信号特征的方法,具体见步骤2013a到步骤2013c:
2013a、使用无线信号接收装置接收当前位置可得到的全部无线信号,测量并读取无线信号中的信标节点ID和当前位置接收到的每个ID的信标节点的无线信号的信号强度;
其中,在对无线信号进行采集时,可以选取在每一个网格中进行自由移动的方式,例如,测试人员可以手持无线信号接收装置,在当前网格中自由移动,可以将无线信号接收装置设置为每5ms采集一次无线信号,并根据此无线信号得到一条无线信号样本,每个网格的无线信号采集时间为50ms,则可得到10条无线信号样本。
在本实施例中,将无线信号接收装置当前正在采集无线信号时所处的位置定义为当前位置。
下面举例说明对当前位置进行无线信号采集得到一条无线信号样本的过程;
例如,无线信号接收装置在当前位置可获得12个无线信号,读取得到此12个无线信号中的信标节点的ID分别为001、002、003、004,并读取此12个无线信号的信号强度,得到ID为001的信标节点的信号强度分别为-28dbm、-30dbm、-29dbm,ID为002的信标节点的信号强度分别为-50dbm、-51dbm、-52dbm,ID为003的信标节点的信号强度分别为-20dbm、-20dbm、-21dbm,ID为004的信标节点的信号强度分别为-30dbm、-30dbm、-31dbm,未接收到ID为005的信标节点的无线信号,将ID为005的信标节点的信号强度设为默认值-100dbm、-100dbm、-100dbm,并且得到的信号强度与预先布设的信标节点的ID需要相对应。
2013b、对步骤2013a中获得的无线信号样本进行滤波处理,得到当前位置的信号特征;
需要说明的是,对步骤2013a中获得的每个ID的信标节点的信号强度进行滤波处理具体的为,通过滤波的方法去掉步骤2013a中获取的无线信号样本中的每个ID的信标节点的无线信号的信号强度中震荡的值,进行限幅,并取均值,得到当前位置的信号特征,并作为当前位置所属的网格的一条信号特征进行保存。
其中,每一条信号特征在保存时,每个经过滤波处理后的无线信号的信号强度与该无线信号的信号强度所属的信标节点的ID相对应。
在采集完上述当前位置的信号特征后,使用同步骤2013a到2013b的方法,获取当前网格内下一个位置的无线信号并得到下一条信号特征,直到当前网格的信号特征获取结束,例如,在本实施例中,每隔5ms采集一次无线信号,共采集50ms,则在当前网格内可获取10条信号特征,当前网格的信号特征获取结束,将这10条信号特征作为一个集合进行存储即为当前网格的信号特征。
其中,在每次的无线信号采集时,自由移动无线信号接收装置。
按照上述方法,对每一个网格内的信号特征进行获取,直到定位区域内所有的网格的信号特征都获取结束。将获取的定位区域内所有的网格的信号特征存储在位置指纹库,并且在保存时,信号特征与其所属的网格相对应。
进一步地,在获得网格的信号特征后,还可以包括:对网格的信号特征中的数值取倒数。
2014、通过训练建立网格分类模型。
在本实施例中,通过训练得出网格分类模型的方法见步骤2014a到2014d,具体为:
2014a、对每个网格内的每一条信号特征进行归一化处理,并将归一化处理结果作为所述网格的网格特征存入位置指纹库;
需要说明的是,对信号特性进行归一化,目的是使信号特征的值保持在一个范围内以得到网格特征,优选地,可以采取如下公式进行信号强度的归一化处理:
y=(x-MinValue)/(MaxValue-MinValue)
其中,x为进行归一化处理前信号特征的值,y为进行归一化处理后得到的信号特征的值,MaxValue、MinValue分别为与X在同一网格内获取的同一ID的信标节点的信号特征的最大值和最小值。
在对全部信号特征进行归一化处理后,将每个网格的归一化处理结果存为一个样本,作为该网格的网格特征存入位置指纹库。
2014b、建立网格分类模型的训练集;
具体地,网格分类模型使用SVM进行构造,在本实施例中,定位区域被预先划分为N个网格,因此网格分类模型的训练集中包括N个样本,每一个样本为一个网格的网格特征,也就是本实施例中应包括N个网格特征。其中,在SVM中每个样本包括多维,在本实施例中体现为,维数与定位区域内预先布设的信标节点的个数相同,当预先布设的信标节点的个数为5个时,则每个样本空间为5维,每一维中的数据为该网格中获取的同一ID的信标节点的信号强度的归一化处理结果。
2014c、取训练集中每个样本的预设部分输入SVM中建立训练模型;
具体地,取训练集中每个样本的预设部分输入SVM中建立训练模型,在将训练集输入SVM进行运算前,采用相同的规则将每个样本分为预设部分和剩余部分,将每个样本的的预设部分输入到SVM中,运算得出训练模型。
其中,因在本实施例中存在N个网格,因此将对N个网格的定位分为N类问题,使用SVM对每两个网格进行一对一的分类,具体的为将所有的网格的网格特征作为样本,并将每个样本中的预设部分输入到SVM中进行运算,可得出N×(N-1)/2个SVM分类器,并将这N×(N-1)/2个SVM分类器组合为训练模型。
2014d、将训练集中每个样本的剩余部分输入到SVM中对训练模型进行测试,判断训练模型的准确率,并根据准确率调整训练模型参数,当训练模型的准确率达到最高时,将此时的训练模型作为网格分类模型。
其中,上述训练模型参数包括惩罚系数、损失函数的系数、核函数的类型等,SVM为现有技术,这里不再赘述。
上述训练集中每个样本中的剩余部分为训练集中除去上述每个样本中的预设部分的部分。
步骤202、对上述信号强度所属的信标节点ID和该信号强度进行处理,得到未知位置特征;
其中,对信号强度进行处理,得到未知位置特征具体的为,对信号强度进行滤波处理,得到滤波处理结果,对该滤波处理结果进行归一化处理,得到归一化处理结果,将归一化处理结果保存为未知位置特征,并且在保存时,将归一化处理结果与信号强度所属的信标节点的ID相对应;
对无线信号的信号强度进行滤波处理和归一化处理的方法与步骤201中相同,这里不再赘述。
其中,该未知位置特征与网格特征相同,分为多维,维数与定位区域内预先布设的信标节点的个数相同,每一维为该未知位置接收到的同一ID的信标节点的信号强度的归一化处理结果。
步骤203、读取未知位置的上一个位置的坐标,并计算上一个位置与各个网格的距离,剔除与上一个位置的距离大于预定值的网格;
需要说明的是,读取未知位置的上一个位置的坐标,其中,上一个位置的坐标可以通过以下方式获得:
在本次定位前,对上一个位置定位得到的坐标,该坐标具体的为对上一个位置进行定位时,确定的上一个位置的坐标。例如,在定位过程中,通常是采用动态定位的方式,即目标移动时,对目标进行连续定位,此时上一个位置的坐标即进行连续定位时上一个点的位置的坐标;
或,
在本次定位前,目标未进入定位区域,则将目标进入定位区域的初始位置的坐标作为上一个位置的坐标。
其中,剔除与上一个位置的距离大于预定值的网格,具体的为,将被剔除掉的网格的投票值设置为0,并在本次定位完成前,上述被剔除掉的网格的投票值持续固定为0。
步骤204、将未知位置特征使用一比一的策略与定位区域内预先划分的网格进行投票,并按投票值由高到低进行排序;
在本步骤中,将未知位置特征使用一比一的策略与定位区域内预先划分的网格进行投票,并进行投票排序,具体地为:将未知位置特征和网格分类模型输入到SVM中采用一比一的分类策略对定位区域内预先划分的网格进行分类,并得出每两类的分类结果,将分类结果对应的网格投票值递增1,按照此方法进行分类结束后,根据每个网格的投票值从高到低对网格进行排序。其中,进行分类前,给定位区域内每个未被剔除的网格设定投票值,并且投票值初始均为0,在步骤203中被剔除的网格的投票值设置为本次定位结束前固定为0。
步骤205、读取投票值排名靠前的约定个数的网格的重心坐标,根据上述约定个数的网格的重心坐标计算得到未知位置的坐标。
在本步骤中,根据上述约定个数的网格的重心坐标计算得到未知位置的坐标具体的为:假设约定个数的网格为投票值排名最前的K个网格,读取这K个网格的重心坐标,以这K个网格距离上一个位置的距离为权重计算得出未知位置的坐标。
例如:有定位需求的定位区域划分网格时为二维网格,在计算未知位置坐标时,使用投票排名前两名的网格,且分别为S1、S2,其中,S1的坐标为(X1,Y1),S2的坐标为(X2,Y2),S1到上一个位置的距离为D1,S2到上一个位置的距离为D2,优选地,可以采用如下公式计算未知位置的坐标:
X=[D2/(D1+D2)]*X1+[D1/(D1+D2)]*X2;
Y=[D2/(D1+D2)]*Y1+[D1/(D1+D2)]*Y2
其中,(X,Y)为计算后得到的未知位置的坐标。当S1的坐标为(10,5),S2的坐标为(20,10),S1到上一个位置的距离为4,S2到上一个位置的距离为6,则可以采用上述公式计算未知位置的坐标:
X=[6/(4+6)]*10+[4/(4+6)]*20=14
Y=[6/(4+6)]*5+[4/(4+6)]*10=7
因此,计算得到未知位置的坐标为(14,7)。
需要说明的是,本实施例中,在对未知位置的坐标进行计算时,不只上述一种方法,还可以将上一点的坐标加入到公式中作为权重的一个参考量,或将权重参考量进行预设,或将公式进行变形,这都是本领域技术人员很容易想到的,都应属于本发明的保护范围。
进一步地,在计算得到未知位置的坐标后,还可以包括:对计算得到的未知位置的坐标使用滤波算法进行滤波,使得得到的未知位置的坐标更加准确,并将进行滤波后的未知位置的坐标作为最终定位结果,并将此结果作为下一次定位的依据。例如,在本实施例中,可以将计算得到的未知位置的坐标使用卡尔曼滤波方法,加入上一个位置的坐标、定位目标的移动速度等,进行卡尔曼滤波,得到最终的定位结果。
本发明实施例所提供的用于定位的方法,不需要进行测距,因此不会产生测距误差,进行定位时的精度高,受信号影响程度小,并且能够体现动态定位过程中上一个位置与当前位置的相关性,减小定位误差。
实施例3
本发明实施例3提出了一种定位装置,其结构如图3所示,包括:
无线信号获取模块301,用于获取未知位置的无线信号及该无线信号的信号强度和所属的预先布设的信标节点的标识码ID;
未知位置特征获取模块302,用于对无线信号获取模块301获取的无线信号所属的预先布设的信标节点的ID和信号强度进行处理得到未知位置特征;
剔除模块303,用于获取未知位置的上一个位置的坐标,并根据上一个位置的坐标对定位区域内预先划分的网格进行剔除;
计算模块304,用于根据未知位置特征获取模块302获取的未知位置特征和剔除模块303对定位区域内进行网格剔除后的剩余网格的重心坐标计算得到未知位置的坐标。
进一步地,如图4所示,上述定位装置还可以包括:
信号特征获取模块305,用于获取定位区域内的网格的信号特征;
网格分类模型建立模块306,用于通过训练建立网格分类模型;
相应地,如图5所示,计算模块304,具体包括:
排序单元3041,用于根据未知位置特征获取模块302获取的未知位置特征和网格分类模型建立模块306建立的网格分类模型对定位区域内预先划分的网格进行排序;
未知位置坐标计算单元3042,用于获取排序靠前的约定个网格的重心坐标,根据排序靠前的约定个网格的重心坐标计算得到未知位置的坐标。
其中,排序单元3041,具体用于将未知位置特征获取模块302获取的未知位置特征和网格分类模型建立模块306建立的网格分类模型输入到SVM中,采用一比一的分类策略对定位区域内预先划分的网格进行分类,并得出每两类的分类结果,将分类结果对应的网格的投票值递增1,当所有分类运算结束后,根据定位区域内预先划分的网格中每个网格的投票值从高到低进行排序,其中,在对定位区域内预先划分的网格进行排序时,将定位区域内被剔除的网格置为排序的末尾。
未知位置坐标计算单元3042,具体用于获取排序单元3041得到的排名靠前的约定个网格的重心坐标,并以上一个位置与排名靠前的约定个网格的距离作为权重,根据排名靠前的约定个网格的重心坐标计算得出未知位置的坐标。
进一步地,如图6所示,信号特征获取模决305,具体包括:
信号特征采集单元3051,用于采用在每一个网格中自由移动的方式逐一的采集定位区域内的每一个网格的多个位置的信号特征;
信号特征存储单元3052,用于将信号特征采集单元3051采集的定位区域内的每一个网格的多个位置的信号特征集合起来作为定位区域内的网格的信号特征。
其中,信号特征采集单元3052,具体用于,接收当前位置可得到的无线信号,测量并读取得到所述无线信号中的信标节点ID和所述当前位置接收到的每个ID的信标节点的无线信号的信号强度,并将当前位置接收不到的所述预先布设的信标节点的无线信号的信号强度设置为默认值,对所述每个ID的信标节点的无线信号的信号强度进行滤波处理,将所述进行滤波处理后得到的所述每个ID的信标节点的无线信号的信号强度保存为所述当前位置的信号特征,其中,所述信号特征在保存时,每个经过滤波处理后的无线信号的信号强度与所述无线信号的信号强度所属的信标节点的ID相对应。
进一步地,如图7所示,网格分类模型建立模块306,具体包括:
网格特征获取单元3061,用于对信号特征获取模块305获取的信号特征进行归一化处理,并将归一化处理结果作为网格的网格特征;
训练集建立单元3062,用于根据网格特征获取单元3061获取的网格特征建立网格分类模型的训练集;
训练模型建立单元3063,用于从训练集建立单元3062建立的训练集中的每个样本中取出预设的部分输入SVM中建立训练模型;
网格分类模型建立单元3064,用于将训练集建立单元3063建立的训练集中的每个样本的剩余部分输入到SVM中进行测试,判断训练模型建立单元3063建立的训练模型的准确率,并根据准确率调整训练模型参数,将准确率达到最高时得出的训练模型作为网格分类模型;
其中,所述训练集中每个样本中的剩余部分为训练集中除去每个样本中的预设部分后剩余的部分。
进一步地,如图8所示,未知位置特征获取模块301,具体包括:
滤波单元3011,用于对信号强度进行滤波处理,得到信号强度的滤波处理结果;
归一化单元3012,用于对滤波单元3011得到的滤波处理结果进行归一化处理,得到信号强度的归一化处理结果;
未知位置特征获取单元3013,用于将归一化单元3013得到的信号强度的归一化处理结果与信号强度所属的预先布设的信标节点的ID相对应保存得到未知位置特征。
进一步地,剔除模块303,如图9所示,具体包括:
坐标获取单元3031,用于获取未知位置的上一个位置的坐标;
距离计算单元3032,用于根据上一个位置的坐标和定位区域内预先划分的网格的重心坐标计算上一个位置与定位区域内预先划分的网格的距离;
剔除单元3033,用于根据距离计算单元3032计算得出的上一个位置与定位区域内预先划分的网格的距离,将与上一个位置的距离大于预定值的网格进行剔除。
本发明实施例所提供的定位装置,不需要进行测距,因此不会产生测距误差,进行定位时的精度高,受信号影响程度小,并且能够体现动态定位过程中上一个位置与当前位置的相关性,减小定位误差。
需要说明的是:上述实施例提供的定位装置,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的定位装置与定位方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本发明实施例中的全部或部分步骤,可以利用软件实现,相应的软件程序可以存储在可读取的存储介质中,如光盘或硬盘等。
以上仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。