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

一种定位方法、装置、电子设备及可读存储介质与流程

2022-10-29 05:33:14 来源:中国专利 TAG:


1.本公开的实施例涉及无人驾驶领域,尤其涉及一种定位方法、装置、电子设备及可读存储介质。


背景技术:

2.在无人驾驶领域,通常采用gnss(global navigation satellite system,全球导航卫星系统)定位技术确定无人驾驶设备的位置。目前gnss解算常用的算法主要采用最小二乘法求解无人驾驶设备的位置。
3.由于在实际应用过程中,考虑到存在电离层延时、对流层延时、多路径误差与卫星误差等各种情况,各个卫星的伪距相互独立,且存在不同的测量误差。尤其当无人驾驶设备处于复杂环境下,测量的数据受外界环境影响较大,例如,无人驾驶设备行驶在树木茂密的林荫道、林立的楼宇中等复杂环境下,测量到的卫星伪距容易受到多路径误差影响。在复杂环境中,由于测量的数据受外界环境影响较大,采用最小二乘法往往无法得到较好的定位结果。


技术实现要素:

4.本公开的实施例提供一种定位方法、装置、电子设备及可读存储介质,可以提高定位无人驾驶设备的准确度和鲁棒性。
5.根据本公开的实施例的第一方面,提供了一种定位方法,应用于无人驾驶设备,所述方法包括:
6.随机选取n个卫星对应的卫星数据,得到初始数据集;
7.根据所述初始数据集和预设定位模型计算其余卫星的伪距残差,所述其余卫星为未被选取的卫星;
8.在所述其余卫星中确定目标卫星,所述目标卫星的伪距残差小于预设阈值;
9.将所述目标卫星的卫星数据添加至所述初始数据集,得到第一数据集;
10.基于第一数据集迭代更新预设定位模型的模型参数,直至满足预设终止条件;
11.根据更新后的预设定位模型计算所述无人驾驶设备的当前位置。
12.根据本公开的实施例的第二方面,提供了一种定位装置,应用于无人驾驶设备,所述装置包括:
13.初始数据集确定模块,用于随机选取n个卫星对应的卫星数据,得到初始数据集;
14.伪距残差计算模块,用于根据所述初始数据集和预设定位模型计算其余卫星的伪距残差,所述其余卫星为未被选取的卫星;
15.第一目标卫星确定模块,用于在所述其余卫星中确定目标卫星,所述目标卫星的伪距残差小于预设阈值;
16.第一数据集确定模块,用于将所述目标卫星的卫星数据添加至所述初始数据集,得到第一数据集;
17.模型参数调整模块,用于基于所述第一数据集迭代更新预设定位模型的模型参数,直至满足预设终止条件;
18.位置确定模块,用于根据更新后的预设定位模型计算所述无人驾驶设备的当前位置。
19.根据本公开的实施例的第三方面,提供了一种无人驾驶设备,包括:
20.处理器、存储器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现前述的定位方法。
21.根据本公开的实施例的第四方面,提供了一种可读存储介质,当所述存储介质中的指令由无人驾驶设备的处理器执行时,使得无人驾驶设备能够执行前述的定位方法。
22.本公开的实施例提供了一种定位方法、装置、电子设备及可读存储介质,所述方法包括:随机选取n个卫星对应的卫星数据,得到初始数据集;根据所述初始数据集和预设定位模型计算其余卫星的伪距残差,所述其余卫星为未被选取的卫星;在所述其余卫星中确定目标卫星,所述目标卫星的伪距残差小于预设阈值;将所述目标卫星的卫星数据添加至所述初始数据集,得到第一数据集;基于第一数据集迭代更新预设定位模型的模型参数,直至满足预设终止条件;根据更新后的预设定位模型计算所述无人驾驶设备的当前位置。
23.本公开可以通过对获取到的卫星数据进行筛选,得到符合预设定位模型的计算精度要求的卫星数据,并利用筛选后的卫星数据,不断迭代更新预设定位模型的模型参数,然后基于更新后的预设定位模型确定无人驾驶设备的当前位置。相比于现有技术中基于最小二乘法进行定位,本公开实施例剔除了不符合计算精度要求的数据,依据符合条件的卫星数据进行计算,可以克服由于复杂环境下测量的数据容易受到外界环境的影响,导致定位结果不准确的问题,提高了定位无人驾驶设备的准确度和鲁棒性。
附图说明
24.为了更清楚地说明本公开的实施例的技术方案,下面将对本公开的实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的实施例的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
25.图1示出了本公开的一种实施例中的定位方法步骤流程图;
26.图2示出了本公开的一种实施例中的定位装置的结构框图;
27.图3示出了本公开的一种实施例中的无人驾驶设备的结构图。
具体实施方式
28.下面将结合本公开的实施例中的附图,对本公开的实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开的实施例一部分实施例,而不是全部的实施例。基于本公开的实施例中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开的实施例保护的范围。
29.实施例一
30.参照图1,其示出了本公开的一种实施例中的定位方法的步骤流程图,具体如下:
31.步骤101,随机选取n个卫星对应的卫星数据,得到初始数据集。
32.步骤102,根据所述初始数据集和预设定位模型计算其余卫星的伪距残差,所述其余卫星为未被选取的卫星。
33.步骤103,在所述其余卫星中确定目标卫星,所述目标卫星的伪距残差小于预设阈值。
34.步骤104,将所述目标卫星的卫星数据添加至所述初始数据集,得到第一数据集。
35.步骤105,基于第一数据集迭代更新预设定位模型的模型参数,直至满足预设终止条件。
36.步骤106,根据更新后的预设定位模型计算所述无人驾驶设备的当前位置。
37.本公开实施例提供的定位方法,可应用于无人驾驶设备,用于对所述无人驾驶设备进行定位,并且提高定位的准确性和鲁棒性。
38.当然,所述定位方法还可以应用于在电子设备上,用于对所述电子设备进行定位。所述电子设备可以为移动终端,如手机、平板电脑、笔记本电脑、掌上电脑、车载电子设备、可穿戴设备、umpc(ultra-mobile personal computer,超级移动个人计算机)、上网本或者pda(personal digital assistant,个人数字助理)等,或者,所述电子设备也可以为服务器、nas(networkattached storage,网络附属存储器)、pc(personal computer,个人计算机)、tv(television,电视机)、柜员机或者自助机等非移动电子设备,本公开的实施例不作具体限定。
39.本公开中的无人驾驶设备包括在地面上行驶的无人驾驶设备,例如汽车、卡车、公交车等,也可以包括在空中行驶的无人驾驶设备,例如无人机、飞机、直升机等,以及在水中行驶的无人驾驶设备,例如船、潜艇等。此外,本公开中的“无人驾驶设备”可以在其中容纳或不容纳一个或多个乘客。本公开讨论的无人驾驶设备也可以应用于无人配送领域,如快递配送、外卖送餐等。
40.在本公开的实施例中,卫星数据可以由无人驾驶设备基于接收到的卫星信号获取,卫星数据可以包括卫星的位置信息。无人驾驶设备往往会同时接收多颗卫星发送的卫星信号,从而根据接收到的多个卫星信号确定无人驾驶设备自身的当前位置。卫星的伪距为卫星与无人驾驶设备之间的测量距离,可以基于无人驾驶设备中用于接收卫星信号的接收机时钟和卫星时钟确定,但是由于在实际测量过程中,存在电离层传播误差、对流层传播误差、卫星钟差引起的测距误差、接收机钟差引起的测距误差等等测量误差,导致实际的测量距离并非卫星与无人驾驶设备之间的真实距离。因此,将卫星与无人驾驶设备之间的测量距离称为伪距,可以用公式(1)表示:
[0041][0042]
其中,为卫星i的伪距;为卫星i与无人驾驶设备之间的真实距离;δti为卫星i对应的钟差,该钟差是用于标识所述无人驾驶设备对应的接收机时钟与卫星时钟之间的时间差;c为光速。
[0043]
本公开中的伪距残差,为无人驾驶设备实际测量到的伪距与基于上述公式(1)计算得到的伪距之间的差值,用于表示反映预设定位模型的计算精度。在实际应用中,可以根据具体的计算精度要求,设置伪距残差对应的预设阈值,以使筛选后的第一数据集中的卫星数据符合计算精度要求。
[0044]
本公开中的预设定位模型为预先训练好的定位模型,该预设定位模型可以根据最小二乘法、加权最小二乘法等定位解算方法建立,当然也可以基于其他的定位算法构建预设定位模型,对此,本公开实施例不做具体限定。无论是基于哪种算法建立的预设定位模型,都是在公式(1)的基础上确定无人驾驶设备的当前位置。
[0045]
假设待确定的无人驾驶设备的当前位置坐标为(x,y,z),获取的卫星数据中,第i颗卫星的位置坐标为(xi,yi,zi),那么,上述公式(1)可以表示为:
[0046][0047]
分别将获取到的卫星数据中卫星的位置坐标代入到公式(2)中,就可以得到一组联立方程组,基于联立方程组,就可以求解卫星伪距钟差δti以及无人驾驶设备的位置坐标(x,y,z)。
[0048]
本公开实施例中预设定位模型的模型参数,可以理解为公式(2)中卫星的位置坐标。公式(2)中代入的卫星的位置坐标越符合计算精度要求,计算得到的无人驾驶设备的位置坐标越准确。
[0049]
本公开提供的实施例,在计算无人驾驶设备的当前位置时,可以先从获取到的卫星数据中,随机选取n个卫星对应的卫星数据,得到初始数据集。假设随机选取的n个卫星的卫星数据均适用于预设定位模型,即,假设初始数据集中的卫星数据都是可信的,根据初始数据集中的随机选取的n个卫星的卫星数据和预设定位模型,计算其余卫星的伪距残差。如果其余卫星中存在伪距残差小于预设阈值的目标卫星,则将目标卫星的卫星数据添加至初始数据集中。将未被选取的其余卫星中,伪距残差小于预设阈值的目标卫星全部添加到初始数据集中,就可以得到第一数据集。
[0050]
本公开的实施例中,对获取的卫星数据进行筛选后,第一数据集中包含了在认为随机选取的n个卫星均可信的情况下,所有可信的卫星数据,剔除了不可信的数据,也即剔除了会造成计算结果偏差的卫星数据。
[0051]
并且,由于选取的n个卫星是随机选取的,存在一定的概率可以基于随机选取的卫星得到正确的结果。那么,为了提高得到正确结果的概率,就需要通过迭代,多次从获取的卫星数据中选取n个卫星的卫星数据,并基于选取的n个卫星的卫星数据确定第一数据集、调整预设定位模型的模型参数。因此,在本公开实施例中,通过多次迭代提高第一数据集的可信度,进而提高定位结果的准确度。
[0052]
得到第一数据集之后,可以将第一数据集中包含的卫星数据作为预设定位模型中的卫星参数。例如,将第一数据集中包含的各个卫星的位置坐标,全部代入到公式(2)中,得到第一数据集对应的联立方程组,基于该联立方程组计算无人驾驶设备的当前位置。由于第一数据集中的卫星数据都是可信的,基于第一数据集得到的计算结果符合预期的精度要求。
[0053]
当适用于预设定位模型的卫星数据足够多时,说明将足够多颗卫星的位置坐标输入到公式(2)中,都可以得到相同的解,可以认为此时得到的预设定位模型的错误率最低。因此,在本公开的实施例中,在得到第一数据集之后,可以通过迭代更新,不断基于第一数据集调整预设定位模型的模型参数,直至适用于预设定位模型的卫星数据足够多,也即满足预设终止条件,则停止迭代,确定此时的模型参数为最终的模型参数。
[0054]
具体的,确定预设定位模型对应的卫星数目,也即公式(2)中包含的卫星位置坐标的个数,如果第一数据集对应的卫星数目大于预设定位模型对应的卫星数目,则用第一数据集中的全部卫星数据替换预设定位模型中的卫星数据;如果第一数据集对应的卫星数目大于或等于预设定位模型对应的卫星数目,则保留预设定位模型中的卫星数据,并重新确定第一数据集,根据新的第一数据集重新调整预设定位模型的模型参数,直至满足预设终止条件。本公开中的满足预设终止条件可以为预设定位模型对应的卫星数目最大,这样就可以保证基于调整后的预设定位模型得到的计算结果的错误率最低,从而尽可能地提高定位结果的准确性。
[0055]
此外,现有技术中计算无人驾驶设备当前位置的定位方法,通常是确定用于计算无人驾驶设备的当前位置的卫星数据后,采用最小二乘法等方法计算无人驾驶设备的当前位置和钟差,并判断计算结果是否满足预设的精度要求。如果计算结果不满足预设精度要求,则重新确定卫星数据并进行计算,直至计算结果满足预设精度要求。现有技术并不能保证用于计算无人驾驶设备的卫星数据最优,且只要计算结果不满足预设精度要求,就要重复整个计算过程。
[0056]
相比于现有技术,本公开实施例提供的定位方法,是先对获取到的卫星数据进行进行筛选,得到第一数据集,并根据第一数据集迭代更新预设定位模型的模型参数,直至满足预设终止条件。通过对卫星数据进行不断的迭代筛选,使得最终用于计算无人驾驶设备当前位置的预设定位模型的模型参数最优,也即用于计算无人驾驶设备当前位置的卫星数据最优,且无需重复整个计算过程。
[0057]
在本公开的一种可选实施例中,所述卫星数据包括卫星的位置信息,步骤102所述根据所述初始数据集和预设定位模型计算其余卫星的伪距残差,包括:
[0058]
步骤s11、将所述初始数据集中各个卫星的位置信息输入到预设定位模型中,得到所述无人驾驶设备的当前位置和钟差,所述钟差标识所述无人驾驶设备对应的接收机时钟与卫星时钟之间的时间差;
[0059]
步骤s12、基于所述无人驾驶设备的当前位置和钟差,计算其余卫星的第一伪距;
[0060]
步骤s13、获取所述无人驾驶设备测量得到的第二伪距;
[0061]
步骤s14、计算所述第一伪距与所述第二伪距的差值,得到其余卫星的伪距残差。
[0062]
在本公开的实施例中,在确定未被选取的其余卫星的伪距残差时,可以将随机选取的n个卫星的卫星数据输入到预设定位模型中,得到无人驾驶设备的当前位置和钟差,然后基于得到的无人驾驶设备的当前位置和钟差,计算每个未被选取的卫星的第一伪距。具体的,可以将得到的无人驾驶设备的位置坐标和钟差,以及未被选取的卫星的位置坐标输入到公式(2)中,分别计算每个未被选取的卫星的第一伪距。
[0063]
计算得到其余卫星的第一伪距后,再获取无人驾驶设备测量得到的第二伪距。具体的,根据无人驾驶设备接收到的卫星信号,确定其余卫星的第二伪距。然后,计算第一伪距和第二伪距的差值,就可以得到其余卫星的伪距残差。
[0064]
在本公开的一种可选实施例中,步骤105所述基于第一数据集迭代更新预设定位模型的模型参数,直至满足预设终止条件,包括:
[0065]
步骤s21、根据第一数据集更新预设定位模型的模型参数,并更新迭代次数;
[0066]
步骤s22、若当前迭代次数大于预设迭代次数,则确定满足预设终止条件;
[0067]
步骤s23、若当前迭代次数小于或等于预设迭代次数,则重新随机选取n个卫星对应的卫星数据,得到更新后的初始数据集,并根据更新后的初始数据集重新确定第一数据集。
[0068]
在本发明实施例中,基于第一数据集迭代更新预设定位模型的模型参数时,一次完整的迭代过程,包括步骤101至步骤105。具体的,在每一次迭代过程中,首先随机选取n个卫星对应的卫星数据,得到初始数据集。然后根据初始数据集计算未被选取的其余卫星的伪距残差,并根据伪距残差确定目标卫星。将所有符合条件的目标卫星的卫星数据添加至初始数据集,得到第一数据集,根据第一数据集更新预设定位模型的模型参数。一次迭代结束,开始下一次迭代,重新选取n个卫星对应的卫星数据,得到新的初始数据集,根据新的初始数据集重新确定目标卫星,并更新第一数据集,然后根据更新后的第一数据集更新预设定位模型的模型参数。以此类推,直至满足预设终止条件。
[0069]
在本发明实施例中,可以将预设终止条件确定为迭代次数大于预设迭代次数。其中,预设迭代次数为经过计算的,可以在不重复选取卫星数据的情况下,使得基于迭代更新的第一数据集调整模型参数的预设定位模型的错误率最低的迭代次数。
[0070]
因此,在本发明实施例中,如果当前迭代次数小于或等于预设迭代次数,则开始新一轮迭代,重新随机选取n个卫星对应的卫星数据,得到更新后的初始数据集,并根据更新后的初始数据集重新确定第一数据集,并根据重新确定的第一数据集更新预设定位模型的模型参数,更新迭代次数,直至当前迭代次数大于预设迭代次数。
[0071]
在本公开的一种可选实施例中,步骤s21所述根据第一数据集更新预设定位模型的模型参数,包括:
[0072]
子步骤s211、将第一数据集对应的第一卫星数目与第二数据集对应的第二卫星数目进行比对,所述第二数据集包括所述预设定位模型的模型参数;
[0073]
子步骤s212、若所述第一卫星数目大于所述第二卫星数目,则根据所述第一数据集中的卫星数据替换所述第二数据集中的卫星数据;
[0074]
子步骤s213、若所述第一卫星数据小于或等于所述第二卫星数目,则保留所述第二数据集中的卫星数。
[0075]
在随机选取n个卫星的卫星数据,并通过判断未被选取的其余卫星的伪距残差与预设阈值的大小关系,确定第一数据集之后,将第一数据集对应的第一卫星数目与第二数据集对应的第二卫星数目进行比对。其中,第二卫星数据集为预设定位模型中的卫星数据组成的数据集,包含预设定位模型中的所有卫星数据。
[0076]
由于第一数据集中的全部卫星数据被认为是可信的,在第一次迭代中,第二数据集中的卫星数据为空,此时将第一数据集中的卫星数据全部添加至第二数据集中,得到的第二数据集中的全部卫星数据也可以被认为是可信的。然后,进行第二次迭代,重新从获取的卫星数据中随机选取n个卫星的卫星数据,并更新第一数据集。再次比较更新后的第一数据集对应的第一卫星数目与第二数据集对应的第二卫星数目,如果此时第一卫星数目大于第二卫星数目,说明第一数据集中可信的卫星数据比第二数据集中可信的卫星数据多,此时,用第一数据集中的全部卫星数据替换第二数据集中的卫星数据。由于当第二数据集中可信的卫星数据足够多时,说明适用于预设定位模型的卫星数据足够多,也就是说,将第二数据集中的所有卫星数据输入到公式(2)中,可以得到一致的解,此时基于第二数据集确定
的预设定位模型的错误率最低。因此,在本公开的实施例中,当第一卫星数目大于第二卫星数目,即第一数据集中可信的卫星数据多于第二数据集中可信的卫星数据时,用第一数据集替换第二数据集。如果第一卫星数目小于或等于第二卫星数目,则保留第二数据集的全部数据,并重新选取n个卫星的卫星数据,开始新一次迭代过程,从而保证在每一次迭代完成后,第二数据集中可信的卫星数据最多,也即,使得基于第二数据集确定的预设定位模型最优,直至出现更好的模型,或者满足预设终止条件。
[0077]
在本公开的实施例中,预设迭代次数为每次迭代过程中随机选取的n个卫星不重复的上限,如果超出预设迭代次数,再次选取的卫星就会存在至少一个卫星已经被选取过。因此,为了避免不必要的数据处理步骤,保证数据处理效率,本公开实施例在实际的迭代次数大于预设迭代次数时,停止迭代,根据当前的第二数据集调整预设定位模型的模型参数。其中,预设迭代次数可以根据每次迭代过程中随机选取的卫星数目n的取值确定。
[0078]
在本公开的一种可选实施例中,步骤103所述在所述其余卫星中确定目标卫星之后,所述方法还包括:
[0079]
若所述其余卫星中不存在目标卫星,则确定所述初始数据集为第一数据集。
[0080]
在本公开的实施例中,如果其余卫星中不存在伪距残差小于预设阈值的目标卫星,则直接将初始数据集作为第一数据集,然后根据第一数据集迭代更新预设定位模型的模型参数。
[0081]
在本公开的一种可选实施例中,步骤105所述基于第一数据集迭代更新预设定位模型的模型参数之前,所述方法还包括:
[0082]
步骤s31、确定随机选取的卫星数据对应的卫星数目n的取值;
[0083]
步骤s32、基于n的取值确定预设终止条件对应的预设迭代次数。
[0084]
其中,卫星数目n的取值可以根据实验数据或技术人员的经验设置。当随机选取卫星数据后,公式(2)中卫星的位置坐标为(xi,yi,zi)已知,还存在无人驾驶设备的位置坐标为(x,y,z)、卫星伪距钟差δti,共三个未知参数,且钟差需要基于卫星时钟和无人驾驶设备的接收机时钟确定,因此,为了保证能够基于选取的n个卫星得到公式(2)的解,n的取值需要大于或等于4。根据n的取值就可以确定每次迭代过程中随机选取的n个卫星不重复的上限,也即预设迭代次数。
[0085]
在本公开的一种可选实施例中,步骤s32所述基于n的取值确定预设终止条件对应的预设迭代次数,包括:
[0086]
子步骤s321、确定所述n个卫星对应的卫星数据均属于第一数据集的第一概率值,以及所述n个卫星对应的卫星数据均不属于第一数据集的第二概率值;
[0087]
子步骤s322、根据所述第一概率值和所述第二概率值确定预设终止条件对应的预设迭代次数。
[0088]
将获取的卫星数据表示为数据集i,假设每次从数据集i中选取一个卫星的卫星数据,该卫星数据可信的概率为w,也即选取的卫星的伪距残差小于预设阈值的第一概率为w,则每次选取一个卫星的卫星数据后,将选取的卫星数据放回至数据集i中,重新选取一个卫星的卫星数据,如此选取n个卫星的卫星数据,选取的n个卫星的卫星数据均可信的概率可以表示为wn。其中,w可以根据实验数据确定。
[0089]
那么,按照取出再放回的方式,从数据集i中随机选取的n个卫星的卫星数据均不
可信的概率可以表示:1-wn。
[0090]
在本公开的实施例中,为了避免重复选取到相同的卫星数据,按照取出不放回的方式,从数据集i中随机选取n个卫星的卫星数据,假设本公开实施例中,从获取的卫星数据中随机选取n个卫星的卫星数据,选取的卫星数据均可信的第一概率为p,那么,随机选取的n个卫星的卫星数据均不可信的概率可以表示为:1-p。
[0091]
无论是哪种选取方式,随机选取n个卫星的卫星数据均不可信的概率是一致的,也即:1-p=(1-wn)k。其中,k为预设迭代次数。
[0092]
那么,预设迭代次数可以表示为:
[0093][0094]
基于公式(3)就可以计算得到本公开实施例的预设迭代次数。在实际迭代次数不大于预设迭代次数k的情况下,对步骤101至步骤102的操作进行迭代优化,能够保证在不重复选取卫星数据的情况下,基于调整后的预设定位模型得到的定位结果的错误率最低,从而保证了基于调整后的预设定位模型进行定位的鲁棒性和准确度。
[0095]
综上所述,本公开的实施例提供了一种定位方法,可以通过对获取到的卫星数据进行筛选,得到符合预设定位模型的计算精度要求的卫星数据,并利用筛选后的卫星数据,不断迭代更新预设定位模型的模型参数,然后基于更新后的预设定位模型确定无人驾驶设备的当前位置。相比于现有技术中基于最小二乘法进行定位,本公开实施例剔除了不符合计算精度要求的数据,依据符合条件的卫星数据进行计算,可以克服由于复杂环境下测量的数据容易受到外界环境的影响,导致定位结果不准确的问题,提高了定位无人驾驶设备的准确度和鲁棒性。
[0096]
实施例二
[0097]
参照图2,其示出了在本公开的一种实施例中的定位装置的结构图,该定位装置应用于无人驾驶设备,具体结构如下:
[0098]
初始数据集确定模块201,用于随机选取n个卫星对应的卫星数据,得到初始数据集;
[0099]
伪距残差计算模块202,用于根据所述初始数据集和预设定位模型计算其余卫星的伪距残差,所述其余卫星为未被选取的卫星;
[0100]
第一目标卫星确定模块203,用于在所述其余卫星中确定目标卫星,所述目标卫星的伪距残差小于预设阈值;
[0101]
第一数据集确定模块204,用于将所述目标卫星的卫星数据添加至所述初始数据集,得到第一数据集;
[0102]
模型参数调整模块205,用于基于所述第一数据集迭代更新预设定位模型的模型参数,直至满足预设终止条件;
[0103]
位置确定模块206,用于根据更新后的预设定位模型计算所述无人驾驶设备的当前位置。
[0104]
在本公开的一种可选实施例中,所述模型参数调整模块205,包括:
[0105]
模型参数更新子模块,用于根据第一数据集更新预设定位模型的模型参数,并更新迭代次数;
[0106]
终止条件确定子模块,用于若当前迭代次数大于预设迭代次数,则确定满足预设终止条件;
[0107]
数据集更新子模块,用于若当前迭代次数小于或等于预设迭代次数,则重新随机选取n个卫星对应的卫星数据,得到更新后的初始数据集,并根据更新后的初始数据集重新确定第一数据集。
[0108]
在本公开的一种可选实施例中,所述模型参数更新子模块,包括:
[0109]
卫星数目比对单元,用于将第一数据集对应的第一卫星数目与第二数据集对应的第二卫星数目进行比对,所述第二数据集包括所述预设定位模型的模型参数;
[0110]
数据替换单元,用于若所述第一卫星数目大于所述第二卫星数目,则根据所述第一数据集中的卫星数据替换所述第二数据集中的卫星数据;
[0111]
数据保留单元,用于若所述第一卫星数据小于或等于所述第二卫星数目,则保留所述第二数据集中的卫星数据。
[0112]
在本公开的一种可选实施例中,所述装置还包括:
[0113]
第二目标卫星确定模块,用于若所述其余卫星中不存在目标卫星,则确定所述初始数据集为第一数据集。
[0114]
在本公开的一种可选实施例中,所述卫星数据包括卫星的位置信息,所述伪距残差计算模块202,包括:
[0115]
初值确定子模块,用于将所述初始数据集中各个卫星的位置信息输入到预设定位模型中,得到所述无人驾驶设备的当前位置和钟差,所述钟差标识所述无人驾驶设备对应的接收机时钟与卫星时钟之间的时间差;
[0116]
第一伪距计算子模块,用于基于所述无人驾驶设备的当前位置和钟差,计算其余卫星的第一伪距;
[0117]
第二伪距获取子模块,用于获取所述无人驾驶设备测量得到的第二伪距;
[0118]
伪距残差计算子模块,用于计算所述第一伪距与所述第二伪距的差值,得到其余卫星的伪距残差。
[0119]
在本公开的一种可选实施例中,所述装置还包括:
[0120]
卫星数目确定模块,用于确定随机选取的卫星数据对应的卫星数目n的取值;
[0121]
迭代次数确定模块,用于基于n的取值确定预设终止条件对应的预设迭代次数。
[0122]
在本公开的一种可选实施例中,所述迭代次数确定模块,包括:
[0123]
概率值确定子模块,用于确定所述n个卫星对应的卫星数据均属于第一数据集的第一概率值,以及所述n个卫星对应的卫星数据均不属于第一数据集的第二概率值;
[0124]
迭代次数确定子模块,用于根据所述第一概率值和所述第二概率值确定预设终止条件对应的预设迭代次数。
[0125]
综上所述,本公开的实施例提供了一种定位装置,可以通过对获取到的卫星数据进行筛选,得到符合预设定位模型的计算精度要求的卫星数据,并利用筛选后的卫星数据,不断迭代更新预设定位模型的模型参数,然后基于更新后的预设定位模型确定无人驾驶设备的当前位置。相比于现有技术中基于最小二乘法进行定位,本公开实施例剔除了不符合计算精度要求的数据,依据符合条件的卫星数据进行计算,可以克服由于复杂环境下测量的数据容易受到外界环境的影响,导致定位结果不准确的问题,提高了定位无人驾驶设备
的准确度和鲁棒性。
[0126]
实施例二为实施例一对应的装置实施例,详细说明可以参照实施例一,在此不再赘述。
[0127]
本公开的实施例还提供了一种无人驾驶设备,参照图3,包括:处理器301、存储器302以及存储在所述存储器302上并可在所述处理器上运行的计算机程序3021,所述处理器301执行所述程序时实现前述实施例的定位方法。
[0128]
本公开的实施例还提供了一种可读存储介质,当所述存储介质中的指令由无人驾驶设备的处理器执行时,使得无人驾驶设备能够执行前述实施例的定位方法。
[0129]
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0130]
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本公开的实施例也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本公开的实施例的内容,并且上面对特定语言所做的描述是为了披露本公开的实施例的最佳实施方式。
[0131]
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本公开的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
[0132]
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本公开的实施例的示例性实施例的描述中,本公开的实施例的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本公开的实施例要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本公开的实施例的单独实施例。
[0133]
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
[0134]
本公开的实施例的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(dsp)来实现根据本公开的实施例的文件处理设备中的一些或者全部部件的一些或者全部功能。本公开的实施例还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序。这样的实现本公开的实施例的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以
从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
[0135]
应该注意的是上述实施例对本公开的实施例进行说明而不是对本公开的实施例进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本公开的实施例可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
[0136]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0137]
以上所述仅为本公开的实施例的较佳实施例而已,并不用以限制本公开的实施例,凡在本公开的实施例的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本公开的实施例的保护范围之内。
[0138]
以上所述,仅为本公开的实施例的具体实施方式,但本公开的实施例的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开的实施例揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本公开的实施例的保护范围之内。因此,本公开的实施例的保护范围应以权利要求的保护范围为准。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献