如果大家有印象,由麻省理工学院和密歇根大学组成的团队曾以微软HoloLens2作为基础,开发了一个可以通过射频信号来提供非视距感知的AR头显。
团队认为,当今的AR头显通过摄像头或其他基于视觉的传感系统感知其环境,而这种视觉传感系统固有地局限于视距(LOS)。这种视距限制阻碍了AR系统在最需要的地方提高工作效率,亦即在杂乱和密集的工业环境中。
利用孔径雷达,具有非视距(NLOS)感知能力的AR头显可以识别和定位被完全遮挡的特定物品,并帮助工人避免冗长的搜索过程。另外,这种AR头显可用于自动化仓库或零售店中物品的库存控制,而无需工人查看所有物品,并可提醒工人隐藏在遮挡物后面的错放物品。
在名为“Synthetic aperture radar for head mounted displays”的专利申请中,微软同样介绍了一种利用孔径雷达来进行环境映射的方法。
图1示出了示例性有源传感器系统102。有源传感器系统102包括多个雷达阵列,例如雷达阵列120A和雷达阵列120B。每个雷达阵列包括一个或多个发射器和多个接收器。
系统可以基于分析在系统处接收的传感器数据和/或基于用户输入或第三方输入来动态地检测干扰,并且可以响应地激活和/或使用来自IMU的IMU传感器数据,以执行主动头部追踪,这有助于促进雷达阵列轨迹的精确追踪和预测追踪。
头戴式设备用于基于从有源传感器系统生成,并由模拟位于特定体素内的反射器反射回有源传感器系统的信号来确定特定体素的反射率。有源传感器系统102配置为虚拟地映射用户的三维环境。通过与有源传感器系统102通信的计算系统来检测和追踪反射信号。
图2示出了雷达阵列200的示例实施例。图2示出了具有多个发射器和多个接收器的雷达阵列200的示例实施例。雷达阵列200配置为虚拟地映射用户正在使用有源传感器系统的三维空间。
雷达阵列200包括一个或多个单站发射器(例如发射器202A和/或发射器202B),并且配置为在特定范围内以各种信号频率发射一个或更多个信号。
雷达阵列200同时包括一个或多个单站接收器(例如接收器204A、接收器204B、接收器204C和/或接收器204D),其配置为接收从在用户的物理三维环境内虚拟模拟的多个模拟反射器反射的一个或更多个信号,所述多个模拟反射器配置为将所述一个或多个信号反射到所述一或多个单站接收器。
如图2所示,一个或多个单站发射器和一个或更多个单站接收器相对于彼此在特定方向上固定地定位。多个接收器有利地配置在正方形方向上,使得雷达阵列能够在方位角方向和仰角方向上解析包括在三维环境中的物体。
这是有益的,因为雷达阵列通常根据用户的不同头部移动而通过非线性轨迹移动。
在一个实施例中,每个接收器包括大约54度的信号接收视场(FOV)。以这种方式,多个接收器的使用和布置能够覆盖至少90度的FOV,甚至更优选地,覆盖大约或至少180度的FOV。
在一个实施例中,多个接收器包括等效于信号传输区域的FOV。FOV可以大于或大于信号传输区域。多个接收器用于增加雷达阵列的FOV和有效孔径。
在当前实施例中,图2的有源传感器系统配置为单站雷达。在这种单基地雷达配置中,每个接收器独立于其他接收器,使得正在接收的信号被非相干地处理。
另外,接收器和发射器共用一个天线。然而,有源传感器系统可以配置为双基或多基雷达。
有源传感器系统中的每个发射器可配置为在基于体素粒度的大小和有源传感器系统与模拟反射器之间的预定距离的预定频率范围内从低端到高端扫描频率。所述参数同时决定了有源传感器系统的功耗。
另外,有源传感器系统同时配置为执行追踪算法,以处理由一个或多个接收器接收的模拟反射信号。
接收器优选地设置在包括正被发送的信号的一半波长的距离处。接收器布置在二维中的半波长距离处。另外,发射器可设置在包括正被发射的信号的波长的距离处。接收器和发射器之间的这种间隔有利于减少或避免从特定体素反射的接收信号的潜在混叠。
图4示出了雷达阵列的替代示例实施例。在替代实施例中,接收器和发射器在有源传感器系统上相对于彼此定位成不同的配置,和/或包括不同数量的发射器(例如1、3、4或多于4个)和/或不同数量的接收器(例如1、2、3、5或多于5个)。
在另一个替代实施例中,发射器和/或接收器中的一个或多个分布在有源传感器系统的不同设备之间。
如图4所示,雷达阵列400示出为具有多个发射器(例如发射器402A、发射器402B、发射器402C和发射器402D),发射器被多个发射器中的每一个要发射的信号的单个波长分开。
所述多个发射器被布置成线性配置。雷达阵列400同时显示为具有多个接收器(例如接收器404A、接收器404B、接收器404C、接收器404D、接收器404E、接收器404F、接收器404G、接收器404H、接收器404I、接收器404J和接收器404K)。多个接收器以线性配置设置。
图5示出了包括多个雷达阵列的头戴式设备500的替代示例实施例,例如图5所示的具有发射器和接收器的雷达阵列。头戴式设备500配置为一组混合现实眼镜。每个雷达阵列安装到头戴式设备500,使得每个雷达阵列能够在特定方向上映射用户的环境。
在雷达阵列配置中,每个雷达阵列仅能够在单个方向(例如方位角或仰角)上解析用户环境内的对象(即映射用户环境)。例如,仰角方向雷达阵列504A示出为具有多个接收器506A和多个发射器508A,它们相对于前透镜框502以垂直线性配置设置。
仰角方向雷达阵列504A被配置为沿着由用户环境的横截面510表示的水平轴进行扫描。另外,方位方向雷达阵列504B示出为具有多个接收器506B和多个发射器508B,所述多个接收器和多个发送器相对于前透镜框502设置成水平线性配置。方位方向雷达阵列504B配置为沿着由用户环境的横截面512表示的垂直轴进行扫描。
图6示出了配置为具有多个雷达阵列的头戴式设备604的替代实施例的有源传感器系统600。有源传感器系统600包括前雷达阵列606A和后雷达阵列606B,使得当用户以线性和非线性的方式移动他们的头部时,在一个或多个方向上同时映射用户环境的高达360度。
可替换地,有源传感器系统600包括沿着左侧带、右侧带布置的一个或多个侧雷达阵列,或者沿着顶部带布置的多个顶部雷达阵列。有源传感器系统600还被示出为具有诸如电池功率、处理器等的附加组件。
图7示出了用户704操作具有有源传感器系统706的混合现实系统700的示例实施例,其中用户704能够使用混合现实系统700来映射三维环境702。
三维环境702示出为具有多个墙壁和用户垂直站立在其上的底层的室内客厅空间。三维环境702同时包括一个或多个静止物体,例如沙发712)。当用户在各种线性和非线性方向上移动他的头部时,有源传感器系统706使用一个或多个雷达阵列来在仰角方向708和方位角方向710上映射环境。
雷达阵列能够检测室内空间的边界(例如墙壁、地板和天花板),使得物理环境的虚拟映射反映相关边界。以这种方式,虚拟映射配置为使得用户704与虚拟元素交互,使得他或她永远不会物理地撞到三维环境702的墙壁中。
雷达阵列同时能够识别和映射诸如沙发712之类的静止物体,使得沙发的边界嵌入到环境的虚拟映射中。
图8示出了有源传感器系统,尤其是雷达阵列802,如何能够通过渐进合成孔径雷达操作来虚拟地增加其孔径大小的示例实施例。
雷达阵列802将一个或多个信号(例如线性调频脉冲808、信号810)发送到特定体素,并且以这样的方式,使得一个或更多个信号从模拟为位于特定体素内的一个或更多个反射器反射,其中所述信号被反射回雷达阵列802作为一个或多个反射信号。
雷达阵列802配置为在相对定向的信号传输区域(例如,在线R的方向上)中以朝向有源传感器系统的前部的方向性、朝向位于雷达阵列的特定距离内的特定体素传输来自多个单站发射器的一个或多个信号。
雷达阵列802同时配置为接收和检测从在特定体素位置模拟的一个或多个反射器反射回来的一个或者多个反射信号814。雷达阵列802D的一个或多个接收器在时间=0处接收和检测一个或更多个反射信号814。
然后,雷达阵列200能够基于信号传输区域内的一个或多个始发信号和一个或更多个反射信号来计算/确定位于特定体素处的任何物体对有源传感器系统的反射率814。
返回参考图7,基于有源传感器系统的一个或多个特定运动(例如头部运动),在信号传输区域(例如,仰角和/或方位角方向)内传输由雷达阵列的发射器发射的一个或者多个信号。
应该意识到,由如图8所示的雷达阵列生成和发送的信号是可调谐的,这取决于体素的大小、环境中的一个或多个物体与有源传感器系统之间的距离、以及环境中一个或更多个物体的反射率。
例如,信号的范围从大约60GHz到大约100GHz,或者更广泛地,在24GHz到大约110GHz之间。特别地,60GHz是合适的射频,因为它在短范围内保持信号功率,例如用户的一臂长。60 GHz同时可用于更长的范围,最高可达约4米。增加射频(例如110GHz)允许模拟反射器更小。这些频率和相应的体素尺寸允许有源传感器系统在方位角和仰角方向上获得针对对象分辨率的亚毫米和亚弧度追踪精度。
基于先前和当前的位置和速度数据,雷达阵列802(例如雷达阵列802E、雷达阵列802F、雷达阵列802 g)预测为沿着方位方向定位得更远,直到达到t=t/2。在每个时间戳处接收反射信号(例如,在t=-t/2处的反射信号816和在t=0时的反射信号R)。
为了实现期望的角度和距离分辨率的信号处理,雷达阵列802的轨迹必须已知。轨迹可以被追踪,然后使用有源传感器系统进行预测,包括IMU数据和其他追踪数据。随着雷达阵列的移动,雷达阵列的孔径综合增加(即合成孔径雷达)。
现在将注意力转向图9A-9D,其示出了基于有源传感器系统的检测到的运动在各种体素配置中映射三维空间。其中,有源传感器系统的实施例配置为将整个三维环境分割成多个三维体素。
每个体素表示一个潜在的或模拟的反射器。然后,系统将发送的波形与相应的接收波形一起固定。对于每个体素,系统计算如果反射器位于目标体素处,系统将接收的信号。
对于正在发送的所有波形和所有体素,发送的波形沿着对应的接收波形是固定的。针对所需的波形和体素的每个组合来计算信号。对于每个体素,系统还计算整体反射信号和特定体素位置处的反射信号之间的相关性,并在整体反射率值上求和,以确定特定体素的反射率。
如图9A所示,环境(例如图7的环境700)最初分割成第一多个体素,其中针对每个体素计算反射率。第一多个体素包括大小相等且具有默认粒度的体素(例如体素902)。
在一个实施例中,多个体素包括不同尺寸的体素。例如,基于与环境的不同部分相对应的雷达运动的特性,环境的不同的部分(或体素的子集)包括不同的尺寸。在一个情况下,整个环境更新到新的粒度,而在其他情况下,只有特定的体素更新到一个新的粒度。
如图9B所示,当雷达阵列经由随机头部移动(例如在方向904上)移动通过环境的各个部分时,在雷达阵列的移动路径上布置在雷达阵列视场中的体素的粒度增加。
体素的粒度越高,每个体素的个体大小就越小。如图9B所示,仅更新环境的一部分以反映新的体素粒度(例如体素906),而其他部分保持在默认粒度(例如体素902)。
新体素粒度显示为4:1的比例,例如2×2组新体素替换单个默认体素)。
因此,在与映射/追踪系统的检测方向移动相对应的单个方向(例如方向904)上可以看到环境的映射的改进。如图所示,当检测到特定的雷达运动时,在雷达运动的方向性上,仅更新一行默认大小的体素。
类似于图9B,当雷达通过随机头部移动(例如在方向908上)移动通过环境的各个部分时,在雷达阵列的视图中沿其移动路径布置的体素的粒度增加。
因此,体素的一部分更新以反映新的粒度(例如体素910),而环境的其余部分保持在默认粒度或先前粒度(例如体素902)。
如图所示,一列体素更新到新的粒度。类似于按行更新体素,可以逐列更新环境的部分,同时更新几行,或者可以更新环境的整个平面。另外,只有特定列的一些体素可以更新。
应当理解,雷达阵列可以在线性和非线性方向上移动。如图9D所示,当雷达阵列在非线性方向(例如方向912)上移动时,方位和仰角方向上的体素都更新以反映新的体素粒度(例如体素914)。
因此,用户将在更全方位的视图中看到环境的虚拟映射的特征分辨率的提高。基于检测到的头部移动,新的粒度可应用于行和列的任何组合,包括部分行和部分列。
一旦检测到雷达移动的开始,体素粒度就实时更新。在其他情况下,在检测到特定雷达移动的结束之后更新体素粒度。
如前所述,体素的大小将取决于雷达阵列的相对移动量和/或检测到的移动类型,包括方向和速度,并与之直接对应。例如,随着体素粒度的增加(即体素大小的减小),有源传感器系统能够以增加的精度和增加的角度和距离分辨率来解析用户环境的特征。体素大小越小,环境在其2D和随后的3D映射中的分辨率就越精细。
微软指出,系统同时有利地配置为保留功率并提高效率。例如,如果雷达阵列移动通过已经被解析/映射的环境的一部分,则系统基于检测到的移动来确定是否可以获得更精细的体素粒度。
接下来,系统确定更精细的体素粒度是否将提供环境的改进映射,从而改进用户的体验和混合现实系统在环境内的操作。例如,如果检测到先前未检测到的新对象或新对象已进入环境,则系统配置为确定更新体素粒度并重新计算更新体素的反射率值是有价值的。
另外,如果系统识别出重叠或部分未解决的一个或多个先前映射的对象,则系统配置为确定更新体素粒度和执行后续步骤对用户是有价值的。
因此,当雷达阵列四处移动时,系统迭代地确定是否增加用于映射/重映射过程的体素的粒度。随着雷达阵列的移动,体素看起来在其自身内倍增,同时随着时间的推移,环境的特征被更好地解析。
环境的虚拟映射在同一环境中操作他们自己的混合现实系统的两个或多个用户之间共享。以这种方式,组合的雷达运动允许有源传感器系统更快地绘制整个环境的映射。同时,如果系统确定环境的一部分被最优地解决,则当雷达阵列在该部分的方向上移动时,系统节省功率并且在预定时间内不发送信号。
名为“Synthetic aperture radar for head mounted displays”的微软专利申请最初在2021年11月提交,并在日前由美国专利商标局公布。