联合定位的制作方法

文档序号:19158377发布日期:2019-11-16 01:05阅读:335来源:国知局
联合定位的制作方法

本发明涉及一种用于对多个设备联合定位(co-localization,共定位、共同定位)的方法。更确切地,本发明涉及使用本地和远程资源两者为个体(individual,单独的、自己的、个人的)设备提供用以确定该个体设备或每个个体设备以及其他设备在三维空间中的相对位置和/或位姿的基本上实时的能力。



背景技术:

设备用以在三维空间内确定其他设备的相对位置或位姿的鲁棒能力,例如具有达到一厘米以内的精度并且具有基本上实时的速度(例如,以每秒30次的速率),对于许多机器人、增强现实和虚拟现实应用可能是关键的。

例如,基本上厘米级别的精度能够实现多设备增强现实应用,在多设备增强现实应用中每个设备知晓其他设备的对应三维位置。在具有该准确性的情况下,应用可以在相关像素位置显示增强内容,使能够实现基本上无缝的增强现实用户体验。这种能力还可以允许多个机器人诸如自动驾驶汽车例如在交通情况下知晓彼此的位置并进行协作。

这种级别的精度无法通过当前的全球导航卫星系统(gnss)技术尤其是在具有挑战性的环境下实现。通常这是因为gnss被即使不是大多数位置也是在至少一些位置所经历的环境条件(大气效应、密集城市环境中建筑物反射的信号、天空的能见度等)呈现的困难而阻碍。特别地,获得建筑物和密集城市环境内的卫星参考位置通常非常不精确(即,存在离真实设备位置大约10米的潜在误差)。

此外,为了使具有上述级别的精度的定位功能能够用于机器人和增强现实应用中,该定位功能必须具有足够鲁棒性。为了使该定位功能具有足够鲁棒性,该定位功能应该在所有天气条件下、在室内和室外大尺度的变化环境下以及基本上实时地持续工作。

经典的单个机器人和多机器人slam(同时定位和映射)解决方案不具有足够鲁棒性,并且通常不适于大规模使用且不适于在现实世界中观察到环境变化的程度的情况。因此,这些系统不是被设计用于大量设备通过带宽有限的信道彼此通信的挑战性情形。大多数实现方式没有适当地确定标度,并且常常针对预定组的环境条件以及在预定大小的映射内而被设计,以便避免对大量的存储、处理能力、或通信带宽的需求。



技术实现要素:

方面和/或实施方式寻求提供能够在一个或多个设备处交付基本上高度准确的实时定位的分布式定位和/或映射系统。

根据第一方面,提供了一种确定具有一个或多个传感器的设备的相对位置的方法,包括以下步骤:从多个设备接收定位请求,该定位请求包括来自一个或多个传感器的数据的至少一部分;响应于定位请求,将定位数据发送到多个设备中的至少一个设备;从多个设备中的一个或多个设备接收位姿数据;将位姿数据发送到多个设备中的至少一个设备;其中,多个设备中的一个或多个设备可操作以根据所接收的定位数据和位姿数据来确定多个设备中的至少一个或多个设备的相对位置。

根据第二方面,提供了一种确定具有一个或多个传感器的设备相对于一个或多个其他设备的位置的方法,包括以下步骤:将定位请求发送到服务器系统,该定位请求包括来自一个或多个传感器的数据的至少一部分;从服务器系统接收响应于定位请求的定位数据;将位姿数据发送到服务器系统;从服务器系统接收至少一个其他设备的位姿数据;根据接收的定位数据和位姿数据确定设备相对于至少一个其他设备的位置。

根据第三方面,提供了一种用于确定设备相对于彼此的位置的系统,这些设备具有一个或多个传感器,其中,该系统包括:多个客户端设备,该客户端设备包括产生传感器数据的至少一个传感器和客户端定位系统;服务器系统,该服务器系统包括全局地图和包含至少一个客户端设备的位姿数据的位姿管理器;其中,客户端定位系统被配置成向服务器系统发送定位信息并且从服务器系统接收定位信息;其中,至少一个客户端设备被配置成向位姿管理器发送位姿数据和从位姿管理器接收位姿数据;并且其中,至少一个客户端设备被配置成将该客户端设备位姿数据与其他客户端设备的位姿数据相结合以确定该客户端设备与其他客户端设备的相对位置。

在设备或客户端设备在向服务器系统发出定位请求时提供传感器数据和位姿数据两者的情况下,这可以允许服务器系统提供更加准确的定位数据和/或可以允许(客户端)设备中的一个或每个设备确定一个或多个其他(客户端)设备的相对位置和/或位姿。服务器系统可以使用全局地图(map,图、映射)(有时称为地图、参考地图、或初级地图)来确定(客户端)设备的定位并在定位数据中将该定位发送到(客户端)设备。

可选地,执行结合位姿数据的步骤,并且其中,确定设备的位置的步骤包括使用结合的位姿数据来确定设备的位置。

使用结合的位姿数据可以实现设备的位置的更加准确的确定。

可选地,将定位请求发送到服务器系统。

通过将定位请求发送到服务器系统,客户端设备可以从服务器系统获得全局(global,总体的)参考的位置,而不是依赖潜在不准确的局域(local,局部的、本地的)确定的定位。

可选地,将个体客户端设备的位姿数据存储在位姿管理器上,并且其中,位姿管理器接收客户端设备的位姿数据并将该客户端设备的位姿数据传送到其他客户端设备。

通过将来自多个客户端设备的位姿数据存储在一个位置,可以将一些或所有收集的位姿数据发送到客户端设备中的一个或多个客户端设备,以使客户端设备能够确定其他客户端设备中的一个或多个设备的相对位置和/或位姿。

可选地,执行将客户端设备的相对位置信息提供给应用的另外的步骤。可选地,该应用是增强现实引擎。可选地,客户端设备具有显示增强现实数据的显示器。

通过将相对位置信息提供给应用,客户端设备可以向用户显示相对位置信息,例如通过在地图中或地图上示出相对位置信息。可以通过客户端设备使用例如在设备显示器和/或任何平视显示器(hud)或增强现实(ar)眼镜等上的各种应用和/或机制来显示相对位置信息。

可选地,定位请求还包括估计的位置。可选地,该方法还包括基于来自一个或多个传感器的数据估计设备的位置的步骤,并且其中,确定设备的位置的步骤包括使用估计的位置确定设备的位置。

设备的位置可以使用各种方法来估计,包括在使用估计位置及其他数据为设备确定位置之前,使用局域传感器诸如卫星定位来估计设备的位置。

可选地,确定设备的位置的步骤还包括使用来自一个或多个传感器的数据的至少一部分以及接收的定位数据。

确定设备的位置时使用来自一个或多个传感器的数据的一部分,允许使用传感器数据来确定位置。数据的至少一部分可以包括视觉量距数据和/或与任何视觉量距相关联的一些或所有原始数据。

可选地,确定设备的位置的步骤包括下述中的任何项:确定在定位请求被发送到服务器系统的时间点设备的位置;或者考虑定位请求被发送到服务器系统的时间点,确定设备的当前位置。

考虑定位请求被发送到服务器系统的时间点可以允许服务器系统补偿设备自定位请求被发送到服务器系统以来的移动,和/或可以允许服务器系统考虑自定位请求由客户端设备发送到服务器系统以来的时间差来确定设备的当前位置。

可选地,一个或多个传感器包括至少一个视觉数据传感器。可选地,至少一个视觉数据传感器包括下述中的任何项或组合:图像摄像机;视频摄像机;单目摄像机;深度摄像机;立体图像摄像机;高动态范围摄像机;光检测和测距传感器;无线电检测和测距传感器。可选地,来自一个或多个传感器的数据的至少一部分包括来自至少一个视觉数据传感器的视觉数据。

包括可视数据的传感器数据允许设备将视觉数据连同任何定位请求一起发送到服务器,这可以允许服务器使用视觉数据来确定设备的位置和/或位姿。为此可以使用各种视觉数据。

可选地,一个或多个传感器包括惯性测量单元。

包括惯性测量数据的传感器数据允许设备将该数据连同任何定位请求一起发送到服务器,这可以允许服务器使用惯性测量数据来确定设备的位置和/或位姿。

可选地,估计位置的步骤还包括使用先前的定位数据。可选地,先前的定位数据包括下述中的任何项:一个或多个先前的位置估计;一个或多个先前的定位请求;从服务器系统接收的响应于先前的所述定位请求的先前的所述定位数据中的一个或多个;以及先前的位置确定。

使用先前位置估计可以允许评估可能的未来位置和当前位置。

可选地,使用下述中的任何项来执行估计位置的步骤:局域位姿;或局域参考系。可选地,从服务器系统接收的响应于所述定位请求的定位数据使用下述中的任何项:全局位姿;或全局参考系。

可以使用局域位姿或局域参考系、基于交叉参考该局域位姿或局域参考系与储存在服务器上的来自一个或多个设备的数据和/或全局位姿和/或全局地图和/或全局参考系来估计位置。

可选地,该方法还包括下述步骤:确定全局位姿与局域位姿的变换或关系;或者,确定全局参考系与局域参考系的变换或关系。

理解设备的全局位姿与局域位姿和/或设备的全局参考系与局域参考系之间的关系或在设备的全局位姿与局域位姿和/或设备的全局参考系与局域参考系之间形成变换可以允许服务器更准确地定位该设备。

可选地,该设备包括下述中的任何项:移动电话、机器人、增强现实或虚拟现实头戴式耳机、或导航设备、自动驾驶交通工具、交通工具、无人机或其他自主性交通工具。

设备可以采用许多不同的形式,并且可以使用方面和/或实施方式来实现这些形式中每个形式的设备的定位。作为示例,移动电话可以安装在标准公路交通工具中,作为将增强现实应用改装到任何交通工具的方式。

可选地,确定设备的位置的步骤准确到几厘米以内,可选地准确到一厘米以内。

在几厘米以内的准确性的情况下,方面和/或实施方式可以提供适当准确的定位,以使得能够更好地使用现有技术能力以及新技术能力。

可选地,该方法是持续的。

提供持续的解决方案能够实现关键系统能够依赖的解决方案,从而允许更好地使用现有技术能力以及新技术能力。

可选地,确定设备的位置可以在建筑物内部或在密集城市区域中执行。

提供可以确定在建筑物内部和外部和/或在密集的城市区域中的位置的方法,可以允许在多种多样的环境中,诸如例如隧道、停车场或无法访问可靠的基于gnss的定位的其他环境中,一致地准确定位。

可选地,传感器数据包括关于环境条件的数据,诸如关于天气条件的数据。

在系统例如使用视觉量距或其他技术的情况下,理解并具有针对不同天气条件的相关参考数据可能是有帮助的,以允许在不同天气条件下进行定位。

可选地,服务器系统包括全局地图数据;可选地其中,全局地图数据包括下述中的任何项:一组或多组局域地图数据和/或一组或多组全局地图数据和/或一个或多个关于互连的局域地图的全局地图。

通过提供全局地图,全局地图可以用作参考数据源,根据该参考数据源定位可以被确定以用于发送定位请求的设备或用于确定设备的位置。

可选地,服务器系统可以是下述中任何项:单个服务器、分布式服务器系统、云系统、物理系统或虚拟系统。可选地,全局地图可以分布在多个服务器系统之间。可选地,全局地图可以以对等布置被托管在下述中的任何项上:充当服务器系统的一个或多个设备、或者一个或多个服务器系统与一个或多个设备的混合体。可选地,设备和服务器系统通过移动数据网络或无线数据网络中的任一项进行通信。

可以使用各种硬件和/或软件配置和/或实现来提供系统的灵活性和/或标度确定。

可选地,该设备具有量距系统。可选地,量距系统处理传感器数据以确定相继传感器数据之间的相对位置差。可选地,位置估计具有在三至六个之间的自由度。可选地,量距系统执行完全同时定位和映射和/或环路闭合和/或图优化。可选地,量距系统输出估计的位置。

提供量距系统可以允许由设备确定更准确的位置估计和/或可以允许收集较丰富的传感器数据和/或元数据,以连同定位请求一起提交到服务器。

可选地,将响应于定位请求的定位数据发送到多个设备中的两个或更多个设备。可选地,从多个设备中的两个或更多个设备接收位姿数据。

向两个或更多个设备提供定位数据和/或从两个或更多个设备接收位姿数据可以允许确定相对位姿和/或定位。

可选地,估计位置是相对于局域原点的。可选地,先前的定位数据与时间戳一起存储。可选地,在全局坐标系中确定设备的位置。可选地,定位请求在局域坐标系中。可选地,该方法还包括确定全局坐标系与局域坐标系之间的变换的步骤。可选地,定位数据是在全局坐标系中的。

可选地,位姿数据还包括速度数据。

除了将估计的设备位姿传输到服务器和从服务器传输设备的估计位姿之外,位姿数据还可以包括速度估计。这可以允许在短时间范围内预测设备的位置并且减轻由到服务器的等待时间导致的设备位置的时间滞后(即,示出设备的当前位置而不是数据被收集时或定位请求被传输时的位置)。这样的信息可以通过区分位姿数据来估计或直接从实施的加速计传感器获得。

可选地,位姿数据还包括不确定性的估计。

除了将位姿数据或估计的设备位姿传输到服务器以及从服务器传输位姿数据或估计的设备位姿之外,还可以将对估计的位姿的不确定性的估计连同位姿数据一起传输到服务器。可以在传输数据和相关联的处理方面进行修改来增强该过程以支持计算的位姿的准确性的估计。

可选地,多个客户端设备中的一个或多个客户端设备一起提供服务器系统的功能的至少一部分和/或客户端设备以对等布置进行通信。

能够共享同一低等待时间的网络连接诸如蓝牙或连接到同一wi-fi网络的设备可以具有它们自己的服务器模块版本,并且可以另外在与服务器通信的情况下或绕开与服务器的通信而直接交换关于它们的位姿和可选地地图片段(piecesofthemap,碎片地图)的信息。这可能会提高系统的性能,降低通信滞后,并使该系统鲁棒而抵抗中央服务器不可达到性或故障的影响。

可选地,传感器数据用于创建或更新全局地图。可选地,创建或更新全局地图包括下述中的任何项:在全局地图中创建新节点;更新或修改全局地图中的现有节点;删除全局地图中的节点;优化全局地图;或执行全局环路闭合以链接不同定位节点的位置。

使用传感器数据更新全局地图或全局主地图允许全局地图通过ar使用随着时间进行适应并连续不断地改进。这包括全局地图例如针对不同的环境条件而在大小上越来越大并且在数据上越来越丰富。

附图说明

现在将仅通过示例并参考具有相同附图标记的附图来描述实施方式,其中:

图1示出了根据实施方式的系统的概观;

图2示出了根据实施方式的多个客户端设备;以及

图3示出了流程图,该流程图示出了根据实施方式的系统操作。

具体实施方式

现将参考图1描述示例实施方式。

在图1的实施方式中,系统1包括与至少一个客户端设备3通信的一个服务器系统2。

现在将更详细地描述根据该实施方式的客户端设备3。

(在使用中,通常将部署多个客户端设备3。)

在该实施方式中,客户端设备3被配置成在配备有至少一个传感器31的客户端硬件3上运行。例如,客户端硬件3可以是设备,诸如移动电话、增强现实头戴式耳机、机器人、无人机、或自主性汽车驾驶系统。通常,将部署至少一个,并且在许多情况下将部署多个客户端设备3。

传感器31可以例如包括:摄像机31(其可以是图像传感器、深度摄像机、光检测和测距(“lidar”)、或视频传感器)、惯性测量单元(“imu”)32、和/或卫星定位系统(诸如全球导航卫星系统(“gnss”))33。来自传感器31的数据可以由组合器34组合或混合。应当理解,任何合适的传感器技术可以用作上面列出的传感器31类型中的一个或多个类型。

该客户端设备或每个客户端设备3的作用是:处理从传感器31获取的客户端设备传感器数据,与服务器系统2通信以维护该客户端设备或每个客户端设备3的实时全局位置估计,向服务器系统2提供个体位姿数据,接收其他客户端设备3的位姿数据,并将个体位姿数据与其他客户端设备3的位姿数据相结合以确定其他客户端设备3的相对位置。

另外,该客户端设备或每个客户端设备3被配置成维护与服务器位姿管理器23的高频率通信,以便传送其自己的位姿信息并接收其他客户端设备3的位置。将客户端设备3自己的位姿与其他客户端设备3的位姿结合,产生待在ar或机器人应用中使用的客户端设备3的位姿的准确实时估计。

该客户端设备或每个客户端设备3包含客户端定位系统4,该客户端定位系统从传感器31获取数据,并处理来自传感器31的数据。客户端定位系统4与服务器系统2通信以维护准确的全局位姿5。

此外,该实施方式的该或每个客户端设备3被配置成处理传感器数据,并且该或每个客户端设备3包括客户端定位系统4。客户端定位系统4可以采用局域视觉量距(“vo”)系统的形式,或者可以是同时定位和映射(“slam”)系统。客户端定位系统4被配置成处理来自客户端设备3的传感器31的传感器数据,以确定该客户端设备在环境的局域地图中的移动和位置。另外,客户端定位系统4生成定位请求,计算并报告设备位置,接收针对其他设备的一个或多个绝对位姿,并计算针对其他设备的像素坐标。

传感器数据用于确定客户端设备3在环境的局域地图中的移动和位置。鉴于局域地图和传感器31数据,客户端定位系统4可以确定客户端设备3的位置。这可以使用标准定位方法诸如以相对高的速率进行的三角测量或形状匹配并且在每当可得到这样的读数(并且通常以30hz)时实现。以映射下载或同步的形式与服务器系统的通信通常以较慢的速率发生(例如以每秒一次或若干秒一次的速率)。

局域地图可以使用传感器或者通过从服务器系统2直接下载全局地图的一部分(稍后更详细地解释)来构建。如果地图是根据传感器数据创建的,则将需要局域和全局地图的附加同步步骤来确定局域地图相对于全局地图的位置。

基于所使用的传感器31,可以以若干方式来实现该确定。例如,在摄像机传感器的情况下,可以通过在相继测量值之间对观察到的图像特征或像素强度进行匹配和三角测量以执行视觉量距来确定摄像机移动。网格匹配方法诸如迭代的最近点优化可以用于在有源传感器31诸如深度摄像机或lidar传感器中实现类似的位姿估计。此外,可以使用方法诸如卡尔曼滤波将来自不同传感器31和模态的若干这样的测量值集成到一个位姿估计中,以补偿个体传感器31的缺陷并且实现较高的鲁棒性和准确性。

根据传感器31数据和/或相对位置差异,然后累积测量值以提供相对实时位置估计。在最一般的情况下,位置估计采取具有六个自由度(三维旋转和三维平移)和具有附加信息诸如速度和/或加速度的位姿的形式。在涉及例如平面自动场景的实施方式的情况下,该位置估计可以合理地减少到三个自由度(旋转和二维平移),连同速度和/或加速度。在一些实施方式中,可以使用仅一个自由度。

客户端设备3还包括全局位姿记录30,该全局位姿记录与服务器系统通信并从服务器系统接收定位响应。全局位姿记录30与全局位姿估计器通信。全局位姿估计器还与局域位姿记录和量距系统通信。全局位姿估计器输出客户端设备3的估计的全局位置。量距系统和局域位姿记录与传感器31通信。全局位姿估计器输出客户端设备3的估计的全局位置,并且估计的全局位置可以与组合的传感器数据进行组合以作为定位请求被发送到服务器系统2。

服务器系统2在该实施方式中的作用是维护和更新一致全局主地图22,并且使用存储在服务器系统3上的全局主地图22数据对来自客户端设备3的全局定位请求39作出响应。在通常通过带宽受限的通信信道进行通信的该实施方式中,预期来自每个客户端设备的全局定位请求39以低频率发生,以便以有效的方式使带宽使用最小化和/或利用可用的带宽。通过服务器系统2将定位响应26发送到发送定位请求39的客户端设备3。

回到对客户端设备3的更一般的讨论,当执行量距时可能会引入误差。这是因为如果仅基于局域传感器数据和估计,量距通常随时间推移累积误差。这种误差的效应被称为“漂移”。为了减轻这种效应,客户端设备3可以实现如上所讨论的slam系统。该系统使用环路闭合和图优化程序,并产生准确得多的位置输出。

这样的系统的实现方式将取决于所使用的传感器31的类型,诸如,例如单目或立体摄像机、深度摄像机、或一个或多个激光传感器。

现在将在下面更详细地描述该实施方式的服务器系统2。

服务器系统2包含:维护环境的定位地图的全局地图22、接受定位请求41并对定位请求作出响应42的定位器21、以及同步并传送个体客户端设备3的位姿信息5的位姿管理器23。

在该实施方式中,服务器系统2在云基础设施上运行并使用云基础设施实现,但是在其他实施方式中,服务器系统2可以具有各种物理和/或虚拟配置。在其他实施方式中,例如,可以有一个或多个服务器和/或服务器系统,并且在有多于一个服务器和/或服务器系统的情况下,这些服务器和/或服务器系统可以被配置成充当单个服务器或服务器系统或充当多个独立的服务器或服务器系统,并且可以或可以不彼此直接通信。

在服务器系统2处维护全局地图22,全局地图22具有或使用全局系,即提供全局参考系的坐标。每个客户端设备3可以具有其自己的局域系,即,局域参考系。然而,在一些实施方式中,全局主地图可以包括多个局域和/或全局地图,每个具有它们自己各自的局域和/或全局参考系。

可选地,能够共享同一低等待时间的网络连接诸如蓝牙或连接到同一wi-fi网络的设备可以具有它们自己的服务器模块版本,并且可以例如,以对等布置在与服务器的通信的情况下或绕开与服务器的通信,来交换关于它们的位姿和可选地块地图的信息。这可能会提高系统的性能,降低通信滞后,并使该系统鲁棒而抵抗中央服务器不可达到性或故障的影响。

客户端设备3和/或服务器系统2可能不能够使多个客户端设备3的局域参考系彼此相关,因此这些局域参考系可能需要作为全局主地图内的单独的局域地图和/或全局地图存在。例如,在客户端设备3在室内操作的情况下,例如在工厂中,并且不需要离开工厂,那么这通常不可能例如用gnss坐标使其与室外局域地图或与其他客户端设备3相关的其他局域和/或全局地图相关。

在该实施方式中,全局地图22是由在给定了设备的传感器数据的情况下执行该设备的全局定位所必需的数据组成。例如,在视觉定位系统的情况下,地图可以由视觉特征在空间中的3d位置组成,诸如可以用来在使用已确立的方法拍摄图像时对摄像机的位置进行三角测量的图像角、标度不变特征变换(“sift”)、akaze局域特征匹配、或二进制鲁棒标度不变关键点(“brisk”)分析。在lidar或基于深度摄像机的传感器的情况下,该地图可以包含3d点云以执行基于形状匹配的定位,或者执行基于视觉和形状的方法的组合。这样的地图可以通过使用不同传感器预调查环境或者可以以分布式方式来构建。

服务器系统2包含对来自客户端设备3的定位请求作出响应的定位器20。服务器系统2处的定位器20以该或每个客户端设备3在发出定位请求41时的“全局位置”的估计来对该或每个客户端设备3的定位请求41作出响应42,上述估计被服务器系统2作为定位响应42发送。

来自该或每个客户端设备3的定位请求41包含使用全局地图执行全局定位所必需的来自一个或多个传感器31的传感器数据的一部分。定位请求41还可以包含定位所必需的附加数据,诸如其估计的位置或先前定位请求的结果或由局域slam系统构建的部分局域地图。

定位请求41被发送到在服务器系统2处的定位器或(子)过程20。同时,在由量距产生的局域坐标系中的设备位置的当前估计被添加到客户端局域位姿记录数据库。服务器系统2处的定位器20以该或每个客户端设备3在发出定位请求41时的全局位姿的估计来对该或每个客户端设备3的定位请求41作出响应,上述估计被服务器系统2作为定位响应41发送。该定位响应41——当被该或每个客户端设备3接收时——然后被存储在该或每个客户端设备3的全局位姿记录中。只要对至少一个定位请求41成功地作出响应,则这些请求的相对和全局位姿被从局域和全局位姿记录取得并被比较以提供客户端设备3在全局地图中的局域原点位姿的估计。然后将该估计与来自量距系统的在局域坐标系中的随后的高频率设备位姿/位置估计相结合,以在全局坐标系中提供高频率设备位姿或位置。

在一些实施方式中,存储在局域和/或全局位姿记录中的信息是设备的局域和/或全局位置的列表。每个位置与特定时间和唯一时间戳或id相关联。在一些实施方式中,作为替代或附加,每个位置可以与可包括时间戳数据的gps数据相关联。上述时间可以是特定传感器测量的时间,并且时间戳或id可以用于对局域和全局记录进行交叉参考。使一个或多个设备的局域和全局位姿与当前局域设备位姿相关,给出当前全局设备位姿。在其他实施方式中,附加或替代信息可以存储在局域或全局位姿记录中。

定位器20使用来自定位请求的数据执行设备在发出请求时的6个自由度定位,并将该信息传送回客户端设备。除了6个自由度位姿之外,定位响应还可以包含执行或改进客户端局域slam系统的性能所必需的附加信息,例如在设备位置四周的一部分全局地图。由于需要的数据量,该通信不频繁地发生,通常每秒或每若干秒一次。

服务器位姿管理器在每当个体客户端设备的全局位置可以从客户端视觉系统变得可用(通常以客户端传感器读数的频率,或30hz)时接收这样的信息并将该信息传送回所有相关的客户端设备。这样,所有设备都能够以实时速度知晓交互式ar和机器人应用所必需的其他设备的位置。

这些实施方式中的一些或全部的系统可以用于下述分布式大规模场景,所述分布式大规模场景具有低成本客户端硬件诸如移动电话,和/或具有增强现实头戴式耳机、自动驾驶汽车、无人机和其他机器人中的任何或全部。

服务器系统2和客户端设备3通常通过带宽受限的通信信道彼此通信,并且在该实施方式中例如通信信道4是移动电话蜂窝数据网络。这种限制例如不允许传感器数据实时高保真地流式传输到服务器,并且不允许使用一些已确立的slam系统。因此,该通信协议必需尽可能有效率。在其他实施方式中,可以使用其他无线数据网络代替移动电话蜂窝数据网络,或者除了移动电话蜂窝数据网络之外还可以使用其他无线数据网络。

为了确保在两个设备之间的相对位姿的准确性,概括地来说,有四个要素在起作用,它们是:

在该或每个客户端设备3上的slam系统的准确性;

对照(against,相对)全局地图定位第一客户端设备3的准确性;

对照全局地图定位第二客户端设备3的准确性;以及

第一客户端设备3与第二客户端设备3的位置之间的全局地图数据的准确性。

在该或每个客户端设备3上的slam的准确性是自上次定位以来随时间推移累积的“漂移”(上面讨论过)的量。本文描述的技术和装置寻求减轻(或缓和)“漂移”现象。

可以根据定位器的性能和全局地图在任何特定位置处的质量得出第一和第二客户端设备3对照全局地图的定位的准确性。第一与第二客户端设备3的位置之间的全局地图数据的准确性取决于基础(underlying,底层的、潜在的)地图的质量。对照全局地图的相同部分定位的客户端设备3将在它们的位置之间具有低级别的相对不确定性,而对照全局地图的不同部分定位的设备将具有较高级别的相对不确定性。可以使用各种技术来计算全局地图的不同部分(以及不同部分之间)的相对准确性,其中一种这样的技术计算在基础地图的相关联的位姿图中的最短路径。

考虑上面展示的所有四个要素,需要图4中的客户端设备或每个客户端设备3上的slam系统、位姿估计器、定位器以及位姿管理器协作,以执行传输的数据的相应各段计算和适当的增强以支持该计算。这包括以特定形式(例如作为协方差矩阵)传递来自定位器和在该或每个客户端设备3上的slam系统的关于位姿估计的相对准确性的信息,估计全局地图在位姿管理器中的所有成对的已定位的客户端设备3(或子集)之间的准确性,并且在位姿估计器中将所有该信息结合在一起。

客户端定位系统4的输出可以提供与某任意局域原点(该任意局域原点通常是系统启动或开始处的设备位置)有关的设备位置的基本上高质量的估计(或多个估计)。

为了获得全局定位(即,在全局地图中的基本上高度准确的位置),必须估计在全局坐标地图中相对于局域原点的相对位置。为了实现这一点,客户端设备3定期执行至服务器系统2的全局“定位请求”41。以例如图像或视频数据、深度图、特征、与先前定位请求的关系等形式的近期传感器输入的概要被聚集以创建定位请求41。有时,对于特定的系,数据将仅从一个通常为高频率的传感器诸如imu可用,因此仅该数据在定位请求41中被传输。对于典型的系,数据可以从多个传感器可用,例如来自视觉传感器的图像以及imu数据,它们可以在定位请求41中被传输。由于客户端设备2与服务器系统3之间的带宽是有限的,因此该定位请求41相较于有关等效原始传感器数据通常具有小得多的数据大小并且以低得多的频率被执行,但是在给定足够的带宽的情况下,该原始传感器数据可以可选地作为连续的定位请求被流式传输到服务器系统(并且类似地,然后来自服务器的定位响应则可以是间歇的或连续的)。

该定位请求41被发送到在服务器系统2处的定位器模块或(子)过程21。服务器系统2处的定位器20以设备3在发出定位请求41时的“全局位置”的估计对客户端设备3的定位请求41作出响应,上述估计被服务器系统2作为定位响应42发送。

然后将该估计与来自客户端定位系统4的在局域坐标系中的随后的高频率设备位姿/位置估计相结合,以在全局坐标系中提供高频率设备位姿、或位置,即设备的全局位置5。

在该实施方式中,由客户端位姿管理器为客户端设备处理传输去往和来自服务器的位姿数据。

为了维护与其他客户端设备3的实时交互速率,必须知晓它们相对于其他客户端设备3的相对位置。这通过在每当设备5的新全局位置可用时将设备位置向服务器位姿管理器23报告来实现。

服务器位姿管理器23收集个体客户端设备3的全局位姿数据5,并将该数据重分布给系统中涉及的所有客户端设备3。因此,所有客户端设备3都可以访问每个其他客户端设备3的最新的(和最当前的)全局位置5,并且因此可以确定它们的相对位置。此外,由于全局位置信息5通常非常小(对于6个自由度位姿),其可以以非常高的频率与服务器通信,确保各客户端设备3的最新全局位置5对于每个客户端设备3可用。

鉴于每个客户端设备3的全局位置5的最新性质,可以在应用中使用客户端设备3的相对位置。在实施例中,特定客户端设备3的全局位置5以及其他客户端设备3的全局位置5(其变成其他客户端设备3的相对位置)发送到ar引擎60,以使得能够使用ar引擎60将关于其他客户端设备3的相对位置的信息投影到显示器61上。这可以使用投影几何学,或者可以对照适当的人或物体绘制或以其他方式表现增强的物体或标记。在ar应用的情况下,在图2中示出这种情况。

现在将进一步详细描述在图3的流程图中展示的系统1的操作。

在步骤301中,客户端设备3从机载传感器31、32、33获得传感器数据34,例如来自摄像机的图像或视频数据。在步骤302中,客户端设备3从定位器21请求其全局设备位置。在步骤303中,客户端设备3从定位器21接收其全局设备位置。在步骤304中,客户端设备3将传感器数据34与定位响应42相结合以确定其全局设备位姿5。在步骤305中,客户端设备3将其全局设备位姿5发送到位姿管理器23。在步骤306中,客户端设备3从位姿管理器23接收其他设备的全局设备位姿52。在步骤307中,客户端设备将其个体全局位姿5与任何其他设备的设备位姿52相结合,并确定它们的相对位置53。在步骤308中,客户端设备3在应用60中使用相对位置信息53。

在一些实施方式中,客户端设备中的一些或所有均不估计它们的位置和/或不在定位请求中将估计的位置连同传感器数据传输至服务器。通常,对于下述设备将是这种情况:这些设备具有暂时无效的或失灵的量距系统、或有限的功能或硬件、或在产生不同的不准确的位置估计。

整个说明书中的术语“全局地图”可以分别用“地图”、“参考地图”、“基本地图(basemap,底图)”或“初级地图”代替。术语“全局地图”旨在定义用于参考目标、通常存储在服务器的主或初级地图数据。在整个说明书被提及为“局域地图”的地图是通常在设备(诸如移动设备)上存储和/或生成的地图,并且该术语可以用“城市地图”、“局部地图”或“全局地图的一部分和/或子集”代替。

如本文所述的任何系统特征也可以作为方法特征提供,并且反之亦然。如这里使用的,可以在它们的对应结构方面替代性地表达装置加功能特征。

可以将本发明的一个方面的任何特征以任何适当的组合应用于本发明的其他方面。特别地,可以将方法方面应用于系统方面,并且反之亦然。此外,可以将一个方面中的任何、一些和/或所有特征以任何适当的组合应用于任何其他方面中的任何、一些和/或所有特征。

还应当理解,可以独立地实现和/或供应和/或使用在本发明的任何方面中描述和定义的各种特征的特定组合。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1