定位方法和装置
文献发布时间:2023-06-19 11:22:42
技术领域
本公开的实施例总体上涉及智能交通领域,更具体地,涉及呈现定位方法、装置、设备、存储介质和程序产品
背景技术
随着移动互联网技术的飞速发展,定位数据已经成为许多服务的基础数据。例如,各类LBS(基于位置服务)应用依赖于准确的定位数据来为用户提供各种各样的服务。目前大部分设备依赖于全球定位系统GNSS定位技术来进行定位,例如GPS定位。然而,GPS信号容易受到物理环境的影响,使得定位偏差较大,从而影响用户的体验。
发明内容
根据本公开的一些实施例,提供了一种定位方案。
在本公开的第一方面,提供了一种定位方法。该方法包括:获取与目标对象相关联的实时惯性传感器数据;利用预测模型处理实时惯性传感器数据,以确定目标对象的运动预测信息,预测模型是基于训练惯性传感器数据和对应的真值运动信息而被训练的;基于观测数据调整根据实时惯性传感器数据确定的惯导推算信息,观测数据至少基于运动预测信息被确定;以及基于经调整的惯导推算信息,确定目标对象的位置。
在本公开的第二方面,提供了一种定位装置。该装置包括:数据获取模块,被配置为获取与目标对象相关联的实时惯性传感器数据;预测模块,被配置为利用预测模型处理实时惯性传感器数据,以确定目标对象的运动预测信息,预测模型是基于训练惯性传感器数据和对应的真值运动信息而被训练的;调整模块,被配置为基于观测数据调整根据实时惯性传感器数据确定的惯导推算信息,观测数据至少基于运动预测信息被确定;以及位置确定模块,被配置为基于经调整惯导推算信息,确定目标对象的位置。
在本公开的第三方面,提供了一种电子设备,包括一个或多个处理器以及存储器,其中存储器用于存储计算机可执行指令,计算机可执行指令被一个或多个处理器执行以实现根据本公开的第一方面的方法。
在本公开的第四方面,提供了一种计算机可读存储介质,其上存储有计算机可执行指令,其中计算机可执行指令在被处理器执行时实现根据本公开的第一方面的方法。
在本公开的第五方面,提供了一种计算机程序产品,其包括计算机可执行指令,其中计算机可执行指令在被处理器执行时实现根据本公开的第一方面的方法。
根据本公开的实施例,通过利用运动预测信息来确定观测数据,并进而调整基于实时惯性传感器数据所预测的定位,本公开的方案可以实现更为准确的定位。
提供发明内容部分是为了以简化的形式来介绍对概念的选择,它们在下文的具体实施方式中将被进一步描述。发明内容部分无意标识本公开的关键特征或必要特征,也无意限制本公开的范围。
附图说明
结合附图并参考以下详细说明,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标注表示相同或相似的元素,其中:
图1示出了本公开的实施例能够在其中被实现的示例环境的框图;
图2示出了根据本公开的一些实施例的定位过程的流程图;
图3示出了根据本公开的一些实施例的定位装置的框图;以及
图4示出了其中可以实施本公开的一个或多个实施例的电子设备的框图。
具体实施方式
下面将参照附图更详细地描述本公开的一些示例实施例。虽然附图中显示了本公开的一些实施例,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
在本文中使用的术语“包括”及其变形表示开放性包括,即“包括但不限于”。除非特别申明,术语“或”表示“和/或”。术语“基于”表示“至少部分地基于”。术语“一个示例实施例”和“一个实施例”表示“至少一个示例实施例”。术语“另一实施例”表示“至少一个另外的实施例”。术语“第一”、“第二”等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
如上文所讨论的,目前大部分设备依赖于GNSS定位技术来进行定位,例如GPS定位。然而,GPS信号容易受到物理环境的影响,使得定位偏差较大,从而影响用户的体验。。
有鉴于此,本公开的实施例提出了一种定位方案。在该方案中,首先,获取与目标对象相关联的实时惯性传感器数据。随后,利用预测模型处理实时惯性传感器数据,以确定目标对象的运动预测信息,其中预测模型是基于训练惯性传感器数据和对应的真值运动信息而被训练的。观测数据被用于调整根据实时惯性传感器数据确定的惯导推算信息,并基于经调整的惯导推算信息来确定目标对象的位置,其中观测数据至少包括运动预测信息。根据这样的方案,本公开的实施例能够以运动预测信息作为观测量来确定位置,从而可以实现更为精准的定位。
以下将继续参考附图描述本公开的一些示例实施例。
图1示出了本公开的实施例能够在其中被实现的示例环境100的框图。如图1所示,环境100包括定位设备120,其用于接收来自惯性传感器110的实时惯性传感器数据115,并基于实时惯性传感器数据115来确定目标对象的位置信息135。
在一些实现中,实时惯性传感器数据115例如可以由目标对象的终端设备中内置的惯性传感器110所获取的。惯性传感器110的示例可以包括但不限于:陀螺仪数据、倾角传感器、和/或加速度计数据。
在一些实现中,如图1所示,定位设备120可以利用惯导模型125来处理实时惯性传感器数据115,以确定目标对象的当前位置。然而,可能因为误差的积累,这样所确定的位置可能存在较大的偏差。在一些实现中,在步行导航的场景中,惯导模型125可以基于PDR(行人航位推算)技术来确定惯导推算信息。在一些实现中,惯导推算信息可以包括位置信息、姿态信息或速度信息中的至少一项。
如图1所示,定位设备120还可以利用预测模型130来处理实时惯性传感器数据115,以确定目标对象的运动预测信息。在一些实现中,运动预测信息可以包括目标对象的预测位置或者预测速度。
在一些实现中,预测模型130可以是任何适当的机器学习模型,其可以是基于训练惯性传感器数据和对应的真值运动信息而被训练的。
示例性地,预测模型130可以获取在过去预定时间段内的实时惯性传感器数据115,例如,陀螺仪数据和/或加速度计数据。附加地,预测模型130能够基于这些实时惯性传感器数据115来预测目标对象在该时刻的预测位置(已知初始位置的情况下)或预测速度。
在一些实现中,用于训练预测模型130的训练惯性传感器数据可以是由第一设备获取的,真值运动信息是定位准确性高于预定阈值的第二设备所确定的,第一设备和第二设备被物理上耦合以同步运动,从而建立所获取的训练惯性传感器数据和真值运动信息之间的关联。
示例性地,在训练定位模型的过程中,可以利用包括惯性传感器的第一设备以及具有更为准确定位能力的第二设备来获取用于训练的数据。具体地,第一设备和第二设备可以物理上耦合,以使得两者与同一物理位置相关联。例如,第一设备和第二设备可以物理上被绑定。
附加地,第一设备和第二设备可以同步地执行预定的运动,以获取第一设备的惯性传感器数据以及第二设备的定位数据。在一些实现中,训练惯性传感器数据和真值运动信息在被用于训练预测模型130之前还可以在时间上被同步。应当理解,可以采用任何适当的时钟同步方式来实现训练惯性传感器数据和真值运动信息之间的同步。
这样的训练数据可以被输入到适当的机器学习模型(包括但不限于,深度神经网络、卷积神经网络、支持向量机模型或决策树模型等)。具体地,一段预定时间内的训练惯性传感器数据可以作为模型的输入特征,由第二设备获取的真值位置信息和/或基于真值位置信息确定的速度信息可以作为模型的参考真值(ground-truth),以使得该机器学习模型基于输入特征所预测的位置和/或速度与真值的差距小于预定的阈值。基于这样的方式,可以获得能够根据一定时间段内惯性传感器数据来预测当前速度和/或当前位置的预测模型130。
在一些实现中,在获得预测模型130确定的运动预测信息后,定位设备120还可以融合惯导模型125确定的定位信息以及运动预测信息,来实现对目标对象的准确定位。
示例性地,定位设备120可以基于运动预测信息确定观测数据,并基于观测数据来调整惯导模型125根据惯性导航传感器数据115所确定的惯导推算信息。
在一些实现中,定位设备120可以确定运动预测信息与惯导推算信息之间的差异。以运动预测信息为运动位置为例,定位设备120可以确定由预测模型130确定的预测位置与惯导模型125推算的位置之间的差值。作为另一示例,运动预测信息可以为速度,相应地,定位设备120可以确定由预测模型130确定的预测速度与惯导模型125所推算的速度之间的差值。
在一些实现中,如上文所讨论的,当目标用户为步行用户时,惯导模型125可以基于PDR技术来确定目标用户的当前位置和/或速度。
附加地,定位设备120可以以所确定的位置差值或者速度差值作为观测数据,并基于卡尔曼滤波来确定针对惯导推算信息的参数误差估计。在一些实现中,这样的参数误差估计可以指示惯导模型125的系统误差。
在一些实现中,定位设备120还可以基于参数误差估计来调整惯导推算信息。相应地,基于卡尔曼滤波器所确定的参数误差估计,定位设备120可以相应地更新惯导模型125所使用的状态方程中的参数以获得新的惯导推算信息。或者,定位设备120可以直接基于参数误差估计来对惯导推算信息的值进行校正。
在一些实现中,定位设备120还可以融合其他定位信息,例如,GNSS定位信息、视觉定位信息、超宽带UWB定位信息、地磁定位信息等。相应地,定位设备120还可以这些定位信息作为卡尔曼滤波器的观测数据,来响应地校正惯导推算信息。
在一些实现中,定位设备120也可以融合其他姿态信息,例如,由不同于惯性传感器110的姿态传感器所捕获的姿态信息。相应地,定位设备120也可以将这些姿态信息作为观测数据来校正惯导推算信息。
附加地,定位设备120可以基于经更新的惯导推算信息来确定更为准确的位置信息135。
基于以上讨论的融合定位技术,本公开的实施例能够排除由于GNSS信号丢失或者漂移所带来的干扰,从而提高定位的准确性。
在一些实现中,目标对象可以是步行用户,相应地,还可以基于定位设备120所确定的位置信息135来向目标对象提供步行导航。
图2示出了根据本公开实施例的示例定位过程200的流程图。过程200例如可以由图1中的定位设备120来执行。
如图2所示,在框202,定位设备120获取与目标对象相关联的实时惯性传感器数据。
在框204,定位设备120利用预测模型处理实时惯性传感器数据,以确定目标对象的运动预测信息,预测模型是基于训练惯性传感器数据和对应的真值运动信息而被训练的。
在框206,定位设备120基于观测数据调整根据实时惯性传感器数据确定的惯导推算信息,观测数据至少基于运动预测信息被确定。
在框208,定位设备120基于经调整的惯导推算信息,确定目标对象的位置。
在一些实现中,运动预测信息包括预测位置或预测速度。
在一些实现中,训练惯性传感器数据是由第一设备所获取的,真值运动信息是定位准确性高于预定阈值的第二设备所确定的,第一设备和第二设备被物理上耦合以同步运动。
在一些实现中,训练惯性传感器数据和真值运动信息在时间上被同步。
在一些实现中,调整根据实时惯性传感器数据确定的惯导推算信息包括:确定运动预测信息与惯导推算信息的差异;以差异作为观测数据,基于卡尔曼滤波来确定针对惯导推算信息的参数误差估计;以及基于参数误差估计来调整惯导推算信息。
在一些实现中,观测数据还基于以下中的至少一项被确定:全球定位系统GNSS定位信息,超宽带UWB定位信息,视觉定位信息,
地磁定位信息,或由不同于惯性传感器的姿态传感器所捕获的姿态信息。
在一些实现中,定位设备120还可以基于目标对象的位置,向目标对象提供步行导航。
在一些实现中,惯导推算信息是基于行人航位推算PDR所确定的。
图3示出了根据本公开的某些实施例的定位装置300的示意性结构框图。装置300可以被实现为或者被包括在终端设备120中。
如图3所示,装置300包括:数据获取模块310,被配置为获取与目标对象相关联的实时惯性传感器数据;预测模块320,被配置为利用预测模型处理实时惯性传感器数据,以确定目标对象的运动预测信息,预测模型是基于训练惯性传感器数据和对应的真值运动信息而被训练的;调整模块330,被配置为基于观测数据调整根据实时惯性传感器数据确定的惯导推算信息,观测数据至少基于运动预测信息被确定;以及位置确定模块340,被配置为基于经调整的惯导推算信息,确定目标对象的位置。
在一些实现中,运动预测信息包括预测位置或预测速度。
在一些实现中,训练惯性传感器数据是由第一设备所获取的,真值运动信息是定位准确性高于预定阈值的第二设备所确定的,第一设备和第二设备被物理上耦合以同步运动。
在一些实现中,训练惯性传感器数据和真值运动信息在时间上被同步。
在一些实现中,特征模块330包括:差异确定模块,被配置为确定运动预测信息与惯导推算信息的差异;滤波模块,被配置为以差异作为观测数据,基于卡尔曼滤波来确定针对惯导推算信息的参数误差估计;以及推算调整模块,被配置为基于参数误差估计来调整惯导推算信息。
在一些实现中,观测数据还基于以下中的至少一项被确定:全球定位系统GNSS定位信息,超宽带UWB定位信息,视觉定位信息,
地磁定位信息,或由不同于惯性传感器的姿态传感器捕获的姿态信息。
在一些实现中,装置300还包括:导航模块,被配置为基于目标对象的位置,向目标对象提供步行导航。
在一些实现中,惯导推算信息是基于行人航位推算PDR所确定的。
图4示出了示出了其中可以实施本公开的一个或多个实施例的电子设备400的框图。应当理解,图4所示出的电子设备400仅仅是示例性的,而不应当构成对本文所描述的实施例的功能和范围的任何限制。图4所示出的电子设备400可以被包括在或被实现为图1的定位设备120或实施本公开的其他定位设备。
如图4所示,电子设备400是通用计算设备的形式。电子设备400也可以是任何类型的计算设备或服务器。电子设备400的组件可以包括但不限于一个或多个处理器或处理单元410、存储器420、存储设备430、一个或多个通信单元440、一个或多个输入设备450以及一个或多个输出设备460。处理单元410可以是实际或虚拟处理器并且能够根据存储器420中存储的程序来执行各种处理。在多处理器系统中,多个处理单元并行执行计算机可执行指令,以提高电子设备400的并行处理能力。
电子设备400通常包括多个计算机存储介质。这样的介质可以是电子设备400可访问的任何可以获得的介质,包括但不限于易失性和非易失性介质、可拆卸和不可拆卸介质。存储器420可以是易失性存储器(例如寄存器、高速缓存、随机访问存储器(RAM))、非易失性存储器(例如,只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、闪存)或它们的某种组合。存储设备430可以是可拆卸或不可拆卸的介质,并且可以包括机器可读介质,诸如闪存驱动、磁盘或者任何其他介质,其可以能够用于存储信息和/或数据(例如地图数据)并且可以在电子设备400内被访问。
电子设备400可以进一步包括另外的可拆卸/不可拆卸、易失性/非易失性存储介质。尽管未在图4中示出,可以提供用于从可拆卸、非易失性磁盘(例如“软盘”)进行读取或写入的磁盘驱动和用于从可拆卸、非易失性光盘进行读取或写入的光盘驱动。在这些情况中,每个驱动可以由一个或多个数据介质接口被连接至总线(未示出)。存储器420可以包括计算机程序产品425,其具有一个或多个程序模块,这些程序模块被配置为执行本公开的各种实施例的各种方法或动作。
通信单元440实现通过通信介质与其他计算设备进行通信。附加地,电子设备400的组件的功能可以以单个计算集群或多个计算机器来实现,这些计算机器能够通过通信连接进行通信。因此,电子设备400可以使用与一个或多个其他服务器、网络个人计算机(PC)或者另一个网络节点的逻辑连接来在联网环境中进行操作。
输入设备450可以是一个或多个输入设备,例如鼠标、键盘、追踪球等。输出设备440可以是一个或多个输出设备,例如显示器、扬声器、打印机等。电子设备400还可以根据需要通过通信单元440与一个或多个外部设备(未示出)进行通信,外部设备诸如存储设备、显示设备等,与一个或多个使得用户与电子设备400交互的设备进行通信,或者与使得电子设备400与一个或多个其他计算设备通信的任何设备(例如,网卡、调制解调器等)进行通信。这样的通信可以经由输入/输出(I/O)接口(未示出)来执行。
根据本公开的示例性实现方式,提供了一种计算机可读存储介质,其上存储有计算机可执行指令或程序,其中计算机可执行指令或程序被处理器执行以实现上文描述的方法或功能。计算机可读存储介质可以包括非瞬态计算机可读介质。根据本公开的示例性实现方式,还提供了一种计算机程序产品,包括计算机可执行指令或程序,而计算机可执行指令或程序被处理器执行以实现上文描述的方法或功能。该计算机程序产品可以被有形地体现在非瞬态计算机可读介质上。
这里参照根据本公开实现的方法、装置、设备和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可执行指令或程序实现。
这些计算机可执行指令或程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理单元,从而生产出一种机器,使得这些指令在通过计算机或其他可编程数据处理装置的处理单元执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可执行指令或程序存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
可以把计算机可执行指令或程序加载到计算机、其他可编程数据处理装置、或其他设备上,使得在计算机、其他可编程数据处理装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其他可编程数据处理装置、或其他设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本公开的多个实现的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本公开的各实现,上述说明是示例性的,并非穷尽性的,并且也不限于所公开的各实现。在不偏离所说明的各实现的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实现的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其他普通技术人员能理解本文公开的各个实现方式。
示例实现方式
TS 1.一种定位方法,包括:
获取与目标对象相关联的实时惯性传感器数据;
利用预测模型处理所述实时惯性传感器数据,以确定所述目标对象的运动预测信息,所述预测模型是基于训练惯性传感器数据和对应的真值运动信息而被训练的;
基于观测数据调整根据所述实时惯性传感器数据确定的惯导推算信息,所述观测数据至少基于所述运动预测信息被确定;以及
基于经调整的所述惯导推算信息,确定所述目标对象的位置。
TS 2.根据TS 1所述的方法,其中所述运动预测信息包括预测位置或预测速度。
TS 3.根据TS 1所述的方法,其中所述训练惯性传感器数据是由第一设备所获取的,所述真值运动信息是定位准确性高于预定阈值的第二设备所确定的,所述第一设备和所述第二设备被物理上耦合以同步运动。
TS 4.根据TS 3所述的方法,其中所述训练惯性传感器数据和所述真值运动信息在时间上被同步。
TS 5.根据TS 1所述的方法,其中调整根据所述实时惯性传感器数据确定的惯导推算信息包括:
确定所述运动预测信息与基于所述惯导推算信息的差异;
以所述差异作为所述观测数据,基于卡尔曼滤波来确定针对所述惯导推算信息的参数误差估计;以及
基于所述参数误差估计来调整所述惯导推算信息。
TS 6.根据TS 4所述的方法,其中所述观测数据还基于以下中的至少一项被确定:
全球定位系统GNSS定位信息,
超宽带UWB定位信息,
视觉定位信息,
地磁定位信息,或
由不同于所述惯性传感器的姿态传感器所捕获的姿态信息。
TS 7.根据TS 1所述的方法,还包括:
基于所述目标对象的所述位置,向所述目标对象提供步行导航。
TS 8.根据TS 1所述的方法,所述惯导推算信息是基于行人航位推算PDR所确定的。
TS 9.一种定位装置,包括:
数据获取模块,被配置为获取与目标对象相关联的实时惯性传感器数据;
预测模块,被配置为利用预测模型处理所述实时惯性传感器数据,以确定所述目标对象的运动预测信息,所述预测模型是基于训练惯性传感器数据和对应的真值运动信息而被训练的;
调整模块,被配置为基于观测数据调整根据所述实时惯性传感器数据确定的惯导推算信息,所述观测数据至少基于所述运动预测信息被确定;以及
位置确定模块,被配置为基于经调整的所述惯导推算信息,确定所述目标对象的位置。
TS 10.一种电子设备,包括:
存储器和处理器;
其中所述存储器用于存储一条或多条计算机指令,其中所述一条或多条计算机指令被所述处理器执行以实现根据TS 1至8中任一项所述的方法。
TS 11.一种计算机可读存储介质,其上存储有一条或多条计算机指令,其中所述一条或多条计算机指令被处理器执行以实现根据TS 1至8中任一项所述的方法。
TS 12.一种计算机程序产品,包括计算机可执行指令,其中所述计算机可执行指令在被处理器执行时实现根据TS 1至8中任一项所述的方法。
- 定位信号检测方法、定位信号检测程序、定位信号接收装置、定位装置及信息设备终端
- 定位系统、定位装置、定位信息提供装置以及定位方法