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

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

2022-02-22 08:52:57 来源:中国专利 TAG:


1.本公开涉及定位与导航技术领域,尤其涉及一种定位方法、定位装置、计算机可读存储介质与电子设备。


背景技术:

2.随着信息化的普及,基于定位的信息化服务越来越多。以gps(global positioning system,全球定位系统)为代表的传统定位技术由于精确度较低,无法应用于高精确度要求的场景,例如难以在商场、超市等室内场景,或者矿井、隧道等工程场景中实现准确定位。
3.需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域技术人员已知的现有技术的信息。


技术实现要素:

4.本公开提供一种定位方法、定位装置、计算机可读存储介质与电子设备,进而至少在一定程度上提高定位的精确度。
5.根据本公开的第一方面,提供一种定位方法,包括:获取基于惯性导航传感数据所确定的待定位对象的惯性导航定位数据;根据所述惯性导航定位数据进行定位预测,得到所述待定位对象的预测定位数据;获取基于无线信号数据所确定的所述待定位对象的指纹定位数据;所述无线信号数据是所述待定位对象从固定设置的无线接入点接收的信号数据;利用所述指纹定位数据对所述预测定位数据进行更新,得到所述待定位对象的融合定位数据。
6.根据本公开的第二方面,提供一种定位装置,包括:第一获取模块,被配置为获取基于惯性导航传感数据所确定的待定位对象的惯性导航定位数据;定位预测模块,被配置为根据所述惯性导航定位数据进行定位预测,得到所述待定位对象的预测定位数据;第二获取模块,被配置为获取基于无线信号数据所确定的所述待定位对象的指纹定位数据;所述无线信号数据是所述待定位对象从固定设置的无线接入点接收的信号数据;定位更新模块,被配置为利用所述指纹定位数据对所述预测定位数据进行更新,得到所述待定位对象的融合定位数据。
7.根据本公开的第三方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面的定位方法及其可能的实现方式。
8.根据本公开的第四方面,提供一种电子设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述第一方面的定位方法及其可能的实现方式。
9.本公开的技术方案具有以下有益效果:
10.通过定位预测与更新的方式,融合了惯性导航定位数据与指纹定位数据来实现定位。一方面,本方案融合了两种模态的定位数据,能够克服单一模态的局限性,提高定位结
果的精确度,有利于应用在精确度要求较高的场景。另一方面,不需要依赖于gps等卫星定位数据,从而改善了对于定位环境的限制,例如本方案适用于建筑物密集的区域、室内区域、矿井、隧道等工程区域,适用范围较广。
11.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
12.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
13.图1示出本示例性实施方式中一种系统架构的示意图;
14.图2示出本示例性实施方式中一种电子设备的结构示意图;
15.图3示出本示例性实施方式中一种定位方法的流程图;
16.图4示出本示例性实施方式中一种进行定位预测的流程图;
17.图5示出本示例性实施方式中一种进行定位预测的示意图;
18.图6示出本示例性实施方式中一种确定指纹定位数据的流程图;
19.图7示出本示例性实施方式中一种对预测定位数据进行更新的流程图;
20.图8示出本示例性实施方式中一种对预测定位数据进行更新的示意图;
21.图9示出本示例性实施方式中一种训练地图匹配模型的流程图;
22.图10示出本示例性实施方式中第一坐标系和第二坐标系的示意图;
23.图11示出本示例性实施方式中对第一坐标系和第二坐标系进行标定的示意图;
24.图12示出本示例性实施方式中一种定位方法的示意性流程图;
25.图13示出本示例性实施方式中一种定位装置的结构示意图。
具体实施方式
26.现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本公开的各方面变得模糊。
27.此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
28.相关技术的一种方案中,通过将gps定位与其他定位方式相结合,来提高定位的精确度。然而,gps定位容易受到环境的影响,当环境中存在干扰或遮蔽gps信号的因素时,会严重影响gps定位的精确度,甚至导致gps定位不可用。例如,在建筑物密集的区域经常发生gps信号弱的情况,即使与其他定位方式相结合,也难以实现精确定位。
29.鉴于上述问题,本公开的示例性实施方式提供一种定位方法,用于对待定位对象进行定位,该待定位对象可以是移动设备。下面结合图1对该定位方法运行环境的系统架构进行说明。
30.图1示出了系统架构的示意图,该系统架构100可以包括移动设备110与处理设备120。其中移动设备110可以是手机、平板电脑、可穿戴设备、无人机等。本示例性实施方式中,移动设备110包括惯性导航模块与无线通信模块,分别采集惯性导航传感数据与无线信号数据。处理设备120可以是服务器或位于本地的计算机,其能够提供定位数据的相关处理。移动设备110与处理设备120之间可以通过有线或无线的通信链路形成连接,以进行数据交互。
31.在一种实施方式中,移动设备110可以将采集到的惯性导航传感数据与无线信号数据发送至处理设备120。处理设备120根据惯性导航传感数据确定惯性导航定位数据,根据无线信号数据确定指纹定位数据,并通过对惯性导航定位数据与指纹定位数据进行处理,实现对移动设备110的定位。
32.在一种实施方式中,移动设备110可以对采集到的惯性导航传感数据与无线信号数据进行处理,得到惯性导航定位数据与指纹定位数据,再将性导航定位数据与指纹定位数据发送至处理设备120。处理设备120通过对惯性导航定位数据与指纹定位数据进行处理,实现对移动设备110的定位。
33.在一种实施方式中,移动设备110也可以独立地进行惯性导航传感数据与无线信号数据的采集与处理,以及惯性导航定位数据与指纹定位数据的处理,实现对自身的定位。也就是说,本示例性实施方式的定位方法可以在不设置处理设备120的情况下,基于移动设备110来实现。
34.由上可知,本示例性实施方式的定位方法的执行主体可以是上述移动设备110或处理设备120,本公开对此不做限定。
35.本公开的示例性实施方式还提供一种用于执行上述定位方法的电子设备,该电子设备可以是上述移动设备110或处理设备120。一般的,该电子设备包括处理器与存储器。其中,该存储器用于存储处理器的可执行指令,该处理器被配置为经由执行该可执行指令来实现上述定位方法。
36.下面以图2中的电子设备200为例进行说明。如图2所示,电子设备200具体可以包括:处理器201、存储器202、总线203、通信模块204、天线205、电源模块206与传感器模块207。
37.处理器201可以包括一个或多个处理单元,例如:处理器201可以包括ap(application processor,应用处理器)、调制解调处理器、gpu(graphics processing unit,图形处理器)、isp(image signal processor,图像信号处理器)、控制器、编码器、解码器、dsp(digital signal processor,数字信号处理器)、基带处理器和/或npu(neural-network processing unit,神经网络处理器)等。本示例性实施方式的定位方法可以上述
任意一个或多个处理单元来执行,例如可以由ap或dsp执行该定位方法。在一种实施方式中,当涉及到神经网络时,可以由npu执行相关的处理。
38.处理器201可以通过总线203与存储器202或其他部件形成连接。
39.存储器202可以用于存储计算机可执行程序代码,该可执行程序代码包括指令。处理器201通过运行存储在存储器202的指令,执行电子设备200的各种功能应用以及数据处理。存储器202还可以存储应用数据,例如存储图像,视频等文件。
40.电子设备200的通信功能可以通过通信模块204、天线205、调制解调处理器以及基带处理器等实现。天线205用于发射和接收电磁波信号。在一种实施方式中,天线205可以接收无线信号,包括但不限于wifi信号(基于无线局域网的信号)、蓝牙信号、nfc(near field communication,近场通信)信号、红外信号、可见光信号等,通信模块204包括无线通信模块2041,可以采集无线信号数据,提供基于上述一种或多种无线信号的无线通信解决方案。
41.电源模块206用于实现电源管理功能,如为电池充电、为设备供电、监测电池状态等。传感器模块207可以包括一个或多个传感器,以实现相应的感应检测功能。在一种实施方式中,传感器模块207可以包括惯性导航模块2071,如可以是imu(inertia measurement unit,惯性测量单元)。惯性导航模块2071包括一个或多个惯性导航传感器,如陀螺仪、加速度计等。惯性导航模块2071用于采集惯性导航传感数据。
42.在一种实施方式中,电子设备200还可以包括显示屏,用于实现显示功能,如显示用户界面、图像、视频等。在一种实施方式中,电子设备200还可以包括摄像模块,用于实现图像、视频等的拍摄功能。在一种实施方式中,电子设备200还可以包括音频模块,用于实现音频功能,如播放音频,采集语音等。
43.下面结合图3对本示例性实施方式的定位方法进行说明,图3示出了该定位方法的示例性流程,可以包括:
44.步骤s310,获取基于惯性导航传感数据所确定的待定位对象的惯性导航定位数据;
45.步骤s320,根据惯性导航定位数据进行定位预测,得到待定位对象的预测定位数据;
46.步骤s330,获取基于无线信号数据所确定的待定位对象的指纹定位数据;该无线信号数据是待定位对象从固定设置的无线接入点接收的信号数据;
47.步骤s340,利用指纹定位数据对预测定位数据进行更新,得到待定位对象的融合定位数据。
48.基于上述方法,通过定位预测与更新的方式,融合了惯性导航定位数据与指纹定位数据来实现定位。一方面,本方案融合了两种模态的定位数据,能够克服单一模态的局限性,提高定位结果的精确度,有利于应用在精确度要求较高的场景。另一方面,不需要依赖于gps等卫星定位数据,从而改善了对于定位环境的限制,例如本方案适用于建筑物密集的区域、室内区域、矿井、隧道等工程区域,适用范围较广。
49.下面分别对图3中的每个步骤进行具体说明。
50.参考图3,在步骤s310中,获取基于惯性导航传感数据所确定的待定位对象的惯性导航定位数据。
51.其中,待定位对象可以是上述移动设备110或电子设备200。惯性导航传感数据是
指惯性导航模块输出的数据,包括但不限于三轴加速度、三轴角加速度等。惯性导航传感数据可以是惯性导航传感器所采集的原始数据,也可以是该原始数据经过初步处理后的数据。
52.惯性导航定位数据是通过对惯性导航传感数据进行解析处理所得到的定位数据。本公开对于处理惯性导航传感数据的具体方式不做限定,例如,在获取待定位对象的初始定位数据后,可以在此基础上,采用pdr(pedestrian dead reckoning,步行者航位推算)算法并基于惯性导航传感数据来推算待定位对象的移动轨迹,从而得到待定位对象的惯性导航定位数据。
53.在待定位对象的移动过程中,可以实时采集惯性导航传感数据,每采集到一次惯性导航传感数据,可以得到对应时刻下待定位对象的惯性导航定位数据。例如,惯性导航模块输出惯性导航传感数据的帧率为30fps(frame per second,帧/每秒),即惯性导航模块大约每33ms输出一次惯性导航传感数据,则可以每33ms确定一次待定位对象的惯性导航定位数据。
54.在一种实施方式中,惯性导航传感数据或惯性导航定位数据中可以携带时间戳,该时间戳可以表示惯性导航传感数据的采集时间,由此可以将惯性导航定位数据对应到惯性导航传感数据的采集时间,以防止由于数据处理或传输所导致的定位延迟。
55.需要说明的是,本示例性实施方式中所述的定位数据,可以仅包括位置数据,如待定位对象的三维位置坐标,也可以包括位姿数据,如待定位对象的6dof(degree of freedom,自由度)数据等。可以根据实际需求确定采用哪种定位数据。
56.在一种实施方式中,上述获取基于惯性导航传感数据所确定的待定位对象的惯性导航定位数据,可以包括以下步骤:
57.获取待定位对象的惯性导航传感数据;
58.利用预先训练的惯性导航定位模型对惯性导航传感数据进行处理,得到待定位对象的惯性导航定位数据。
59.其中,惯性导航定位模型可以是机器学习模型,如神经网络等。示例性的,惯性导航定位模型可以是tcn网络(temporal convolutional networks,时序卷积神经网络),tcn网络为端到端的结构,将不同时刻的惯性导航传感数据排列为时序数据,输入该tcn网络,可以输出对应不同时刻的惯性导航定位数据。
60.惯性导航传感数据通常用于表征待定位对象的相对定位信息。在一种实施方式中,惯性导航定位数据可以包括待定位对象在当前时刻的上一时刻与当前时刻之间的惯性导航相对定位数据。当前时刻可以是获取的最新的惯性导航传感数据所对应的时刻,当前时刻的上一时刻可以是上一次获取的惯性导航传感数据所对应的时刻,例如惯性导航模块输出惯性导航传感数据的帧率为30fps时,当前时刻与上一时刻的时间差为33ms。惯性导航定位模型用于对惯性导航传感数据进行处理,输出惯性导航相对定位数据。例如,将连续两个时刻t1、t2对应的惯性导航传感数据形成数组(imu
t1
,imu
t2
),输入惯性导航定位模型,输出表示待定位对象在t1时刻与t2时刻之间的惯性导航相对定位数据。
61.在一种实施方式中,可以获取待定位对象的参考定位数据,如待定位对象的初始定位数据或在某一时刻的定位数据,其可以通过指纹定位等惯性导航定位以外的方式确定,为绝对定位信息。根据该参考定位数据与惯性导航传感数据可以确定待定位对象的绝
对定位信息。例如将参考定位数据与惯性导航传感数据输入惯性导航定位模型,输出惯性导航定位数据,该惯性导航定位数据表示待定位对象的绝对定位信息。
62.在一种实施方式中,惯性导航定位模型的训练过程可以包括:在待定位对象移动过程中,通过惯性导航模块采集惯性导航样本传感数据,同时通过vio(visual inertia odometry,视觉惯性里程计)系统或其他系统采集定位数据,作为惯性导航标签数据,例如该惯性导航标签数据可以相对定位数据,惯性导航样本传感数据与惯性导航标签数据可以通过时间戳进行对应,由此构建了用于训练惯性导航定位模型的基准数据集。将惯性导航样本传感数据输入待训练的惯性导航定位模型,输出惯性导航样本定位数据,根据惯性导航样本定位数据与惯性导航标签数据计算损失函数值,并利用损失函数值对惯性导航定位模型的参数进行更新。当惯性导航定位模型的测试准确度达到设定的标准时,确定训练完成。
63.继续参考图3,在步骤s320中,根据惯性导航定位数据进行定位预测,得到待定位对象的预测定位数据。
64.惯性导航定位本质上是基于待定位对象的定位变化来进行定位,属于连续定位的方式。相对应的,指纹定位属于离散定位的方式。本示例性实施方式根据惯性导航定位数据进行定位预测。
65.定位预测可以参考如下公式:
[0066][0067]
其中,k表示当前时刻,k-1表示上一时刻。表示当前时刻的预测定位数据,可视为先验定位数据;f(
·
)表示运动方程;x
k-1
表示上一时刻的参考定位数据。vk表示当前时刻的输入控制量,在一种实施方式中,待定位对象自主移动时,可以忽略输入控制量vk。ω
in
表示输入噪声,例如可以是均值为0的高斯噪声。基于公式(1),可以通过运动方程f(
·
)来计算待定位对象在当前时刻的预测定位数据。
[0068]
需要说明的是,惯性导航定位数据可以是相对定位数据,如可以是待定位对象在当前时刻的上一时刻与当前时刻之间的惯性导航相对定位数据。而预测定位数据为绝对定位数据,如可以是对待定位对象的6dof数据的预测结果。在一种实施方式中,参考图4所示,上述根据惯性导航定位数据进行定位预测,得到待定位对象的预测定位数据,可以包括以下步骤s410和s420:
[0069]
步骤s410,获取待定位对象在上一时刻的参考定位数据,参考定位数据包括待定位对象在上一时刻的预测定位数据、指纹定位数据、融合定位数据中的至少一个;
[0070]
步骤s420,根据参考定位数据与惯性导航相对定位数据,得到待定位对象在当前时刻的预测定位数据。
[0071]
在一种实施方式中,待定位对象在初始时刻(即开始进行定位的时刻)的参考定位数据可以是初始时刻的指纹定位数据,为惯性导航定位提供了绝对定位数据的参考。在此基础上,可以根据连续两个时刻之间的惯性导航相对定位数据,计算后面每一时刻的预测定位数据。
[0072]
参考图5所示,假设惯性导航模块输出惯性导航定位数据的帧率是30fps,无线通信模块输出指纹定位数据的帧率是1fps。t0表示初始时刻,在t0获取指纹定位数据(一般在
初始时刻不获取惯性导航定位数据)。在t1~t29时间段仅获取惯性导航相对定位数据,不获取指纹定位数据,每个时刻的惯性导航相对定位数据是指该时刻相对于上一时刻的相对定位数据。以t0的指纹定位数据为参考定位数据,根据t1的惯性导航相对定位数据,可以通过公式(1)计算出t1的预测定位数据。在一种实施方式中,运动方程可以表示为如下形式:
[0073][0074]
其中,trk表示由惯性导航定位得到的k时刻的定位数据,等同于k时刻的预测定位数据。表示待定位对象在k时刻与k-1时刻之间的惯性导航相对定位数据,可以是位姿变换矩阵的形式。与公式(1)相比,公式(2)相当于对运动方程进行了简化,将上一时刻的参考定位数据与当前时刻的惯性导航相对定位数据相乘,得到当前时刻的预测定位数据。
[0075]
在t1~t29时间段,由于不具备指纹定位数据,在计算预测定位数据时,可以以上一时刻的预测定位数据作为参考定位数据。在t30时刻,可以获取指纹定位数据和惯性导航相对定位数据,在计算出t30的预测定位数据后,还可以根据t30的指纹定位数据对t30的预测定位数据进行更新,得到t30的融合定位数据,由此在t30具备预测定位数据、指纹定位数据、融合定位数据。这样在t31计算预测定位数据时,可以以t30的预测定位数据、指纹定位数据、融合定位数据中的任意一者作为参考定位数据。
[0076]
继续参考图3,在步骤s330中,获取基于无线信号数据所确定的待定位对象的指纹定位数据;该无线信号数据是待定位对象从固定设置的无线接入点接收的信号数据;。
[0077]
本示例性实施方式中,可以在环境中的多个固定位置设置无线接入点,其可以是基于射频、红外、可见光等任意信号的接入点,如蓝牙信标等。移动设备110的无线通信模块可以接收附近多个无线接入点发送的无线信号,得到无线信号数据,如无线信号数据可以包括发送无线信号的无线接入点的标识或位置,以及无线信号的强度等。
[0078]
在一种实施方式中,无线信号数据可以包括无线指纹数据。可以将无线信号的rss(received signal strength,接收信号强度)数据按照无线接入点的顺序进行排列,形成数组或向量,从而得到当前位置的无线指纹数据。例如,待定位对象当前处于目标场景中,事先在目标场景中设置10个无线接入点,分别编号为1~10,在待定位对象处于某个位置时,接收到10个无线接入点发送的无线信号,按照无线接入点1~10的顺序将10个无线信号的rss数据排列为向量,可能距离其中一些无线接入点较远,接收到的射频信号rss为0。该rss向量为当前位置的无线指纹数据。
[0079]
一般的,距离某个无线接入点越近,接收到该无线接入点的无线信号的强度越高,因此通过对无线信号数据进行解析,可以确定待定位对象的指纹定位数据。例如可以通过几何关系计算,确定待定位对象的指纹定位数据。
[0080]
在一种实施方式中,参考图6所示,上述获取基于无线信号数据所确定的待定位对象的指纹定位数据,可以包括以下步骤s610和s620:
[0081]
步骤s610,获取待定位对象在采样时刻的无线信号数据;
[0082]
步骤s620,根据待定位对象在采样时刻的无线信号数据与预先配置的无线信号参考数据之间的相似度,确定待定位对象在采样时刻的指纹定位数据。
[0083]
其中,采样时刻是指进行指纹定位的时刻,可以是实际定位过程中的任意时刻,例
如可以是当前时刻。无线信号参考数据为事先在参考位置所采集的无线信号数据。本公开对于参考位置的设置不做限定,例如可以在每个方向上每间隔一定的距离设置一个参考位置,从而在目标场景中形成参考位置的点阵。在参考位置采集无线接入点发送的无线信号数据,作为后续指纹定位的参考。
[0084]
示例性的,可以采集每个参考位置所接收到的无线信号,得到无线指纹数据(如rss向量),作为每个参考位置的无线信号参考数据,从而可以建立无线指纹库。在采样时刻得到无线指纹数据后,将其与参考位置的无线指纹数据分别计算相似度,相似度越高,说明在采样时刻的位置与对应的参考位置距离越近,由此可以解析出待定位对象在采样时刻的指纹定位数据。
[0085]
在一种实施方式中,上述根据待定位对象在采样时刻的无线信号数据与预先配置的无线信号参考数据之间的相似度,确定待定位对象在采样时刻的指纹定位数据,可以包括以下步骤:
[0086]
根据待定位对象在采样时刻的无线信号数据与预先配置的无线信号参考数据之间的相似度,确定与待定位对象在采样时刻的无线信号数据相似的多个无线信号参考数据;
[0087]
通过对上述多个无线信号参考数据所对应的多个参考位置进行加权处理,确定待定位对象在采样时刻的指纹定位数据。
[0088]
其中,可以确定与待定位对象在采样时刻的无线信号数据的相似度较高的任意数量的无线信号参考数据。例如可以设置固定数量,按照相似度由高到低的顺序选取出该数量的无线信号参考数据,或者设置相似度阈值,选取出与该无线信号数据的相似度高于相似度阈值的无线信号参考数据。该固定数量与该相似度阈值可以根据经验或实际需求确定,本公开不做限定。
[0089]
在得到上述多个无线信号参考数据后,说明采样时刻的位置距离该多个无线信号参考数据对应的多个参考位置比较近。可以根据相似度确定每个参考位置的权重,对该多个参考位置进行加权处理,得到待定位对象在采样时刻的指纹定位数据。示例性的,在得到上述多个无线信号参考数据后,对每个无线信号参考数据对应的相似度进行归一化,以归一化后的相似度作为权重,对多个参考位置进行加权处理,得到待定位对象在采样时刻的指纹定位数据。
[0090]
在一种实施方式中,无线信号数据或指纹定位数据中可以携带时间戳,该时间戳可以表示无线信号数据的采集时间(即上述采样时刻),由此可以将指纹定位数据对应到无线信号数据的采集时间,以防止由于数据处理或传输所导致的定位延迟。
[0091]
继续参考图3,在步骤s340中,利用指纹定位数据对预测定位数据进行更新,得到待定位对象的融合定位数据。
[0092]
预测定位数据是根据惯性导航定位数据进行定位预测而得到的,通常存在一定的误差。本示例性实施方式利用指纹定位数据对预测定位数据进行更新,更新过程可视为指纹定位数据与预测定位数据(或惯性导航定位数据)的融合,因此将最终得到的定位数据称为融合定位数据。融合定位数据可作为最终的定位结果进行输出。
[0093]
在一种实施方式中,参考图7所示,上述利用指纹定位数据对预测定位数据进行更新,得到待定位对象的融合定位数据,可以包括以下步骤:
[0094]
步骤s710,基于目标时刻的先验定位协方差矩阵、观测矩阵、观测噪声控制矩阵与观测噪声协方差矩阵,确定目标时刻的卡尔曼增益;
[0095]
步骤s720,利用目标时刻的指纹定位数据与卡尔曼增益,对目标时刻的预测定位数据进行更新,得到待定位对象在目标时刻的融合定位数据。
[0096]
其中,目标时刻是指需要进行定位的时刻,可以是实际定位过程中的任意时刻,例如可以是当前时刻或采样时刻。本示例性实施方式可以通过ekf(extended kalman filter,扩展卡尔曼滤波)算法来实现对预测定位数据的更新,参考以下公式:
[0097][0098][0099]
其中,k表示当前时刻,以当前时刻作为目标时刻。kk表示目标时刻的卡尔曼增益,表示目标时刻的先验定位协方差矩阵,相当于目标时刻的预测定位数据的协方差矩阵,gk表示目标时刻的观测矩阵(即观测方程对融合定位数据的雅克比矩阵),ck表示目标时刻的观测噪声控制矩阵(即观测方程对观测噪声的雅克比矩阵),rk表示目标时刻的观测噪声协方差矩阵。表示目标时刻的融合定位数据,表示目标时刻的预测定位数据,yk表示目标时刻的观测量,g(
·
)表示观测方程。ω
ob
表示观测噪声,例如可以是均值为0的高斯噪声。基于公式(3)可以计算出目标时刻的卡尔曼增益,代入公式(4),可以进一步计算出目标时刻的融合定位数据。
[0100]
在一种实施方式中,可以将指纹定位数据作为观测量,如下所示:
[0101]
yk=talkꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(5)
[0102]
其中,talk表示目标时刻的指纹定位数据。
[0103]
观测方程g(
·
)表征观测量与预测定位数据之间的关系。在一种实施方式中,可以在定位初始阶段将其简化为:
[0104][0105]
也就是说,在定位初始阶段,可视为观测量与预测定位数据之间无关系。随着定位的进行,可以对在观测量与预测定位数据之间进行拟合,根据拟合结果得到观测方程,并且该观测方程还可以随定位的进行而更新。
[0106]
在一种实施方式中,根据上述观测方程,可以推导出任意时刻下的观测矩阵与观测噪声控制矩阵均为单位矩阵。
[0107]
在一种实施方式中,对于上述目标时刻的先验定位协方差矩阵可以基于目标时刻的上一时刻的后验定位协方差矩阵、状态转移矩阵、输入噪声控制矩阵与输入噪声协方差矩阵,确定该目标时刻的先验定位协方差矩阵。参考以下公式所示:
[0108]
[0109][0110]
其中,k-1表示目标时刻的上一时刻。f
k-1
表示上一时刻的状态转移矩阵(即运动方程对上一时刻的融合定位数据的雅可比矩阵),表示上一时刻的后验定位协方差矩阵,相当于上一时刻的融合定位数据的协方差矩阵,b
k-1
表示上一时刻的输入噪声控制矩阵(即运动方程对输入噪声的雅可比矩阵),qk表示目标时刻的输入噪声协方差矩阵。i表示单位矩阵。通过公式(8)可以计算上一时刻的后验定位协方差矩阵。进而通过公式(7)可以计算目标时刻的先验定位协方差矩阵。
[0111]
在一种实施方式中,根据上述运动方程(如公式(2)所示的运动方程),可以推导出任意时刻下的状态转移矩阵与输入噪声控制矩阵均为单位矩阵。
[0112]
对于公式(3)中的观测噪声协方差矩阵rk,在一种实施方式中,可以将其近似为定位过程中的一个常量r,通过事先标定的方式予以计算。具体的,定位方法还可以包括以下步骤:
[0113]
获取n组指纹样本数据,每一组指纹样本数据包括一个指纹定位样本矩阵及其对应的一个真实定位矩阵;
[0114]
分别将每一组指纹样本数据中的指纹定位样本矩阵与真实定位矩阵中的一个转换为逆矩阵后与另一个相乘,根据相乘的结果确定观测噪声协方差矩阵。
[0115]
其中,n可以是任意正整数,一般n的取值越大,所得到的观测噪声协方差矩阵越准确。在待定位对象的n种不同位姿下,分别获取指纹定位样本数据,表示为矩阵的形式,得到n个指纹定位样本矩阵,记为tal,通过vio系统等其他方式获取n个指纹定位样本矩阵对应的真实定位数据,同样表示为矩阵的形式,得到n个真实定位矩阵,记为ttrue。参考以下公式:
[0116][0117]
其中,公式(9)示出将指纹定位样本矩阵tal转换为逆矩阵后与真实定位矩阵ttrue相乘,并通过相乘结果的矩阵及其转置矩阵之积,计算出观测噪声协方差矩阵r。此外,也可以将真实定位矩阵ttrue转换为逆矩阵后与指纹定位样本矩阵tal相乘,并通过相乘结果的矩阵及其转置矩阵之积,计算出观测噪声协方差矩阵r。
[0118]
对于公式(7)中的输入噪声协方差矩阵qk,在一种实施方式中,可以将其近似为定位过程中的一个常量q,通过事先标定的方式予以计算。具体的,定位方法还可以包括以下步骤:
[0119]
获取m组惯性导航样本数据,每一组惯性导航样本数据包括一个惯性导航定位样本矩阵及其对应的一个真实定位矩阵;
[0120]
分别将每一组惯性导航样本数据中的惯性导航定位样本矩阵与真实定位矩阵中的一个转换为逆矩阵后与另一个相乘,根据相乘的结果确定输入噪声协方差矩阵。
[0121]
其中,m可以是任意正整数,一般m的取值越大,所得到的观测噪声协方差矩阵越准确。在待定位对象的m种不同位姿下,分别获取惯性导航定位样本数据,表示为矩阵的形式,得到n个惯性导航定位样本矩阵,记为tr,通过vio系统等其他方式获取m个性导航定位样本矩阵对应的真实定位数据,同样表示为矩阵的形式,得到m个真实定位矩阵,记为ttrue。参
考以下公式:
[0122][0123]
其中,公式(10)示出将惯性导航定位样本矩阵tr转换为逆矩阵后与真实定位矩阵ttrue相乘,并通过相乘结果的矩阵及其转置矩阵之积,计算出输入噪声协方差矩阵q。此外,也可以将真实定位矩阵ttrue转换为逆矩阵后与惯性导航定位样本矩阵tr相乘,并通过相乘结果的矩阵及其转置矩阵之积,计算出输入噪声协方差矩阵q。
[0124]
在一种实施方式中,由于无线通信模块与惯性导航模块输出数据的帧率不同,或者两个模块进行数据处理与传输存在延迟,导致系统获取惯性导航定位数据与获取指纹定位数据的时间不同步。例如,惯性导航模块输出惯性导航定位数据的帧率高于无线通信模块输出指纹定位数据的帧率。在无线通信模块两次输出指纹定位数据中间的间隔时间,惯性导航模块持续输出惯性导航定位数据,并持续进行定位预测。
[0125]
步骤s330中获取的指纹定位数据包括待定位对象在采样时刻的指纹定位数据。在一种实施方式中,可以根据无线信号数据中的时间戳确定采样时刻,或者可以根据指纹定位数据中的时间戳确定采样时刻。以当前时刻表示进行定位预测的时刻,则采样时刻可以早于当前时刻。上述利用指纹定位数据对预测定位数据进行更新,得到待定位对象的融合定位数据,可以包括以下步骤:
[0126]
利用待定位对象在采样时刻的指纹定位数据,对待定位对象在采样时刻的预测定位数据进行更新,得到待定位对象在采样时刻的融合定位数据。
[0127]
参考图8所示,以惯性导航模块输出惯性导航定位数据的帧率为30fps,无线通信模块输出指纹定位数据的帧率为1fps为例。无线通信模块在采集无线信号数据,经过处理得到指纹定位数据并发送至处理器或处理设备120。而惯性导航模块进行数据处理与传输也需要一定的时间,考虑无线通信模块与惯性导航模块进行数据处理与传输的时间差,假设为0.5s。以惯性导航模块的时间轴为基准,以t30作为采样时刻,表示系统获取t30的惯性导航定位数据时,无线通信模块采集t30的无线信号数据,该无线信号数据被解析为t30的指纹定位数据并传输至系统的时刻为t45。如上所述,由于t30~t45过程中未获取指纹定位数据,可以依次以上一时刻的预测定位数据为参考定位数据,计算当前时刻的预测定位数据。在t45时刻,接收到t30的指纹定位数据,根据该指纹定位数据对t30的预测定位数据进行更新,而并非对当前t45的预测定位数据进行更新,相当于回溯到t30时刻进行数据融合,得到t30的融合定位数据。由此能够改善由于惯性导航模块与无线通信模块之间的时间不同步所导致的时间误差问题,并提高了定位的实时性。
[0128]
在一种实施方式中,惯性导航定位数据包括待定位对象在采样时刻与当前时刻之间的惯性导航相对定位数据。定位方法还可以包括以下步骤:
[0129]
根据待定位对象在采样时刻的融合定位数据与惯性导航相对定位数据,得到待定位对象在当前时刻的融合定位数据。
[0130]
继续参考图8所示,在得到t30的融合定位数据后,可以以t30的融合定位数据为参考定位数据,重新计算t31的预测定位数据,则公式(2)可以进一步表示为以下公式(11):
[0131]
[0132]
其中,表示上一时刻的融合定位数据,其作为上一时刻的参考定位数据,经过指纹定位数据的融合,可视为后验定位数据。由于该参考定位数据融合了指纹定位的信息,则此时计算的t31的预测定位数据实际上也融合了指纹定位信息,因此可以称为t31的融合定位数据,同样可视为后验定位数据。首次计算的t31的预测定位数据可视为先验定位数据。由此,依次推算后续每一时刻的融合定位数据,这样在指纹定位数据缺失的时刻也可以实现数据融合,提高定位结果的精确度。
[0133]
在一种实施方式中,定位方法还可以包括以下步骤:
[0134]
利用目标场景的地图匹配模型对融合定位数据进行处理,得到目标定位数据;目标场景是待定位对象当前所处的真实场景。
[0135]
其中,地图匹配模型用于将融合定位数据匹配至更加真实的位置(或位姿),以进一步提高融合定位数据的精确度。目标定位数据可以是最终输出的定位数据。本公开对于地图匹配模型的具体形式不做限定,例如可以是神经网络模型。
[0136]
本示例性实施方式还提供了地图匹配模型的训练方法,参考图9所示,可以包括以下步骤s910和s920:
[0137]
步骤s910,获取目标场景中的位姿标注信息,根据位姿标注信息得到匹配数据对,每个匹配数据对包括具有匹配关系的一个待匹配定位数据和一个标签定位数据。
[0138]
位姿标注信息是指目标场景中具有真实性的位姿信息。在一种实施方式中,位姿标注信息可以包括区域标注信息,其可以是通过对目标场景中的真实位姿信息进行统计,得到的目标场景中可达区域和不可达区域的信息,可达区域是指能够实际到达的区域,不可达区域是指无法到达的区域,如存在障碍物或者建筑物限制而导致无法到达的区域。在一种实施方式中,可以获取目标场景中的历史轨迹数据,是指在目标场景中已实际发生过的移动轨迹的数据,通过对大量的历史轨迹数据进行统计,确定目标场景中的真实位姿与非真实位姿,真实位姿是指人或物可以实际呈现的位姿,非真实位姿是指人或物无法实际呈现的位姿。例如,在行人移动的场景中,上述不可达区域内的位姿均为非真实位姿,或者虽然处于可达区域,但是转向偏离实际的位姿等。在一种实施方式中,可以将历史轨迹数据中出现过的位姿形成真实位姿的集合,该集合以外的位姿则为非真实位姿。
[0139]
匹配数据对是用于训练地图匹配模型的数据,其中待匹配定位数据是真实性未知的定位数据,标签定位数据是指与该待匹配定位数据匹配的真实定位数据。
[0140]
在一种实施方式中,上述根据位姿标注信息得到匹配数据对,可以包括以下步骤:
[0141]
在目标场景中生成待匹配定位数据;
[0142]
根据位姿标注信息判断待匹配定位数据是否对应于真实位姿;如果是,则将待匹配定位数据本身作为与待匹配定位数据匹配的标签定位数据;如果否,则获取与待匹配定位数据最相似的真实位姿对应的定位数据,将其作为与待匹配定位数据匹配的标签定位数据。
[0143]
其中,可以在目标场景中随机生成待匹配定位数据,例如在目标场景的范围内随机生成6dof数据。或者,也可以基于设定的策略生成待匹配定位数据,例如在目标场景的不同区域内按照设定的比例生成待匹配定位数据。
[0144]
根据位姿标注信息,可以判断所生成的待匹配定位数据对应于真实位姿还是非真
实位姿,例如可以判断该待匹配定位数据是否位于上述真实位姿的集合内。如果对应于真实位姿,则可以将该待匹配定位数据本身作为其所匹配的标签定位数据,即该待匹配定位数据与其自身形成一个匹配数据对。如果对应于非真实位姿,则可以获取与该待匹配定位数据最相似的真实位姿对应的定位数据,作为其所匹配的标签定位数据,即该待匹配定位数据与该真实位姿对应的定位数据形成一个匹配数据对。
[0145]
通过上述方式,可以得到大量的匹配数据对,从而建立数据集。由此,无需进行人工标注,即可得到用于训练的数据集。
[0146]
步骤s920,将匹配数据对中的待匹配定位数据输入待训练的地图匹配模型,并基于地图匹配模型输出的已匹配定位数据与匹配数据对中的标签定位数据,更新地图匹配模型的参数。
[0147]
地图匹配模型可以采用端到端的网络结构,例如可以以u-net作为网络主干(backbone),并且可以根据实际需求设置任意的中间层。将待匹配定位数据输入地图匹配模型,输出对应的已匹配定位数据,将其与该待匹配定位数据所匹配的标签定位数据代入预先建立的损失函数,计算损失函数值。然后通过该损失函数值,对地图匹配模型的参数进行反向传播的更新。
[0148]
经过迭代训练,当达到设定训练条件时,如地图匹配模型在测试集上测试的准确率达到设定的要求,或者迭代次数达到设定的数值时,确定训练完成,得到可用的地图匹配模型。
[0149]
由此,在得到融合定位数据后,将其输入地图匹配模型,以进行正向推理,相当于利用目标场景中的物理信息对融合定位数据进行约束,如果其真实性较低,则地图匹配模型可以将其匹配到相近的真实位姿,从而进一步提高定位精确度。
[0150]
在一种实施方式中,定位方法还可以包括以下步骤:
[0151]
基于相同时刻的预测定位数据和指纹定位数据,确定第一坐标系与第二坐标系之间的转换参数。
[0152]
其中,参考图10所示,第一坐标系为预测定位数据所在的坐标系,其原点通常为惯性导航模块初始化时待定位对象所处的位置,其坐标轴方向可以与惯性导航模块内部的坐标轴对齐。第二坐标系为指纹定位数据所在的坐标系,其原点通常为对目标场景建图初始化时待定位对象所处的位置,其坐标轴方向通常与第一坐标系也不相同。为了实现预测定位数据与指纹定位数据更准确的融合,可以对第一坐标系与第二坐标系进行统一。
[0153]
在获取相同时刻的预测定位数据和指纹定位数据后,由于第一坐标系与第二坐标系的不统一,预测定位数据和指纹定位数据的差别较大,可以基于两者的差别,确定两坐标系之间的转换参数。
[0154]
由此,在步骤s340中,可以基于上述转换参数将预测定位数据和指纹定位数据转换至同一坐标系中,例如可以将预测定位数据从第一坐标系转换至第二坐标系,或者将指纹定位数据从第二坐标系转换至第一坐标系,或者将预测定位数据和指纹定位数据均转换至统一的第三坐标系中。然后利用统一坐标系后的指纹定位数据对预测定位数据进行更新,得到待定位对象的融合定位数据。
[0155]
在一种实施方式中,上述基于相同时刻的预测定位数据和指纹定位数据,确定第一坐标系与第二坐标系之间的转换参数,可以包括以下步骤:
[0156]
获取在上一标定时刻更新后的第一坐标系与第二坐标系之间的转换参数;
[0157]
根据当前标定时刻的预测定位数据和指纹定位数据,确定当前标定时刻对应的第一坐标系与第二坐标系之间的转换参数采样数据;
[0158]
对转换参数和当前标定时刻对应的转换参数采样数据进行低通滤波处理,以更新转换参数。
[0159]
其中,标定时刻是指对第一坐标系与第二坐标系进行标定的时刻,通常是同时具备预测定位数据和指纹定位数据的时刻。
[0160]
参考图11所示,假设预测定位数据帧率为30fps,指纹定位数据的帧率为1fps,以33ms为一个时刻。tr0表示0时刻的预测定位数据,tal0表示0时刻的指纹定位数据。以t30、t60、t90等为标定时刻,则有以下关系:
[0161][0162][0163][0164][0165][0166]
其中,w1表示第一坐标系,w2表示第二坐标系。分别表示t30、t60、t90标定时刻对应的转换参数采样数据,由对应时刻的预测定位数据和指纹定位数据进行矩阵运算得到。由于t30为初始标定时刻,直接将该时刻对应的转换参数采样数据作为转换参数后续每得到新的转换参数采样数据,通过低通滤波函数filter(
·
)进行滤波处理,其中λ为滤波系数,可以根据经验和实际需求设定,例如可以为0.02~0.05,从而实现对转换参数的不断更新。在步骤s340中,可以基于当前最新的转换参数对预测定位数据和指纹定位数据进行坐标系的统一,然后进行融合计算。
[0167]
在一种实施方式中,定位方法还可以包括以下步骤:
[0168]
确定相同时刻的预测定位数据和指纹定位数据之间的偏差值,如果偏差值超出预设范围,则将预测定位数据和指纹定位数据中的至少一者确定为异常数据。
[0169]
一般的,在正常情况下,在统一坐标系后,相同时刻的预测定位数据和指纹定位数据之间不会存在过大的偏差值。如果偏差值过大,说明其中至少一者为异常数据。其中,该偏差值可以包括位置偏差值或角度偏差值,可以分别针对位置偏差值与角度偏差值确定对应的预设范围,如根据经验和实际需求,确定针对位置偏差值的第一预设范围,确定针对角度偏差值的第二预设范围。如果位置偏差值与角度偏差值同时超出预设范围,或者其中一个超出预设范围,则确定预测定位数据和指纹定位数据中的至少一者为异常数据。示例性的,可以将该时刻的预测定位数据和指纹定位数据均确定为异常数据,并予以舍弃。由此能够滤除异常的定位数据,保证定位结果的可靠性。
[0170]
图12示出了本示例性实施方式的定位方法的示意性流程图,包括:
[0171]
步骤s1210,获取惯性导航传感数据;
[0172]
步骤s1220,基于惯性导航传感数据确定惯性导航定位数据;
[0173]
步骤s1230,获取无线信号数据;
[0174]
步骤s1240,基于无线信号数据确定指纹定位数据;
[0175]
步骤s1250,根据惯性导航定位数据进行定位预测,得到预测定位数据;
[0176]
步骤s1260,根据指纹定位数据对预测定位数据进行更新,得到融合定位数据;
[0177]
步骤s1270,将融合定位数据输入预先训练的地图匹配模型,得到目标定位数据并进行输出。
[0178]
本公开的示例性实施方式还提供一种定位装置。参考图13所示,该定位装置1300可以包括:
[0179]
第一获取模块1310,被配置为获取基于惯性导航传感数据所确定的待定位对象的惯性导航定位数据;
[0180]
定位预测模块1320,被配置为根据惯性导航定位数据进行定位预测,得到待定位对象的预测定位数据;
[0181]
第二获取模块1330,被配置为获取基于无线信号数据所确定的待定位对象的指纹定位数据;该无线信号数据是待定位对象从固定设置的无线接入点接收的信号数据;
[0182]
定位更新模块1340,被配置为利用指纹定位数据对预测定位数据进行更新,得到待定位对象的融合定位数据。
[0183]
在一种实施方式中,上述获取基于惯性导航传感数据所确定的待定位对象的惯性导航定位数据,可以包括:
[0184]
获取待定位对象的惯性导航传感数据;
[0185]
利用预先训练的惯性导航定位模型对惯性导航传感数据进行处理,得到待定位对象的惯性导航定位数据。
[0186]
在一种实施方式中,惯性导航定位数据包括待定位对象在当前时刻的上一时刻与当前时刻之间的惯性导航相对定位数据;上述根据惯性导航定位数据进行定位预测,得到待定位对象的预测定位数据,包括:
[0187]
获取待定位对象在上一时刻的参考定位数据,参考定位数据包括待定位对象在上一时刻的预测定位数据、指纹定位数据、融合定位数据中的至少一个;
[0188]
根据参考定位数据与惯性导航相对定位数据,得到待定位对象在当前时刻的预测定位数据。
[0189]
在一种实施方式中,上述获取基于无线信号数据所确定的待定位对象的指纹定位数据,可以包括:
[0190]
获取待定位对象在采样时刻的无线信号数据;
[0191]
根据待定位对象在采样时刻的无线信号数据与预先配置的无线信号参考数据之间的相似度,确定待定位对象在采样时刻的指纹定位数据;
[0192]
其中,无线信号参考数据为在参考位置所采集的无线信号数据。
[0193]
在一种实施方式中,上述根据待定位对象在采样时刻的无线信号数据与预先配置的无线信号参考数据之间的相似度,确定待定位对象在采样时刻的指纹定位数据,可以包括:
[0194]
根据待定位对象在采样时刻的无线信号数据与预先配置的无线信号参考数据之间的相似度,确定与待定位对象在采样时刻的无线信号数据相似的多个无线信号参考数
据;
[0195]
通过对上述多个无线信号参考数据所对应的多个参考位置进行加权处理,确定待定位对象在采样时刻的指纹定位数据。
[0196]
在一种实施方式中,上述指纹定位数据包括待定位对象在采样时刻的指纹定位数据,该采样时刻早于当前时刻。上述利用指纹定位数据对预测定位数据进行更新,得到待定位对象的融合定位数据,可以包括:
[0197]
利用待定位对象在采样时刻的指纹定位数据,对待定位对象在采样时刻的预测定位数据进行更新,得到待定位对象在采样时刻的融合定位数据。
[0198]
在一种实施方式中,惯性导航定位数据包括待定位对象在采样时刻与当前时刻之间的惯性导航相对定位数据。定位更新模块1340,还被配置为:
[0199]
根据待定位对象在采样时刻的融合定位数据与惯性导航相对定位数据,得到待定位对象在当前时刻的融合定位数据。
[0200]
在一种实施方式中,定位更新模块1340,还被配置为:
[0201]
根据指纹定位数据中的时间戳确定采样时刻。
[0202]
在一种实施方式中,上述利用指纹定位数据对预测定位数据进行更新,得到待定位对象的融合定位数据,可以包括:
[0203]
基于目标时刻的先验定位协方差矩阵、观测矩阵、观测噪声控制矩阵与观测噪声协方差矩阵,确定目标时刻的卡尔曼增益;
[0204]
利用目标时刻的指纹定位数据与卡尔曼增益,对目标时刻的预测定位数据进行更新,得到待定位对象在目标时刻的融合定位数据。
[0205]
在一种实施方式中,定位更新模块1340,还被配置为:
[0206]
获取n组指纹样本数据,每一组指纹样本数据包括一个指纹定位样本矩阵及其对应的一个真实定位矩阵;n为正整数;
[0207]
分别将每一组指纹样本数据中的指纹定位样本矩阵与真实定位矩阵中的一个转换为逆矩阵后与另一个相乘,根据相乘的结果确定观测噪声协方差矩阵。
[0208]
在一种实施方式中,定位更新模块1340,还被配置为:
[0209]
基于目标时刻的上一时刻的后验定位协方差矩阵、状态转移矩阵、输入噪声控制矩阵与输入噪声协方差矩阵,确定目标时刻的先验定位协方差矩阵。
[0210]
在一种实施方式中,定位更新模块1340,还被配置为:
[0211]
获取m组惯性导航样本数据,每一组惯性导航样本数据包括一个惯性导航定位样本矩阵及其对应的一个真实定位矩阵;m为正整数;
[0212]
分别将每一组惯性导航样本数据中的惯性导航定位样本矩阵与真实定位矩阵中的一个转换为逆矩阵后与另一个相乘,根据相乘的结果确定输入噪声协方差矩阵。
[0213]
在一种实施方式中,定位装置1300还可以包括地图匹配模块,被配置为:
[0214]
利用目标场景的地图匹配模型对融合定位数据进行处理,得到目标定位数据;目标场景是待定位对象当前所处的真实场景;
[0215]
其中,地图匹配模块通过执行以下步骤,训练并获得地图匹配模型:
[0216]
获取目标场景中的位姿标注信息,根据位姿标注信息得到匹配数据对,每个匹配数据对包括具有匹配关系的一个待匹配定位数据和一个标签定位数据;
[0217]
将匹配数据对中的待匹配定位数据输入待训练的地图匹配模型,并基于地图匹配模型输出的已匹配定位数据与匹配数据对中的标签定位数据,更新地图匹配模型的参数。
[0218]
在一种实施方式中,上述根据位姿标注信息得到匹配数据对,包括:
[0219]
在目标场景中生成待匹配定位数据;
[0220]
根据位姿标注信息判断待匹配定位数据是否对应于真实位姿;如果是,则将待匹配定位数据本身作为与待匹配定位数据匹配的标签定位数据;如果否,则获取与待匹配定位数据最相似的真实位姿对应的定位数据,将其作为与待匹配定位数据匹配的标签定位数据。
[0221]
在一种实施方式中,定位更新模块1340,还被配置为:
[0222]
基于相同时刻的预测定位数据和指纹定位数据,确定第一坐标系与第二坐标系之间的转换参数;第一坐标系为预测定位数据所在的坐标系,第二坐标系为指纹定位数据所在的坐标系;
[0223]
上述利用指纹定位数据对预测定位数据进行更新,得到待定位对象的融合定位数据,包括:
[0224]
基于转换参数将预测定位数据和指纹定位数据转换至同一坐标系中,并利用指纹定位数据对预测定位数据进行更新,得到待定位对象的融合定位数据。
[0225]
在一种实施方式中,上述基于相同时刻的预测定位数据和指纹定位数据,确定第一坐标系与第二坐标系之间的转换参数,包括:
[0226]
获取在上一标定时刻更新后的第一坐标系与第二坐标系之间的转换参数;
[0227]
根据当前标定时刻的预测定位数据和指纹定位数据,确定当前标定时刻对应的第一坐标系与第二坐标系之间的转换参数采样数据;
[0228]
对转换参数和当前标定时刻对应的转换参数采样数据进行低通滤波处理,以更新转换参数。
[0229]
在一种实施方式中,定位更新模块1340,还被配置为:
[0230]
确定相同时刻的预测定位数据和指纹定位数据之间的偏差值,如果偏差值超出预设范围,则将预测定位数据和指纹定位数据中的至少一者确定为异常数据。
[0231]
上述装置中各部分的具体细节在方法部分实施方式中已经详细说明,未披露的细节内容可以参见方法部分的实施方式内容,因而不再赘述。
[0232]
本公开的示例性实施方式还提供了一种计算机可读存储介质,可以实现为一种程序产品的形式,其包括程序代码,当程序产品在电子设备上运行时,程序代码用于使电子设备执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的步骤。在一种可选的实施方式中,该程序产品可以实现为便携式紧凑盘只读存储器(cd-rom)并包括程序代码,并可以在电子设备,例如个人电脑上运行。然而,本公开的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0233]
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储
器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。
[0234]
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
[0235]
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、rf等等,或者上述的任意合适的组合。
[0236]
可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如java、c 等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
[0237]
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的示例性实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
[0238]
所属技术领域的技术人员能够理解,本公开的各个方面可以实现为系统、方法或程序产品。因此,本公开的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其他实施方式。本技术旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施方式仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
[0239]
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限定。
再多了解一些

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

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

相关文献