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

移动设备的相对空间定位的制作方法

2021-11-05 22:16:00 来源:中国专利 TAG:

移动设备的相对空间定位


背景技术:

1.混合现实,也可以被称为增强现实,涉及现实世界对象和/或人与虚拟对象的合并,以产生物理和数字对象共存并且实时交互的新环境和可视化。混合现实设备利用虚拟对象来增强用户对现实世界的察看,这些虚拟对象旨在看起来好像它们实际上被放置在现实世界中。混合现实设备可以允许用户通过半透明显示器察看他们的真实世界的周围环境。然后可以在显示器上渲染虚拟对象。这些虚拟对象看起来被叠加在用户对其周围现实的世界环境的察看上,从而将虚拟现实与物理现实融合在一起。
2.混合现实体验可以在多个混合现实设备中间共享。这使多个用户能够在共享的混合现实环境中拥有共同的共享体验。在许多不同的场景中,共享的混合现实体验可以有用和/或令人愉快,诸如游戏,在游戏中玩家能够彼此交互以及与作为游戏的一部分的虚拟对象进行交互。
3.为了促进共享的混合现实体验,重要的是多个设备能够在相同坐标系中计算它们的位置和运动,以便它们能够知道彼此的相对位置。大多数混合现实设备能够确定它们自身的相对运动,但不一定能够确定它们相对于其他设备的相对位姿(即位置和方向)。
4.为多个设备配准坐标系的通常解决方案是在设备之间交换三维地图信息(或二维图像数据),以便可以确定这些地图/图像之间的相对位姿。这些解决方案可以被点对点实施,也可以在云服务上被实施。
5.然而,地图数据的交换可能麻烦并且存在隐私风险。此外,当用户的视点彼此明显不同时,传统的图像特征匹配可能会失败,导致设备无法确定联合坐标系,从而无法共享混合现实体验。例如,这可能发生在用户互相看,并且相机因此察看相同空间的相对侧的场景中,这通常是游戏和其他类型的共享混合现实体验的自然配置。


技术实现要素:

6.根据本公开的一个方面,公开了一种用于获得在多个移动设备之间的相对定位的方法。方法可以由第一移动设备执行。方法包括在第一时间点,观察在第一移动设备的相机的视场内的第二移动设备。方法还包括确定第一移动设备在第一时间点的第一位置。第一位置在由第一移动设备使用的第一坐标系中被表示。方法还包括从第二移动设备接收第二移动设备在第一时间点的第二位置。第二位置在由第二移动设备使用的第二坐标系中被表示。方法还包括:至少部分地基于第一位置和在第一时间点对第二移动设备的观察,确定关于第一移动设备在第一时间点相对于第二移动设备的定向的定向信息。方法还包括:至少部分地基于第二位置和定向信息,标识将由第一移动设备使用的第一坐标系与由第二移动设备使用的第二坐标系相关的两个约束。方法还包括:一旦累积了至少六个约束,则计算第一移动设备相对于第二移动设备的位姿。
7.在一些实施例中,方法可以附加地包括:当在第一时间点观察在第一移动设备的相机的视场内的第二移动设备时,接收用户输入。响应于接收到用户输入,可以确定第一位置,可以从第二移动设备接收第二位置,可以确定定向信息,并且可以标识两个约束。方法
可以在涉及多个移动设备的游戏期间被执行,并且用户输入可以作为游戏的一部分被提供。
8.在一些实施例中,方法还可以包括:在第一时间点,在第一移动设备的相机的视场内自动检测第二移动设备。响应于自动检测到第二移动设备,可以确定第一位置,可以从第二移动设备接收第二位置,可以确定定向信息,并且可以标识两个约束。自动检测第二移动设备可以包括自动检测第二移动设备的激活的光发射器。
9.在一些实施例中,在第一时间点,第二移动设备和至少一个附加移动设备两者可以在第一移动设备的相机的视场内可见。方法还可以包括在第二移动设备与至少一个附加移动设备之间进行区分。
10.在一些实施例中,确定定向信息可以包括:确定空间中的几何线,几何线对应于在第一时间点观察到第二移动设备所沿的方向。
11.在一些实施例中,计算位姿可以包括计算六自由度变换,该六自由度变换将由第一移动设备使用的第一坐标系与由第二移动设备使用的第二坐标系相关。
12.在一些实施例中,至少六个约束可以包括:作为观察事件的结果而确定的多个约束,以及独立于观察事件而已知的一个或多个附加约束。
13.在一些实施例中,方法可以附加地包括:基于第一移动设备的相机的视场创建第一同时定位和地图绘制(slam)地图。第一slam地图可以与由第二移动设备创建的第二slam地图合并。
14.提供本发明内容以介绍简化形式的概念的选择,这些概念在下面的具体实施方式中进一步被描述。本发明内容不旨在确定要求保护的主题的关键特征或基本特征,也不旨在用作确定要求保护的主题的范围的帮助。
15.附加特征和优点将在以下描述中被阐述。本公开的特征和优点可以通过所附权利要求中特别指出的系统和方法来被实现和获得。本公开的特征将从以下描述和所附权利要求变得更加明显,或者可以通过如下文阐述的公开主题的实践而获悉。
附图说明
16.为了描述可以获得本公开的上述和其他特征的方式,将通过参考附图中图示的本公开的具体实施例来进行更具体的描述。为了更好地理解,在各个附图中相同的元件用相同的附图标记指定。应当理解,附图描绘了一些示例实施例,将通过使用附图以附加的特性和细节描述和解释实施例,其中:
17.图1a至图1c图示了用于获得在多个移动设备之间的相对定位的方法的示例。
18.图2图示了在多个其他移动设备在视场内可见的时间点的移动设备的视场。
19.图3图示了一个示例,在其中两个移动设备的坐标系彼此对齐,并且出于本文公开的定位技术的目的而被视为单个移动设备。
20.图4图示了一个示例,在其中在移动设备的坐标系彼此对齐之后,两个移动设备的同时定位和地图绘制(slam)地图被合并。
21.图5图示了根据本公开的用于获得在多个移动设备之间的相对定位的方法。
22.图6图示了可以被包括在被配置成实现本文公开的技术的移动设备内的某些部件。
具体实施方式
23.本公开一般涉及获得多个移动设备之间的相对定位,多个移动设备中的每个移动设备包括相机,并且能够使用其自身的坐标系来跟踪其自身在空间中的位置和运动。本文公开的技术适用于其中期望多个移动设备在相同坐标系中计算它们的位置和运动,以便它们能够知道彼此的相对位置的任何场景。作为一个示例,本文公开的技术可以在共享混合现实体验的上下文中使用。
24.如本文所使用的,术语“移动设备”指代便携式计算设备,其包括相机,并且能够实现本文公开的空间定位技术。在一些实施例中,移动设备可以足够小,以供用户在用户手中保持和操作移动设备。在一些实施例中,移动设备可以是可穿戴计算设备。在一些实施例中,移动设备可以是能够为用户提供混合现实(或增强现实)体验的混合现实(或增强现实)设备。移动设备的一些示例包括头戴式显示器、智能眼镜、智能电话、平板计算机和膝上型计算机。移动设备可以能够连接到一个或多个计算机网络,诸如因特网。移动设备还能够与其他计算设备建立对等通信。
25.本文公开的技术利用在移动设备的相机的视场内对另一个移动设备的直接观察。考虑涉及两个移动设备的简单示例,第一移动设备和第二移动设备。假设第一移动设备在第一移动设备的相机的视场内观察第二移动设备。当这发生时,第一移动设备能够使用它自身的位置和它对第二移动设备的观察,来约束第一移动设备相对于第二移动设备的定向。换句话说,第一移动设备能够确定关于第一移动设备相对于第二移动设备的定向的信息。该定向信息连同第二移动设备的位置(如在第二移动设备使用的坐标系中所表示的)一起,可以用于标识用于将由第一移动设备使用的坐标系与由第二移动设备使用的坐标系相关的两个约束。
26.一旦累积了至少六个约束,则可以计算第一移动设备相对于第二移动设备的位姿(以及第二移动设备相对于第一移动设备的位姿)。更具体地,六个(或更多个)约束可以用于计算六自由度(6dof)变换,其将由第一移动设备使用的第一坐标系与由第二移动设备使用的第二坐标系相关。
27.如本文所使用的,术语“观察事件”指代一种情况,其中一个移动设备在其相机的视场内观察另一个移动设备,并且对应的位置信息和定向信息用于确定将两个移动设备的坐标系相关的两个约束。如下文将更详细讨论的,在一些实施例中,观察事件可以由用户输入触发。备选地,当一个移动设备在其相机的视场中自动检测到另一个移动设备时,可以触发观察事件。
28.在多个移动设备不可能或不期望彼此共享三维(3d)环境地图的情况下,所公开的用于获得在多个移动设备之间的相对定位的技术可以特别有利。例如,这在用户的视点彼此明显不同时可能出现。
29.在一些实施例中,所公开的技术可以减少相对于已知方法的处理要求。如上所述,为多个移动设备配准坐标系的通常解决方案是在移动设备之间交换三维(3d)地图信息。然而,本文公开的技术使得能够在不交换3d地图信息的情况下获得在多个移动设备之间的相对定位。这可以减少对齐多个移动设备的坐标系所需的处理量。例如,根据本文公开的技术对齐它们的坐标系的移动设备不必确定或交换3d地图信息。因此,通过利用本文公开的技术,可以节省确定和/或交换3d地图信息所需的处理量。
30.在不交换3d地图信息的情况下获得在多个移动设备之间的相对定位的能力还可以减少需要存储的地图信息的量,从而减少对移动设备的存储需求。除了减少存储需求之外,本文公开的技术还可以减少在多个移动设备之间通信(经由计算机网络或经由对等通信)的信息量。移动设备可以简单地交换与特定时间点相关联的一些位置信息和一些定向信息(如下文将更详细讨论的),而不是交换3d地图信息(这可能相当数据密集)。这潜在地减少了在多个移动设备之间通信的信息量,从而潜在地释放了大量通信带宽以用于其他目的。
31.然而,尽管有前述内容,但在某些情况下,仍然可以根据本文公开的技术来交换三维地图信息。如下文将更详细讨论的,在一些实施例中,正由每个移动设备构建的3d地图可以被合并为更大、更完整的地图。
32.将关于图1a至图1c描述用于获得在多个移动设备之间的相对定位的方法的示例。该示例涉及两个移动设备102a、102b,第一移动设备102a和第二移动设备102b。由第一移动设备102a使用的坐标系在本文中将被称为第一坐标系,并且由第二移动设备102b使用的坐标系在本文中将被称为第二坐标系。第一移动设备102a的用户将被称为第一用户104a,并且第二移动设备102b的用户将被称为第二用户104b。
33.图1a图示了第一用户104a将第一移动设备102a瞄准第二用户104b,以及第二用户104b将第二移动设备102b瞄准第一用户104a。例如,这可以在用户应该使用移动设备互相射击的游戏期间出现。图1b图示了当第一移动设备102a瞄准第二移动设备102b(如图1a中所示)时,第一移动设备102a的相机的视场,如同第二移动设备102b可以在第一移动设备102a的显示器106上被显示给第一用户104a。图1c图示了当第一用户104a和第二用户104b在一段时间内四处移动(例如,在游戏期间四处移动)时,第一移动设备102a的轨迹108a和第二移动设备102b的轨迹108b。
34.如图1c中所示,在时间t1,第一用户104a将第一移动设备102a定位,使得第二移动设备102b位于第一移动设备102a的相机的视场内(并且因此在显示器106上可见)。例如,在射击游戏的上下文中,第一用户104a可以将第一移动设备102a瞄准第二用户104b,第二用户104b可能持有或穿戴第二移动设备102b并且可能将第二移动设备102b瞄准第一用户104a。如图1b中所示,可以在第一移动设备102a的显示器106上显示十字准线110。十字准线110可以帮助第一用户104a定位第一移动设备102a,以使第二移动设备102b大约位于第一移动设备102a的相机的视场的中心内。然后,第一用户104a提供一些输入(例如,点击第一移动设备102a上的按钮),使得第一移动设备102a和第二移动设备102b记住(例如,存储在存储器中)并且通信与该具体时间点相关联的某些信息。
35.特别地,当在第一移动设备102a的相机的视场内观察到第二移动设备102b时,第一移动设备102a确定和记住第一移动设备102a在时间t1的位置。在由第一移动设备102a使用的第一坐标系中表示的该位置在本文中将被称为p1
t1
。(如本文所使用的,术语px
ty
指代设备x在时间y处的位置。)第一移动设备102a还将p1
t1
通信到第二移动设备102b。假设第一移动设备102a和第二移动设备102b基本时间同步。
36.第二移动设备102b还确定和记住其在时间t1的位置。在由第二移动设备102b使用的第二坐标系中表示的该位置在本文中将被称为p2
t1
。第二移动设备102b还将p2
t1
通信到第一移动设备102a。
37.第一移动设备102a还确定和记住关于其在时间t1相对于第二移动设备102b的定向的信息。例如,第一移动设备102a可以确定和记住空间中的几何线,几何线对应于在第一时间t1观察第二移动设备所沿的方向。这条线在本文中将被称为line
t1
。如果在时间t1在第一移动设备102a的相机的视场的中心观察到第二移动设备102b,则空间中的这条线将对应于相机的光学轴线。
38.然后,该位置信息(p1
t1
和p2
t1
)和定向信息(line
t1
)可以用于标识将由第一移动设备102a使用的第一坐标系与由第二移动设备102b使用的第二坐标系相关的两个约束。特别地,第二移动设备102b在时间t1的位置(p2
t1
)应当沿着先前定义的空间中的线(line
t1
)定位的几何约束提供了用于对齐两个移动设备102a、102b的坐标系的两个数学约束。
39.然后,观察另一个移动设备并且使用与该观察相关联的位置和定向信息来确定两个约束的该过程可以被重复至少两次,直到确定至少六个约束为止。然而,并不总是必须以相同移动设备来进行每次观察(尽管它可以是)。例如,在所描绘的示例中,在时间t2,第二移动设备102b在第二移动设备102b的相机的视场内观察第一移动设备102a。
40.更具体地,在时间t2,第二用户104b将第二移动设备102b定位,使得第一移动设备102a位于第二移动设备102b的相机的视场内。然后,第二用户104b提供一些输入,使得第二移动设备102b和第一移动设备102a记住和通信与时间t2相关联的某些信息。特别地,第二移动设备102b确定和记住其在时间t2的位置(p2
t2
),该位置在由第二移动设备102b使用的第二坐标系中被表示。第二移动设备102b还向第一移动设备102a发送p2
t2
。此外,第一移动设备102a确定和记住其在时间t2的位置(p1
t2
),该位置在由第一移动设备102a使用的第一坐标系中被表示。第一移动设备102a还向第二移动设备102b发送p1
t2
。第二移动设备102b还确定和记住关于其在时间t2相对于第一移动设备102a的定向的信息。更准确地,第二移动设备102b记住空间中的几何线,几何线对应于在时间t2观察第一移动设备102a所沿的方向。这条线在本文中将被称为line
t2

41.然后,可以使用该位置和定向信息来标识将由第二移动设备102b使用的第二坐标系与由第一移动设备102a使用的第一坐标系相关的两个附加约束。特别地,第一移动设备102a在时间t2的位置(p1
t2
)需要沿着line
t2
定位的几何约束提供了用于对齐两个移动设备102a、102b的坐标系的附加两个数学约束。
42.后续,在时间t3,第一用户104a将第一移动设备102a定位,使得第二移动设备102b位于第一移动设备102a的相机的视场内。然后,第一用户104a提供一些输入,使得第一移动设备102a和第二移动设备102b记住和通信与时间t3相关联的某些信息。特别地,第一移动设备102a确定和记住其在时间t3的位置(p1
t3
),该位置在由第一移动设备102a使用的第一坐标系中被表示。第一移动设备102a还向第二移动设备102b发送p1
t3
。第二移动设备102b确定和记住其在时间t3的位置(p2
t3
),该位置在由第二移动设备102b使用的第二坐标系中被表示。第二移动设备102b还向第一移动设备102a发送p2
t3
。第一移动设备102a还确定和记住关于其在时间t3相对于第二移动设备102b的定向的信息。更准确地,第一移动设备102a记住空间中的几何线,几何线对应于在时间t3观察第二移动设备102b所沿的方向。这条线在本文中将被称为line
t3

43.然后,可以使用该位置和定向信息来标识将由第一移动设备102a使用的第一坐标系与由第二移动设备102b使用的第二坐标系相关的两个附加约束。特别地,第二移动设备
102b在时间t3的位置(p2
t3
)需要沿着line
t3
定位的几何约束提供了用于对齐两个移动设备102a、102b的坐标系的两个附加数学约束。
44.在本示例中,在时间t3之后已经标识出六个约束。这对于使能六自由度变换的计算是足够数目的约束,该六自由度变换将由第一移动设备102a使用的第一坐标系与由第二移动设备102b使用的第二坐标系相关。如本领域技术人员所知,术语“六自由度”(6dof)指代刚体在三维空间中的移动自由度。特别地,刚体可以在三个竖直轴线上自由地改变位置,如前/后(喘振)、上/下(升沉)、左/右(摇摆)平移。这种平移可以与通过绕三个竖直轴线旋转的定向改变相结合,这些轴线通常被称为偏航轴线(法向轴线)、俯仰轴线(横向轴线)和滚动轴线(纵向轴线)。在本公开的上下文中,“六自由度变换”(6dof变换)指定了数学运算,该数学运算应当被执行以将在一个坐标系中表示的位置和定向信息转换为在另一个坐标系中表示的等效位置和定向信息。
45.在刚刚描述的示例中,从三个观察事件获得六个约束。两个观察事件在第一移动设备102a(在时间t1和t3)处出现,并且一个观察事件在第二移动设备102b(在时间t2)处出现。该特定示例的具体细节不应当被解释为限制本公开的范围。例如,观察事件不必以任何特定的顺序出现。在备选示例中,在第二移动设备102b具有观察事件(例如,在时间t3)之前,第一移动设备102a可以具有两个连续的观察事件(例如,在t1和t2)。此外,移动设备102a、102b两者不必都具有观察事件。在另一个备选示例中,所有三个观察事件可以在相同移动设备处出现。
46.此外,可以出现超过三个观察事件。如上所述,需要最少六个约束(来自最少三个观察事件),以便计算将由第一移动设备102a使用的第一坐标系与由第二移动设备102b使用的第二坐标系相关的6dof变换。利用最少的数据(例如,来自仅三个观察事件的数据),可以获得与计算6dof变换相关的多于一种的解。然而,利用一组冗余的测量结果,解通常变得唯一。
47.在一些实施例中,移动设备102a、102b中的两者可以计算6dof变换。在刚刚描述的特定示例中,基于由第一移动设备102a所做的观察(在时间t1和t3)确定四个约束,并且基于由第二移动设备102b所做的观察(在时间t2)确定两个约束。移动设备102a、102b可以彼此共享关于这些约束的信息,以使移动设备102a、102b两者具有足够的信息来计算6dof变换。备选地,移动设备中的一个移动设备(例如,第一移动设备102a)可以计算6dof变换,并且与另一个移动设备(例如,第二移动设备102b)共享6dof变换。再备选地,与移动设备102a

102b不同的另一个实体可以计算6dof变换,并且与移动设备102a

102b共享6dof变换。该其他实体可以是服务器,其经由一个或多个计算机网络与移动设备102a

102b电子通信。在一些实施例中,该其他实体可以是基于云的实体。
48.出于计算6dof变换的目的,作为观察事件的结果确定的约束可以与已知独立于观察事件的附加约束相组合。例如,对于图1a

图1c中所示的示例,作为三个观察事件(在时间t1、t2和t3)的结果确定的六个约束可以与附加约束相结合,附加约束诸如是已知的共同竖直定向(两个约束)、离地高度(一个约束)、主要墙壁定向(一个约束),等等。可以从惯性测量或竖直竖直消失点/线确定共同竖直竖直定向。离地高度可以在观察地平面时被确定。相对于房间的定向可以在观察墙壁时被确定。可以使用冗余的约束集合来获得更准确和/或稳健的结果。
49.在图1a

图1c所示的示例中,用户输入触发观察事件。换句话说,用户输入使移动设备102a、102b记住和通信与特定时间点相关联的某些信息,并且使用该信息来确定用于关联移动设备102a、102b的坐标系的约束。当用户在用户的移动设备的相机的视场中看到另一个移动设备时(例如,如在显示器106上看到),可以提供该用户输入。
50.在一些实施例中,用户输入触发观察事件可以被整合到用户体验中作为游戏玩法的一部分。这可以适用于一些混合现实体验,诸如用户应该互相射击的游戏。在这种类型的场景中,当用户射击时,通常可以假设他或她正在瞄准其他用户。在玩家互相射击数次之后,所公开的技术可以用于确定在两个移动设备的坐标系之间的相对位姿。然后可以使用这些信息来丰富用户的体验。
51.将观察事件整合到用户体验中作为游戏玩法的一部分可以提供相对于至少一些已知方法的某些益处。如上所述,为多个设备配准坐标系的通常解决方案是在设备之间交换三维地图信息(或二维图像数据)。利用至少一些已知的方法,可能需要用户输入来交换这种信息/数据。此外,所需的用户输入可以是对作为用户体验的一部分而以其他方式自然出现的任何用户输入的补充(例如,不仅仅是作为游戏玩法的一部分的射击)。如本文所公开的,将观察事件整合到用户体验中作为游戏玩法的一部分消除了对这种额外用户输入的需要,从而使用户的整体体验更自然和更愉快。
52.然而,尽管有前述内容,但不必须将用户输入整合到用户体验中。事实上,不必须依赖用户输入来触发观察事件。备选地,代替依赖于这种用户输入,移动设备可以被配置成自动检测另一个移动设备在其相机的视场中的存在,并且响应于以该方式检测到另一个移动设备,自动记住和通信相关的位置和定向信息。换句话说,在一些实施例中,当一个移动设备在其相机的视场中自动检测到另一个移动设备时,可以触发观察事件。
53.移动设备可以使用对象识别算法,来检测另一个移动设备在其相机的视场内的存在。当被检测的移动设备配备有可以由进行观察的移动设备观察到的光发射器时,该过程可以被简化。例如,再次参考图1a

图1c中所示的示例,假设第二移动设备102b配备有光发射器并且光发射器在时间t1被激活。代替依赖于来自第一用户104a的输入来触发观察事件,第一移动设备102a可以替代地在其相机的视场内自动检测第二移动设备102b。第二移动设备102b上的激活的光发射器可以帮助促进该自动检测。可以与本文公开的技术结合使用的光发射器的一些示例包括移动电话上的闪光灯、与相机相关联的隐私灯以及由一些头戴式显示器(例如,在混合现实头戴式耳机中)上的一些三维相机使用的红外发射器。红外发射器可以由类似装备的设备的红外/深度相机观察到。
54.在一些实施例中,特定移动设备的身份可以经由通过该移动设备上的光发射器发射的独特模式来传输。换句话说,移动设备可以根据特定模式接通和关断其光发射器,并且由特定移动设备使用的模式可以是唯一的(至少对于在相同地点同时使用的移动设备的集合而言)。正在观察该模式的另一个移动设备可以能够基于所发射的独特模式来确定发光移动设备的身份。
55.尽管图1a至图1c中所示的示例包括两个移动设备102a、102b,但在某些情况下,可能需要确定在多于两个的移动设备之间的相对位姿。本文公开的技术也可以被扩展到多于两个的移动设备,只要每个移动设备相对于其他移动设备具有足够的约束以允许相对定位。
56.当涉及多于两个的移动设备时,存在附加困难,这是因为特定移动设备的视场可能包括多于一个移动设备。当移动设备试图确定其相对于特定移动设备的位姿并且在其相机的视场内存在多个移动设备可见时,可能难以确定在多个移动设备中的哪个移动设备是作为位姿计算的主题的特定移动设备。
57.图2图示了移动设备的视场,如例如在显示器206上看到的。多个其他移动设备202a、202b在视场中可见。其视场在图2中被示出的移动设备将被称为观察移动设备,并且在观察移动设备的视场内可见的移动设备202a

202b将被称为第一被观察移动设备202a和第二被观察移动设备202b。
58.假设观察移动设备正试图计算其相对于第一被观察移动设备202a的位姿。观察移动设备可能难以确定在其相机的视场中可见的移动设备202a、202b中的哪个移动设备是第一被观察移动设备202a。换句话说,观察移动设备可能难以区分第一被观察移动设备202a与第二被观察移动设备202b。因此,当观察事件被触发时(例如,响应于用户输入,或备选地,当观察移动设备自动检测到移动设备202a、202b时),观察移动设备可能难以决定它是应当确定和记住关于其相对于第一被观察移动设备202a的定向的信息,还是应当确定和记住关于其相对于第二被观察移动设备202b的定向的信息。
59.这个问题可以用数种不同的方式来被解决。在一些实施例中,可以使用诸如随机样本一致(ransac)的稳健算法。ransac是一种异常值检测方法,与其他移动设备的对应关系可以视为异常值。在相对较少数目的移动设备在任何给定时间时在相机的视场中可见的情况下,这可以特别有效。
60.作为另一示例,在一些实施例中,可以使用图像识别算法,来将对应于相同设备的观察事件相关联。例如,再次参考图2中所示的示例,假设观察移动设备在先前时间点(即,在同时观察两个移动设备202a

202b之前,如图2中所示)自行检测到第一被观察移动设备202a。响应于进行该观察,观察移动设备可以存储第一被观察移动设备202a的图像。然后,当观察移动设备同时观察到第一被观察移动设备202a和第二被观察移动设备202b时(如图2中所示),可以使用先前存储的图像来检测第一被观察移动设备202a,并且将其与第二被观察移动设备202b区分开。
61.出于本文公开的用于获得在多个移动设备之间的相对定位的技术的目的,一旦两个移动设备的坐标系相对于彼此对齐,它们就可以被视为单个移动设备。这又将有助于将一个或多个附加移动设备与先前对齐的两个移动设备对齐。
62.该特征的示例在图3中被示出。假设第一移动设备302a和第二移动设备302b根据本文公开的技术将它们的坐标系彼此对齐。然后,第一移动设备302a和第二移动设备302b可以被视为“单个”移动设备312(出于将它们的共享坐标系与另一个移动设备对齐的目的)。因此,后续,第三移动设备302c可以将其自身与该“单个”移动设备312使用(即,第一移动设备302a和第二移动设备302b两者使用)的坐标系对齐。
63.如上所述,两个移动设备的坐标系可以在最少三个观察事件之后彼此对齐(每个观察事件产生计算6dof变换所需的六个约束中的两个约束)。然而,在本示例中,这些观察事件可以作为第三移动设备302c与第一移动设备302a之间的交互的结果和/或作为第三移动设备302c与第二移动设备302b之间的交互的结果而出现。
64.图3图示了在这些设备的用户在一时间段上四处移动时,第一移动设备302a的轨
迹308a、第二移动设备302b的轨迹308b以及第三移动设备302c的轨迹308c。假设第一观察事件在时间t1出现,其中第三移动设备302c观察第一移动设备302a,并且设备302a、302c两者确定和记住对应的位置和定向信息,来确定计算这些设备302a、302c之间的相对位姿的两个约束(以上述方式)。然后,第二观察事件在时间t2出现,其中第二移动设备302b观察第三移动设备302c,并且设备302b、302c两者确定和记住用于确定两个附加约束的对应位置和定向信息。然后,第三观察事件在时间t3出现,其中第一移动设备302a观察第三移动设备302c,并且设备302a、302c两者确定和记住用于确定两个附加约束的对应位置和定向信息。这将产生足够的约束来计算用于对齐相应坐标系的6dof变换,这是因为出于将它们的共享坐标系与第三移动设备302c对齐的目的,第一移动设备302a与第二移动设备302b被视为“单个”移动设备312。
65.如上所述,为多个移动设备配准坐标系的通常方案是在移动设备之间交换三维地图信息。该三维地图信息通常根据同步定位和地图绘制(slam)算法来被确定。使用slam算法创建的3d地图在本文中可以被称为slam地图。根据本公开,一旦多于两个的移动设备的坐标系如本文所述的那样对齐,则正在由每个移动设备构建的slam地图就可以被合并为更大、更完整的slam地图。
66.图4图示了创建第一slam地图414a的第一移动设备402a以及创建第二slam地图414b的第二移动设备402b。如果第一移动设备402a和第二移动设备402b根据本文公开的技术,基于观察事件将它们的坐标系彼此对齐,则第一slam地图414a与第二slam地图414b可以被合并成更大、更完整的slam地图,其在图4中被图示为合并的slam地图416。合并的slam地图416可以包括来自第一slam地图414a和第二slam地图414b的信息。合并的slam地图416可以由第一移动设备402a和第二移动设备402b二者使用。
67.能够以该方式合并slam地图可以使能附加移动设备的更容易定位。此外,它还可以基于更完整的周围环境的地图使能持久性(跨时间共享坐标系统)。换句话说,本文公开的技术还可以改善传统的基于3d地图的共享和持久性方法。所公开的技术可以提供与合并没有直接视觉重叠的slam地图相关的特定益处,这将允许传统的基于图像的对齐。例如,假设第一slam地图414a和第二slam地图414b是从相对的视点生成的。例如,如果第一移动设备402a与第二移动设备402b彼此相对定位(例如,彼此隔着桌子),使得第一移动设备402a的相机的视场与第二移动设备402b的相机的视场之间没有重叠,则可能是这种情况。在该示例中,合并的slam地图416将包括关于比单独的第一slam地图414a或第二slam地图414b大得多的区域的地图信息。
68.图5图示了根据本公开的用于获得在多个移动设备之间的相对定位的方法500。为了清楚起见,方法500将与先前描述的系统、设备、部件和数据中的一些相关地描述。将从与第二移动设备102b交互的第一移动设备102a的角度描述方法500。如前所述,第一移动设备102a的用户将被称为第一用户104a,并且第二移动设备102b的用户将被称为第二用户104b。
69.在步骤502中,在第一时间点(t1)时,第一移动设备102a在第一移动设备102a的相机的视场内观察第二移动设备102b。这可以作为第一用户104a将第一移动设备102a瞄准第二用户104b的结果而出现。第二用户104b可以正持有或穿戴第二移动设备102b。第二用户104b可以将第二移动设备102b瞄准第一用户104a。
70.在步骤504中,第一移动设备102a确定第一移动设备102a在时间t1的位置(p1
t1
)。p1
t1
的值在由第一移动设备102a使用的第一坐标系中被表示。
71.在步骤506中,第一移动设备102a从第二移动设备102b接收第二移动设备102b在时间t1的位置(p2
t1
)。p2
t1
的值在由第二移动备102b使用的第二坐标系中被表示。
72.在步骤508中,第一移动设备102a至少部分地基于第一位置(p1
t1
)和在时间t1对第二移动设备102b的观察,来确定关于第一移动设备102a在t1相对于第二移动设备102b的定向的信息。例如,第一移动设备102a可以确定和记住空间中的几何线(line
t1
),几何线(line
t1
)对应于在时间t1观察到第二移动设备102b所沿的方向。
73.在步骤510中,第一移动设备102a至少部分地基于第二位置(p2
t1
)和定向信息(例如,由line
t1
表示),来标识将由第一移动设备102a使用的第一坐标系与由第二移动设备102b使用的第二坐标系相关的两个约束。例如,第二移动设备102b在时间t1的位置(p2
t1
)应当沿着先前定义的空间线(line
t1
)定位的几何约束提供了两个数学约束,来将由第一移动设备102a使用的第一坐标系与由第二移动设备102b使用的第二坐标系对齐。
74.方法500的步骤502至步骤510对应于单个观察事件。在一些实施例中,类似于由步骤502至步骤510表示的观察事件可以由用户输入触发。更具体地,当在步骤502中,第一移动设备102a在时间t1在其相机的视场内观察到第二移动设备102b时,第一用户104a可以提供某种类型的用户输入(例如,点击第一移动设备102a上的按钮)。可以响应于接收到该用户输入来执行步骤504至步骤510。
75.在一些实施例中,方法500可以在涉及第一移动设备102a和第二移动设备102b的游戏期间被执行。使得步骤504至步骤510被执行的用户输入可以作为游戏的一部分被提供。例如,游戏可以是射击游戏,其中用户104a

104b应该使用移动设备102a

102b互相射击。方法500的步骤502(其中第一移动设备102a在其相机的视场内观察第二移动设备102b)可以作为第一用户104a将第一移动设备102a瞄准第二用户104b的结果而出现,第二用户104b以正持有或穿戴第二移动设备102b。作为游戏的一部分,当第一用户104a采取一些动作(例如,激活第一移动设备102a上的触发按钮)使得第一移动设备102a向第二用户104b射击时,可以提供使得步骤504至步骤510出现的用户输入。
76.备选地,当一个移动设备在其相机的视场中自动检测到另一个移动设备时,可以触发像由步骤502至步骤510表示的那样的观察事件。更具体地,当在步骤502中,第一移动设备102a在时间t1在其相机的视场内观察第二移动设备102b时,第一移动设备102a可以自动检测第二移动设备102b(例如,经由对象识别算法)。可以响应于第一移动设备102a自动检测到第二移动设备102b,来执行方法500的步骤504至步骤510。换句话说,第一移动设备102a可以响应于第一移动设备102a检测到第二移动设备102b而执行方法500的步骤504至步骤510,而无需任何附加用户输入。在一些实施例中,第二移动设备102b可以包括光发射器。如果该光发射器在第一移动设备102a在时间t1在其相机的视场内观察第二移动设备102b时被激活,则该激活的光发射器可以使第一移动设备102a更容易自动检测第二移动设备102b。
77.在步骤502中,当第一移动设备102a在其相机的视场内观察到第二移动设备102b时,可以存在一个或多个附加移动设备也在视场内可见。(例如,如图2中所示,多个移动设备202a

202b可以同时在相机的视场中可见。)因此,在一些实施例中,方法500可以附加地
涉及对第二移动设备102b与在相机的视场内也可见的一个或多个附加移动设备进行区分。这可以通过各种方式来被实现,诸如通过使用图像识别算法或随机样本一致性(ransac)算法,如上所述。
78.由步骤502至步骤510表示的观察事件提供了两个约束,该两个约束将由第一移动设备102a使用的第一坐标系与由第二移动设备102b使用的第二坐标系相关。一旦累积了至少六个约束,则在步骤512中,第一移动设备102a可以计算第一移动设备102a相对于第二移动设备102b的位姿。例如,第一移动设备102a可以使用六个(或更多)约束来计算6dof变换,该6dof变换将由第一移动设备102a使用的第一坐标系与由第二移动设备102b使用的第二坐标系相关。
79.在一些实施例中,用于在步骤512中计算位姿的六个(或更多)约束可以包括(a)作为观察事件的结果确定的多个约束,以及(b)独立于观察事件而已知的一个或多个附加约束。这些附加约束的一些示例包括已知的共同竖直定向、离地高度、主要墙壁定向等。这些附加约束可以用于获得更准确和/或稳健的结果。
80.图6图示了可以被包括在被配置成实现本文公开的技术的移动设备602内的某些部件。图6中所示的移动设备602表示之前描述的移动设备102a

102b、202a

202b、302a

302c、402a

402b的一种可能实施方式。
81.移动设备602包括处理器601。处理器601可以是通用单片或多片微处理器(例如,高级risc(精简指令集计算机)机器(arm))、专用微处理器(例如,数字信号处理器(dsp))、微控制器、可编程门阵列等。处理器601可以被称为中央处理单元(cpu)。尽管在图6的移动设备602中仅示出了单个处理器601,但是在备选配置中,可以使用处理器(例如,arm和dsp)的组合。
82.移动设备602还包括与处理器601电子通信的存储器603。存储器603可以是能够存储电子信息的任何电子部件。例如,存储器603可以被实施为随机存取存储器(ram)、只读存储器(rom)、磁盘存储介质、光学存储介质、ram中的闪存设备、包括在处理器601中的板载存储器、可擦除可编程只读存储器(eprom)、电可擦除可编程只读存储器(eeprom)存储器、寄存器等,包括它们的组合。
83.指令605和数据607可以被存储在存储器603中。指令605可以由处理器601执行以实施本文公开的步骤、操作、行动或其他功能中的一些或全部功能。执行指令605可以涉及使用存储在存储器603中的数据607。除非另有指定,否则本文描述的模块和部件的各种示例中的任一个示例可以部分或整体地被实现为指令605,该指令605被存储在存储器603中并且由处理器601执行。本文描述的数据的各种示例中的任一个示例可以在数据607中间,数据607被存储在存储器603中并且在由处理器601执行指令605期间被使用。
84.指令605可以包括设备跟踪模块621。设备跟踪模块621可以被配置成跟踪移动设备602在空间中的位置和运动。移动设备602可以包括促进这种跟踪的各种部件,包括(一个或多个)相机631、惯性测量单元(imu)633和(一个或多个)其他传感器635。设备跟踪模块621可以基于从相机631接收的输入,执行基于光学的跟踪。在一些实施例中,设备跟踪模块621还可以利用从imu 633和传感器635接收的输入来增强跟踪。跟踪可以包括例如六自由度(6dof)设备跟踪。这可以使用同步定位和地图绘制(slam)和/或视觉惯性里程计(vio)来被实现。设备跟踪模块621可以被配置成构建和/或更新未知环境的slam地图614,同时保持
跟踪移动设备602在环境内的位置。
85.指令605还可以包括相对定位模块623。相对定位模块623可以被配置成根据本文公开的技术,确定移动设备602和一个或多个其他移动设备之间的相对定位。例如,相对定位模块623可以被配置成实施诸如图5中所示的方法500的方法。
86.移动设备602可以包括显示器637。在一些实施例中(例如,在移动设备602是混合现实设备的实施例中),显示器637可以包括一个或多个半透明透镜,可以在其上显示虚拟对象的图像。可以在透镜上显示不同的立体图像以创建深度外观,而透镜的半透明性质允许用户看到真实世界以及透镜上渲染的虚拟对象两者。移动设备602还可以包括图形处理单元(gpu)639。(一个或多个)处理器601可以指导gpu 639渲染虚拟对象,并且使虚拟对象出现在显示器637上。
87.移动设备602还可以包括光发射器641。光发射器641可以被激活以使得移动设备602更容易被另一个移动设备检测。在一些实施例中(例如,如果移动设备602是移动电话),光发射器641可以是闪光灯或隐私灯。备选地,光发射器641可以是由一些头戴式显示器(例如,在混合现实头戴式耳机中)上的一些三维相机使用的红外发射器。在一些实施例中,移动设备602的一个或多个相机631可以是被配置成检测由另一个移动设备发射的红外光的红外/深度相机。
88.移动设备602还可以包括(一个或多个)输入设备611。输入设备611可以用于提供用于触发观察事件的用户输入。在一些实施例中,(一个或多个)输入设备611可以包括一个或多个按钮。输入设备711的一些其他示例包括键盘、鼠标、麦克风、遥控设备、按钮、操纵杆、轨迹球、触摸板和光笔。
89.移动设备602还可以包括一个或多个通信接口613,用于与诸如其他移动设备的其他电子设备通信。例如,移动设备602可以使用通信接口613向另一个移动设备发送位置信息和/或定向信息,以结合确定其相对于另一个移动设备的位姿。(一个或多个)通信接口613可以是基于有线通信技术、无线通信技术或两者。通信接口613的一些示例包括通用串行总线(usb)、以太网适配器、根据电气和电子工程师协会(ieee)802.11无线通信协议操作的无线适配器、无线通信适配器以及红外(ir)通信端口。
90.本文描述的技术可以以硬件、软件、固件或其任何组合来被实现,除非被具体描述为以特定方式实现。被描述为模块、部件等的任何特征也可以在集成逻辑设备中一起被实现或被单独实现为分立但可互操作的逻辑设备。如果以软件实现,则这些技术可以至少部分地通过具有存储在其上的计算机可执行指令的非暂态计算机可读介质来被实现,当计算机可执行指令由至少一个处理器执行时,执行本文公开的步骤、操作、行动或其他功能中的一些或全部。指令可以被组织成例程、程序、对象、部件、数据结构等,其可以执行特定任务和/或实现特定数据类型,并且可以在各种实施例中根据需要被组合或分布。
91.在不脱离权利要求的范围的情况下,本文描述的方法的步骤、操作和/或行动可以彼此互换。换句话说,除非所描述的方法的正常运行需要特定的步骤、操作和/或行动的顺序,否则可以修改特定步骤、操作和/或行动的顺序和/或使用,而不脱离权利要求的范围。
92.术语“确定”(及其语法变型)涵盖多种行动,因此,“确定”可以包括数学计算、计算、处理、推导、调查、查找(例如,在表、数据库或其他数据结构中查找)、查明等。此外,“确定”可以包括接收(例如,接收信息)、访问(例如,访问存储器中的数据)等。此外,“确定”可
以包括解析、选择、挑选、建立等。
93.术语“包括”、“包含”和“具有”旨在是包含性的,并且意指除了所列元素之外可能还有其他元素。此外,应当理解,对本公开的“一个实施例”或“实施例”的引用并不旨在被解释为排除也结合了所述特征的附加实施例的存在。例如,在兼容的情况下,关于本文的实施例描述的任何元素或特征可以与本文描述的任何其他实施例的任何元素或特征组合。
94.本公开可以在不脱离其精神或特征的情况下,以其他特定形式被实施。所描述的实施例应当被认为是说明性而非限制性的。因此,本公开的范围由所附权利要求而不是由前述描述指示。在权利要求的等效含义和范围内的改变应当被包含在其范围内。
再多了解一些

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

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

相关文献