定位系统、定位方法和存储介质
文献发布时间:2023-06-19 11:17:41
技术领域
本发明总体上涉及全球导航卫星系统(GNSS),并且更具体地,涉及在至少一些卫星信号的多径传输下的位置估计。
背景技术
使用全球定位系统(GPS)、格洛纳斯(GLONASS)、伽利略(Galileo)或北斗(BeiDou)系统的全球导航卫星系统(GNSS)接收器被用于许多应用中。GNSS是一种卫星导航系统,其向四颗或更多颗卫星提供具有视线(LOS)的位置和时间信息。在城市环境中,LOS卫星信号的反射和折射可能导致多径传输,从而影响位置估计的准确性。
常规的GNSS使用时间和空间分集来最小化卫星信号的多径问题。时间方法使用多径信号和LOS信号之间的时间延迟差异。然而,当多径信号的延迟短时,这些方法在计算上是复杂的并且是无效的。
空间方法使用多个天线进行多径检测和减轻。例如,在US 7,642,957中描述的方法在希望至少一个天线接收到由相长干扰信号产生的“良好”信号时,使用两个天线来接收信号。然而,不能保证卫星信号的相长干扰,并且这种GNSS系统的所有天线都可能遭受相同的多径衰减。
因此,仍然需要一种用于在至少一些卫星信号GNSS信号的多径传输下进行位置估计的方法和系统。
发明内容
一些实施方式基于以下理解:自然地,首先检测在卫星信号的传输中的多径,去除从多径传输接收到的信号,然后才基于剩余卫星传输的测量结果来估计位置。然而,多径检测可能是一个复杂过程。因此,这种方法可能在计算量繁重且耗时,从而在存在多径传输的情况下阻止了快速位置估计。
为此,一些实施方式的目的是在不测试多径传输的情况下估计车辆的位置。避免多径检测可以提高位置估计的速度,减少计算机确定位置的计算负担,和/或使位置估计适于例如可以在云中实现的分布式应用。
一些实施方式基于以下认识:当来自多个卫星的卫星传输包括多径传输和视线(LOS)传输时,可以将这种传输视为包括由LOS传输表示的纯净信号和由多径传输表示的纯净信号上的噪声的含噪声信号。以此类推,利用多径检测的位置估计等效于利用基于纯净信号的随后位置估计的噪声估计/去除。然而,一些实施方式旨在直接根据含噪声信号执行位置估计。
一些实施方式基于以下认识:机器学习技术可以应用于根据含噪声信号进行位置估计。使用机器学习,可以在自动位置估计系统中利用所收集的数据,例如卫星信号的相位测量结果,其中,可以通过训练来学习数据的时间依赖性。例如,神经网络是机器学习技术之一,其可以对包括不同类型的含噪声信号的复杂系统进行实际训练。为此,一些实施方式的目的是提供一种神经网络,该神经网络被训练为直接根据含噪声信号执行位置估计,该含噪声信号包括从LOS和多径传输接收的卫星信号测量的相位。
但是,与许多含噪声信号形成对照,相位测量结果的含噪声信号中的噪声具有与纯净信号本身相同的性质,即,噪声信号和纯净信号两者都是相位测量结果。例如,可以使用神经网络来识别含噪声语音表达中的词。但是,与位置估计形成对照,含噪声语音表达中的噪声与该表达中的纯净语音具有不同的特性。为此,适合于处理一种类型的含噪声信号的神经网络可能不适用于基于含噪声相位测量结果的位置估计。
一些实施方式基于以下认识:当针对移动车辆执行位置估计时,多径传输随时间的变化的动力学不同于LOS传输的变化的动力学。以这种方式,对于时间序列相位测量结果,噪声(即,多径传输)的特性的确与纯净信号(即,LOS传输)的特性不同。
为此,一些实施方式训练递归神经网络(RNN),以在一些时间点,在存在由至少一些卫星信号的多径传输引起的噪声的情况下,根据一组相位测量结果确定车辆的位置。RNN是一种类型的人工神经网络,其中,节点之间的连接沿序列形成有向图。这允许它呈现针对时间序列的动态时间行为。与前馈神经网络不同,RNN可以使用其内部状态(存储器)来处理输入序列。这使它们可应用于诸如未分段的连接手写识别或语音识别之类的任务。然而,一些实施方式认识到,可以将RNN用于无多径位置估计。
因此,本公开描述了一种用于跟踪车辆的位置的定位系统,该定位系统包括:接收器,其被配置为接收在多个时间点从多个卫星接收的卫星信号的相位测量结果;以及存储器,其被配置为存储RNN,该RNN被训练为在一些时间点在存在由至少一些卫星信号的多径传输引起的噪声的情况下,根据一组相位测量结果来确定车辆的位置;以及处理器,其被配置为通过利用RNN处理在每个时间点接收到的一组相位测量结果而不测试用于多径传输的相位测量结果以在每个时间点产生车辆的位置,来跟踪车辆在不同时间点的位置。
例如,在一个实施方式中,RNN响应于接收到一组相位测量结果来使用基于注意力的多模式融合来输出位置。例如,RNN将不同权重应用于至少一些不同相位测量结果,以产生一组加权相位测量结果,并且根据该一组单独加权相位测量结果确定车辆的位置。以这种方式,RNN被训练为例如使用权重来使多径传输对位置估计的负面影响最小化。
为了训练RNN,需要将相位测量结果与根据没有多径的纯净信号确定的位置估计相关联的数据。一些实施方式基于各种商业上可用的导航器的日志文件可以提供这种数据的认识。为此,一些实施方式利用从那些日志文件提取的信息来训练RNN。实施方式允许使用从相同或不同导航器收集的相同或不同路线的不同日志文件来离线训练RNN。另外地或另选地,一个实施方式使用各种导航器执行在线位置估计,并且使用所利用的导航器的日志文件来训练RNN,直到所训练的RNN实现位置估计的目标精度为止。
然而,通过实验和测试,一些实施方式基于对RNN的训练是非常需要数据的任务的理解。具体地,与旨在对输入进行分类(诸如,噪声和不是噪声)的神经网络的分类任务相比,位置估计是要求比分类任务多得多的数据用于训练的数值问题。在一些实施方式中,通过在训练RNN上花费更多时间来克服该问题。另外地或另选地,在一些实施方式中,通过减少训练RNN以执行位置估计的区域来克服该问题。
例如,在一个实施方式中,针对特定路径训练RNN,使得处理器跟踪沿着特定路径的至少一部分行进的车辆的位置。以这种方式,利用从沿着该路径行进收集的数据来针对该路径训练神经网络,这减少了足以训练RNN的数据量。对于一些应用,该限制甚至不是问题。例如,火车沿着预定路径行进,并且一些实施方式使用RNN,该RNN被训练为确定沿着特定路径行进的火车的位置。
另外地或另选地,一些实施方式使用针对不同路径训练的多个RNN。这些实施方式增加了位置估计时的灵活性,因为可以分别地(即,彼此独立地)训练和更新不同的RNN。例如,在一个实施方式中,定位系统的存储器存储一组RNN,针对特定路径训练每个RNN,并且定位系统的处理器从该组RNN中选择RNN以用于跟踪。值得注意的是,该实施方式的一种实现方式允许在跟踪期间使用与该组RNN不同的RNN。可以使用多种方法从存储器中选择当前RNN。例如,一个实施方式使用粗略位置估计和/或根据跟踪的当前位置来选择当前RNN。
一些实施方式基于以下认识:单独的多径检测过程的避免使得位置估计适用于分布式应用。例如,在一些实施方式中,定位系统是通过车辆网络实现的分布式系统,该车辆网络包括与车辆网络的接入点通信的车辆。以这种方式,可以在车辆上实现定位系统的一些元件,并且可以在接入点和/或可操作地连接到该接入点的其它系统上实现一些元件。
例如,在一个实施方式中,车辆包括收发器,收发器将相位测量结果发送到接入点并从接入点接收车辆位置的估计。位置估计由接入点(和/或可操作地连接到接入点的其它系统)执行并被传输回车辆。以这种方式,RNN被存储在接入点的存储器中并且被训练为确定在由接入点覆盖的车辆网络的区域中的位置。当车辆在由车辆未知的不同接入点覆盖的区域之间移动时,不同接入点利用不同的RNN跟踪车辆的位置。
因此,一个实施方式公开了一种用于跟踪车辆的位置的定位系统,该定位系统包括:接收器,其被配置为接收在多个时间点从多个卫星接收的卫星信号的相位测量结果;以及存储器,其被配置为存储递归神经网络,所述递归神经网络被训练为在一些时间点在存在由至少一些卫星信号的多径传输引起的噪声的情况下根据一组相位测量结果确定车辆的位置;以及处理器,其被配置为通过利用递归神经网络处理在每个时间点接收到的一组相位测量结果以在每个时间点产生车辆的位置,来在不同时间点跟踪车辆的位置。
另一实施方式公开了一种用于跟踪车辆的位置的定位方法,其中,该方法使用与实现该方法的存储的指令相关联的处理器,其中,当指令由处理器执行时,该指令执行该方法的至少一些步骤,该方法包括:接收在多个时间点从多个卫星接收的卫星信号的相位测量结果;访问递归神经网络,所述递归神经网络被训练为在一些时间点,在存在由至少一部分卫星信号的多径传输引起的噪声的情况下,根据一组相位测量结果确定车辆的位置;通过利用递归神经网络处理在每个时间点接收的一组相位测量结果以在每个时间点产生车辆的位置,来在不同时间点跟踪车辆的位置。
另一个实施方式公开了一种非暂时性计算机可读存储介质,在所述非暂时性计算机可读介质上实现可由处理器执行以执行一种方法的程序。该方法包括:接收在多个时间点从多个卫星接收到的卫星信号的相位测量结果;访问递归神经网络,所述神经网络经被训练为在一些时间点,在存在由至少一些所述卫星信号的多径传输引起的噪声的情况下,根据一组相位测量结果确定所述车辆的位置;以及通过利用所述递归神经网络处理在每个时间点接收的所述一组相位测量结果以在每个时间点产生所述车辆的位置,在不同时间点跟踪所述车辆的位置。
附图说明
[图1]图1示出了根据一些实施方式的全球导航卫星系统(GNSS)的框图。
[图2]图2示出了根据一些实施方式的在多径环境中移动的GNSS接收器的示意图。
[图3]图3示出了由一些实施方式解决的用于根据无多径的卫星信号进行位置估计的方法的框图。
[图4]图4示出了根据一些实施方式的由RNN位置估计器135使用的方法的框图。
[图5A]图5A示出了一些实施方式的由RNN位置估计器使用的基于注意力的多模式融合RNN的架构的框图。
[图5B]图5B示出了根据一个实施方式的响应于接收到一组相位测量结果来执行位置估计的基于注意力的多模式融合架构的框图。
[图6]图6示出了由一些实施方式使用的基于LSTM的编码器和解码器架构的框图。
[图7A]图7A是根据一些实施方式的基于注意力的估计器的示例的框图。
[图7B]图7B示出了由一些实施方式使用的多模式估计器的示意图。
[图8A]图8A是示出了根据一些实施方式的根据一组依赖卫星的测量结果对车辆进行位置估计的基本过程的流程图。
[图8B]图8B是示出根据一些实施方式的在计算单独的权重时的基本过程的流程图。
[图8C]图8C是示出根据一些实施方式的联合权重或多模式注意力权重的更新过程的流程图。
[图9A]图9A示出了定义特定路径900的轨道的示意图,该特定路径900由一些实施方式用来训练神经网络以沿着该路径进行位置估计。
[图9B]图9B示出了定义多条路径的多个轨道的示意图,该多条路径由一些实施方式用来训练多个神经网络以沿着多条路径进行位置估计。
[图10]图10示出了根据一个实施方式的适于RNN位置估计器的在线训练的定位系统的示意图。
[图11]图11示出了根据一些实施方式的分布式位置估计系统的框图。
[图12]图12示出了根据一个实施方式的通过车辆网络实现的分布式定位系统的示意图。
[图13]图13示出了根据不同实施方式的采用位置估计系统的车辆的示意图。
[图14]图14示出了根据一些实施方式的位置估计系统的框图。
具体实施方式
图1示出了根据一些实施方式的全球导航卫星系统(GNSS)100的框图。GNSS是一种卫星导航系统,其向四颗或更多颗卫星提供具有视线(LOS)的位置和时间信息。在一些实施方式中,GNSS被配置为跟踪车辆的位置,以例如在每个时间点产生车辆的位置。在城市环境中,LOS卫星信号的反射和折射可能导致多径传输,从而影响位置估计的准确性。为此,GNSS系统考虑多径传输来跟踪车辆的位置。
GNSS 100包括配置为执行所存储的指令的处理器120、以及存储可由处理器执行的指令的存储器140。处理器120可以是单核处理器、多核处理器、计算集群或任何数量的其它配置。存储器140可以包括随机存取存储器(RAM)、只读存储器(ROM)、闪存或任何其它合适的存储器系统。处理器120通过总线106连接到一个或更多个输入和输出设备。这些指令实现了用于跟踪车辆的位置的方法。
GNSS被配置为在考虑多径传输的情况下跟踪车辆的位置,而无需确定特定传输是否是LOS传输的多径。为此,GNSS 100使用递归神经网络(RNN)135,该递归神经网络被训练为在一些时间点在存在由至少一些卫星信号的多径传输引起的噪声的情况下,根据一组相位测量结果131确定车辆的位置。例如,存储设备130可以适于存储经训练的RNN位置估计器135。可以使用硬盘驱动器、光盘驱动器、拇指驱动器、驱动器阵列或其任何组合来实现存储设备130。
转而,使用存储在存储器中的指令的处理器被配置为通过利用递归神经网络处理在每个时间点接收的一组相位测量结果以在每个时间点产生车辆的位置,来跟踪车辆在不同时间点的位置。值得注意的是,处理器可以直接根据相位测量结果跟踪位置,而无需测试针对多径传输的相位测量结果。
GNSS 100包括接收器150,接收器150被配置为接收在多个时间点从多个卫星接收的卫星信号的相位测量结果。在一个实施方式中,接收器使用天线112来接受来自不同卫星的卫星信号并确定相位测量结果131。例如,接收器能够通过检测在相位测量结果前面附接的唯一报头来将相位测量结果与其它信号区分开。另外地或另选地,接收器可以通过网络190接收相位测量结果195,并且将其作为测量结果131存储在存储设备中。通过网络190,可以将相位测量结果195下载并存储在计算机的存储系统130中,以进行存储和/或进一步处理。网络190可以是有线网络和/或无线网络。在由远程设备确定测量结果195的情况下,GNSS系统100可以跟踪远程设备的位置。
在一些实现方式中,GNSS 100内的人机界面110将系统连接到键盘和/或指示设备111,其中,指示设备111可以包括鼠标、轨迹球、触摸板、操纵杆、指向杆、触控笔或触摸屏等。在一些实现方式中,GNSS包括存储在存储设备130中的配置参数133。例如,在一些实现方式中,GNSS包括多个递归神经网络135,并且配置参数指定用于使用不同神经网络的规则。例如,可以通过网络190或通过HMI 110接收配置参数。
GNSS 100可以通过总线106链接到适于将GNSS 100连接到显示设备165的显示接口160,其中,显示设备565可以包括计算机监视器、相机、电视、投影仪或移动设备等。
GNSS 100还可以连接至控制接口170,该控制接口适于将系统连接至控制器设备175。例如,控制器可以基于GNSS的GNSS位置估计来控制车辆的运动。例如,控制器设备175可以控制车辆的车轮的加速和/或转向。
在一些实施方式中,GNSS 100通过总线106连接到应用接口180,该总线106适于将GNSS 100连接到可以基于位置估计的结果进行操作的应用程序设备185。例如,设备185是使用车辆的位置来警告驾驶员的信息系统。
在各个实施方式中,GNSS系统被配置为使用神经网络来跟踪车辆的位置。神经网络是受构成动物大脑的生物神经网络模糊地启发的计算系统。这样的系统通常通过考虑示例来“学习”执行任务,而无需利用任何任务特定规则进行编程。由于考虑到多径传输来跟踪车辆的位置是一项计算要求很高的任务,因此神经网络的使用可以节省存储器和计算量。
另外,一些实施方式的目的是在不测试多径传输的情况下估计车辆的位置。多径检测的避免可以提高位置估计的速度,减少计算机确定位置的计算负担,和/或使位置估计适于例如可以在云中实现的分布式应用。
图2示出了根据一些实施方式的GNSS接收器200在多径环境中移动211的示意图。GNSS接收器200可以位于结构202附近,结构202分别部分阻挡来自GNSS卫星216和218的GNSS信号204、206、208和210中的一些。作为示例,结构202可以是建筑物、自然的或人造的环境结构,诸如峡谷壁或具有高建筑物的城市中的街道。然而,结构202不阻挡来自GNSS卫星220和222的直接GNSS信号212和214。随着GPS接收器200移动,来自不同卫星的被阻挡和接收的GNSS信号的组合、或者直接信号和反射信号的复合信号随时间变化。
在该示例中,GNSS天线223经由从结构202中的障碍物或可能物体反射的多条路径接收来自每个GNSS卫星216、218、220和222的信号。多径信号可能导致相长或相消干扰,相长干扰增加信号功率,并且相消干扰降低信号功率。通常,当GNSS天线223接收到相消多径干扰(也称为“平衰落”)时,信号无法被恢复。
具体而言,作为示例,GNSS信号204和208被结构202的部分220阻挡,而GNSS信号206、210、212和214穿过自由空间224。但是,在该示例中,只有GNSS信号212和214由GNSS接收器200直接接收,而GNSS信号206和210分别经由由另一结构232反射的多径GNSS信号228和230由GNSS接收器200间接接收。
多径传播的另一种可能性是直接视线GNSS信号与该GNSS信号的反射非视线或延迟版本的组合。在这种情况下,这两个版本的GNSS信号可能具有不同的延迟、幅度、相位和频率。多径将干扰直接GNSS信号。因此,由于跟踪复合信号,代码和载波跟踪循环导致误差。例如,所得到的代码跟踪误差取决于几个方面,诸如,反射信号相对于直接GNSS信号的路径延迟、它们的相对强度以及它们之间的相位差。
为了减轻代码相位测量结果的多径干扰,已经提出了几种基于接收器的方法,诸如双德尔塔鉴别器、门控相关器和视觉相关器。因此,在不应用例如基于接收器的方法的附加操作的情况下,在每个时间点都难以将多径信号与含噪声信号区分开,并且跟踪误差是不可避免的。此外,不存在可以相对于移动GNSS接收器200准确地指定动态多径信号的确定模型。
一些实施方式基于以下认识:当来自多个卫星的卫星传输包括多径传输和LOS传输时,可以将这种传输视为含噪声信号,该含噪声信号包括由LOS传输表示的纯净信号和由多径传输表示的纯净信号上的噪声。以此类推,利用多径检测的位置估计等效于利用基于纯净信号的随后位置估计的噪声估计/去除。然而,一些实施方式旨在直接根据含噪声信号执行位置估计。
一些实施方式基于以下认识:机器学习技术可以应用于根据含噪声信号进行的位置估计。使用机器学习,可以在自动位置估计系统中利用所收集的数据(例如,卫星信号的相位测量结果),在该自动位置估计系统中,可以通过训练来学习数据的时间依赖性。例如,神经网络是可以针对包括不同类型的含噪声信号的复杂系统实际训练的机器学习技术之一。为此,一些实施方式的一个目的是提供一种神经网络,该神经网络被训练为直接根据含噪声信号执行位置估计,该含噪声信号包括根据从LOS传输和多径传输接收的卫星信号测量的相位。
然而,与许多含噪声信号形成对照,相位测量结果的含噪声信号中的噪声具有与纯净信号本身相同的性质,即,噪声和纯净信号都是相位测量结果。例如,可以使用神经网络来识别含噪声语音表达中的词。但是,与位置估计形成对照,含噪声语音表达中的噪声与该表达中的纯净语音具有不同的特性。为此,适于处理一种类型的含噪声信号的神经网络可能不适用于基于含噪声相位测量结果的位置估计。
一些实施方式基于以下认识:当针对移动车辆执行位置估计时,多径传输随时间的变化的动力学不同于LOS传输的变化的动力学。以这种方式,对于时间序列相位测量结果,噪声的特性(即,多径传输)确实与纯净信号(即,LOS传输)的特性不同。例如,多径信号228和/或230的动态行为不同于没有混合多径信号的纯净的直接GNSS信号206和/或210的动态行为。
因此,一些实施方式训练RNN,以在一些时间点在存在至少一些卫星信号的多径传输引起的噪声的情况下,根据一组相位测量结果来确定车辆的位置。RNN是一种类型的人工神经网络,该人工神经网络在节点之间连接,形成沿着序列的有向图。这使得该RNN可以呈现针对时间序列的动态时间行为。与前馈神经网络不同,RNN可以使用其内部状态(存储器)来处理输入序列。这使它们可应用于诸如未分段的连接手写识别或语音识别之类的任务。然而,一些实施方式认识到RNN可以适用于无多径位置估计。
图3示出了由一些实施方式解决的根据无多径卫星信号进行位置估计的方法300的框图。方法300包括用于多径检测的顺序步骤301和311等,随后是多径去除305和315、以及根据纯净相位测量结果308和318的位置估计。例如,在处理时间T
图4示出了根据一些实施方式的由RNN位置估计器135使用的方法400的框图。在不同处理时间,例如T
明显地,方法400使用顺序含噪声GNSS相位测量结果402、412和422,而不是如方法300中那样使用纯净GNSS信号。此外,位置估计404、414和424的历史正在影响位置估计414、424和434。RNN比一些其它类型的神经网络更有利于处理序列预测问题,一些实施方式将RNN用于GNSS系统的顺序位置估计,在该GNSS系统中,GNSS卫星和/或GNSS接收器移动。
一些实施方式基于以下认识:可以根据相位测量结果信号训练RNN,以执行多径检测和/或位置估计。例如,在一些实施方式中,通过使用编码器-解码器架构来设计RNN。编码器被训练为学习一组输入GNSS相位测量结果,解码器通过提取表征该组相位测量结果的时间依赖性的固定数量的特征,将编码器的输出转换为用于位置估计的一组预测GNSS测量结果。作为前馈神经网络的扩展,RNN通过在处理时间内的相邻的隐藏状态之间添加一条边来在当前信息和过去信息之间建立连接,其中,隐藏的层的当前状态值受当前相位测量结果402、412和422、以及隐藏的层的先前状态值影响。因此,RNN可以利用与输入相位测量结果之间存在的噪声特性的差异有关的未知背景信息。
一些实施方式基于这样的认识:多径估计是单独处理,即,由一个特定卫星信号引起的多径独立于其它卫星的信号。例如,信号228的多径独立于信号230的多径,如图2所示。然而,位置估计是联合处理,因为在接收器200处需要至少四个卫星的信号。因此,需要在RNN的帧中一起使用多个卫星信号。为此,在一些实施方式中,递归神经网络使用基于注意力的多模式融合架构,以响应于接收到一组相位测量结果执行位置估计。
图5A示出了由一些实施方式的RNN位置估计器135使用的基于注意力的多模式融合RNN 599的架构的框图。网络599包括一组编码子网510、515、516和517。每个卫星都有一个编码子网,即,用于来自每个卫星的相位测量结果。编码子网的目的是对相应的相位测量结果进行加权,以考虑通过多径测量结果或LOS测量结果得出的那些测量结果的概率。例如,权重可以与表示LOS信号的相位测量结果的概率成比例(线性地或非线性地)。
网络599还包括位置估计器子网555,位置估计器子网555被训练成基于通过编码子网510、515、516和517产生的相位测量结果的联合加权和来估计位置557。值得注意的是,子网510、515、516、517和子网555是同一神经网络599的一部分,因此可以一起被训练以分别对信号的可靠性进行编码,同时联合地确定位置。在一些实现中,针对特定卫星训练编码子网。配置参数133存储对应关系,使得在操作期间,针对特定卫星训练的特定编码子网接收该特定卫星的相位测量结果。例如,对于特定卫星,相位测量结果的时间序列被存储在存储器中,例如,被用作到长短期记忆网络(LSTM)的输入。之后,单独地计算依赖卫星的阿尔法注意力矢量或依赖卫星的注意力权重的集合。相应地,RNN 599对至少一些不同的相位测量结果应用不同的联合权重(即,注意力),以产生一组加权相位测量结果,并且根据该组单独的加权相位测量结果(即,多模式融合)确定车辆的位置,在多模式融合中,来自不同卫星的联合权重代表不同模式。以这种方式,RNN被训练为例如使用权重使多径传输对位置估计的负面影响最小化。
在RNN的结构中,一些实施方式不仅将端到端训练的神经网络用于多径估计,而且还将其用于位置估计。这样,该训练被端到端地实现用于整个模型(包括编码器和解码器(位置估计器))、以及在特定位置和时间考虑的所有卫星信号,而不是分别训练每个卫星。有利的是,通过在联合位置估计过程中对所涉及的卫星不同地应用不同的注意力,在存在多径的情况下生成鲁棒位置估计。
图5B示出了根据一个实施方式的RNN 500的基于注意力的多模式融合架构响应于接收到一组相位测量结果来执行位置估计的框图。该实施方式使用基于时间注意力的RNN用于位置估计500,其由框591、592、593和595组成。该实施方式还使用两层处理。第一层包括连接到来自相应卫星信号的输入测量结果的不同处理591、592和593。第二层595处理从第一层输出的单独加权和。通过应用基于时间注意力的RNN,可以提取一系列依赖卫星的相位测量结果的非线性和未知时间依赖性,然后在第二层处理中评估其对位置估计的影响。因此,可以在整个卫星和相位测量结果的集合中有效地利用在确定位置时的非线性和未知时间依赖性。
RNN 500的输入和输出是来自K个卫星的T GNSS相位测量结果、位置估计580和先前的单独加权和571、572和573,它们被框591、592和593使用。框591、592和593是依赖卫星的,也就是说,每个框都仅与一个卫星相关。在第一层中,每个框包括基于LSTM的编码器(诸如,编码器501、511和521)、注意力估计器(诸如,估计器502、512和522)以及单独的加权求和器(诸如,503、513和523)。每个注意力估计器都生成权重α
第二层框595用于基于时间注意力的RNN的基于LSTM的解码处理。从框591、592和593,框540和550接收单独的加权求和器503、513和523的输出,然后将解码处理应用于位置估计560,例如,
在一些实现方式中,训练神经网络500以从相位测量结果的依赖卫星的集合中提取或学习依赖卫星的时间依赖性。通常,时间依赖性的类型在训练期间由网络隐藏和学习。该学习或特征提取由编码器510、511和521在隐藏的层H中实现,编码器510、511和521被设计用于提取每个卫星的相位测量结果的隐藏时间依赖性。这些时间依赖性有助于在区分多径与LOS信号时利用相位测量结果的动态特性。
接下来,训练神经网络500以估计单独的权重的单独(即,依赖卫星的)集合。根据由编码器确定的依赖卫星的时间依赖性以及先前确定的位置估计571、572和573的依赖性来确定单独权重。由单独的注意力估计器502、512和522确定单独的权重。单独的权重被输出到相应的单独加权求和器503、513和523。单独加权求和器利用所确定的权重对编码器的特征进行加权,并且将特征的加权和输出到第二层框595。
这种加权处理在整个层上重复进行,即,用于联合卫星测量结果。来自每个卫星的单独加权和506、516和526被提交至第二层595的联合注意力估计器540和第二层595的联合加权求和器550。联合注意力估计器540使用先前确定的位置估计562的特征对来自每个卫星的单独加权和506、516和526进行加权,从而允许联合加权求和器550使用这些权重再次对来自每个卫星的输出506、516和526进行加权。以这种方式,每个卫星的权重或注意力被评估两次。首先单独地,然后联合地。该评估反映了之前讨论的位置估计中的多径的性质,即,多径是单独的处理,而位置估计是联合处理。接下来,根据联合加权求和器550的输出生成560位置估计580。
用于位置估计序列的基于编码器-解码器的估计器
一些实施方式用于基于序列到序列学习来训练RNN以进行位置估计。首先对输入序列(即,GNSS相位测量结果)进行编码。然后,生成输出序列,即,位置估计。在一个简单的实施方式中,编码器和解码器(位置估计器)两者均被建模为LSTM网络。
图6示出了一些实施方式使用的基于LSTM的编码器-解码器架构的示例。GNSS相位测量结果的序列X=x
h
其中,编码器网络λ
LSTM(h
其中,
其中,σ(.)是元素式S型函数(element-wise sigmoid function),i
LSTM解码器630顺序地估计位置640。给定解码器状态s
并且根据下式生成具有最高概率的估计y
其中,V表示针对位置的搜索范围。使用解码器的LSTM网络将解码器状态更新为
s
其中,从最终编码器状态h
在训练阶段,给出一组Y=y
用于位置估计序列的基于注意力的估计器
一些实施方式使用基于注意力的估计器,这使得网络能够根据瞬时多径强调根据特定时间或空间区域的多径,从而能够更准确地预测下一个位置估计。基于注意力的估计器可以根据输入和输出关系选择性地利用输入相位测量结果。
图7A是根据一些实施方式的基于注意力的估计器的示例的框图。在该示例中,基于注意力的估计器对输入相位测量结果具有时间注意力机制,从而提高了使用动态信息以及学习随时间获取的相位测量结果710的时间依赖性的能力。在不同的实施方式中,基于注意力的估计器采用基于双向LSTM(BLSTM)或门控循环单元(GRU)的编码器,以便每个矢量都包含其单独加权和信息。
当使用BLSTM编码器720时,激活矢量725(即,编码器状态)可以被获得为:
其中
如果使用前馈层,则将激活矢量计算为
h
其中,W
通过在整个输入测量结果中对隐藏激活矢量使用时间注意力权重α
令α
解码器网络740是基于注意力的递归序列生成器(ARSG),其生成具有内容矢量c
并且,位置估计y
与编码器-解码器的等式(7)和(8)形成对照,概率分布以c
时间注意力权重被计算为
且,
其中,W
基于注意力的多模式估计器
本公开的一些实施方式提供一种处理多种模式的混合的注意力模型,其中,每种模式具有其自己的GNSS相位测量结果的序列。尽管多径是单独的处理(即,由一个特定卫星信号引起的多径与其它卫星的信号(例如,228与230)无关),但是位置估计是联合处理,因为至少需要四颗卫星的信号。
图7B示出了一些实施方式所使用的多模式估计器的示意图。令K为模式的数量,即,可见的卫星数量。然后,多模式估计器的多模式融合711计算以下激活矢量741,
其中,在826和836处计算
并且{c
在图7B的多模式估计器中,内容矢量c
多模式注意力权重β
且
其中,W
图8A示出了根据一些实施方式的由RNN执行的用于位置估计的方法的框图。训练RNN以基于卫星的相位测量结果的当前时间特征和先前时间特征来确定810各个卫星的相位测量结果的单独或时间注意力权重α
训练RNN以在多个卫星的组合的单独加权相位测量结果506、516和526的540处基于先前联合权重562确定813联合权重或者多模式注意力权重β。该处理可以由等式(23)和(24)描述。
训练RNN以根据利用联合权重加权的组合的单独加权相位测量结果来估计815车辆的位置。例如,这通过等式(7)和(8)描述的类似处理来完成。即,对于由等式(21)描述的激活矢量g
图8B示出了根据一个实施方式的在502、512和522处用于确定单独的权重α
训练RNN以检索823针对在先前时间窗口内收集的一系列相位测量结果确定的卫星的相位测量结果的先前时间特征和针对先前时间特征确定的单独的权重。例如,对于作为来自560的输出的输入571、572、573,这是可以在502、512和522处完成的处理。
训练RNN,以基于当前时间特征与先前时间特征的比较,通过调整针对先前时间特征确定的单独权重,来确定825用于当前时间特征的单独权重。例如,这是由502、512和522完成的处理。
图8C示出了根据一个实施方式的用于确定联合权重β的方法的框图。在该实施方式中,进一步训练RNN以在当前时间窗口内组合830从多个卫星接收的单独加权相位测量结果503、513和523,以针对当前时间窗口在联合加权和550处产生组合的单独加权相位测量结果。
训练RNN以检索833针对先前时间窗口确定的先前组合的单独加权相位测量结果。例如,关于输入562、来自560的输出,这可以在联合注意力估计器540处实现。训练RNN以检索833针对先前组合的单独加权相位测量结果确定的先前联合权重。此外,训练RNN以基于组合的单独加权相位测量结果和先前组合的单独加权相位测量结果的比较,通过调整835先前联合权重来确定联合权重。
为了训练RNN,一些实施方式使用将相位测量结果与根据无多径的纯净信号确定的位置估计相关联的数据。一些实施方式基于各种商业上可用的导航器的日志文件可以提供这种数据的认识。为此,一些实施方式利用从这些日志文件提取的信息来训练RNN。实施方式允许使用从相同或不同导航器收集的相同或不同路线的不同日志文件来离线训练RNN。这些日志文件中的一些可能数据格式将klm中的路径与位置的纬度和经度相关联。
然而,通过实验和测试,一些实施方式是基于对RNN的训练是非常需要数据的任务的理解。具体地说,与神经网络的旨在对输入进行分类(诸如,噪声和不是噪声)的分类任务形成对照,位置估计是需要比分类任务多得多的数据用于训练的数值问题。在一些实施方式中,通过在训练RNN上花费更多时间来克服该问题。另外地或另选地,在一些实施方式中,通过减少训练RNN以执行位置估计的区域来克服该问题。
例如,在一个实施方式中,针对特定路径训练RNN,使得处理器跟踪沿着特定路径的至少一部分行进的车辆的位置。以这种方式,利用从沿着该路径行进而收集的数据来针对该路径训练神经网络,这减少了足以训练RNN的数据量。对于某些应用,该限制甚至不是问题。例如,火车沿预定路径行进,并且一些实施方式使用RNN,该RRN被训练为确定沿特定路径行进的火车的位置。
图9A示出了定义由一些实施方式使用的特定路径900以训练神经网络用于沿着该路径900进行位置估计的轨道的示意图。对于特定路径900,一些实施方式获得具有针对沿着该路径的特定位置901、902、903、904、905和906的相位测量结果的日志文件。使用来自日志文件的该信息,实施方式训练神经网络以估计沿着特定路径的位置。这样的训练减小了尺寸并增加了位置估计的准确性。
另外地或另选地,一些实施方式使用针对不同路径训练的多个RNN。这些实施方式增加了位置估计的灵活性,因为可以分别(即,彼此独立地)训练和更新不同RNN。
图9B示出了定义由一些实施方式使用的多条路径900和910以训练多个神经网络用于沿着多条路径900和910进行位置估计的多个轨道的示意图。这些实施方式获得用于指定针对第一轨迹的901、902、903、904、905和906位置的日志文件和用于指定针对第二轨迹的位置911、912、913、914、915和916的日志文件。实施方式可以分别针对每条路径训练每个神经网络,并且在车辆运动期间选择所需的神经网络。
例如,在一个实施方式中,定位系统的存储器存储一组RNN,每个RNN被训练用于特定路径,并且定位系统的处理器从该组RNN中选择RNN以进行跟踪。配置参数133可以用于辅助网络选择。值得注意的是,该实施方式的一种实现方式允许在跟踪期间使用与该组RNN不同的RNN。可以使用多种方法从存储器中选择当前RNN。例如,一个实施方式使用粗略位置估计和/或根据跟踪的当前位置以选择当前RNN。
另外地或另选地,一个实施方式使用各种导航器执行在线位置估计,并使用所利用的导航器的日志文件来训练RNN,直到所训练的RNN达到位置估计的目标精度为止。该实施方式允许针对特定车辆的任意路径训练神经网络。例如,该路径可以是车辆通常遵循的路径,诸如从家到工作地点的路径、或者从存储仓库到交货港口的路径。
图10示出了根据一个实施方式的适于在线训练RNN位置估计器135的定位系统的示意图。该实施方式包括:导航器1010,其被配置为跟踪车辆的位置以产生包括相位测量结果和相应位置估计的日志文件;训练器1020,其被配置为使用从日志文件中提取的数据来训练RNN;以及切换器1030,其被配置为当训练RNN时将跟踪从导航器切换到RNN。
用导航器1010执行车辆的导航直到训练完成为止。在训练之后,切换器1030将位置估计从导航器改变至RNN位置估计器。这种切换允许减轻位置估计的计算负担。它还允许去除导航器并将其安装在其它车辆中。还允许将经训练的神经网络添加到一组神经网络中。
图11示出了根据一些实施方式的分布式位置估计系统1100的框图。这些实施方式基于以下认识:单独多径检测过程的避免使得位置估计适用于分布式应用。例如,分布式位置估计系统1100的客户端位置估计器1105包括:一个或更多个传感器或GNSS接收器110,其用于测量相位测量结果;发射器1120,其用于将相位测量结果发送到远程位置估计器1150;以及接收器1130,其用于接收来自远程位置估计器1150的位置估计。
类似地,远程位置估计器1150包括:接收器1160,其用于接收相位测量结果;RNN位置估计器1170,其用于估计位置;以及发射器180,其用于将所估计的位置发送回客户端位置估计器。
图12示出了根据一个实施方式的在车辆网络上实现的分布式定位系统的示意图。在该实施方式中,车辆(诸如,车辆1201、1202、1203)与车辆网络的接入点(诸如,接入点1230、1220和1210)通信。以这种方式,定位系统的一些元件可以在车辆上实现,并且一些元件可以在接入点和/或可操作地连接到该接入点的其它系统上实现。在该示例中,车辆1201、1202、1203可以是不同的车辆,或者可以是在不同时间点的同一车辆。
例如,在一个实施方式中,车辆1201包括收发器,该收发器将相位测量结果发送到接入点1230并从接入点接收车辆的位置的估计。位置估计由接入点1230(和/或可操作地连接到该接入点的其它系统)执行并且被发送回车辆。以这种方式,RNN被存储在接入点的存储器中并且被训练为确定在由接入点覆盖的车辆网络的区域中的位置。当车辆在由车辆未知的不同接入点(诸如,接入点1220或1210)覆盖的区域之间移动时,不同的接入点将使用不同的RNN跟踪车辆的位置。
图13示出了根据不同实施方式的采用位置估计系统1310的车辆1301的示意图。车辆1301包括被配置用于执行位置估计1310的处理器1302。在一些实施方式中,处理器1302还被配置成基于由位置估计器1310估计的位置来执行各种控制应用1320。
图14示出了根据一些实施方式的位置估计系统1400的框图。系统1400可以在车辆1301内部实现。另外地或者另选地,系统1400可以通信地连接到车辆1301。
系统1400可以包括相机1410、惯性测量单元(IMU)1430、处理器1450、存储器1460、收发器1470和显示器/屏幕1480中的一个或组合,它们可以通过连接1420可操作地联接到其它组件。连接1420可以包括总线、线缆、光纤、链路或其组合。
收发器1470可以例如包括能够在一种或更多种类型的无线通信网络上发送一个或更多个信号的发送器、以及接收在一种或更多种类型的无线通信网络上发送的一个或更多个信号的接收器。收发器1470可以允许基于各种技术与无线网络进行通信,各种技术诸如但不限于毫微微小区、Wi-Fi网络或无线局域网(WLAN),这些技术可以基于IEEE 802.11系列标准、无线个人局域网(WPANS)(诸如,蓝牙、近场通信(NFC))、基于IEEE 802.15x系列标准的网络、和/或无线广域网(WWAN)(诸如,LTE、WiMAX)等。系统400还可以包括用于通过有线网络进行通信的一个或更多个端口。
在一些实施方式中,系统1400可以包括图像传感器,诸如CCD或CMOS传感器、激光器和/或相机1410,其在下文中被称为“传感器1410”。例如,传感器1410可以将光学图像转换成电子图像或数字图像,并且可以将所获取的图像发送到处理器1450。另外地或者另选地,传感器1410可以感测从场景中的目标对象反射的光并将所捕获的光的强度提交到处理器1450。
例如,传感器1410可以包括提供“颜色信息”的彩色或灰度相机。如本文所使用的,术语“颜色信息”是指颜色和/或灰度信息。通常,如本文所使用的,彩色图像或彩色信息可以被视为包括1至N个通道,其中N是取决于用于存储图像的色空间的一些整数。例如,RGB图像包括三个通道,一个通道分别用于红色、蓝色和绿色信息。
例如,传感器1410可以包括用于提供“深度信息”的深度传感器。可以使用深度传感器以多种方式来获取深度信息。术语“深度传感器”用于指代可用于独立地和/或与一些其它相机结合来获得深度信息的功能单元。例如,在一些实施方式中,深度传感器和光学相机可以是传感器1410的一部分。例如,在一些实施方式中,传感器1410包括RGBD相机,除彩色(RGB)图像外,当启用深度传感器时,可以捕获每像素深度(D)信息。
作为另一个示例,在一些实施方式中,传感器1410可以包括3D飞行时间(3DTOF)相机。在具有3DTOF相机的实施方式中,深度传感器可以采用联接至3DTOF相机的闪光灯的形式,其可以照亮场景中的对象,并且反射光可以由传感器410中的CCD/CMOS传感器捕获。深度信息可以通过测量光脉冲行进到对象并返回到传感器所需的时间来获得。
作为另一示例,深度传感器可以采用联接至传感器1410的光源的形式。在一个实施方式中,光源将结构化或纹理化的光图案投影到场景中的对象上,该结构化或纹理化的光图案可以包括一个或更多个窄带光。通过利用由对象的表面形状引起的投影图案的几何变形来获得深度信息。一个实施方式从立体传感器确定深度信息,该立体传感器诸如是红外结构化投光器和登记到RGB相机的红外相机的组合。
在一些实施方式中,传感器1410包括立体相机。例如,深度传感器可以形成无源立体视觉传感器的一部分,该无源立体视觉传感器可以使用两个或更多个相机来获取场景的深度信息。所捕获的场景中的两个相机公共的点的像素坐标可以与相机姿态信息和/或三角测量技术一起使用,以获得每像素深度信息。
在一些实施方式中,系统1400可以可操作地连接到多个传感器1410(诸如,双前置摄像头和/或前置和后置摄像头),系统1400还可以结合各种传感器。在一些实施方式中,传感器1410可以捕获静止图像和视频图像。在一些实施方式中,传感器1410可以包括能够以例如每秒30帧(fps)捕获图像的立体相机或RGBD。在一个实施方式中,由传感器1410捕获的图像可以是原始未压缩格式,并且可以在被处理和/或存储在存储器1460中之前被压缩。在一些实施方式中,处理器1450可以使用无损或有损压缩技术来执行图像压缩。
在一些实施方式中,处理器1450还可以从IMU 1430接收输入。在其它实施方式中,IMU 1430可以包括3轴加速度计、3轴陀螺仪和/或磁力计。IMU 1430可以向处理器1450提供速度、取向和/或其它位置有关信息。在一些实施方式中,IMU 1430可以与传感器1410对每个图像帧的捕获同步地输出所测量的信息。在一些实施方式中,IMU 1430的输出由处理器1450部分地用来融合传感器测量结果和/或进一步处理融合的测量结果。
系统1400还可以包括渲染图像(诸如,彩色和/或深度图像)的屏幕或显示器1480。在一些实施方式中,显示器1480可以用于显示由传感器1410捕获的实时图像、融合图像、增强现实(AR)图像、图形用户界面(GUI)和其它程序输出。在一些实施方式中,显示器1480可以包括和/或容纳有触摸屏,以允许用户通过虚拟键盘、图标、菜单或其它GUI、用户手势和/或诸如触笔和其它写入实现方式的输入设备的一些组合来输入数据。在一些实施方式中,显示器1480可以使用液晶显示器(LCD)显示器或发光二极管(LED)显示器(诸如,有机LED(OLED)显示器)来实现。在其它实施方式中,显示器480可以是可穿戴显示器。在一些实施方式中,融合的结果可以渲染在显示器1480上或提交给可以在系统1400内部或外部的不同应用。
示例性系统1400还可以以与本公开一致的方式以各种方法修改,诸如,通过添加、组合或省略所示的一个或更多个功能块。例如,在一些配置中,系统1400不包括IMU 1430或收发器1470。此外,在特定示例实现方式中,系统1400包括各种其它传感器(未示出),诸如,环境光传感器、麦克风、声传感器、超声传感器、激光测距仪等。在一些实施方式中,系统400的多个部分采用一个或更多个芯片组等的形式。
可以使用硬件、固件和软件的组合来实现处理器1450。处理器1450可以表示可配置为执行与传感器融合和/或用于进一步处理融合测量结果的方法有关的计算过程或处理的至少一部分的一个或更多个电路。处理器1450从存储器1460检索指令和/或数据。处理器1450可以使用一个或更多个专用集成电路(ASIC)、中央和/或图形处理单元(CPU和/或GPU)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器、嵌入式处理器内核、电子设备以及旨在执行在本文中所描述的功能的其它电子单元、或其组合来实现。
存储器1460可以在处理器1450内部和/或在处理器1450外部实现。如本文所使用的,术语“存储器”是指任何类型的长期、短期、易失性、非易失性或其它存储器,并且不应限于任何特定类型的存储器或存储器数量、或存储器存储在其上的物理介质的类型。在一些实施方式中,存储器1460保存有助于位置估计的程序代码。
例如,存储器1460可以存储传感器的测量结果,诸如静止图像、深度信息、视频帧、程序结果、以及IMU 1430和其它传感器提供的数据。存储器1460可以存储车辆的几何形状、周围空间的地图、车辆的运动学模型以及车辆的动力学模型。通常,存储器1460可以代表任何数据存储机制。存储器1460可以包括例如主存储器和/或辅助存储器。主存储器可以包括例如随机存取存储器、只读存储器等。虽然在图14中被示为与处理器1450分离,但是应当理解,主存储器的全部或部分可以设置在处理器1450内部或与处理器1450位于同一位置和/或联接到处理器1450。
辅助存储器可以包括例如与主存储器相同或相似类型的存储器和/或一个或更多个数据存储设备或系统,诸如,例如,闪存/USB存储器驱动器、存储卡驱动器、磁盘驱动器、光盘驱动器、磁带驱动器、固态驱动器、混合驱动器等。在某些实现方式中,辅助存储器可以可操作地容纳可移动介质驱动器(未示出)中的非暂时性计算机可读介质,或者以其它方式可配置成非暂时性计算机可读介质。在一些实施方式中,非暂时性计算机可读介质形成存储器1460和/或处理器1450的一部分。
可以以多种方式中的任一种来实现本发明的上述实施方式。例如,可以使用硬件、软件或其组合来实现实施方式。当以软件实现时,软件代码可以在任何合适的处理器或处理器集合上执行,无论是在单个计算机中提供还是在多个计算机之间分布。这样的处理器可以被实现为集成电路,在集成电路组件中具有一个或更多个处理器。但是,可以使用任何适当格式的电路来实现处理器。
另外,本发明的实施方式可以实现为一种方法,已经提供了其示例。作为该方法的一部分执行的动作可以以任何合适的方式排序。因此,可以构造这样的实施方式,其中,以与所示出的顺序不同的顺序来执行动作,即使在例示性实施方式中被示为顺序动作,该实施方式也可以包括同时执行一些动作。
在权利要求中使用诸如“第一”、“第二”之类的序数术语来修改权利要求元素本身并不意味着一个权利要求元素相对于另一个权利要求元素的任何优先权、优先顺序或顺序,或者方法的动作被执行的时间顺序,而是仅用作标签以区分具有特定名称的一个权利要求元素与具有相同名称的另一元素(但用于序数词的使用)从而区分权利要求元素。
- 基于定位系统的频段组合进行定位的方法和设备、由服务器执行的货物实时定位方法、服务器和计算机可读存储介质
- 定位方法、定位装置、定位系统及计算机可读存储介质