一种利用可见光进行定位的方法和装置 |
|||||||
申请号 | CN201410128943.2 | 申请日 | 2014-04-01 | 公开(公告)号 | CN103869285A | 公开(公告)日 | 2014-06-18 |
申请人 | 中国人民解放军信息工程大学; | 发明人 | 张剑; 沈芮; 张大龙; 于宏毅; 邬江兴; 朱义君; 李青; 刘洛琨; 张效义; 仵国锋; 汪涛; | ||||
摘要 | 本 发明 公开了一种利用可见光进行 定位 的方法和装置,包括:在预存储的对应关系中查找与接收到的每一可见光中的特定标识对应的 位置 坐标;依据位置坐标计算每对投影点之间的第一距离;确定每一投影点与待定位终端的第二距离;统计差值小于等于预设 门 限值的投影点对数;差值为与每对投影点对应的第二距离之和减去与每对投影点对应的第一距离的差值;当投影点对数大于等于预设对数时,依据链型拓扑结构定位 算法 定位待定位终端的目标位置;当投影点对数小于预设对数时,依据网络拓扑结构定位算法定位待定位终端的目标位置;本发明实现了待定位终端在不同拓扑结构的 光源 区域下的定位,而由于链型拓扑结构定位算法的运算量较小,因此,定位快速。 | ||||||
权利要求 | 1.一种利用可见光进行定位的方法,其特征在于,应用于待定位终端中,所述待定位终端位于室内;所述室内设置有多个光源,每一光源均具有区别于其他光源的特定标识,并均可发射携带有所述特定标识的可见光; |
||||||
说明书全文 | 一种利用可见光进行定位的方法和装置技术领域[0001] 本发明涉及可见光通信技术领域,更具体的说是涉及一种利用可见光进行定位的方法和装置。 背景技术[0002] 目前,定位服务的应用需求日益广泛,GPS作为一种无线定位系统已在室外得到广泛的应用。但是,随着城市化的发展,人们在室内的活动时间也越来越长,而基于GPS的定位系统由于受到室内复杂环境的影响,往往存在定位精度不高,甚至无法使用的问题。 [0003] 因此,在现有技术中,室内定位方法通常利用可见光进行定位,具体的,待定位终端可以依据接收到的可见光来确定相关物理参数,从而依据所确定物理参数通过采用网络拓扑结构定位算法来定位待定位终端的目标位置。 [0004] 但是,在某些狭长的区域内,如公路隧道、大型建筑物的走廊等等,所设置的光源一般为链型拓扑结构,在待定位终端位于链型拓扑结构的光源区域内的情况下,若仍依据网络拓扑结构定位算法来定位待定位终端的目标位置,将会导致运算量较大,不利于快速定位。 发明内容[0005] 有鉴于此,本发明提供一种利用可见光进行定位的方法和装置,以实现待定位终端位于链型拓扑结构的光源区域内的快速定位。 [0006] 为实现上述目的,本发明提供如下技术方案: [0007] 一种利用可见光进行定位的方法,应用于待定位终端中,所述待定位终端位于室内;所述室内设置有多个光源,每一光源均具有区别于其他光源的特定标识,并均可发射携带有所述特定标识的可见光; [0008] 其中,所述待定位终端所处水平面为第一水平面; [0009] 该方法包括: [0010] 在预存储的对应关系中查找与接收到的每一可见光中携带的特定标识对应的位置坐标;其中,所述对应关系为特定标识与光源的位置坐标的对应关系; [0011] 依据查找到的位置坐标计算每对投影点之间的第一距离;其中,所述投影点为接收到的所有可见光所对应的光源在所述第一水平面上的投影; [0012] 确定每一投影点与所述待定位终端的第二距离; [0013] 统计当前时刻下,差值小于等于预设门限值的投影点对数;其中,所述差值为与每对投影点对应的第二距离之和减去与所述每对投影点对应的第一距离的差值; [0014] 比较所述投影点对数与预设对数的大小; [0015] 若所述投影点对数大于等于所述预设对数,确定所述待定位终端位于链型拓扑结构的光源区域内; [0016] 依据链型拓扑结构定位算法定位所述待定位终端的目标位置; [0017] 若所述投影点对数小于所述预设对数,确定所述待定位终端位于网络拓扑结构的光源区域内; [0018] 依据网络拓扑结构定位算法定位所述待定位终端的目标位置; [0019] 其中,所述预设对数大于等于2对。 [0020] 优选的,所述若所述投影点对数大于等于预设对数之后,所述确定所述待定位终端位于链型拓扑结构的光源区域内之前,还包括: [0021] 统计在N个时刻的每一时刻下的差值小于等于预设门限值的投影点对数; [0022] 确定所述投影点对数在所述N个时刻的每一时刻下均大于等于预设对数。 [0023] 优选的,所述确定所述待定位终端位于网络拓扑结构的光源区域内之前,还包括: [0024] 确定所述投影点对数在所述N个时刻的任一时刻下小于预设对数。 [0025] 优选的,所述依据链型拓扑结构定位算法定位所述待定位终端的目标位置坐标之后,还包括: [0026] 统计在N个时刻的每一时刻下的差值小于预设门限值的投影点个数; [0027] 判断所述投影点对数是否在所述N个时刻的每一时刻下均小于预设对数; [0028] 若是,则确定所述待定位终端位于网络拓扑结构的光源区域内; [0029] 由所述链型拓扑结构定位算法切换至所述网络拓扑结构定位算法,依据所述网络拓扑结构定位算法定位所述待定位终端的目标位置坐标; [0030] 若否,则确定所述待定位终端仍位于所述链型拓扑结构的光源区域内; [0031] 保持所述依据链型拓扑结构定位算法定位所述待定位终端的目标位置。 [0032] 优选的,所述依据链型拓扑结构定位算法定位所述待定位终端的目标位置,具体为: [0033] 选取差值小于等于预设门限值的任意一对投影点; [0034] 依据所述任意一对投影点的位置坐标确定所述待定位终端的目标位置坐标。 [0035] 一种利用可见光进行定位的装置,应用于待定位终端中,所述待定位终端位于室内;所述室内设置有多个光源,每一光源均具有区别于其他光源的特定标识,并均可发射携带有所述特定标识的可见光; [0036] 其中,所述待定位终端所处水平面为第一水平面; [0037] 该装置包括: [0038] 第一查找单元,用于在预存储的对应关系中查找与接收到的每一可见光中携带的特定标识对应的位置坐标;其中,所述对应关系为特定标识与光源的位置坐标的对应关系; [0039] 第一计算单元,用于依据查找到的位置坐标计算每对投影点之间的第一距离;其中,所述投影点为接收到的所有可见光所对应的光源在所述第一水平面上的投影; [0040] 第一确定单元,用于确定每一投影点与所述待定位终端的第二距离; [0041] 第一统计单元,用于统计当前时刻下,差值小于等于预设门限值的投影点对数;其中,所述差值为与每对投影点对应的第二距离之和减去与所述每对投影点对应的第一距离的差值; [0042] 第一比较单元,用于比较所述投影点对数与预设对数的大小; [0043] 第二确定单元,用于在所述投影点对数大于等于所述预设对数时,确定所述待定位终端位于链型拓扑结构的光源区域内; [0044] 第一定位单元,用于依据链型拓扑结构定位算法定位所述待定位终端的目标位置; [0045] 第三确定单元,用于在所述投影点对数小于所述预设对数时,确定所述待定位终端位于网络拓扑结构的光源区域内; [0046] 第二定位单元,用于依据网络拓扑结构定位算法定位所述待定位终端的目标位置;其中,所述预设对数大于等于2对。 [0047] 优选的,还包括: [0048] 第二统计单元,用于统计在N个时刻的每一时刻下的差值小于等于预设门限值的投影点对数; [0049] 第四确定单元,用于确定所述投影点对数在所述N个时刻的每一时刻下均大于等于预设对数。 [0050] 优选的,还包括: [0051] 第五确定单元,用于确定所述投影点对数在所述N个时刻的任一时刻下小于预设对数。 [0052] 优选的,还包括: [0053] 第三统计单元,用于统计在N个时刻的每一时刻下的差值小于预设门限值的投影点个数; [0054] 第一判断单元,用于判断所述投影点对数是否在所述N个时刻的每一时刻下均小于预设对数; [0055] 第六确定单元,用于当所述投影点对数在所述N个时刻的每一时刻下均小于预设对数时,确定所述待定位终端位于网络拓扑结构的光源区域内; [0056] 切换定位单元,用于由所述链型拓扑结构定位算法切换至所述网络拓扑结构定位算法,依据所述网络拓扑结构定位算法定位所述待定位终端的目标位置坐标; [0057] 第七确定单元,用于当所述投影点对数在所述N个时刻的任一时刻下小于预设对数时,确定所述待定位终端仍位于所述链型拓扑结构的光源区域内; [0058] 第一保持单元,用于保持所述依据链型拓扑结构定位算法定位所述待定位终端的目标位置。 [0059] 优选的,第一定位单元具体包括: [0060] 第一选取子单元,用于选取差值小于等于预设门限值的任意一对投影点; [0061] 第一确定子单元,用于依据所述任意一对投影点的位置坐标确定所述待定位终端的目标位置坐标。 [0062] 经由上述的技术方案可知,与现有技术相比,本发明实施例提供了一种利用可见光进行定位的方法,该方法可以应用于待定位终端中,通过判断所统计的当前时刻下差值小于等于预设门限值的投影点对数是否大于等于预设对数来确定待定位终端处于哪一种拓扑结构的光源区域内;其中,该差值为与每对投影点对应的第二距离之和减去与所述每对投影点对应的第一距离的差值;当投影点对数大于等于预设对数时,可以确定待定位终端位于链型拓扑结构的光源区域内,此时,依据链型拓扑结构定位算法定位所述待定位终端的目标位置;而当投影点对数小于所述预设对数时,可以确定待定位终端位于网络拓扑结构的光源区域内,此时,依据网络拓扑结构定位算法定位所述待定位终端的目标位置;由此可见,本发明实现了待定位终端在不同拓扑结构的光源区域下的定位,而由于采用链型拓扑结构定位算法进行定位的方式运算量较小,因此,定位快速。附图说明 [0063] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。 [0064] 图1为本发明公开的一种利用可见光进行定位的方法的一个实施例的流程示意图; [0065] 图2为本发明公开的待定位终端所处的室内的一个实施例的示意图; [0066] 图3为本发明公开的一种利用可见光进行定位的方法的另一个实施例的流程示意图; [0067] 图4为本发明公开的一种利用可见光进行定位的方法的又一个实施例的流程示意图; [0068] 图5为本发明公开的一个光源与待定位终端的位置关系; [0069] 图6为本发明公开的一种利用可见光进行定位的装置的一个实施例的结构示意图; [0070] 图7为本发明公开的一种利用可见光进行定位的装置的另一个实施例的结构示意图; [0071] 图8为本发明公开的一种利用可见光进行定位的装置的又一个实施例的结构示意图。 具体实施方式[0072] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。 [0074] 待定位终端位于室内,该室内设置有多个光源,每一光源均具有区别于其他光源的特定标识,并可以将该特定标识携带在可见光中发射出去。其中,该特定标识为用于区分不同光源的标识,具有唯一性,如ID号码等。 [0075] 其中,待定位终端所处水平面为第一水平面,室内所设置的多个光源均可以投影到该第一水平面上。 [0076] 参见图1,为本发明一个实施例公开的一种利用可见光进行定位的方法,具体可以包括以下步骤: [0077] 步骤101:在预存储的对应关系中查找与接收到每一可见光中携带的特定标识对应的光源的位置坐标; [0078] 其中,该对应关系为特定标识与光源的位置坐标的对应关系。需要说明的是,光源设置在室内的位置可以用位置坐标表示,而每一光源的位置坐标预存储在待定位终端中。具体的,待定位终端中可以存储有室内的三维电子地图,在该三维电子地图中设置特定标识与每一光源的位置坐标的对应关系。 [0079] 其中,待定位终端中可以集成有用于接收可见光的装置,如摄像头、可见光接收器等等。 [0080] 需要说明的是,室内设置的多个光源可以位于室内的同一水平面上,也可以位于室内的不同水面上,具体没有限定。 [0081] 步骤102:依据查找到的位置坐标计算每对投影点之间的第一距离; [0082] 其中,投影点为接收到的所有可见光所对应的光源在第一水平面上的投影。 [0083] 在所有接收到可见光所对应的光源的投影点中,每对投影点之间的第一距离是指某一投影点与其他投影点之间的第一距离。 [0084] 例如,待定位终端所接收到可见光所对应的光源的投影点包括:投影点s1、投影点s2以及投影点s3;那么,每对投影点之间的第一距离是指:投影点s1与投影点s2之间的距离、投影点s1与投影点s3之间的距离以及投影点s2与投影点s3之间的距离。 [0085] 步骤103:确定每一投影点与待定位终端的第二距离。 [0086] 其中,每一投影点与待定位终端的第二距离是指,待定位终端接收到每一可见光所对应的光源的投影点与待定位终端的第二距离。 [0087] 例如,设待定位终端为o,待定位终端所接收到可见光所对应的光源的投影点包括:投影点s1、投影点s2以及投影点s3;那么,每一投影点与待定位终端的第二距离是指,投影点s1与待定位终端o之间的距离、投影点s2与待定位终端o之间的距离、投影点s3与待定位终端o之间的距离。 [0088] 需要说明的是,确定每一投影点与待定位终端的第二距离的具体方式可以为:计算接收到每一可见光所对应的光源与待定位终端之间的实际距离; [0089] 利用该实际距离以及该光源所在水平面与待定位终端所在水平面的垂直距离,利用勾股定理可以计算求出每一投影点与待定位终端的第二距离。其中,每一光源所在水平面与待定位终端所在水平面的垂直距离均预先存储在待定位终端中。 [0090] 具体的,设实际距离为D,垂直距离为H,第二距离为d,那么,由勾股定理可以确2 2 2 定:D-H=d。 [0091] 需要说明的是,计算接收到每一可见光所对应的光源与待定位终端之间的实际距离的方式可以待定位终端中用于接收可见光的装置所对应的计算方式进行计算,在此并没有具体限定,且具体计算方式均为现有的计算方式。例如,若待定位终端内设置的接收可见光的装置为光电检测器件时,那么,可以利用朗伯模型来计算接收到每一可见光所对应的光源与待定位终端之间的实际距离;而若待定位终端内设置的接收可见光的装置为图像传感器时,那么将会采用与图像传感器所对应的计算方式来计算接收到每一可见光所对应的光源与待定位终端之间的实际距离的方式。下文中会以朗伯模型的计算方式进行详细说明。 [0092] 步骤104:统计当前时刻下,差值小于等于预设门限值的投影点对数; [0093] 其中,该差值为与每对投影点对应的第二距离之和减去每对投影点对应的第一距离的差值。 [0094] 例如,设待定位终端为o,待定位终端所接收到可见光所对应的光源的投影点包括:投影点s1、投影点s2以及投影点s3。投影点s1与待定位终端o的第二距离为s1o、投影点s2与待定位终端o的第二距离为s2o、投影点s3与待定位终端o的第二距离为s3o;投影点s1与投影点s2之间的第一距离为s1s2、投影点s1与投影点s3之间的第一距离为s1s3、投影点s2与投影点s3之间的第一距离s2s3;、 [0095] 那么,差值包括:cha1=s1o+s2o-s1s2;cha2=s1o+s3o-s1s3;cha3=s2o+s3o-s2s3。若cha1和cha2均小于等于预设门限值,那么,统计到的投影点对数有两对:一对为cha1所对应的投影点s1和投影点s2,一对为cha2所对应的投影点s1和投影点s3。 [0096] 需要说明的是,该预设门限值为用户依据室内的光源拓扑结构性能要求,预先设定的门限值,该门限值为判断待定位终端与哪些对投影点为链型拓扑结构的标准。也就是说,当某对投影点对应的第二距离之和减去每对投影点对应的第一距离的差值,说明待定位终端与该对投影点为链型拓扑结构,或者说,待定位终端与该对投影点大约在一条直线上(大约是指差值小于等于该门限值的允许范围)。 [0097] 步骤105:比较所述投影点对数与预设对数的大小; [0098] 其中,该预设对数大于等于2对;预设对数具体可以为2对、3对、4对等等,没有限定。 [0099] 步骤106:若投影点对数大于等于预设对数,确定待定位终端位于链型拓扑结构的光源区域内; [0100] 假设预设对数为2对,那么,投影点对数大于等于预设对数,具体表征为:待定位终端至少与3个投影点为链型拓扑结构,那么,可以确定3个投影点所对应的光源为链型拓扑结构,相应的可以确定,待定位终端位于链型拓扑结构的光源区域内。当然,预设对数越大,所确定的待定位终端位于链型拓扑结构的光源区域内的精度也就越高。 [0101] 结合上述实例,假设满足差值小于等于预设门限值的投影点对数有两对:一对为cha1所对应的投影点s1和投影点s2,一对为cha2所对应的投影点s1和投影点s3;假设预设对数为2对,由于投影点对数等于预设对数2对,那么,可以确定待定位终端与投影点s1、投影点s2以及投影点s3为链型拓扑结构。相应的,也可以确定投影点s1所对应的光源S1、投影点s2所对应的光源S2以及投影点s3所对应的光源S3为链型拓扑结构,进而可以确定,待定位终端位于链型拓扑结构的光源区域内。 [0102] 步骤106:依据链型拓扑结构定位算法定位待定位终端的目标位置; [0103] 当确定了待定位终端位于链型拓扑结构的光源区域内后,则可以依据链型拓扑结构定位算法来定位待定位终端的目标位置。 [0104] 步骤108:若投影点对数小于预设对数,确定待定位终端位于网络拓扑结构的光源区域内; [0105] 当投影点对数小于预设对数时,说明待定位终端与相应的投影点为网络拓扑结构,相应的,可以确定待定位终端位于网络拓扑结构的光源区域内。 [0106] 步骤109:依据网络拓扑结构定位算法定位待定位终端的目标位置。 [0107] 当确定了待定位终端位于网络拓扑结构的光源区域内后,则可以依据网络拓扑结构定位算法来定位待定位终端的目标位置。 [0108] 在本发明实施例中,通过判断所统计的当前时刻下差值小于等于预设门限值的投影点对数是否大于等于预设对数来确定待定位终端处于哪一种拓扑结构的光源区域内;其中,该差值为与每对投影点对应的第二距离之和减去与所述每对投影点对应的第一距离的差值;当投影点对数大于等于预设对数时,可以确定待定位终端位于链型拓扑结构的光源区域内,此时,依据链型拓扑结构定位算法定位所述待定位终端的目标位置;而当投影点对数小于所述预设对数时,可以确定待定位终端位于网络拓扑结构的光源区域内,此时,依据网络拓扑结构定位算法定位所述待定位终端的目标位置;由此可见,本发明实现了待定位终端在不同拓扑结构的光源区域下的定位,而由于采用链型拓扑结构定位算法进行定位的方式运算量较小,因此,定位快速。 [0109] 参见图2,示出了本发明的待定位终端所处室内的示意图,该室内包括光源S以及待定位终端o,由该图可以看出,室内所设置的光源S包括网络拓扑结构以及链型拓扑结构。 [0110] 需要说明是,本发明并不仅限定待定位终端所处室内的结构,图2仅是待定位终端所处室内的一种具体结构。 [0111] 而在实际应用中,待定位终端的位置可能是随时发生移动的,在当前时刻,待定位终端可能位于链型拓扑结构的光源区域内,但是,在下一时刻,待定位终端又可能移动到网络拓扑结构的光源区域内。 [0112] 因此,为了实现精确的判断待定位终端所处于光源区域为哪一种拓扑结构,本发明另一实施例还公开了一种利用可见光进行定位的方法,参见图3,该方法可以包括以下步骤: [0113] 步骤301:在预存储的对应关系中查找与接收到每一可见光中携带的特定标识对应的位置坐标; [0114] 步骤302:依据查找到的位置坐标计算每对投影点之间的第一距离; [0115] 步骤303:确定每一投影点与待定位终端的第二距离; [0116] 步骤304:统计当前时刻下,差值小于等于预设门限值的投影点对数; [0117] 其中,该差值为与每对投影点对应的第二距离之和减去每对投影点对应的第一距离的差值。 [0118] 步骤305:判断所述投影点对数是否大于等于预设对数;若是,则进入步骤306,若否,则进入步骤310; [0119] 当投影点对数大于等于预设对数时,说明在当前时刻下待定位终端位于链型拓扑结构的光源区域内; [0120] 当投影点对数小于预设对数时,说明在当前时刻下待定位终端位于网络拓扑结构的光源区域内。 [0121] 步骤306:统计在N个时刻的每一时刻下,差值小于等于预设门限值的投影点对数; [0122] 由于待定位终端可能是随时发生移动的,因此,为了实现精确的判断待定位终端处于哪一种拓扑结构的光源区域内,可以继续统计在N个时刻的每一时刻下,差值小于等于预设门限值的投影点对数。 [0123] 需要说明的是,待定位终端中预先设定有N个时刻,可以根据实际情况进行设定。其中,N个时刻具体是指预设的时间段,每一时刻为在该预设的时间段内,每隔预设时间所对应的时刻。 [0124] 例如,统计在1分钟内每隔10s所对应的时刻下,差值小于等于预设门限值的投影点对数。 [0125] 步骤307:判断投影点对数是否在所述N个时刻的每一时刻下均大于等于预设对数;若是,进入步骤308;若否,进入步骤310。 [0126] 步骤308:确定待定位终端位于链型拓扑结构的光源区域内; [0127] 当投影点对数在N个时刻的每一时刻下均大于等于预设对数,可以确定待定位终端位于链型拓扑结构的光源区域内。 [0128] 步骤309:依据链型拓扑结构定位算法定位待定位终端的目标位置; [0129] 步骤310:确定待定位终端位于网络拓扑结构的光源区域内; [0130] 当投影点对数在当前时刻下小于预设对数时,确定待定位终端位于网络拓扑结构的光源区域内; [0131] 而当投影点对数在当前时刻大于等于预设对数,但是投影点对数在N个时刻的任一时刻下小于预设对数,也可以确定待定位终端位于网络拓扑结构的光源区域内。 [0132] 步骤311:依据网络拓扑结构定位算法定位待定位终端的目标位置。 [0133] 在本发明实施例中,在确定投影点对数在当前时刻下大于等于预设对数后,统计在N个时刻的每一时刻下,差值小于等于预设门限值的投影点对数,通过判断投影点对数是否在N个时刻的每一时刻下均大于等于预设对数,来实现更精确的确定待定位终端位于哪种拓扑结构的光源区域内,从而采用相应类型的拓扑结构定位算法定位待定位终端的目标位置。 [0134] 本发明又一实施例还公开了一种利用可见光进行定位的方法,如图4所示,该方法可以包括以下步骤: [0135] 步骤401:在预存储的对应关系中查找与接收到每一可见光中携带的特定标识对应的位置坐标; [0136] 步骤402:依据查找到的位置坐标计算每对投影点之间的第一距离; [0137] 步骤403:确定每一投影点与待定位终端的第二距离; [0138] 步骤404:统计当前时刻下,差值小于等于预设门限值的投影点对数; [0139] 步骤405:判断所述投影点对数是否大于等于预设对数; [0140] 若是,进入步骤406;若否,进行步骤410; [0141] 步骤406:确定待定位终端位于链型拓扑结构的光源区域内; [0142] 步骤407:依据链型拓扑结构定位算法定位待定位终端的目标位置; [0143] 步骤408:统计在N个时刻的每一时刻下,差值小于等于预设门限值的投影点对数; [0144] 由于待定位终端是随时可能发生移动的,因此,当依据链型拓扑结构定位算法定位待定位终端的目标位置后,为了防止待定位终端移动后,其所处的光源区域发生变化,使得定位不准确,可以继续统计在N个时刻的每一时刻下,差值小于等于预设门限值的投影点对数。 [0145] 需要说明的是,待定位终端中预先设定有N个时刻,可以根据实际情况进行设定。其中,N个时刻具体是指预设的时间段,每一时刻为在该预设的时间段内,每隔预设时间所对应的时刻。 [0146] 例如,统计在1分钟内每隔10s所对应的时刻下,差值小于等于预设门限值的投影点对数。 [0147] 步骤409:判断投影点对数是否在所述N个时刻的每一时刻下均小于预设对数; [0148] 若是,进入步骤410;若否,返回步骤406; [0149] 当投影点对数在N个时刻的任一时刻下大于预设对数时,可以确定待定位终端所处的光源区域未发生变化,仍位于链型拓扑结构的光源区域内,那么,仍可以保持依据链型拓扑结构定位算法定位待定位终端的目标位置。 [0150] 步骤410:确定待定位终端位于网络拓扑结构的光源区域内; [0151] 当投影点对数在N个时刻的每一时刻下均小于预设对数时,可以确定待定位终端位于网络拓扑结构的光源区域内,那么则可以由链型拓扑结构定位算法切换至网络拓扑结构定位算法。 [0152] 步骤411:依据网络拓扑结构定位算法定位待定位终端的目标位置。 [0153] 在本发明实施例中,在依据链型拓扑结构定位算放定位待定位终端的目标位置后,统计在N个时刻的每一时刻下,差值小于等于预设门限值的投影点对数,通过判断投影点对数是否在N个时刻的每一时刻下均小于预设对数,来实现更精确的确定待定位终端位于哪种拓扑结构的光源区域内,从而采用相应类型的拓扑结构定位算法定位待定位终端的目标位置。 [0154] 在本发明实施例中,依据链型拓扑结构定位算法定位待定位终端的目标位置的实现方式有多种,本发明并不做具体限定; [0155] 作为一种实现形式,可以包括: [0156] 选取差值小于等于预设门限值的任意一对投影点; [0157] 依据所述任意一对投影点的位置坐标确定待定位终端的目标位置坐标。 [0158] 需要说明的是,待定位终端在允许误差范围内(该允许误差是指差值在预设门限值之内),处于以上述任一一对投影点的为端点的线段上,那么,依据上述任一对投影点的位置坐标即可确定出待定位终端的目标位置坐标。 [0159] 作为另一实现形式,还可以在选取差值小于等于预设门限值的任一对投影点之后,再选取另外一对差值小于等于预设门限值的投影点中的一个投影点,利用这三个投影点的位置坐标,采用极大似然估计法来确定待定位终端的目标位置坐标。具体的,极大似然估计法为现有的计算方法,在此不再详细赘述。 [0160] 在本发明实施例中,具体说明如何来确定每一投影点与待定位终端的第二距离;参见图5,示出了一个光源与待定位终端的位置关系; [0161] 由图5可以看出,光源S与待定位终端o的实际距离为D,光源S所在水平面与待定位终端所在水平面o之间的垂直距离为H,光源S在待定位终端所在水平面的投影点s与待定位终端o的第二距离为d;由勾股定理可以确定: [0162] D2-H2=d2; [0163] 其中,每一光源所在水平面与待定位终端所在水平面的垂直距离H均预先存储在待定位终端中;那么,需要先确定光源S与待定位终端o的实际距离为D,才可以确定光源S在待定位终端所在水平面的投影点s与待定位终端o的第二距离d。 [0164] 其中,确定每一光源与待定位终端的实际距离的实现方式有多种,本发明并不进行限定;作为一种实现方式,可以利用朗伯模型进行确定,那么具体方法为: [0165] 由集成在待定位终端内的光电检测器件,如光电探测器检测接收到的每一可见光的第一光强度; [0166] 在预设的第二对应关系中,查找与每一可见光中携带的特定标识对应的第二光强度,所述第二光强度为所述光源发射可见光的强度; [0167] 利用第一计算光信道直流增益; [0168] 第一计算公式为:P(接收)=P(发送)×H(0); [0170] 利用第二计算公式计算每一光源与待定位终端之间的实际距离D; [0171] 第二计算公式为: [0172] [0173] D为每一光源与待定位终端之间的实际距离; [0175] 关于m的计算公式如下: [0176] [0177] 其中,Φ1/2表示光源的发光功率半角;在Φ1/2上的辐射功率为中心功率的一半。 [0178] 其中,接收机视角为光电探测器的接收视角; [0179] 其中,各个角度的含义可参见图5。 [0180] 需要说明的是,m值大小决定光束方向性,其值越大,光束方向性越好。 [0181] 其中,光电探测器、光滤波器以及光聚能器均集成在待定位终端中。 [0182] 当由第二计算公式计算出每一光源与待定位终端之间的实际距离D后,则可以依据勾引定理求出每一投影点与待定位终端的第二距离d。 [0183] 在本发明实施例中,依据网络拓扑结构定位算法定位待定位终端的目标位置的实现方式可以采用现有技术中的多种计算方式,本发明并不做具体限定。 [0184] 作为一种实现方式,可以采用最小二乘法求解方式组的方式来确定待定位终端的目标位置坐标,具体为: [0185] 假设待定位终端的目标位置坐标为(x,y),每一光源在第一水平面的投影点的坐标为(xi,yi),每一投影点与待定位终端的距离为di; [0186] 其中,i=1,2,3,…,n;n为待定位终端接收到的可见光所对应的光源的投影点个数, [0187] 那么,每一投影点的位置坐标与待定位终端的位置坐标具有以下关系: [0188] [0189] 相应的,采用最小二乘法即可求解上述方程组,从而可以计算出待定位终端的目标位置坐标。 [0190] 本发明实施例还公开了一种利用可见光进行定位的装置,该装置应用于待定位终端中;该待定位终端可以为手持式或者车载式电子导航仪、智能手机、平板电脑或者其他电子设备等。 [0191] 待定位终端位于室内,该室内设置有多个光源,每一光源均具有区别于其他光源的特定标识,并均可发射携带有所述特定标识的可见光。 [0192] 其中,所述待定位终端所处水平面为第一水平面。 [0193] 参见图6,该装置可以包括:第一查找单元601、第一计算单元602、第一确定单元603、第一统计单元604、第一比较单元605、第二确定单元606、第一定位单元607、第三确定单元608以及第二定位单元609; [0194] 第一查找单元601,可以用于在预存储的对应关系中查找与接收到的每一可见光中携带的特定标识对应的位置坐标; [0195] 其中,所述对应关系为特定标识与光源的位置坐标的对应关系。 [0196] 第一计算单元602,可以用于依据查找到的位置坐标计算每对投影点之间的第一距离;其中,所述投影点为接收到的所有可见光所对应的光源在所述第一水平面上的投影; [0197] 第一确定单元603,可以用于确定每一投影点与所述待定位终端的第二距离; [0198] 第一统计单元604,可以用于统计当前时刻下,差值小于等于预设门限值的投影点对数;其中,所述差值为与每对投影点对应的第二距离之和减去与所述每对投影点对应的第一距离的差值; [0199] 第一比较单元605,可以用于比较所述投影点对数与预设对数的大小; [0200] 第二确定单元606,可以用于在所述投影点对数大于等于所述预设对数时,确定所述待定位终端位于链型拓扑结构的光源区域内; [0201] 第一定位单元607,可以用于依据链型拓扑结构定位算法定位所述待定位终端的目标位置; [0202] 第三确定单元608,可以用于在所述投影点对数小于所述预设对数时,确定所述待定位终端位于网络拓扑结构的光源区域内; [0203] 第二定位单元609,可以用于依据网络拓扑结构定位算法定位所述待定位终端的目标位置;其中,所述预设对数大于等于2对。 [0204] 在本发明实施例中,通过判断所统计的当前时刻下差值小于等于预设门限值的投影点对数是否大于等于预设对数来确定待定位终端处于哪一种拓扑结构的光源区域内;其中,该差值为与每对投影点对应的第二距离之和减去与所述每对投影点对应的第一距离的差值;当投影点对数大于等于预设对数时,可以确定待定位终端位于链型拓扑结构的光源区域内,此时,依据链型拓扑结构定位算法定位所述待定位终端的目标位置;而当投影点对数小于所述预设对数时,可以确定待定位终端位于网络拓扑结构的光源区域内,此时,依据网络拓扑结构定位算法定位所述待定位终端的目标位置;由此可见,本发明实现了待定位终端在不同拓扑结构的光源区域下的定位,而由于采用链型拓扑结构定位算法进行定位的方式运算量较小,因此,定位快速。 [0205] 本发明另一实施例还公开了一种利用可见光进行定位的装置,参见图7,该装置可以包括:第一查找单元701、第一计算单元702、第一确定单元703、第一统计单元704、第一比较单元705、第二统计单元706、第四确定单元707、第二确定单元708、第一定位单元709、第三确定单元710以及第二定位单元711;其中: [0206] 第一查找单元701,可以用于在预存储的对应关系中查找与接收到的每一可见光中携带的特定标识对应的位置坐标; [0207] 其中,所述对应关系为特定标识与光源的位置坐标的对应关系。 [0208] 第一计算单元702,可以用于依据查找到的位置坐标计算每对投影点之间的第一距离;其中,所述投影点为接收到的所有可见光所对应的光源在所述第一水平面上的投影; [0209] 第一确定单元703,可以用于确定每一投影点与所述待定位终端的第二距离; [0210] 第一统计单元704,可以用于统计当前时刻下,差值小于等于预设门限值的投影点对数;其中,所述差值为与每对投影点对应的第二距离之和减去与所述每对投影点对应的第一距离的差值; [0211] 第一比较单元705,可以用于比较所述投影点对数与预设对数的大小; [0212] 第二统计单元706,可以用于在所述投影点对数大于等于所述预设对数时,统计在N个时刻的每一时刻下的差值小于等于预设门限值的投影点对数; [0213] 第四确定单元707,可以用于确定所述投影点对数在所述N个时刻的每一时刻下均大于等于预设对数。 [0214] 第二确定单元708,可以用于确定所述待定位终端位于链型拓扑结构的光源区域内; [0215] 第一定位单元709,可以用于依据链型拓扑结构定位算法定位所述待定位终端的目标位置; [0216] 第三确定单元710,可以用于在所述投影点对数小于所述预设对数时,确定所述待定位终端位于网络拓扑结构的光源区域内; [0217] 第二定位单元711,可以用于依据网络拓扑结构定位算法定位所述待定位终端的目标位置;其中,所述预设对数大于等于2对。 [0218] 该装置还可以包括第五确定单元712,其中:第五确定单元712,可以用于确定所述投影点对数在所述N个时刻的任一时刻下小于预设对数; [0219] 那么,第三确定单元710具体可以用于在第五确定单元712确定所述投影点对数在所述N个时刻的任一时刻下小于预设对数时,确定所述待定位终端位于网络拓扑结构的光源区域内。 [0220] 本发明另一实施例还公开了一种利用可见光进行定位的装置,参见图8,该装置可以包括:第一查找单元801、第一计算单元802、第一确定单元803、第一统计单元804、第一比较单元805、第二确定单元806、第一定位单元807、第三确定单元808以及第二定位单元809、第三统计单元810、第一判断单元811、第六确定单元812、切换定位单元813、第七确定单元814、第一保持单元815、其中: [0221] 第一查找单元801,可以用于在预存储的对应关系中查找与接收到的每一可见光中携带的特定标识对应的位置坐标; [0222] 其中,所述对应关系为特定标识与光源的位置坐标的对应关系。 [0223] 第一计算单元802,可以用于依据查找到的位置坐标计算每对投影点之间的第一距离;其中,所述投影点为接收到的所有可见光所对应的光源在所述第一水平面上的投影; [0224] 第一确定单元803,可以用于确定每一投影点与所述待定位终端的第二距离; [0225] 第一统计单元804,可以用于统计当前时刻下,差值小于等于预设门限值的投影点对数;其中,所述差值为与每对投影点对应的第二距离之和减去与所述每对投影点对应的第一距离的差值; [0226] 第一比较单元805,可以用于比较所述投影点对数与预设对数的大小; [0227] 第二确定单元806,可以用于在所述投影点对数大于等于所述预设对数时,确定所述待定位终端位于链型拓扑结构的光源区域内; [0228] 第一定位单元807,可以用于依据链型拓扑结构定位算法定位所述待定位终端的目标位置; [0229] 第三确定单元808,可以用于在所述投影点对数小于所述预设对数时,确定所述待定位终端位于网络拓扑结构的光源区域内; [0230] 第二定位单元809,可以用于依据网络拓扑结构定位算法定位所述待定位终端的目标位置;其中,所述预设对数大于等于2对。 [0231] 第三统计单元810,可以用于在第一定位单元依据链型拓扑结构定位算法定位所述待定位终端的目标位置之后,统计在N个时刻的每一时刻下的差值小于预设门限值的投影点个数; [0232] 第一判断单元811,可以用于判断所述投影点对数是否在所述N个时刻的每一时刻下均小于预设对数; [0233] 第六确定单元812,可以用于当所述投影点对数在所述N个时刻的每一时刻下均小于预设对数时,确定所述待定位终端位于网络拓扑结构的光源区域内; [0234] 切换定位单元813,可以用于由所述链型拓扑结构定位算法切换至所述网络拓扑结构定位算法,依据所述网络拓扑结构定位算法定位所述待定位终端的目标位置坐标; [0235] 第七确定单元814,可以用于当所述投影点对数在所述N个时刻的任一时刻下小于预设对数时,确定所述待定位终端仍位于所述链型拓扑结构的光源区域内; [0236] 第一保持单元815,可以用于保持所述依据链型拓扑结构定位算法定位所述待定位终端的目标位置。 [0237] 在本发明实施例中,第一定位单元具体可以包括:第一选取子单元以及第一确定子单元; [0238] 其中:第一选取子单元可以用于选取差值小于等于预设门限值的任意一对投影点;第一确定子单元可以用于依据所述任意一对投影点的位置坐标确定所述待定位终端的目标位置坐标。 [0239] 以上各装置所对应的实施例与方法实施例相对应,具体实现方法可参见方法实施例,在此不再详细赘述。 [0240] 本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。 [0241] 对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。 |