一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

定位方法、装置、电子设备及计算机存储介质与流程

2022-08-31 05:23:10 来源:中国专利 TAG:


1.本发明实施例涉及地理信息技术领域,尤其涉及一种定位方法、装置、电子设备及计算机存储介质。


背景技术:

2.随着智能手机和车载终端硬件能力的提升,越来越多安装在这些设备上的应用软件开始借助定位技术,为用户提供相应的服务。常见的,比如地图导航应用,借助定位技术获得被导航设备的位置,从而为该设备提供导航引导服务,还有天气类应用,借助定位技术为用户提供用户当前所在地的天气情况,更进一步,在智能驾驶场景,需要借助定位技术获取车辆的位置信息,为车辆的辅助驾驶功能或者自动驾驶功能提供精确的位置数据。
3.现有技术中,设备通常采用卫星定位技术进行定位,比如,设备根据接收到的gps卫星信号确定设备的位置,这种方法设备需要接收到至少4颗卫星的gps信号才能确定出设备的位置,但如果设备处于卫星信号不好的环境,经常会出现无法定位出设备位置的问题。


技术实现要素:

4.有鉴于此,本发明实施例提供一种定位方案,以至少部分解决上述问题。
5.根据本发明实施例的第一方面,提供了一种定位方法,包括:根据目标对象的第k时刻的估计位置信息和所述第k时刻所述目标对象接收到卫星信号的两个定位卫星的卫星位置信息,确定所述目标对象在第k时刻的高度;根据所述目标对象所在路径上的目标道路点的经度和纬度、所述高度和两个定位卫星的所述卫星位置信息,确定目标道路点与每个定位卫星的伪距残差及伪距残差之间的差值;将差值最小的目标道路点的经度和纬度,确定为所述目标对象在第k时刻的定位结果。。
6.根据本发明实施例的第二方面,提供了一种定位装置,包括:第一确定模块,用于根据目标对象的第k时刻的估计位置信息和所述第k时刻所述目标对象接收到卫星信号的两个定位卫星的卫星位置信息,确定所述目标对象在第k时刻的高度;第二确定模块,用于根据所述目标对象所在路径上的目标道路点的经度和纬度、所述高度和两个定位卫星的所述卫星位置信息,确定目标道路点与每个定位卫星的伪距残差及伪距残差之间的差值;第三确定模块,用于将差值最小的目标道路点的经度和纬度,确定为所述目标对象在第k时刻的定位结果。
7.根据本发明实施例的第三方面,提供了一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如第一方面所述的定位方法对应的操作。
8.根据本发明实施例的第四方面,提供了一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面所述的定位方法。
9.根据本发明实施例提供的定位方案,在目标对象处于信号不好的环境中,无法接
收到足够数量(如4个或4个以上)的卫星的发射信号时,能够仅基于获得的第k时刻的两个定位卫星的卫星位置信息、以及目标对象在第k时刻的估计位置信息,计算出目标对象的高度,进而依据该高度和两个定位卫星的卫星位置信息,从为目标对象所在路径的多个目标道路点中确定最接近目标对象的目标道路点,以该目标道路点的经度和纬度作为目标对象在第k时刻的定位结果。这样就实现了在无法接收到足够多的定位卫星的发射信号的情况,基于两个定位卫星的卫星位置信息和所在路径的目标道路点,实现对目标对象的准确定位。
附图说明
10.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
11.图1a为根据本发明实施例一的一种定位方法的步骤流程图;
12.图1b为一种使用场景的规划路径的示意图;
13.图1c为图1a所示实施例中的一种场景示例的示意图;
14.图2为根据本发明实施例二的一种定位方法的步骤流程图;
15.图3为根据本发明实施例三的一种定位方法的步骤流程图;
16.图4为根据本发明实施例四的一种定位装置的结构框图;
17.图5为根据本发明实施例五的一种电子设备的结构示意图。
具体实施方式
18.为了使本领域的人员更好地理解本发明实施例中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明实施例一部分实施例,而不是全部的实施例。基于本发明实施例中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于本发明实施例保护的范围。
19.下面结合本发明实施例附图进一步说明本发明实施例具体实现。
20.实施例一
21.参照图1a,示出了本发明实施例一的定位方法的步骤流程图。
22.在本实施例中,定位方法包括以下步骤:
23.步骤s102:根据目标对象的第k时刻的估计位置信息和所述第k时刻所述目标对象接收到卫星信号的两个定位卫星的卫星位置信息,确定所述目标对象在第k时刻的高度。
24.目标对象可以是用户的可联网且搭载了gnss接收机的终端设备,如手机、pad、车机或者其他设备。
25.定位卫星的卫星位置信息可以从目标对象接收的卫星信号中获得。卫星位置信息包括但不限于卫星坐标和卫星信号播发时间。其中,卫星坐标是定位卫星在地心坐标系中的坐标,播发时间是发射该卫星信号的时间(根据定位卫星上搭载的设备时钟确定)。
26.目标对象的估计位置信息中包括目标对象的经度和纬度,该经度和纬度可以是基于卫星定位解算得到的经度和纬度,也可以基于网络定位服务获得的经度和纬度。
27.目标对象在地心坐标系下的第一坐标,记作(x,y,z),其可以与目标对象的经度、纬度和高度之间相互转换,基于此,可以将目标对象的第一坐标表示为与经度、纬度和高度相关的表达式。
28.基于目标设备的设备钟差(即设备的时钟误差)在某一时刻固定的原理,可以基于两个定位卫星在地心坐标系中的卫星坐标和卫星信号播发时间、结合目标对象在地心坐标系中的第一坐标,建立方程,由于该方程中唯一的未知数为目标对象的高度,因此,通过解算前述方程可以确定目标对象的高度。
29.步骤s104:根据目标对象所在路径上的目标道路点的经度和纬度、所述高度和两个定位卫星的卫星位置信息,计算所述道路点与每个定位卫星的伪距残差及伪距残差之间的差值。
30.针对不同的应用场景,目标对象所在路径可以通过不同的方式确定。例如,在巡航场景中,目标对象的所在路径可以根据第k-1时刻的定位结果匹配到相应的路径。
31.或者,该方法也可以应用到导航场景,在导航等场景中,目标对象需要先向导航服务请求相应的导航规划路径,导航路径中的道路通常包含多个道路点,以道路点集合的方式表示,例如图1b中示出了一条包含5个道路点的规划路径,该规划路径可以认为是目标对象所在路径。每个道路点的属性至少包括:道路点位置信息,道路点位置信息包括道路点的经度和纬度。
32.在目标对象沿导航规划路径行驶的情况下,可以从导航规划路径的道路点中确定与目标对象最接近的道路点,也就是与两个定位卫星的伪距残差的差值最小的道路点。在一种可行方式中,针对导航规划路径上的道路点,执行如下过程:
33.步骤a0:根据步骤s102计算出的高度和道路点的经度和纬度,确定该道路点在地心坐标系中的第二坐标;
34.步骤b0:根据该第二坐标和两个定位卫星的卫星位置信息,确定道路点与每个定位卫星的伪距残差及两个伪距残差的差值。
35.该差值越小,表示道路点与卫星之间的距离越接近观测到的伪距,也就是说,该道路点越接近目标对象的真实位置。
36.前述的伪距是指目标对象与定位卫星之间的逻辑距离,也就是根据卫星信号播发时间(其携带在卫星信号中,该时间根据卫星上的时钟确定)和接收时间(目标设备以自身设备时钟确定接收到该卫星信号的时间,在本实施例中接收时间即为第k时刻对应的时间)的时间差乘以光速确定。卫星上的时钟和目标对象上的时钟均有可能存在误差,因此根据其计算出的距离为伪距,也就是指包含误差的距离。
37.伪距残差是指伪距(也可以理解为通过观测获得的距离)与实际距离(根据坐标估算出的距离)之间的误差,该误差应当是排除设备钟差等误差后的差值。
38.步骤s106:将差值最小的目标道路的经度和纬度,确定为所述目标对象在第k时刻的定位结果。
39.基于前述的原理,多个差值中最小的差值对应的目标道路点即为与目标对象距离最近的目标道路点,可以将该目标道路点的经度和纬度作为目标对象在第k时刻的定位结果。
40.以上是本发明实施例一提供的方案,如背景技术所述,,通过卫星定位时,一般情
况下需要至少4个卫星的卫星信号,才能解算出目标对象的位置,在存在遮挡导致卫星信号不好的情况下,目标对象经常会出现不能接收到4个卫星的信号的情况,这时目标对象(如终端)也无法通过卫星实现定位,而本发明提供的方案在目标对象仅接收到两个定位卫星的卫星信号时,结合所在路径(如规划的导航路径)的数据准确地确定出目标对象的经度和纬度,从而实现对目标对象的准确定位。这种方式针对任何具有道路点的经度和纬度的路径均可用,适用性更好,不需要局限于特定道路。
41.参见图1c,其示出了一使用场景中,根据双星的卫星信号结合所在路径的数据(如路网中的路径数据)对目标对象进行定位的示意图。
42.在本使用场景中,以目标对象所在路径为规划路径为例,目标对象可以是用户携带的手机。在第t1时刻第一个卫星g01发射卫星信号1,在第t2时刻第二个卫星g02发射卫星信号2。在第k时刻(由于卫星时钟和手机的时钟误差不同,卫星上时钟的时间线和手机上时钟的时间线不存在严格的先后关系,因此在本使用场景中以卫星时钟计量的时间(如播发时间)和手机时钟计量的时间(如接收时间)采用不同的表示方式以便于区分)手机分别接收到卫星信号1和卫星信号2,并分别对其进行解码处理,获得卫星位置信息,卫星位置信息中包含有卫星信号1的播发时间t1,根据第一个卫星g01的星历,确定播发时间t1时第一个卫星g01的卫星坐标p1(表示为(x
(1)
,y
(1)
,z
(1)
))。类似地,对卫星信号2进行处理,获得第二个卫星g02在播发时间t2时的卫星坐标p2(表示为(x
(2)
,y
(2)
,z
(2)
))。
43.基于目标对象在第k时刻的估计位置信息中的经度和纬度,确定目标对象在第k时刻的第一坐标的表达式,该表达式如下:
44.x=(n h)cos(lat)cos(lon)
45.y=(n h)cos(lat)sin(lon)
46.z=[n(1-e2) h]sin(lat),其中,x、y、z为目标对象在地心坐标系中的位置,n是地球的曲率半径,e为椭球偏心率,,lat和lon为估计位置信息中的经度和纬度,由此可以看出,该表达式中的未知数为高度。
[0047]
进而可以构建方程:
[0048][0049]
其中,为第一个卫星g01与目标对象之间的伪距,其为第k时刻减去播发时间t1的时间差乘以光速。
[0050]
为第一个卫星g01与目标对象之间的估算距离。
[0051]
为第二个卫星g02与目标对象之间的伪距,其为第k时刻减去播发时间t2的时间差乘以光速。
[0052]
为第二个卫星g02与目标对象之间的估算距离。
[0053]
上述方程中,x、y和z均可以替换为以高度表示的形式,其余为已知参数,因此通过
解算方程可以确定目标对象在第k时刻的高度。
[0054]
针对目标对象对应的规划路径上的多个目标道路点,基于高度和目标道路点的经度和纬度,可以计算出每个目标道路点对应的第二坐标。
[0055]
针对道路点m,根据第一个卫星g01的伪距、卫星坐标p1和道路点m的第二坐标,可以计算出第一个卫星与道路点m的伪距残差。类似地,根据第二个卫星g02d伪距、卫星坐标p2和道路点m的第二坐标,可以计算出第二卫星g02与道路点m的伪距残差。进而将两个伪距残差相减的结果取绝对值,作为道路点m的伪距残差的差值。
[0056]
针对每个道路点都计算出对应的伪距残差的差值后,可以选取差值最小的道路点,将该道路点的经度和纬度作为目标对象的定位结果,以此实现对目标对象的定位。
[0057]
通过本实施例,在目标对象处于信号不好的环境中,无法接收到足够数量(如4个或4个以上)的卫星的发射信号时,能够仅基于获得的第k时刻的两个定位卫星的卫星位置信息、以及目标对象在第k时刻的估计位置信息,计算出目标对象的高度,进而依据该高度和两个定位卫星的卫星位置信息,从为目标对象所在路径的多个目标道路点中确定最接近目标对象的目标道路点,以该目标道路点的经度和纬度作为目标对象在第k时刻的定位结果。这样就实现了在无法接收到足够多的定位卫星的发射信号的情况,基于两个定位卫星的卫星位置信息和所在路径的目标道路点,实现对目标对象的准确定位。
[0058]
本实施例的定位方法可以由任意适当的具有数据处理能力的电子设备执行,包括但不限于:服务器、移动终端(如平板电脑、手机等)和pc机等。
[0059]
实施例二
[0060]
参照图2,示出了本技术的实施例二的定位方法的步骤流程图。
[0061]
在本实施例中,定位方法包括前述的步骤s102~步骤s106。其中,步骤s102包括以下子步骤:
[0062]
子步骤s1021:根据所述目标对象的第k-1时刻的定位结果指示的经度和纬度或者所述目标对象在第k时刻的网络定位信息指示的经度和纬度,确定所述目标对象在第k时刻的估计位置信息。
[0063]
在一种可行方式中,若第k-1时刻与第k时刻的时间差小于或等于预设时间间隔(如1秒、10秒或30秒等),则将第k-1时刻的定位结果指示的经度和纬度作为第k时刻的估计位置信息。
[0064]
在另一种可行方式中,若第k-1时刻与第k时刻的时间差大于预设时间间隔,则获取第k时刻的网络定位信息指示的经度和纬度作为目标对象在第k时刻的估计位置信息。
[0065]
网络定位信息可以是通过扫描到的基站、wifi等网络设备确定的位置信息。网络定位信息的获取方式本领域技术人员可以根据需要采用任何适当的方式实现,本实施例对此不作限制。
[0066]
子步骤s1022:根据所述估计位置信息中的经度和纬度、以及两个所述定位卫星在第k时刻的卫星位置信息,确定所述目标对象在第k时刻的高度。
[0067]
在一可行方式中,子步骤s1022包括以下过程:
[0068]
过程a1:根据地球的曲率半径、椭球偏心率、以及所述估计位置信息中的经度和纬度,确定所述目标对象在地心坐标系中的第一坐标的表达式。
[0069]
目标对象在地心坐标系中的第一坐标(记作(x,y,z))与目标对象的经度、维度和
高度相互转换的表达式如下:
[0070]
x=(n h)cos(lat)cos(lon)
[0071]
y=(n h)cos(lat)sin(lon)
[0072]
x=[n(1-e2) h]sin(lat)
[0073]
其中,n为地球的曲率半径,e为地心坐标系中地球模型的椭球偏心率,h为目标对象的高度,lat为目标对象的纬度,lon为目标对象的经度。
[0074]
在估计位置信息中包括目标对象的经度和纬度的情况下,仅有高度为未知数,也就是说,所述第一坐标的表达式包含该高度,是以高度为未知数根的表达式。
[0075]
过程a2:根据两个所述卫星位置信息中的卫星坐标和所述目标对象在第k时刻的第一坐标的表达式,分别确定以高度为未知数表示的两个所述定位卫星与所述目标对象的估算距离。
[0076]
针对第一个卫星g01,根据卫星位置信息中的播发时间t1和星历,确定卫星坐标p1,表示为(x
(1)
,y
(1)
,z
(1)
),根据距离计算公式,确定第一个卫星g01与目标对象之间的估算距离d1,表示为:
[0077]
类似地,针对第二个卫星g02,根据卫星位置信息中的播发时间t2和星历,确定卫星坐标p2,表示为(x
(2)
,y
(2)
,z
(2)
)),根据距离计算公式,确定第二个卫星g02与目标对象之间的估算距离d2,表示为:
[0078]
过程a3:根据两个所述卫星位置信息中的信号的播发时间、第k时刻和光度,分别确定两个所述定位卫星与所述目标对象的伪距。
[0079]
针对第一个卫星g01,根据第一个卫星g01的播发时间t1和接收到卫星信号1的接收时间第k时刻,确定时间差,该时间差乘以光速即为目标对象与第一个卫星g01之间的伪距,记作需要说明的是,,由于在卫星信号1传输过程中可能受到噪声污染(如电离层误差),而且接收时间中也存在设备钟差,因此计算的伪距包含误差。
[0080]
针对第二个卫星g02,根据第二个卫星g02的播发时间t2和接收到卫星信号2的接收时间第k时刻,确定时间差,该时间差乘以光速即为目标对象与第二个卫星g02之间的伪距,记作
[0081]
过程a4:根据两个所述估算距离和两个所述伪距,确定所述目标对象在第k时刻的高度。
[0082]
基于最小二乘法可知,估算距离和伪距之间存在着下述关系:目标对象与定位卫星之间的估算距离与设备钟差导致的误差之和等于目标对象与卫星之间的伪距。以第一个卫星g01为例,其可以表示为:
[0083][0084]
其中,x
(1)
、y
(1)
和z
(1)
为第一个卫星g01的卫星坐标p1;
[0085]
x、y和z为目标对象在地心坐标系下的第一坐标;
[0086]
为目标对象与第一个卫星g01之间的估算距离;
[0087]
tu为目标对象的设备钟差,即设备时钟的误差;
[0088]
δtu为误差;
[0089]
为第一个卫星与目标对象之间的伪距。
[0090]
由于目标对象在某一时刻的设备钟差应当是固定值,也就是说误差δtu为固定值。因此,针对两个卫星可以建立方程如下:
[0091][0092]
该方程中,两个伪距为已知值,第一个卫星g01和第二卫星g02的卫星坐标也是已知值,而目标对象的第一坐标是以高度作为未知数的表达式,因此该方程中仅有的未知数为目标对象的高度,通过解算该方程可以求得目标对象的高度。
[0093]
通过这种方式可以准确、快速地确定出目标对象的高度,而且仅需获得2个定位卫星的卫星位置信息即可,确保了即使在卫星信号较少的环境中也能够获得目标对象的高度,进而保证了后续能够对目标对象进行准确定位。
[0094]
通过本实施例,在目标对象处于信号不好的环境中,无法接收到足够数量(如4个或4个以上)的卫星的发射信号时,能够仅基于获得的第k时刻的两个定位卫星的卫星位置信息、以及目标对象在第k时刻的估计位置信息,计算出目标对象的高度,进而依据该高度和两个定位卫星的卫星位置信息,从为目标对象所在路径的多个目标道路点中确定最接近目标对象的目标道路点,以该目标道路点的经度和纬度作为目标对象在第k时刻的定位结果。这样就实现了在无法接收到足够多的定位卫星的发射信号的情况,基于两个定位卫星的卫星位置信息和所在路径的目标道路点,实现对目标对象的准确定位。
[0095]
本实施例的定位方法可以由任意适当的具有数据处理能力的电子设备执行,包括但不限于:服务器、移动终端(如平板电脑、手机等)和pc机等。
[0096]
实施例三
[0097]
参照图3,示出了本技术实施例三的定位方法的步骤流程示意图。
[0098]
在本实施例中,定位方法包括前述的步骤s102~步骤s106。其中,在步骤s104之前,还可以包括步骤s102a和步骤s102b,以从目标对象所在路径包含的多个道路点中确定目标道路点。例如,对多个道路点进行粗搜和精搜至少两次搜索。其中,粗搜中所在路径上的道路点的分布较为稀疏,通过粗搜从多个道路点中确定与目标对象最为接近的初筛道路点。然后,再依据初筛道路点进行至少一次精搜,以获得与目标对象最接近的目标道路点。
[0099]
在一具体实现中,在步骤s102之后可以执行步骤s102a和步骤s102b:
[0100]
步骤s102a:对所述目标对象对应的所在路径进行第一粒度插值处理,以获得多个候选道路点,并从多个所述候选道路中确定初筛道路点。
[0101]
在本步骤中,可以通过下述过程实现对所在路径中的道路点进行粗搜,获得初筛道路点。
[0102]
过程a2:按照第一粒度指示的相邻两个候选道路点之间的距离对所述所在路径进行插值处理,获得多个候选道路点。
[0103]
为了保证在搜索道路点时是等间距搜索,从而保证定位准确性,可以对所在路径进行插值处理,也就是在所在路径上增加道路点,这样可以解决所在路径上不同的路段的长度不同,导致道路点之间的距离不一的问题。为了便于说明,对所在路径按照第一粒度进行插值处理获得道路点记作候选道路点。
[0104]
在本实施例中,第一粒度用于指示相邻两个候选道路点之间的距离,该距离可以为第一设定值。根据计算量、计算时间和粗搜精度的不同,可以确定不同的距离。例如,第一设定值可以是100米、50米、30米等等。
[0105]
以50m为例,针对所在路径,以其起点为起点(即第一个候选道路点),每隔50m插值一个候选道路点。若所在路径终点前的候选道路点与所在路径的终点之间的距离小于50m,则将这部分路径舍弃。
[0106]
由于已知所在路径上的多个道路点的经度和纬度,因此在进行插值处理后,也可以确定每个候选道路点的经度和纬度。
[0107]
过程b2:根据所述高度、以及所述候选道路点的经度和纬度,确定所述候选道路点在所述地心坐标系中的第二坐标。
[0108]
在已经计算出高度的情况下,可以根据前述的坐标与经度和纬度的转换方程,计算出每个候选道路点的第二坐标。其转换过程与获得第一坐标的过程类似,故不再赘述。
[0109]
过程c2:根据两个所述定位卫星的卫星位置信息、多个所述第二坐标,确定与两个所述定位卫星的伪距残差的差值最小的候选道路点作为所述初筛道路点。
[0110]
由于需要在多个候选道路点中选择与目标对象最接近的候选道路点,因此,需要分别计算两个定位卫星与目标对象的伪距。针对第一个卫星g01,根据其播发时间t1和第k时刻,确定时间差,该时间差乘以光速得到目标对象与第一个卫星g01的伪距类似地,针对第二个卫星g02,根据其播发时间t2和第k时刻,确定时间差,该时间差乘以光速得到目标对象与第二个卫星g02的伪距
[0111]
针对多个候选道路点中的当前候选道路点,计算当前候选道路点与第一个卫星g01的估算距离,以及计算当前候选道路点与第二个卫星g02的估算距离,计算方式如下:
[0112]
针对第一个卫星g01,根据卫星位置信息中的卫星坐标p1和当前候选道路点的第二坐标p3(表示为(x3,y3,z3)),确定估算距离d3,表示为:
[0113]
针对第二个卫星g02,根据卫星位置信息中的卫星坐标p2和当前候选道路点的第二坐标p3,确定估算距离d4,表示为:
[0114]
当前候选道路点与第一个卫星g01的伪距残差可以表示为:
[0115][0116]
当前候选道路点与第二个卫星g02的伪距残差可以表示为:
[0117][0118]
伪距残差的差值记作resp,其可以表示为:
[0119][0120]
其中,abs()表示为取绝对值,也就是求取两个伪距残差的差值的绝对值。
[0121]
在确定当前候选道路点的伪距残差的差值后,可以从多个候选道路点中重新确定一个新的当前候选道路点,并重复上述过程计算伪距残差的差值,如此重复直至获得所有候选道路点的伪距残差的差值。
[0122]
从所有的候选道路点的伪距残差的差值中确定最小的一个,将最小的一个对应的候选道路点确定为初筛道路点。
[0123]
步骤s102b:从所述所在路径中截取与所述初筛道路点对应的初筛道路,并对所述初筛道路进行第二粒度插值处理,以获得多个目标道路点。
[0124]
为了减少计算量,提升计算速度和定位速度,并确保定位精度,步骤s102b包括以下过程:
[0125]
过程a3:在所述所在路径中,沿所述初筛道路点向前和向后分别扩展设定长度,并获得扩展出的所述初筛道路。
[0126]
其中,所述设定长度的值大于或等于所述第一设定值。例如,若按照第一粒度进行插值处理时,第一粒度对应的第一设定值为50m,则设定长度应大于或等于50m。
[0127]
以设定长度等于50m为例,沿着所在路径,从初筛道路点向前扩展50m,确定初筛道路的起点,向后扩展50m,确定初筛道路的终点。
[0128]
过程b3:按照第二粒度指示的相邻两个所述目标道路点之间的距离对所述初筛道路进行插值处理,并获得多个目标道路点。
[0129]
以初筛道路的起点为起点,按照第二粒度对初筛道路进行插值处理,获得多个目标道路点。其中,第二粒度用于指示相邻两个目标道路点之间的距离,该距离可以等于第二设定值,第二设定值可以根据需要确定,如20m、10m、5m、1m等等。
[0130]
为了保证定位精度,实现精搜效果,相邻两个所述候选道路点之间的距离大于相邻两个所述目标道路点之间的距离。
[0131]
例如,第二粒度对应的第二设定值为10m,则针对初筛道路每隔10m插入一个目标道路点,以此获得多个目标道路点。
[0132]
在已知初筛道路点的经度和纬度的情况下,插值处理获得的多个目标道路点的经度和纬度也可以计算出来。
[0133]
后续在步骤s104中可以根据计算出的高度和两个定位卫星的卫星位置信息分别计算各目标道路点与两个定位卫星的伪距残差和伪距残差之间的差值,以确定与目标对象最接近的目标道路点。
[0134]
在本步骤中,由于目标对象的所在路径上包括多个目标道路点,针对每个目标道路点均需要计算伪距残差,进而计算伪距残差的差值,因此每个目标道路点均可以通过下述的过程计算伪距残差和伪距残差的差值。
[0135]
过程a4:根据所述目标道路点的经度和纬度、以及所述高度,确定所述目标道路点在地心坐标系中的第三坐标。
[0136]
针对某个目标道路点,根据其经度和纬度、和已经计算出的高度确定第三坐标的
过程与前述的计算第一坐标的过程类似,故不再赘述。
[0137]
在本实施例中,目标道路点的第三坐标p5表示为(x5,y5,z5)
[0138]
过程b4:根据所述第k时刻、光速、以及两个所述定位卫星的卫星位置信息中的播发时间,分别确定两个所述定位卫星与所述目标道路点之间的伪距。
[0139]
为了便于说明,将两个定位卫星分别记作第一个卫星g01和第二个卫星g02。
[0140]
目标道路点与第一个卫星g01之间的伪距记作第一伪距,第一伪距等于第一个卫星的卫星信号的播发时间t1与第k时刻的时间差再乘以光速。以公式可以表示为:
[0141]
第一伪距=(第k时刻对应的时间-播发时间t1)*光速c。
[0142]
类似地,目标道路点与第二个卫星g02之间的伪距记作第二伪距,第二伪距以公式可以表示为:
[0143]
第二伪距=(第k时刻对应的时间

播发时间t2)*光速c。
[0144]
过程c4:根据所述第三坐标和两个所述定位卫星的卫星位置信息,分别确定所述目标道路点与两个所述定位卫星之间的估算距离。
[0145]
为了描述清楚,对两个定位卫星的估算距离的计算过程进行分别说明:
[0146]
目标道路点与第一个卫星g01的估算距离记作第一估算距离,以公式表示为:
[0147][0148]
目标道路点与第二个卫星g02的估算距离记作第二估算距离,以公式表示为:
[0149][0150]
过程d4:根据所述目标道路点与其中一个所述定位卫星的伪距和估算距离,确定第一伪距残差,并根据所述目标道路点与另一个所述定位卫星的伪距和估算距离确定第二伪距残差。
[0151]
第一伪距残差即为第一伪距与第一估算距离的差,需要说明的是,第一伪距残差中包括有电离层误差、设备钟差等等的误差。类似地,第二伪距残差即为第二伪距与第二估算距离的差。
[0152]
过程e4:将所述第一伪距残差和所述第二伪距残差的差值的绝对值,确定为所述目标道路点与每个所述定位卫星的伪距残差之间的差值。
[0153]
通过第一伪距残差和第二伪距残差相减,并将相减的差求绝对值的方式抵消了设备钟差和大部分的电离层误差等,从而使得与目标对象越接近的目标道路点对应的伪距残差的差值越小,以此保证了能够根据伪距残差的差值确定与目标对象最接近的目标道路点。
[0154]
伪距残差的差值可以表示为:
[0155][0156]
通过上述过程可以计算出一个目标道路点与两个定位卫星之间的伪距残差、以及伪距残差之间的差值,通过伪距残差的差值可以表示目标道路点与目标对象实际位置之间的偏差。通过步骤s104可以计算出每个目标道路点对应的伪距残差的差值。这样在后续步骤s106中可以选择伪距残差的差值最小的一个目标道路点,将差值最小的目标道路点的经
度和纬度确定为目标对象的定位结果。
[0157]
通过这种方式,在实时导航或者巡航过程中获取所在路径,然后结合两颗定位卫星(如gnss卫星)的卫星位置信息即可进行解算,从而确定目标对象在第k时刻的目标位置信息。这样通过获取路网数据进行定位,不依赖于固定路线,而且可以利用上一时刻或者网络定位点当作估计位置信息(也就是初始值),然后先计算高度,再根据高度进行定位。在定位时,利用双星(即两个定位卫星)残差之差作为依据,从所在路径的道路点中进行搜索最接近的道路点实现定位,解决了常用的定位方法需要至少4颗卫星的位置信息才能进行定位,当用户处在卫星信号差的场景下无法进行定位的问题。
[0158]
而且这种方式不依赖于固定的路线,适用性更好。由于考虑了高度,因此不论何种定位卫星的卫星位置信息均可以用于定位,而且使用网络定位作为估计位置信息,不需要确定目标对象的运动模型也可以进行定位,且定位精度更高、准确性更好。
[0159]
本实施例的定位方法可以由任意适当的具有数据处理能力的电子设备执行,包括但不限于:服务器、移动终端(如平板电脑、手机等)和pc机等。
[0160]
实施例四
[0161]
参照图4,示出了本技术实施例四的定位装置的结构框图。
[0162]
本实施例的定位装置包括:
[0163]
第一确定模块402,用于根据目标对象的第k时刻的估计位置信息和所述第k时刻所述目标对象接收到卫星信号的两个定位卫星的卫星位置信息,确定所述目标对象在第k时刻的高度;
[0164]
第二确定模块404,用于根据所述目标对象所在路径上的目标道路点的经度和纬度、所述高度和两个定位卫星的所述卫星位置信息,确定目标道路点与每个定位卫星的伪距残差及伪距残差之间的差值;
[0165]
第三确定模块406,用于将差值最小的目标道路点的经度和纬度,确定为所述目标对象在第k时刻的定位结果。
[0166]
可选地,所述第一确定模块402包括:
[0167]
第四确定模块4021,用于根据所述目标对象的第k-1时刻的定位结果指示的经度和纬度或者所述目标对象在第k时刻的网络定位信息指示的经度和纬度,确定所述目标对象在第k时刻的估计位置信息;
[0168]
第五确定模块4022,用于根据所述估计位置信息中的经度和纬度、以及两个所述定位卫星在第k时刻的卫星位置信息,确定所述目标对象在第k时刻的高度。
[0169]
可选地,所述第五确定模块4022用于根据地球的曲率半径、椭球偏心率、以及所述估计位置信息中的经度和纬度,确定所述目标对象在地心坐标系中的第一坐标的表达式,所述表达式中包含目标对象的高度;根据两个所述卫星位置信息中的卫星坐标和所述目标对象在第k时刻的第一坐标的表达式,分别确定以高度为未知数表示的两个所述定位卫星与所述目标对象的估算距离;根据两个所述卫星位置信息中的信号的播发时间、第k时刻和光速,分别确定两个所述定位卫星与所述目标对象的伪距;根据两个所述估算距离和两个所述伪距,确定所述目标对象在第k时刻的高度。
[0170]
可选地,装置还包括:第一插值模块402a用于对所述目标对象所在路径进行第一粒度插值处理,以获得多个候选道路点,并从多个所述候选道路中确定初筛道路点;第二插
值模块402b从所述所在路径中截取与所述初筛道路点对应的初筛道路,并对所述初筛道路进行第二粒度插值处理,以获得多个目标道路点,其中,相邻两个所述候选道路点之间的距离大于相邻两个所述目标道路点之间的距离。
[0171]
可选地,所述第一插值模块402a用于按照第一粒度指示的相邻两个候选道路点之间的距离对所述所在路径进行插值处理,获得多个候选道路点;根据所述高度、以及所述候选道路点的经度和纬度,确定所述候选道路点在所述地心坐标系中的第二坐标;根据两个所述定位卫星的卫星位置信息、多个所述第二坐标,确定与两个所述定位卫星的伪距残差的差值最小的候选道路点作为所述初筛道路点。
[0172]
可选地,所述第二插值模块402b用于在所述所在路径中,沿所述初筛道路点向前和向后分别扩展设定长度,并获得扩展出的所述初筛道路,其中,所述设定长度的值大于或等于第一粒度指示的相邻两个候选道路点之间的距离;按照第二粒度指示的相邻两个所述目标道路点之间的距离对所述初筛道路进行插值处理,并获得多个目标道路点。
[0173]
可选地,第二确定模块404用于根据所述目标道路点的经度和纬度、以及所述高度,确定所述目标道路点在地心坐标系中的第三坐标;根据所述第k时刻、光速、以及两个所述定位卫星的卫星位置信息中的播发时间,分别确定两个所述定位卫星与所述目标道路点之间的伪距;根据所述第三坐标和两个所述定位卫星的卫星位置信息,分别确定所述目标道路点与两个所述定位卫星之间的估算距离;根据所述目标道路点与其中一个所述定位卫星的伪距和估算距离,确定第一伪距残差,并根据所述目标道路点与另一个所述定位卫星的伪距和估算距离确定第二伪距残差;将所述第一伪距残差和所述第二伪距残差的差值的绝对值,确定为所述目标道路点与每个所述定位卫星的伪距残差之间的差值。。
[0174]
本实施例的定位装置用于实现前述多个方法实施例中相应的定位方法,并具有相应的方法实施例的有益效果,在此不再赘述。此外,本实施例的定位装置中的各个模块的功能实现均可参照前述方法实施例中的相应部分的描述,在此亦不再赘述。
[0175]
实施例五
[0176]
参照图5,示出了根据本发明实施例五的一种电子设备的结构示意图,本发明具体实施例并不对电子设备的具体实现做限定。
[0177]
如图5所示,该电子设备可以包括:处理器(processor)502、通信接口(communications interface)504、存储器(memory)506、以及通信总线508。
[0178]
其中:
[0179]
处理器502、通信接口504、以及存储器506通过通信总线508完成相互间的通信。
[0180]
通信接口504,用于与其它电子设备或服务器进行通信。
[0181]
处理器502,用于执行程序510,具体可以执行上述定位方法实施例中的相关步骤。
[0182]
具体地,程序510可以包括程序代码,该程序代码包括计算机操作指令。
[0183]
处理器52可能是中央处理器cpu,或者是特定集成电路asic(application specific integrated circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。智能设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个cpu;也可以是不同类型的处理器,如一个或多个cpu以及一个或多个asic。
[0184]
存储器506,用于存放程序510。存储器506可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
[0185]
程序510具体可以用于使得处理器502执行上述的任一定位方法对应的操作。
[0186]
程序510中各步骤的具体实现可以参见上述定位方法实施例中的相应步骤和单元中对应的描述,在此不赘述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和模块的具体工作过程,可以参考前述方法实施例中的对应过程描述,在此不再赘述。
[0187]
需要指出,根据实施的需要,可将本发明实施例中描述的各个部件/步骤拆分为更多部件/步骤,也可将两个或多个部件/步骤或者部件/步骤的部分操作组合成新的部件/步骤,以实现本发明实施例的目的。
[0188]
上述根据本发明实施例的方法可在硬件、固件中实现,或者被实现为可存储在记录介质(诸如cd rom、ram、软盘、硬盘或磁光盘)中的软件或计算机代码,或者被实现通过网络下载的原始存储在远程记录介质或非暂时机器可读介质中并将被存储在本地记录介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件(诸如asic或fpga)的记录介质上的这样的软件处理。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件(例如,ram、rom、闪存等),当所述软件或计算机代码被计算机、处理器或硬件访问且执行时,实现在此描述的定位方法。此外,当通用计算机访问用于实现在此示出的定位方法的代码时,代码的执行将通用计算机转换为用于执行在此示出的定位方法的专用计算机。
[0189]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明实施例的范围。
[0190]
以上实施方式仅用于说明本发明实施例,而并非对本发明实施例的限制,有关技术领域的普通技术人员,在不脱离本发明实施例的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明实施例的范畴,本发明实施例的专利保护范围应由权利要求限定。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献