发明内容
本发明实施例提供一种定位方法及终端设备,以解决在隧道内,难以实现终端设备的有效定位的问题。
为了解决上述技术问题,本发明实施例提供一种定位方法,应用于终端设备,包括:
在获知至少两个定位信号源属于线性布置的情况下,以所述终端设备在目标定位坐标系中的Y轴和Z轴的坐标值为设定值,根据定位信号源的坐标以及定位信号源到终端设备的伪距值,确定所述终端设备在所述目标定位坐标系中的X轴的坐标值;
基于所述终端设备的X轴的坐标值,确定所述终端设备的Y轴的坐标值和Z轴的坐标值;
对所述终端设备的X轴的坐标值、Y轴的坐标值和Z轴的坐标值进行误差控制,得到所述终端设备的三维坐标值。
可选地,所述确定所述终端设备在所述目标定位坐标系中的X轴的坐标值,包括:
确定能够进行终端设备定位的定位信号源的个数;
当所述定位信号源的个数大于或等于两个时,确定目标定位坐标系下的终端设备的X轴的坐标值;
其中,所述目标定位坐标系的X轴方向为沿至少两个定位信号源呈线性布置的方向。
进一步地,所述确定能够进行终端设备定位的定位信号源的个数,包括:
判断终端设备能够接收到定位信号的定位信号源的个数;
在终端设备能够接收到的定位信号的定位信号源的个数大于三的情况下,判断每一个定位信号源的定位信号发送时所对应的子帧与终端设备接收定位信号时所对应的子帧号间隔;
确定所述子帧号间隔小于或等于预设值的定位信号所对应的第一定位信号源;
若所述第一定位信号源的个数大于三个,确定能够进行终端设备定位的定位信号源的个数为三个,且三个定位信号源为第一定位信号源中信号功率最大的三个定位信号源;
若所述第一定位信号源的信号的个数小于或等于三个,则确定能够进行终端设备定位的定位信号源的个数为所述第一定位信号源的个数。
进一步地,在所述判断终端设备能够接收到定位信号的定位信号源的个数之后,还包括:
在能够接收到的定位信号的定位信号源的个数小于或等于三的情况下,则确定能够进行终端设备定位的定位信号源的个数为终端设备能够接收到的定位信号的定位信号源的个数。
可选地,所述目标定位坐标系的确定原则,包括:
当定位信号源的个数为三个时,确定三个定位信号源中的一个为参考定位信号源,以参考定位信号源的坐标为原点,经过原点的直线作为目标定位坐标系下的X轴,并且保证三个定位信号源中其他两个定位信号源在目标定位坐标系下的Y轴坐标关于X轴对称;或者
当定位信号源的个数为两个时,确定两个定位信号源中的一个为参考定位信号源,以参考定位信号源的坐标为原点,设置通过两个定位信号源的直线为目标定位坐标系下的X轴。
进一步地,所述确定目标定位坐标系下的终端设备的X轴的坐标值,包括:
当定位信号源的个数为三个时,根据目标定位坐标系下的三个定位信号源的坐标,确定终端设备在目标定位坐标系下的X轴的坐标值;或者
当定位信号源的个数为两个时,根据目标定位坐标系下的两个定位信号源的坐标,并根据历史估计的时钟值的均值,确定终端设备在目标定位坐标系下的X轴的坐标值。
进一步地,在所述确定能够进行终端设备定位的定位信号源的个数之后,还包括:
当所述定位信号源的个数等于一个时,根据历史估计的终端设备在目标定位坐标系中的坐标值,计算当前时刻的终端设备目标定位坐标系中的坐标值;
其中,所述目标定位坐标系为终端设备所处的当前环境下的定位坐标系。
具体地,所述基于所述终端设备的X轴的坐标值,确定所述终端设备的Y轴的坐标值和Z轴的坐标值,包括:
基于所述终端设备的X轴的坐标值,确定终端设备在目标定位坐标系中的Y轴的坐标值;
根据X轴的坐标值和Y轴的坐标值,获取终端设备在所处当前环境下的定位坐标系中的Z轴的坐标值。
可选地,所述确定终端设备在目标定位坐标系中的Y轴的坐标值,包括:
获取终端设备所在的车道信息;
根据所述车道信息,确定终端设备在目标定位坐标系中的Y轴的坐标值。
进一步地,所述根据所述车道信息,确定终端设备在目标定位坐标系中的Y轴的坐标值,包括:
根据所述终端设备所在的车道信息与所述终端设备的X轴的坐标值,确定终端设备在目标定位坐标系中的Y轴的坐标值。
可选地,所述根据X轴的坐标值和Y轴的坐标值,获取终端设备在当前环境下的定位坐标系中的Z轴的坐标值,包括:
确定终端设备在当前环境下的定位坐标系中的二维坐标;
根据所述二维坐标以及当前环境的地图信息,确定终端设备所在位置的第一高度;
根据所述第一高度以及终端设备相对于当前环境的地面的高度,确定终端设备在当前环境下的定位坐标系中的Z轴的坐标值。
具体地,所述对所述终端设备的X轴的坐标值、Y轴的坐标值和Z轴的坐标值进行误差控制,得到所述终端设备的三维坐标值,包括:
将终端设备的X轴的坐标值、Y轴的坐标值和Z轴的坐标值与预设定位数据结合,通过卡尔曼滤波算法进行定位精度的控制,获取终端设备的三维坐标值。
进一步地,所述预设定位数据包括:通过惯性导航系统得到的定位数据。
可选地,所述定位信号源到终端设备的伪距值的获取方式,包括:
根据第i个定位信号源所发送的定位信号,获取包含钟差的时间延迟量;
根据所述时间延迟量,确定第i个定位信号源到终端设备的伪距值;
其中,i为正整数。
本发明实施例还提供一种终端设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的程序;所述处理器执行所述程序时实现以下步骤:
在获知至少两个定位信号源属于线性布置的情况下,以所述终端设备在目标定位坐标系中的Y轴和Z轴的坐标值为设定值,根据定位信号源的坐标以及定位信号源到终端设备的伪距值,确定所述终端设备在所述目标定位坐标系中的X轴的坐标值;
基于所述终端设备的X轴的坐标值,确定所述终端设备的Y轴的坐标值和Z轴的坐标值;
对所述终端设备的X轴的坐标值、Y轴的坐标值和Z轴的坐标值进行误差控制,得到所述终端设备的三维坐标值。
可选地,所述处理器执行所述确定所述终端设备在所述目标定位坐标系中的X轴的坐标值的程序时实现以下步骤:
确定能够进行终端设备定位的定位信号源的个数;
当所述定位信号源的个数大于或等于两个时,确定目标定位坐标系下的终端设备的X轴的坐标值;
其中,所述目标定位坐标系的X轴方向为沿至少两个定位信号源呈线性布置的方向。
进一步地,所述处理器执行所述确定能够进行终端设备定位的定位信号源的个数的程序时实现以下步骤:
判断终端设备能够接收到定位信号的定位信号源的个数;
在终端设备能够接收到的定位信号的定位信号源的个数大于三的情况下,判断每一个定位信号源的定位信号发送时所对应的子帧与终端设备接收定位信号时所对应的子帧号间隔;
确定所述子帧号间隔小于或等于预设值的定位信号所对应的第一定位信号源;
若所述第一定位信号源的个数大于三个,确定能够进行终端设备定位的定位信号源的个数为三个,且三个定位信号源为第一定位信号源中信号功率最大的三个定位信号源;
若所述第一定位信号源的信号的个数小于或等于三个,则确定能够进行终端设备定位的定位信号源的个数为所述第一定位信号源的个数。
具体地,所述处理器执行所述判断终端设备能够接收到定位信号的定位信号源的个数的程序之后,所述处理器执行所述程序时还实现以下步骤:
在能够接收到的定位信号的定位信号源的个数小于或等于三的情况下,则确定能够进行终端设备定位的定位信号源的个数为终端设备能够接收到的定位信号的定位信号源的个数。
进一步地,所述目标定位坐标系的确定原则,包括:
当定位信号源的个数为三个时,确定三个定位信号源中的一个为参考定位信号源,以参考定位信号源的坐标为原点,经过原点的直线作为目标定位坐标系下的X轴,并且保证三个定位信号源中其他两个定位信号源在目标定位坐标系下的Y轴坐标关于X轴对称;或者
当定位信号源的个数为两个时,确定两个定位信号源中的一个为参考定位信号源,以参考定位信号源的坐标为原点,设置通过两个定位信号源的直线为目标定位坐标系下的X轴。
进一步地,所述处理器执行所述确定目标定位坐标系下的终端设备的X轴的坐标值的程序时实现以下步骤:
当定位信号源的个数为三个时,根据目标定位坐标系下的三个定位信号源的坐标,确定终端设备在目标定位坐标系下的X轴的坐标值;或者
当定位信号源的个数为两个时,根据目标定位坐标系下的两个定位信号源的坐标,并根据历史估计的时钟值的均值,确定终端设备在目标定位坐标系下的X轴的坐标值。
进一步地,所述处理器执行所述确定能够进行终端设备定位的定位信号源的个数的程序之后,所述处理器执行所述程序时还实现以下步骤:
当所述定位信号源的个数等于一个时,根据历史估计的终端设备在目标定位坐标系中的坐标值,计算当前时刻的终端设备目标定位坐标系中的坐标值;
其中,所述目标定位坐标系为终端设备所处的当前环境下的定位坐标系。
具体地,所述处理器执行所述基于所述终端设备的X轴的坐标值,确定所述终端设备的Y轴的坐标值和Z轴的坐标值的程序时实现以下步骤:
基于所述终端设备的X轴的坐标值,确定终端设备在目标定位坐标系中的Y轴的坐标值;
根据X轴的坐标值和Y轴的坐标值,获取终端设备在所处当前环境下的定位坐标系中的Z轴的坐标值。
进一步地,所述处理器执行所述确定终端设备在目标定位坐标系中的Y轴的坐标值的程序时实现以下步骤:
获取终端设备所在的车道信息;
根据所述车道信息,确定终端设备在目标定位坐标系中的Y轴的坐标值。
进一步地,所述处理器执行所述根据所述车道信息,确定终端设备在目标定位坐标系中的Y轴的坐标值的程序时实现以下步骤:
根据所述终端设备所在的车道信息与所述终端设备的X轴的坐标值,确定终端设备在目标定位坐标系中的Y轴的坐标值。
进一步地,所述处理器执行所述根据X轴的坐标值和Y轴的坐标值,获取终端设备在当前环境下的定位坐标系中的Z轴的坐标值的程序时实现以下步骤:
确定终端设备在当前环境下的定位坐标系中的二维坐标;
根据所述二维坐标以及当前环境的地图信息,确定终端设备所在位置的第一高度;
根据所述第一高度以及终端设备相对于当前环境的地面的高度,确定终端设备在当前环境下的定位坐标系中的Z轴的坐标值。
具体地,所述处理器执行所述对所述终端设备的X轴的坐标值、Y轴的坐标值和Z轴的坐标值进行误差控制,得到所述终端设备的三维坐标值的程序时实现以下步骤:
将终端设备的X轴的坐标值、Y轴的坐标值和Z轴的坐标值与预设定位数据结合,通过卡尔曼滤波算法进行定位精度的控制,获取终端设备的三维坐标值。
具体地,所述预设定位数据包括:通过惯性导航系统得到的定位数据。
具体地,所述处理器执行获取定位信号源到终端设备的伪距值的程序时实现以下步骤:
根据第i个定位信号源所发送的定位信号,获取包含钟差的时间延迟量;
根据所述时间延迟量,确定第i个定位信号源到终端设备的伪距值;
其中,i为正整数。
本发明实施例还提供一种可读存储介质,其上存储有程序,所述程序被处理器执行时实现上述的定位方法。
本发明实施例还提供一种终端设备,包括:
第一确定模块,用于在获知至少两个定位信号源属于线性布置的情况下,以所述终端设备在目标定位坐标系中的Y轴和Z轴的坐标值为设定值,根据定位信号源的坐标以及定位信号源到终端设备的伪距值,确定所述终端设备在所述目标定位坐标系中的X轴的坐标值;
第二确定模块,用于基于所述终端设备的X轴的坐标值,确定所述终端设备的Y轴的坐标值和Z轴的坐标值;
获取模块,用于对所述终端设备的X轴的坐标值、Y轴的坐标值和Z轴的坐标值进行误差控制,得到所述终端设备的三维坐标值。
本发明的有益效果是:
上述方案,通过在获知至少两个定位信号源属于线性布置的情况下,以所述终端设备在目标定位坐标系中的Y轴和Z轴的坐标值为设定值,根据定位信号源的坐标以及定位信号源到终端设备的伪距值,确定所述终端设备在所述目标定位坐标系中的X轴的坐标值;基于所述终端设备的X轴的坐标值,确定所述终端设备的Y轴的坐标值和Z轴的坐标值;对所述终端设备的X轴的坐标值、Y轴的坐标值和Z轴的坐标值进行误差控制,得到所述终端设备的三维坐标值,以此能够保证在至少两个定位信号源属于线性布置的情况下,准确的获取终端设备的三维坐标,提高了终端设备定位的准确性。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图及具体实施例对本发明进行详细描述。
首先对与本发明实施例中相关的一些概念进行说明如下。
到达时间差(Time Difference of Arrival,TDOA)定位是从无线通信信号中提取目标的位置相关信息,将接收的无线信号与已知的参考信号互相关处理,将时间延迟量转换为距离量,通过求解线性方程组估计目标的位置信息,TDOA要求发送端同步。TDOA定位的方程求解过程如下:
公式一、
其中,[xi yi zi]分别表示第i个RSU的坐标信息,di表示第i个RSU到OBU的伪距值,[x y z]表示OBU的待定坐标信息,Δd表示钟差转换的距离值;Di表示关于RSU坐标的常量值,Di的具体表达式为:
公式二、
以下进行如下约定:
公式三、
公式四、χ=[x y z Δd]T
公式五、
因此,公式一中的线性方式可以用公式六表示为:
公式六、Aχ=b
利用最小均方误差原理对上述方程求解,得到:
公式七、χ=(A'×A)-1×A'×b
通过上述公式即可得到OBU的三维坐标估计结果以及时钟钟差的估计结果。
分析上述公式可知,公式中有OBU的三维坐标以及时钟钟差4个未知量,因此至少需要5个路侧设备(Road Side Unit,RSU,也称路侧单元)参与定位才能满足在做差后,公式的个数大于或等于未知数的个数。
本发明针对在隧道内,难以实现终端设备的有效定位的问题,提供一种定位方法及终端设备。
如图1所示,本发明实施例的定位方法,应用于终端设备,包括:
步骤11,在获知至少两个定位信号源属于线性布置的情况下,以所述终端设备在目标定位坐标系中的Y轴和Z轴的坐标值为设定值,根据定位信号源的坐标以及定位信号源到终端设备的伪距值,确定所述终端设备在所述目标定位坐标系中的X轴的坐标值;
需要说明的是,本发明实施例中所说的定位信号源可以为RSU,而该终端设备可以为OBU,也可以为手持终端等。
进一步地,本发明实施例中所说的至少两个定位信号源属于线性布置指的是至少两个定位信号源呈线性分布或近似线性分布,例如,隧道中的定位信号源是沿着隧道的走向分布的,此时可以看作是隧道中的定位信号源是属于线性布置的。
还需要说明的是,本发明实施例中所说的终端设备获知至少两个定位信号源属于线性布置可以为终端设备通过定位信号源的位置坐标推断得到的,也可以是其他设备通知给终端设备的。
需要说明的是,因为上述步骤主要是用于进行终端设备的X轴的坐标值的确定,因此,在上述所使用的定位信号源的坐标主要指的是定位信号源的X轴的坐标。
本发明实施例中所说的设定值指的是终端设备记录的上一次的Y轴和Z轴的坐标值,或者是距离终端设备最近的定位信号源的Y轴和Z轴的坐标值。
步骤12,基于所述终端设备的X轴的坐标值,确定所述终端设备的Y轴的坐标值和Z轴的坐标值;
步骤13,对所述终端设备的X轴的坐标值、Y轴的坐标值和Z轴的坐标值进行误差控制,得到所述终端设备的三维坐标值。
需要说明的是,本发明实施例主要应用于终端设备接收不到卫星导航信号且在定位信号源属于线性布置的情况下,通过先确定终端设备的X轴的坐标值,然后在基于该X轴的坐标值进行Y轴的坐标值和Z轴的坐标值,以此得到终端设备的三维坐标值,此种方式能够降低终端设备的三维坐标的获取难度。
经过仿真发现,定位信号源的分布对定位效果影响较大。如图2所示,当定位信号源平行于X轴分布,且信号源在Y和Z轴方向的间距相对较小时,通过上述的公式七求解方程组得到OBU的坐标轴估计时,待定位终端的X轴估计精度较高,而Y轴和Z轴估计结果精度较差;在隧道条件下,各个RSU之间的Y轴坐标和Z轴坐标间隔较小,通过验证发现若将待定位终端的Y轴坐标和Z轴坐标设置为0代入上述的公式一中,对于X轴的估计值影响较小。即可消除待求解的未知量,降低定位时所需要定位信号源个数。
当Y轴坐标和Z轴坐标为0时,并且视距可见范围内有3个信号源时,上述的公式一可以简化为:
公式八:
而本发明实施例便是基于上述原理实现的。
具体地,在进行X轴坐标的计算时,必须要先获取定位信号源到终端设备的伪距值,具体地,该伪距值的获取方式为:根据第i个定位信号源所发送的定位信号,获取包含钟差的时间延迟量;根据所述时间延迟量,确定第i个定位信号源到终端设备的伪距值;
其中,i为正整数。
也就是说,需要计算哪个定位信号源到终端设备的伪距值,便需要利用该定位信号源所发送的定位信号,获取包含钟差的时间延迟量,然后再利用该时间延迟量,计算得到定位信号源到终端设备的伪距值。
需要说明的是,本发明实施例在具体实现时,利用已有的3GPP LTE-PC5-V2X通信系统,将终端设备(即待定位终端)接收到编号为i的RSU(即定位信号源)所发送的物理直接通信链路共享信道(PSSCH)的导频数据与本地的PSSCH的导频数据(即存储在本地的预设的PSSCH的导频数据)进行相关处理(具体地,此处的相关处理指的是将RSU发送的PSSCH的导频数据与本地的PSSCH的导频数据进行卷积),得到包含钟差的时间延迟量Tdi,将该时间延迟量转换为距离值di(即伪距值),即di=Tdi×C,其中C为光速。
进一步需要说明的是,本发明实施例的步骤11的具体实现方式为:
步骤111,确定能够进行终端设备定位的定位信号源的个数;
需要说明的是,本发明实施例中所采用的定位信号源的个数最多为三个,也就是说,当能够接收到定位信号的定位信号源的个数大于三个时,需要选择最多三个定位信号源,当能够接收到定位信号的定位信号源的个数小于或等于三个时,则直接使用这几个定位信号源,具体地上述步骤111的实现方式为:
判断终端设备能够接收到定位信号的定位信号源的个数;
在终端设备能够接收到的定位信号的定位信号源的个数大于三的情况下,判断每一个定位信号源的定位信号发送时所对应的子帧与终端设备接收定位信号时所对应的子帧号间隔;确定所述子帧号间隔小于或等于预设值的定位信号所对应的第一定位信号源;若所述第一定位信号源的个数大于三个,确定能够进行终端设备定位的定位信号源的个数为三个,且三个定位信号源为第一定位信号源中信号功率最大的三个定位信号源;若所述第一定位信号源的信号的个数小于或等于三个,则确定能够进行终端设备定位的定位信号源的个数为所述第一定位信号源的个数;在能够接收到的定位信号的定位信号源的个数小于或等于三的情况下,则确定能够进行终端设备定位的定位信号源的个数为终端设备能够接收到的定位信号的定位信号源的个数。
具体地,本发明实施例在实际应用中的具体实现方式为:终端设备接收到若干个定位信号源的定位信号时,首先判断定位信号源的定位信号发送时所对应的子帧号与终端设备接收定位信号时所对应的子帧号间隔,若该子帧号间隔小于7,则根据定位信号源的定位信号的功率按照从大到小排序并且选择出功率最大的三个定位信号源的定位信号,确定使用这三个定位信号源;若终端设备接收到少于或等于三个定位信号源的定位信号,则直接利用这几个定位信号源进行后续处理。
步骤112,当所述定位信号源的个数大于或等于两个时,确定目标定位坐标系下的终端设备的X轴的坐标值;
其中,所述目标定位坐标系的X轴方向为沿至少两个定位信号源呈线性布置的方向。
需要说明的是,上述情况指的是定位信号源的个数需要大于一个且小于或等于三个,在此种情况下,需要得到在X轴方向为沿至少两个定位信号源呈线性布置的方向(即新坐标系)的X轴的坐标值,例如在隧道场景下,定位信号源是沿隧道方向分布的,则该新坐标系的X轴方向便是沿隧道方向的。
具体地,在此种情况下,本发明实施例中按照如下原则,确定新坐标系:
原则一、当定位信号源的个数为三个时,确定三个定位信号源中的一个为参考定位信号源,以参考定位信号源的坐标为原点,经过原点的直线作为目标定位坐标系下的X轴,并且保证三个定位信号源中其他两个定位信号源在目标定位坐标系下的Y轴坐标关于X轴对称;
原则二、当定位信号源的个数为两个时,确定两个定位信号源中的一个为参考定位信号源,以参考定位信号源的坐标为原点,设置通过两个定位信号源的直线为目标定位坐标系下的X轴。
也就是说,此种情况下,需要将定位信号源的坐标进行坐标变换,具体坐标变换如图3所示;由坐标系O2X2Y2向坐标系O1X1Y1变换的公式为:
公式九:
坐标系O1X1Y1向坐标系O2X2Y2变换的公式为:
公式十:
按照坐标变换后的定位信号源的坐标,求解终端设备的X轴坐标,得到也是终端设备在新坐标系下的X轴坐标值。
进一步地,定位信号源的个数不同,确定目标定位坐标系下的终端设备的X轴的坐标值的方式也不同,具体为:
一种情况下,当定位信号源的个数为三个时,根据目标定位坐标系下的三个定位信号源的坐标,确定终端设备在目标定位坐标系下的X轴的坐标值;
需要说明的是,此种情况下,定位信号源的个数为三个,利用的是三个定位信号源的X轴方向的坐标,带入到上述的公式八,便能得到终端设备在目标定位坐标系下的X轴的坐标值。
另一种情况下,当定位信号源的个数为两个时,根据目标定位坐标系下的两个定位信号源的坐标,并根据历史估计的时钟值的均值,确定终端设备在目标定位坐标系下的X轴的坐标值;
需要说明的是,此种情况下,定位信号源的个数为两个,而上述的公式八中还存在Δd这一未知量,利用上述的一个公式八不能求解得到两个未知量,此时需要先得到Δd这一未知量,具体地,先获取到若干个历史估计的时钟值,将这若干个历史估计的时钟值的均值作为当前时刻的时钟值,然后利用该时钟值确定钟差转换的距离值Δd,具体确定方式为:时钟值乘以光速=钟差转换的距离值Δd;然后将两个定位信号源的X轴方向的坐标以及Δd带入到公式八,便得到终端设备在目标定位坐标系下的X轴的坐标值。
还需要说明的是,当能够进行终端设备定位的定位信号源的个数为一个时,便不能利用公式八进行终端设备的X轴的坐标值的获取,在此种情况下,终端设备的X轴的坐标值的获取方式具体为:
当所述定位信号源的个数等于一个时,根据历史估计的终端设备在目标定位坐标系中的坐标值,计算当前时刻的终端设备目标定位坐标系中的坐标值;
其中,所述目标定位坐标系为终端设备所处的当前环境下的定位坐标系。
需要说明的是,在此种情况下,因无法构造线性方程组,便需要对历史估计的终端设备的坐标值进行二阶拟合,估计出当前时刻的终端设备的坐标值,因历史估计的坐标值是在以终端设备的当前环境为坐标系下的坐标值,则利用历史估计的坐标值得到的也是终端设备所处的当前环境下的定位坐标系下的坐标值;具体地,此处所说的终端设备的坐标值指的是终端设备的经纬度坐标值(即X轴方向和Y轴方向的坐标值)。
在定位信号源的个数等于一个的情况下,当得到终端设备的经纬度坐标值后,还需要得到终端设备在高度方向的坐标值(即Z轴的坐标值),具体获取方式为:根据所述经纬度坐标值以及当前环境的地图信息,确定终端设备所在位置的第一高度;根据所述第一高度以及终端设备相对于当前环境的地面的高度,确定终端设备在当前环境下的定位坐标系中的Z轴的坐标值;以此便得到粗略的终端设备的三维坐标。
进一步需要说明的是,在定位信号源的个数大于一个的情况下,本发明实施例的步骤12的具体实现方式为:
步骤121,基于所述终端设备的X轴的坐标值,确定终端设备在目标定位坐标系中的Y轴的坐标值;
步骤122,根据X轴的坐标值和Y轴的坐标值,获取终端设备在所处当前环境下的定位坐标系中的Z轴的坐标值。
进一步地,上述的步骤121的实现方式为:获取终端设备所在的车道信息;
根据所述车道信息,确定终端设备在目标定位坐标系中的Y轴的坐标值。
需要说明的是,该车道信息是由采集装置(例如,安装在终端设备行驶环境中的摄像头)采集,并传输给终端设备的。具体地,根据所述车道信息,确定终端设备在目标定位坐标系中的Y轴的坐标值的方式为:
根据所述终端设备所在的车道信息与所述终端设备的X轴的坐标值,确定终端设备在目标定位坐标系中的Y轴的坐标值。
需要说明的是,在实际应用中,可以沿终端设备的行驶方向布置定位信号源(例如,沿隧道的径向布置RSU),如图3中菱形所在位置为定位信号源的分布位置;采集装置能采集到终端设备所在的车道信息,终端设备还能获取到其所在的车道距新坐标系下的X轴的距离,结合终端设备在新坐标系下的X轴的坐标值,便能确定得到终端设备的Y轴的坐标值。
进一步需要说明的是,Z轴的坐标值的获取方式具体为:
确定终端设备在当前环境下的定位坐标系中的二维坐标;根据所述二维坐标以及当前环境的地图信息,确定终端设备所在位置的第一高度;根据所述第一高度以及终端设备相对于当前环境的地面的高度,确定终端设备在当前环境下的定位坐标系中的Z轴的坐标值。
需要说明的是,终端设备在当前环境下的定位坐标系中的二维坐标指的是终端设备在当前环境下的定位坐标系中的X轴坐标和Y轴坐标,当终端设备是在新坐标系下获取的X轴坐标时,在获取到X轴坐标和Y轴坐标时,需要进行坐标的变换,将其变换到当前环境下的定位坐标系中的二维坐标,具体地变换方式可采用公式九或公式十实现,例如,当前环境为隧道环境时,最终得到的便是与隧道地图一致坐标系下的水平坐标;终端设备需要结合当前环境的地图信息,估计出终端设备所在的海拔高度,然后再结合终端设备相对于当前环境的地面的高度,共同确定得到终端设备在当前环境下的定位坐标系中的Z轴的坐标值,以此便得到粗略的终端设备的三维坐标。
需要说明的是,在得到粗略的终端设备的三维坐标后,需要对三轴坐标进行坐标控制,得到较为精确的三维坐标,具体地实现方式为:
将终端设备的X轴的坐标值、Y轴的坐标值和Z轴的坐标值与预设定位数据结合,通过卡尔曼(kalman)滤波算法进行定位精度的控制,获取终端设备的三维坐标值。
需要说明的是,本发明实施例中所提到的预设定位数据可以为通过惯性导航系统得到的定位数据。
本发明实施例的一种应用场景为:隧道内
安装方式:沿着隧道方向,每隔500米左右,在隧道顶部的中间位置安装一个RSU通信设备,在隧道内RSU之间的海拔高度起伏变化较小,即RSU的Z轴坐标基本相同。
当OBU进入隧道内,卫星导航信号丢失时,启用本发明实施例;根据OBU接收到RSU信号数量,通过求解方程组、或者高阶拟合等数学方法,估计出OBU的较高精度的x轴坐标值;结合摄像头识别的车道信息估计出OBU的y轴坐标相对于y坐标轴的偏移量,作为OBU的y轴初始值结合电子地图信息以及OBU相对地面的高度值估计出OBU的z轴坐标;最后结合惯导设备,通过kalman滤波算法,使得OBU在隧道内仍然能保持一定精度定位信息。
需要说明的是,本发明实施例能够达到如有有益效果:
1、所需要的RSU个数较少,在工程上更容易实现;
2、通过坐标变换等方法,得到OBU相对精度较高的估计结果;减少了解方程过程中对误差放大的影响。
3、不需要专用的时间资源设备以及OBU支持SLSS收发,即可实现OBU的三维坐标估计。
如图5所示,本发明实施例的终端设备50,包括:
第一确定模块51,用于在获知至少两个定位信号源属于线性布置的情况下,以所述终端设备在目标定位坐标系中的Y轴和Z轴的坐标值为设定值,根据定位信号源的坐标以及定位信号源到终端设备的伪距值,确定所述终端设备在所述目标定位坐标系中的X轴的坐标值;
第二确定模块52,用于基于所述终端设备的X轴的坐标值,确定所述终端设备的Y轴的坐标值和Z轴的坐标值;
获取模块53,用于对所述终端设备的X轴的坐标值、Y轴的坐标值和Z轴的坐标值进行误差控制,得到所述终端设备的三维坐标值。
具体地,所述第一确定模块51,包括:
第一确定单元,用于确定能够进行终端设备定位的定位信号源的个数;
第二确定单元,用于当所述定位信号源的个数大于或等于两个时,确定目标定位坐标系下的终端设备的X轴的坐标值;
其中,所述目标定位坐标系的X轴方向为沿至少两个定位信号源呈线性布置的方向。
进一步地,所述第一确定单元,包括:
第一判断子单元,用于判断终端设备能够接收到定位信号的定位信号源的个数;
第二判断子单元,用于在终端设备能够接收到的定位信号的定位信号源的个数大于三的情况下,判断每一个定位信号源的定位信号发送时所对应的子帧与终端设备接收定位信号时所对应的子帧号间隔;
第一确定子单元,用于确定所述子帧号间隔小于或等于预设值的定位信号所对应的第一定位信号源;
第二确定子单元,用于若所述第一定位信号源的个数大于三个,确定能够进行终端设备定位的定位信号源的个数为三个,且三个定位信号源为第一定位信号源中信号功率最大的三个定位信号源;
第三确定子单元,用于若所述第一定位信号源的信号的个数小于或等于三个,则确定能够进行终端设备定位的定位信号源的个数为所述第一定位信号源的个数。
进一步地,在所述第一判断子单元判断终端设备能够接收到定位信号的定位信号源的个数之后,还包括:
第四确定子单元,用于在能够接收到的定位信号的定位信号源的个数小于或等于三的情况下,则确定能够进行终端设备定位的定位信号源的个数为终端设备能够接收到的定位信号的定位信号源的个数。
进一步地,所述目标定位坐标系的确定原则,包括:
当定位信号源的个数为三个时,确定三个定位信号源中的一个为参考定位信号源,以参考定位信号源的坐标为原点,经过原点的直线作为目标定位坐标系下的X轴,并且保证三个定位信号源中其他两个定位信号源在目标定位坐标系下的Y轴坐标关于X轴对称;或者
当定位信号源的个数为两个时,确定两个定位信号源中的一个为参考定位信号源,以参考定位信号源的坐标为原点,设置通过两个定位信号源的直线为目标定位坐标系下的X轴。
进一步地,所述第二确定单元,用于:
当定位信号源的个数为三个时,根据目标定位坐标系下的三个定位信号源的坐标,确定终端设备在目标定位坐标系下的X轴的坐标值;或者
当定位信号源的个数为两个时,根据目标定位坐标系下的两个定位信号源的坐标,并根据历史估计的时钟值的均值,确定终端设备在目标定位坐标系下的X轴的坐标值。
进一步地,在所述第一确定单元确定能够进行终端设备定位的定位信号源的个数之后,还包括:
计算单元,用于当所述定位信号源的个数等于一个时,根据历史估计的终端设备在目标定位坐标系中的坐标值,计算当前时刻的终端设备目标定位坐标系中的坐标值;
其中,所述目标定位坐标系为终端设备所处的当前环境下的定位坐标系。
具体地,所述第二确定模块52,包括:
第三确定单元,用于基于所述终端设备的X轴的坐标值,确定终端设备在目标定位坐标系中的Y轴的坐标值;
获取单元,用于根据X轴的坐标值和Y轴的坐标值,获取终端设备在所处当前环境下的定位坐标系中的Z轴的坐标值。
进一步地,所述第三确定单元,包括:
获取子单元,用于获取终端设备所在的车道信息;
第五确定子单元,用于根据所述车道信息,确定终端设备在目标定位坐标系中的Y轴的坐标值。
具体地,所述第五确定子单元,用于:
根据所述终端设备所在的车道信息与所述终端设备的X轴的坐标值,确定终端设备在目标定位坐标系中的Y轴的坐标值。
进一步地,所述获取单元,包括:
第六确定子单元,用于确定终端设备在当前环境下的定位坐标系中的二维坐标;
第七确定子单元,用于根据所述二维坐标以及当前环境的地图信息,确定终端设备所在位置的第一高度;
第八确定子单元,用于根据所述第一高度以及终端设备相对于当前环境的地面的高度,确定终端设备在当前环境下的定位坐标系中的Z轴的坐标值。
具体地,所述获取模块,用于:
将终端设备的X轴的坐标值、Y轴的坐标值和Z轴的坐标值与预设定位数据结合,通过卡尔曼滤波算法进行定位精度的控制,获取终端设备的三维坐标值。
其中,所述预设定位数据包括:通过惯性导航系统得到的定位数据。
进一步地,所述定位信号源到终端设备的伪距值的获取方式,具体为:
根据第i个定位信号源所发送的定位信号,获取包含钟差的时间延迟量;
根据所述时间延迟量,确定第i个定位信号源到终端设备的伪距值;
其中,i为正整数。
需要说明的是,该终端设备实施例是与上述方法实施例一一对应的终端设备,上述方法实施例中所有实现方式均适用于该终端设备的实施例中,也能达到相同的技术效果。
如图6所示,本发明实施例还提供一种终端设备60,包括处理器61、收发机62、存储器63及存储在所述存储器63上并可在所述处理器61上运行的程序;其中,收发机62通过总线接口与处理器61和存储器63连接,其中,所述处理器61用于读取存储器中的程序,执行下列过程:
在获知至少两个定位信号源属于线性布置的情况下,以所述终端设备在目标定位坐标系中的Y轴和Z轴的坐标值为设定值,根据定位信号源的坐标以及定位信号源到终端设备的伪距值,确定所述终端设备在所述目标定位坐标系中的X轴的坐标值;
基于所述终端设备的X轴的坐标值,确定所述终端设备的Y轴的坐标值和Z轴的坐标值;
对所述终端设备的X轴的坐标值、Y轴的坐标值和Z轴的坐标值进行误差控制,得到所述终端设备的三维坐标值。
需要说明的是,在图6中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器61代表的一个或多个处理器和存储器63代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。收发机62可以是多个元件,即包括发送机和收发机,提供用于在传输介质上与各种其他装置通信的单元。针对不同的终端,用户接口64还可以是能够外接内接需要设备的接口,连接的设备包括但不限于小键盘、显示器、扬声器、麦克风、操纵杆等。处理器61负责管理总线架构和通常的处理,存储器63可以存储处理器61在执行操作时所使用的数据。
可选地,所述处理器执行所述确定所述终端设备在所述目标定位坐标系中的X轴的坐标值的程序时实现以下步骤:
确定能够进行终端设备定位的定位信号源的个数;
当所述定位信号源的个数大于或等于两个时,确定目标定位坐标系下的终端设备的X轴的坐标值;
其中,所述目标定位坐标系的X轴方向为沿至少两个定位信号源呈线性布置的方向。
进一步地,所述处理器执行所述确定能够进行终端设备定位的定位信号源的个数的程序时实现以下步骤:
判断终端设备能够接收到定位信号的定位信号源的个数;
在终端设备能够接收到的定位信号的定位信号源的个数大于三的情况下,判断每一个定位信号源的定位信号发送时所对应的子帧与终端设备接收定位信号时所对应的子帧号间隔;
确定所述子帧号间隔小于或等于预设值的定位信号所对应的第一定位信号源;
若所述第一定位信号源的个数大于三个,确定能够进行终端设备定位的定位信号源的个数为三个,且三个定位信号源为第一定位信号源中信号功率最大的三个定位信号源;
若所述第一定位信号源的信号的个数小于或等于三个,则确定能够进行终端设备定位的定位信号源的个数为所述第一定位信号源的个数。
进一步地,所述处理器执行所述判断终端设备能够接收到定位信号的定位信号源的个数的程序之后,所述处理器执行所述程序时还实现以下步骤:
在能够接收到的定位信号的定位信号源的个数小于或等于三的情况下,则确定能够进行终端设备定位的定位信号源的个数为终端设备能够接收到的定位信号的定位信号源的个数。
进一步地,所述目标定位坐标系的确定原则,包括:
当定位信号源的个数为三个时,确定三个定位信号源中的一个为参考定位信号源,以参考定位信号源的坐标为原点,经过原点的直线作为目标定位坐标系下的X轴,并且保证三个定位信号源中其他两个定位信号源在目标定位坐标系下的Y轴坐标关于X轴对称;或者
当定位信号源的个数为两个时,确定两个定位信号源中的一个为参考定位信号源,以参考定位信号源的坐标为原点,设置通过两个定位信号源的直线为目标定位坐标系下的X轴。
具体地,所述处理器执行所述确定目标定位坐标系下的终端设备的X轴的坐标值的程序时实现以下步骤:
当定位信号源的个数为三个时,根据目标定位坐标系下的三个定位信号源的坐标,确定终端设备在目标定位坐标系下的X轴的坐标值;或者
当定位信号源的个数为两个时,根据目标定位坐标系下的两个定位信号源的坐标,并根据历史估计的时钟值的均值,确定终端设备在目标定位坐标系下的X轴的坐标值。
进一步地,所述处理器执行所述确定能够进行终端设备定位的定位信号源的个数的程序之后,所述处理器执行所述程序时还实现以下步骤:
当所述定位信号源的个数等于一个时,根据历史估计的终端设备在目标定位坐标系中的坐标值,计算当前时刻的终端设备目标定位坐标系中的坐标值;
其中,所述目标定位坐标系为终端设备所处的当前环境下的定位坐标系。
具体地,所述处理器执行所述基于所述终端设备的X轴的坐标值,确定所述终端设备的Y轴的坐标值和Z轴的坐标值的程序时实现以下步骤:
基于所述终端设备的X轴的坐标值,确定终端设备在目标定位坐标系中的Y轴的坐标值;
根据X轴的坐标值和Y轴的坐标值,获取终端设备在所处当前环境下的定位坐标系中的Z轴的坐标值。
进一步地,所述处理器执行所述确定终端设备在目标定位坐标系中的Y轴的坐标值的程序时实现以下步骤:
获取终端设备所在的车道信息;
根据所述车道信息,确定终端设备在目标定位坐标系中的Y轴的坐标值。
具体地,所述处理器执行所述根据所述车道信息,确定终端设备在目标定位坐标系中的Y轴的坐标值的程序时实现以下步骤:
根据所述终端设备所在的车道信息与所述终端设备的X轴的坐标值,确定终端设备在目标定位坐标系中的Y轴的坐标值。
具体地,所述处理器执行所述根据X轴的坐标值和Y轴的坐标值,获取终端设备在当前环境下的定位坐标系中的Z轴的坐标值的程序时实现以下步骤:
确定终端设备在当前环境下的定位坐标系中的二维坐标;
根据所述二维坐标以及当前环境的地图信息,确定终端设备所在位置的第一高度;
根据所述第一高度以及终端设备相对于当前环境的地面的高度,确定终端设备在当前环境下的定位坐标系中的Z轴的坐标值。
进一步地,所述处理器执行所述对所述终端设备的X轴的坐标值、Y轴的坐标值和Z轴的坐标值进行误差控制,得到所述终端设备的三维坐标值的程序时实现以下步骤:
将终端设备的X轴的坐标值、Y轴的坐标值和Z轴的坐标值与预设定位数据结合,通过卡尔曼滤波算法进行定位精度的控制,获取终端设备的三维坐标值。
具体地,所述预设定位数据包括:通过惯性导航系统得到的定位数据。
具体地,所述处理器执行获取定位信号源到终端设备的伪距值的程序时实现以下步骤:
根据第i个定位信号源所发送的定位信号,获取包含钟差的时间延迟量;
根据所述时间延迟量,确定第i个定位信号源到终端设备的伪距值;
其中,i为正整数。
本发明实施例还提供一种可读存储介质,其上存储有程序,其中,所述程序被处理器执行时实现应用于终端设备的定位方法的步骤。
本发明实施例另提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现上述定位方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
应理解,本申请实施例提到的芯片还可以称为系统级芯片、系统芯片、芯片系统或片上系统芯片等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。此外,需要指出的是,本申请实施方式中的方法和装置的范围不限按示出或讨论的顺序来执行功能,还可包括根据所涉及的功能按基本同时的方式或按相反的顺序来执行功能,例如,可以按不同于所描述的次序来执行所描述的方法,并且还可以添加、省去、或组合各种步骤。另外,参照某些示例所描述的特征可在其他示例中被组合。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
以上所述的是本发明的优选实施方式,应当指出对于本技术领域的普通人员来说,在不脱离本发明所述的原理前提下还可以作出若干改进和润饰,这些改进和润饰也在本发明的保护范围内。