CN116324574A - 增强现实中的对象再布置任务的优化辅助 - Google Patents
增强现实中的对象再布置任务的优化辅助 Download PDFInfo
- Publication number
- CN116324574A CN116324574A CN202180070825.9A CN202180070825A CN116324574A CN 116324574 A CN116324574 A CN 116324574A CN 202180070825 A CN202180070825 A CN 202180070825A CN 116324574 A CN116324574 A CN 116324574A
- Authority
- CN
- China
- Prior art keywords
- objects
- user
- sequence
- actions
- object manipulation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B27/00—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
- G02B27/01—Head-up displays
- G02B27/017—Head mounted
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/16—Constructional details or arrangements
- G06F1/1613—Constructional details or arrangements for portable computers
- G06F1/163—Wearable computers, e.g. on a belt
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
- G06F3/014—Hand-worn input/output arrangements, e.g. data gloves
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/016—Input arrangements with force or tactile feedback as computer generated output to the user
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/20—Scenes; Scene-specific elements in augmented reality scenes
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B27/00—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
- G02B27/01—Head-up displays
- G02B27/0101—Head-up displays characterised by optical features
- G02B2027/0138—Head-up displays characterised by optical features comprising image capture systems, e.g. camera
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B27/00—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
- G02B27/01—Head-up displays
- G02B27/0101—Head-up displays characterised by optical features
- G02B2027/014—Head-up displays characterised by optical features comprising information/image processing systems
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B27/00—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
- G02B27/01—Head-up displays
- G02B27/0179—Display position adjusting means not related to the information to be displayed
- G02B2027/0187—Display position adjusting means not related to the information to be displayed slaved to motion of at least a part of the body of the user, e.g. head, eye
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B27/00—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
- G02B27/0093—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00 with means for monitoring data relating to the user, e.g. head-tracking, eye-tracking
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- Computer Hardware Design (AREA)
- Optics & Photonics (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
所公开的计算机实现的方法可以包括:通过人工现实系统识别用户的真实世界环境中的多个物理对象,并且基于对多个对象进行识别,定义用于操纵多个对象中的至少一个对象的对象操纵目标。该方法还可以包括:确定动作序列,该动作序列定义了一系列动作步骤,该一系列动作步骤用于操纵多个对象中的至少一个对象,以完成对象操纵目标;以及通过人工现实系统向用户呈现指示动作序列的通知。还公开了各种其他方法、系统和计算机可读介质。
Description
技术领域
本公开涉及增强现实中的对象再布置任务,并且具体地涉及在增强现实中提供对象再布置任务的辅助。
背景技术
人们经常在几乎没有预先计划的情况下执行日常工作,例如家务、为旅行打包行李等。例如,一个人可能以最近的步骤或最容易的步骤开始一项任务,然后转向其他步骤。这个人可能在没有完成当前步骤的情况下转向另一步骤、忘记一个或多个步骤、和/或以可能无意地增加了难度的顺序或方式继续进行各步骤。
本公开试图至少部分地解决上述劣势和缺点中的任何一个或全部。
发明内容
根据本公开的第一方面,提供了一种计算机实现的方法,该方法包括:通过人工现实系统识别用户的真实世界环境中的多个物理对象;基于对多个对象进行识别,定义用于操纵多个对象中的至少一个对象的对象操纵目标;确定动作序列,该动作序列定义一系列动作步骤,该一系列动作步骤用于操纵多个对象中的至少一个对象,以完成对象操纵目标;以及通过人工现实系统向用户呈现指示动作序列的通知。
在一些实施例中,对象操纵目标可以为多个对象中的至少一个对象定义期望的结束状态,并且动作序列可以包括用于操纵多个对象中的至少一个对象、以产生期望的结束状态的动作步骤。
在一些实施例中,该方法还可以包括:通过人工现实系统监控动作序列的进展;在监控进展时,检测动作序列的偏差;以及基于检测到的偏差,更新动作序列。
在一些实施例中,定义对象操纵目标还可以包括:基于上下文信号和对多个对象的识别,推断与多个对象有关的用户目标;以及基于所推断的用户目标,从目标库中选择对象操纵目标。
在一些实施例中,上下文信号可以包括一天中的时间、用户输入、或用户的视野中的至少一者。
在一些实施例中,推断用户目标还可以包括:推断与多个对象有关的多个用户目标;并且选择对象操纵目标还可以包括:基于多个用户目标,从目标库中选择多个对象操纵目标。
在一些实施例中,该方法还可以包括:识别对象操纵目标的当前状态。
在一些实施例中,当前状态可以包括与对象操纵目标相关联的物理对象的不确定性状态。
在一些实施例中,动作序列可以包括预期解决不确定性状态的动作步骤。
在一些实施例中,多个对象可以包括已知对象和未知对象。
在一些实施例中,对象操纵目标可以包括对象再布置任务,该对象再布置任务用于将多个对象中的至少一个对象重定位到期望的位置,并且动作序列可以包括用于将多个对象中的至少一个对象移动到期望的位置的至少一个动作步骤。
在一些实施例中,通知可以包括视觉通知、触觉通知、或听觉通知中的至少一者。
根据本公开的第二方面,提供了一种系统,该系统包括:至少一个物理处理器;物理存储器,该物理存储器包括计算机可执行指令,所述计算机可执行指令在被物理处理器执行时,使物理处理器:通过人工现实系统识别用户的真实世界环境中的多个物理对象;基于对多个对象进行识别,定义用于操纵多个对象中的至少一个对象的对象操纵目标;确定动作序列,该动作序列定义一系列动作步骤,该一系列动作步骤用于操纵多个对象中的至少一个对象,以完成对象操纵目标;以及通过人工现实系统向用户呈现指示动作序列的通知。
在一些实施例中,对象操纵目标可以为多个对象中的至少一个对象定义期望的结束状态,并且动作序列可以包括用于操纵多个对象中的至少一个对象、以产生期望的结束状态的动作步骤。
在一些实施例中,该系统还可以包括使物理处理器执行以下动作的指令:通过人工现实系统监控动作序列的进展;在监控进展时,检测动作序列的偏差;以及基于检测到的偏差,更新动作序列。
在一些实施例中,用于定义对象操纵目标的指令还可以使处理器:基于上下文信号和对多个对象的识别,推断与多个对象有关的用户目标;以及基于所推断的用户目标,从目标库中选择对象操纵目标。
根据本公开的第三方面,提供了一种非暂态计算机可读介质,该非暂态计算机可读介质包括一个或多个计算机可执行指令,该一个或多个计算机可执行指令在被计算设备的至少一个处理器执行时,使该计算设备:通过人工现实系统识别用户的真实世界环境中的多个物理对象;基于对多个对象进行识别,定义用于操纵多个对象中的至少一个对象的对象操纵目标;确定动作序列,该动作序列定义一系列动作步骤,该一系列动作步骤用于操纵多个对象中的至少一个对象,以完成对象操纵目标;以及通过人工现实系统向用户呈现指示动作序列的通知。
在一些实施例中,对象操纵目标可以为多个对象中的至少一个对象定义期望的结束状态,并且动作序列可以包括用于操纵多个对象中的至少一个对象、以产生期望的结束状态的动作步骤。
在一些实施例中,该非暂态计算机可读介质还可以包括使计算设备执行如下动作的指令:通过人工现实系统监控动作序列的进展;在监控进展时,检测动作序列的偏差;以及基于检测到的偏差,更新动作序列。
在一些实施例中,用于定义对象操纵目标的指令还可以使计算设备:基于上下文信号和对多个对象的识别,推断与多个对象有关的用户目标;以及基于所推断的用户目标,从目标库中选择对象操纵目标。
将理解的是,本文中被描述为适于结合到本公开的一个或多个方面或实施例中的任何特征旨在,在本公开的任何和所有方面和实施例中是具有普遍性的。本领域技术人员可以根据本公开的说明书、权利要求书和附图理解本公开的其它方面。上述总体描述和以下具体实施方式仅是示例性和说明性的,而不对权利要求进行限制。
附图说明
附图示出了多个示例性实施例,并且是本说明书的一部分。这些附图与以下描述一起说明和解释本公开的各种原理。
图1是使用人工现实系统来辅助对象操纵目标的示例性方法的流程图。
图2是用于辅助对象操纵目标的示例性系统的框图。
图3是人工现实系统的示例性网络的框图。
图4A和图4B是示例性对象操纵目标的图示。
图5是对象操纵目标的潜在动作序列的示意图。
图6是潜在动作序列的三维(three-dimensional,3D)映射的示意图。
图7是人工现实辅助的对象操纵的示例性用户界面(user interface,UI)的图示。
图8A至图8C是用于辅助对象操纵目标的示例性人工现实覆盖的图示。
图9是可以与本公开的实施例结合使用的示例性增强现实眼镜的图示。
图10是可以结合本公开的实施例使用的示例性虚拟现实头戴式设备(headset)的图示。
图11是可以与本公开的实施例结合使用的示例性触觉设备的图示。
图12是根据本公开的实施例的示例性虚拟现实环境的图示。
图13是根据本公开的实施例的示例性增强现实环境的图示。
在所有附图中,相同的附图标记和描述指代类似但不一定相同的元件。尽管本文所描述的各示例性实施例很容易作出各种修改和替代形式,但仍以示例的方式在这些附图中示出多个特定实施例,并且即将在本文中对这些特定实施例进行详细描述。然而,本文所描述的示例性实施例不旨在被限制为所公开的特定形式。而是,本公开涵盖了落入所附权利要求书的范围内的所有修改、等同物和替代物。
具体实施方式
人们经常在几乎没有预先计划的情况下执行日常工作,例如家务、为旅行打包行李等。例如,一个人可能以最近的步骤或最容易的步骤开始一项任务,然后继续其他步骤。这个人可能在没有完成当前步骤的情况下转向另一步骤、忘记一个或多个步骤、和/或以可能无意地增加了难度的顺序或方式继续进行各步骤。
人工现实设备(例如,增强现实眼镜)可以通过机载传感器(onboard sensor)访问关于用户环境的实时高保真数据,以及具有向用户无缝显示实时信息的能力。因此,当用户正在执行任务时,人工现实设备可能能够分析用户的环境并实时提供反馈。用户可以通过利用人工现实设备的计算资源,而能够更有效地执行任务。
本公开总体上针对提供对对象操纵任务的辅助。如将在下面更详细地解释的,本公开的实施例可以基于对用户的真实世界环境中的物理对象进行识别,来定义用户的对象操纵目标。本文所公开的系统和方法可以确定用户执行对象操纵目标的动作序列,并呈现指示该动作序列的通知。因此,所公开的系统和方法在用户可能希望执行的任务类型以及所提供的辅助方面可以是灵活的。另外,通过使用对象识别作为定义对象操纵目标的基础,所公开的系统和方法可以更有效地确定动作序列并减少计算开销。所公开的系统和方法可以进一步完善人工现实领域以及用户界面。
根据本文所描述的一般原理,来自本文所描述的任何实施例的特征可以结合彼此使用。通过结合附图和权利要求书阅读以下具体实施方式后,将更全面地理解这些和其它实施例、这些和其它特征、以及这些和其它优点。
下面将参考图1至图13提供如下方法和系统的具体实施方式:所述方法和系统用于为人工现实中的对象操纵目标提供辅助。结合图1提供了用于为对象操纵目标提供辅助的方法的描述。结合图2、图3、图9、图10、图11、图12和图13描述了用于为对象操纵目标提供辅助的示例系统和设备。结合图4、图5和图6提供了对示例性任务的描述。结合图7、以及图8A至图8C提供了对示例性用户界面的描述。
图1是如下的示例性计算机实现的方法100的流程图:所述方法用于在人工现实中为对象操纵目标提供辅助。图1所示的步骤可以由任何合适的计算机可执行代码和/或计算系统来执行,该计算系统包括图2、图3、图9、图10、图11、图12和/或图13所示的系统。在一个示例中,图1中所示的多个步骤中的每个步骤都可以表示如下算法,该算法的结构包括多个子步骤、和/或由多个子步骤表示,下面将更详细地提供这些算法的示例。
如图1所示,在步骤110处,本文所描述的多个系统中的一个或多个系统可以通过人工现实系统识别用户的真实世界环境中的多个物理对象。例如,图2中的识别模块204可以识别各种物理对象,这些物理对象在用户的真实世界环境中被检测到。
本文所描述的各种系统可以执行步骤110。图2是用于为对象操纵目标提供辅助的示例系统200的框图。如该图所示,示例系统200可以包括用于执行一个或多个任务的一个或多个模块202。如将在本文中更详细地解释的,多个模块202可以包括识别模块204、目标模块206、序列模块208和呈现模块210。尽管图2中的多个模块202中的一个或多个模块被示为单独的元件,但该一个或多个模块可以表示单个模块或应用程序中的部分。
在某些实施例中,图2中的多个模块202中的一个或多个模块可以表示一个或多个软件应用程序或程序,所述一个或多个软件应用程序或程序在被计算设备执行时,可以使计算设备执行一个或多个任务。例如,且如下面将更详细地描述的,多个模块202中的一个或多个模块可以表示如下的模块:所述模块存储在一个或多个计算设备上,且被配置为在该一个或多个计算设备上运行,该一个或多个计算设备例如为图3所示的设备(例如,计算设备302和/或服务器306)。图2中的多个模块202的一个或多个模块也可以表示被配置为执行一个或多个任务的一个或多个专用计算机的全部或部分。
如图2所示,示例系统200还可以包括一个或多个存储设备,例如存储器240。存储器240概括地表示能够存储数据和/或计算机可读指令的任何类型或形式的易失性或非易失性存储设备或介质。在一个示例中,存储器240可以存储、加载和/或维护多个模块202中的一个或多个模块。存储器240的示例包括但不限于,随机存取存储器(Random AccessMemory,RAM)、只读存储器(Read Only Memory,ROM)、闪存、硬盘驱动器(Hard Disk Drive,HDD)、固态驱动器(Solid-State Drive,SSD)、光盘驱动器、高速缓冲存储器、以上中一种或多种的变型或组合、和/或任何其他合适的存储器。
如图2所示,示例系统200还可以包括一个或多个物理处理器,例如物理处理器230。物理处理器230概括地表示能够解释和/或执行计算机可读指令的任何类型或形式的硬件实现的处理单元。在一个示例中,物理处理器230可以访问和/或修改存储在存储器240中的多个模块202中的一个或多个模块。附加地或替代地,物理处理器230可以执行多个模块202中的一个或多个模块,以便于维护图构建系统(mapping system)。物理处理器230的示例包括但不限于,微处理器、微控制器、中央处理单元(Central Processing Unit,CPU)、实现软核处理器的现场可编程门阵列(Field-Programmable Gate Array,FPGA)、专用集成电路(Application-Specific Integrated Circuit,ASIC)、以上中的一种或多种中的部分、以上中的一种或多种的变型或组合、和/或任何其他合适的物理处理器。
如图2所示,示例系统200还可以包括一个或多个附加要素220,例如多个对象222、多个目标224、多个结束状态226、和动作序列228。多个附加要素220中的一个或多个可以存储在本地存储设备(例如,存储器240)上,或者可以被远程访问。对象222可以表示与用户的真实世界环境中的对象相关的数据,如下面将进一步解释的。目标224可以表示与一个或多个对象操纵目标相关的数据,该一个或多个对象操纵目标用于用户操纵真实世界环境中的物理对象,如下面将进一步解释的。结束状态226可以表示与真实世界环境中的一个或多个对象的结束状态相关的数据,如下面将进一步解释的。动作序列228可以表示与用户完成对象操纵目标的一系列动作步骤相关的数据,如下面将进一步解释的。
图2中的示例系统200可以以多种方式实现。例如,示例系统200的全部或一部分可以表示图3中的示例网络环境300中的部分。
图3示出了实现本公开各方面的示例性网络环境300。网络环境300包括计算设备302、网络304和服务器306。计算设备302可以是客户端设备或用户设备,例如人工现实系统(例如,图9中的增强现实系统900、图10中的虚拟现实系统1000、图11中的振动触觉系统1100、图12中的头戴式显示器1202和触觉设备1204、图13中的增强现实系统1300)、台式计算机、膝上型计算机、平板设备、智能手机或其他计算设备。计算设备302可以包括物理处理器230、存储器240、传感器370和显示器380,该物理处理器可以是一个或多个处理器,该存储器可以存储数据(例如,多个附加要素220中的一个或多个附加要素),该传感器能够从环境中检测对象222。在一些实施方式中,计算设备302可以表示增强现实设备,使得显示器380将图像覆盖到用户的本地环境的他或她的视野上。例如,显示器380可以包括透明介质,该透明介质允许来自用户环境的光穿过,使得用户可以看到该环境。显示器380随后可以在透明介质上绘图以覆盖信息。替代地,显示器380可以将图像投射到透明介质上和/或投射到用户的眼睛上。计算设备302还可以包括用于声音输出的扬声器382。
传感器370可以包括一个或多个传感器,例如摄像头以及能够检测环境中的特征和/或对象的其他传感器,所述其他传感器例如为,传声器、惯性测量单元(inertialmeasurement unit,IMU)、陀螺仪、全球定位系统(global positioning system,GPS)设备等。计算设备302可能能够使用传感器370来检测和识别对象222,以用于发送到服务器306。
服务器306可以表示或包括一个或多个服务器,该一个或多个服务器能够为人工现实环境处理数据。服务器306例如可以使用来自计算设备302的信号,来跟踪人工现实环境中的用户位置以及对象。服务器306可以包括物理处理器230、存储器240、以及多个附加要素220中的一个或多个附加要素,该物理存储器可以包括一个或多个处理器,该存储器可以存储多个模块202。
计算设备302可以通过网络304而通信耦接到服务器306。网络304可以表示任何类型或形式的通信网络(例如,互联网),并且可以包括一个或多个物理连接(例如,局域网(LAN))、和/或无线连接(例如,广域网(WAN))。
转到图1,本文所描述的系统可以以各种方式执行步骤110。在一个示例中,作为计算设备302和/或服务器306的一部分的识别模块204可以接收人工现实信号(例如,由传感器370采集的视觉数据),并对接收到的信号进行处理(例如,使用计算机视觉)以识别用户的真实世界环境中的物理对象,并将所识别出的对象和相关数据存储为对象222。例如,对象222可以包括对象标识符、对象位置和/或姿势、对象分类器等。
在一些示例中,所识别出的对象(例如,对象222)可以包括已知对象和未知对象。例如,对象222可以包括:先前识别的对象、或以其他方式与用户的真实世界环境中的已知对象匹配的对象。对象222还可以包括新识别的对象、或与任何已知对象不匹配的对象。未知对象可以与新添加到用户的真实世界环境的物理对象相对应,或者可以与具有未知方面的物理对象相对应,这些具有未知方面的物理对象例如为,处于非预期位置的对象、具有未识别的配置的对象、已知对象的非预期副本、利用当前人工现实信号和/或可用数据不容易识别的对象等。
在一些示例中,对象222可以包括关于预期处于用户的真实世界环境中的对象的数据。例如,识别模块204可以识别用户的真实世界环境(其可以处于用户的家中),并且期望存在某些对象,如在对用户家的先前扫描期间所识别的对象。在一些示例中,未能识别到预期对象,或在非预期位置检测到预期对象可能呈现不确定性,如下面将进一步描述的。
在步骤120,本文所描述的多个系统中的一个或多个系统可以基于对多个对象进行识别,定义用于操纵多个对象中的至少一个对象的对象操纵目标。例如,目标模块206可以基于对象222来定义目标224。
在一些实施例中,术语“对象操纵目标”可以指如下的一个或多个任务或目标,该一个或多个任务或目标可通过操纵一个或多个对象来实现。对象操纵目标可以涉及用户对一个或多个对象的期望操纵。对象操纵目标的复杂度可以从简单(例如,需要单个对象操纵)到复杂(例如,需要多个动作)变化。对象操纵目标可以随着时间变化,例如在获取到附加数据时变化,在操纵对象时变化等。对象操纵目标的示例可以包括但不限于,打扫房间、为旅行而打包行李、购买物品、整理生活空间、准备食物、组装物品、修复物品等。
本文所描述的系统可以以各种方式执行步骤120。在一个示例中,对象操纵目标可以为多个对象中的至少一个对象定义期望的结束状态。例如,目标224可以建立与对象222有关的结束状态226。结束状态226可以包括如下数据:该数据为多个对象222中的一个或多个对象描述或以其他方式定义用户期望的结束状态。换言之,结束状态226可以表征多个对象222中的一个或多个对象在完成多个目标224的一个或多个目标之后的状态(例如,地点、位置、姿势、组成等)。
在一些示例中,目标224可以建立参数,这些参数例如为限制(例如,对可执行什么动作的限制)、偏好、容限(例如,匹配期望的结束状态的可接受范围)、假设(例如,用于对真实世界环境进行建模的假设)等。可以对这些参数进行预定义、进行用户选择、进行动态更新等。
在一些示例中,定义对象操纵目标还可以包括:基于上下文信号和对多个对象的识别,来推断与多个对象有关的用户目标,以及基于所推断的用户目标来从目标库中选择对象操纵目标。目标模块206可以基于上下文信号、以及对对象222的识别,来推断用户与对象222有关的用户目标,所述上下文信号例如为,一天中的一时间、用户输入、或用户的视野。例如,用户可以每天在大约同一时间例行做家务。目标模块206可识别到:用户可能希望在一天中的特定时间做家务,这可以被定义为目标库中的一个或多个对象操纵目标,该目标库可以例如存储在计算设备302和/或服务器306中。目标模块206还可以识别到多个对象222中可专用于特定家务的一个对象。因此,目标模块206可以推断特定家务并相应地选择目标224。
目标库可以包括预定义的目标或先前以其他方式建立的目标。目标库可以包括如本文所描述的目标的参数。另外,在一些示例中,目标库还可以包括或定义每个目标的合适的结束状态。
图4A示出了目标400,该目标可能与书410A和410B、以及书架420相关。目标400可以与将书放入书架的任务或用户目标相对应。目标模块206可以基于对书410A、书410B、和/或书架420中的一者或多者进行识别,来推断将书放在书架中的用户目标,并为目标224选择合适的目标。目标模块206还可以概括地(例如,书410A和410B位于书架420中)或以不同的特异性水平(例如,书410A和/或410B位于特定架子上,书410A和/或410B位于特定的书或对象旁边,书410A和/或410B位于特定架子上的特定位置等)定义结束状态226。
图4B示出了目标401,该目标可能与锅430、杯子432和餐具箱(dish bin)440相关。目标401可以与将餐具放入到储物箱的任务或用户目标相对应。目标模块206可以基于对锅430、杯子432和/或餐具箱440中的一者或多者进行识别,来推断将餐具放入储物箱中的用户目标,并为目标224选择合适的目标。目标模块206还可以概括地(例如,锅430和杯子432位于餐具箱440中)或以不同的特异性水平(例如,锅430和/或杯子432位于特定的架子上,锅430和/或杯子432位于特定的餐具或对象旁边,书410A和/或410B位于餐具箱440内的特定位置中等)定义结束状态226。
在一些示例中,推断用户目标还可以包括推断与多个对象有关的多个用户目标。在这些示例中,选择对象操纵目标还可以包括:基于多个用户目标,从目标库中选择多个对象操纵目标。目标模块206可以推断多个用户目标,并为目标224选择实现该多个用户目标所需的尽可能多的目标。目标模块206还可以在合并多个目标224之后,基于对象224的最终结束状态来建立结束状态226。例如,在图4A中,用户目标可以包括放好书的第一用户目标、以及整理书架的第二用户目标。对用户目标进行合并可以产生书410A位于特定位置的单个结束状态,而不是对书410A位于书架420内(以实现第一用户目标)的第一结束状态、以及书410A位于特定位置(以实现第二用户目标)的第二结束状态进行定义。
在一些示例中,对象操纵目标可以包括对象再布置任务,该对象再布置任务用于将多个对象中的至少一个对象重定位到期望的位置。目标模块206可以确定:多个对象222中的一个或多个对象可能需要被重定位到期望的位置。例如,在图4B中,锅430和/或杯子432可能需要从其各自的当前位置重定位到餐具箱440内。
结束状态可以在目标库中进行预定义。在其他示例中,目标模块206可以相对于目标224来分析对象222和/或用户的环境,以确定结束状态226。例如,目标模块206可以将对象的类别与特定位置相关联(例如,诸如书410A和410B等书与书架420相关联,诸如锅430和杯子432等餐具与餐具箱440相关联)。在另一示例中,目标模块206可以识别某些对象,某些对象可以与某些其他对象相匹配(例如,盖子与其对应的箱子、设备及其对应的充电器等)。在又一示例中,目标模块206可以分析用户的环境,以确定对象的合适位置(例如,在架子上找到空的空间以放置对象)。替代地,目标模块206可以基于目标224,确定为,结束状态226可以包括对对象222的重新配置或转换(例如,在构造或构建对象时对对象进行组合,在例如烹饪时改变对象等)。
转到图1,在步骤130处,本文所描述的多个系统中的一个或多个系统可以确定动作序列,该动作序列定义一系列动作步骤,该一系列动作步骤用于操纵多个对象中的至少一个对象,以完成对象操纵目标。例如,序列模块208可以确定用于操纵对象222到结束状态226以实现目标224的动作序列228。
在一些实施例中,术语“动作序列”可以指用于操纵对象的一连串或一系列动作、用于操纵对象的准备性动作和/或响应于对象操纵的动作。动作序列的示例可以包括但不限于,指令、指示、指南、启发、配方等。
本文所描述的系统可以以各种方式执行步骤130。在一个示例中,动作序列可以包括如下的动作步骤:该动作步骤用于操纵多个对象中的至少一个对象,以产生期望的结束状态。例如,如果目标包括对象再布置任务,则动作序列可以包括用于如下的至少一个动作步骤:将多个对象中的至少一个对象移动到期望位置。
在一些示例中,序列模块208可以将目标224形式化为或以其他方式重构为可计算的问题,以确定可产生结束状态226的动作序列228。例如,如果目标224包括对象再布置任务,则序列模块208可以将对象再布置任务重构为求解有能力约束的车辆路径调度问题(capacitated vehicle-routing problem,CVRP)或旅行商问题(traveling salesmanproblem,TSP)。对象再布置任务可以涉及用户移动到一位置、拿起一个或多个对象、移动到另一位置、并放下所拿起的对象,以完成对象再布置。相关联的动作序列可以涉及各种位置访问,这些位置访问可以通过找到沿着最短路径的一系列位置访问来优化。因此,确定对象再布置任务的动作序列可以类似于从组合优化中求解CVRP或TSP。
图5示出了如何将整理房屋的对象操纵目标形式化为CVRP。图5包括用户550的状态510、520、530和540、以及各个对象570和580之间的路径560。类似于CVRP,整理房屋可以涉及用户550行进到各个对象570和580处、拿起对象570和580、并将它们放置在合适的位置(例如,它们各自的结束状态)。合适的动作序列可以基于在对象570和580之间的访问每个待操纵对象的路径。每个路径560可以建立动作序列的一个或多个动作步骤。
在一些示例中,对象再布置任务可以包括多个相关参数,这些相关参数可以定义对用户动作的限制、以及对如何确定动作序列的动作的其他限制。例如,在图5中,CVRP可以包括多种限制,这些限制例如为对用户在给定时间可以携带多少对象(例如,两个对象,这可以假定每只手一个对象)的限制、对用户能够移动多快的限制等。另外,参数可以定义如何对动作进行优先级排序或分级。例如,对于CVRP,可以基于减少完成时间来对动作序列进行优化、或以其他方式对动作序列进行优先级排序,该完成时间可以进一步基于用户的移动速度、行进的距离等来确定。
尽管图5示出了如何在二维(two dimension,2D)中构建用户的环境的地图,但是图6示出了3D地图600,在该3D地图中,可以确定动作序列。动作序列可以被确定为3D路径,而不是2D路径。
在其他示例中,序列模块208可以分析目标224和结束状态226,并确定可将目标224重构为不同类型的问题,并相应地解决该问题以确定动作序列228。尽管在本文中描述了对象再布置任务,但在其他示例中,可以应用其他类型的问题。
在一些示例中,确定动作序列可以包括识别对象操纵目标的当前状态。序列模块208可以识别目标224的当前状态。该当前状态可以指定目标224距离完成还有多远,并且还可以确定动作序列228可能需要什么附加动作步骤。当前状态可以包括对象222的当前状态,使得动作序列228可以包括用于操纵对象222的当前状态到结束状态226的动作步骤。
当前状态除了描述对象222之外,还可以描述与目标224相关的真实世界环境。在一些示例中,当前状态可以包括与对象操纵目标相关联的物理对象的不确定性状态。例如,如果目标224与为旅行打包行李相关,则目标224可以包括将牙刷放在行李中。然而,当前状态可能包括牙刷的不确定性状态。例如,可能尚未在对象222中识别到牙刷,例如如果在识别对象222时牙刷不可见,或者牙刷丢失或放错了位置。在另一示例中,可能还没有正确地识别到相关对象。例如,相关对象可能已经从一视角观察到,但该视角不允许识别模块204正确地识别到该相关对象(例如,可用的图像数据可能还没有产生匹配已知对象的阈值概率)。在又一示例中,相关对象可能处于未就绪状态。例如,完成目标224所需的工具在使用前可能需要修理、清洁或其它维护。识别模块204和/或目标模块206可能还无法确定工具是否处于可用状态。
在一些示例中,动作序列可以包括预期解决不确定性状态的动作步骤。序列模块208可以包括动作序列228中可在合理的预期下解决不确定性状态的动作步骤。在一些示例中,可以包括直接解决不确定性状态的动作步骤。例如,如果工具需要维护,则执行维护的动作步骤可以被包括在动作序列228中。在一些示例中,可以包括间接解决不确定性状态的动作步骤。不相关的动作步骤(例如,未被设计为直接解决不确定性状态的动作步骤)可以表明可解决不确定性状态的附加信息。例如,用户可以前进到如下位置以便完成动作步骤:在该位置处,可以预期到放错位置的物品,或者可以最后找到放错位置的物品。识别模块204和/或目标模块206可以在多个动作步骤期间连续地监控用户的进展。更具体地,序列模块208可以包括预期解决不确定性状态的动作步骤。例如,如果牙刷被放错了位置,则找回牙膏的动作步骤可以预期来解决牙刷的不确定性状态(例如,基于牙刷处于牙膏附近的预期)。序列模块208可以包括预期解决不确定性状态的多个动作步骤。例如,这些动作步骤可以将用户带到未知对象周围的各个位置,以提供从不同角度采集的图像数据,从而更好地使识别模块204能够识别未知对象。此外,序列模块208可以包括直接解决动作步骤和间接解决动作步骤的组合。例如,序列模块208可以包括用于间接解决不确定性状态的动作步骤,并且如果先前的动作步骤没有解决,则随后包括用于直接解决不确定性状态的动作步骤。
在步骤140处,本文所描述的多个系统中的一个或多个系统可以通过人工现实系统向用户呈现指示动作序列的通知。例如,呈现模块210可以向用户提供指示动作序列228的通知。
本文所描述的系统可以以各种方式执行步骤140。在一个示例中,通知可以包括视觉通知、触觉通知、或听觉通知中的至少一者。例如,呈现模块210可以通过图2、图3、图9、图10、图11、图12和/或图13所示的多个系统中一个或多个系统,来提供视觉通知、触觉通知、和/或听觉通知中的一者或多者。通知可以是指令、状态更新、警告、或与动作序列228一致的其他指导。例如,通知可以提供动作序列228的一个或多个动作步骤的指令或描述。该通知可以提供状态更新,例如一个或多个动作步骤的完成百分比、一个或多个相关对象的变化。该通知可以提供警告或其他指导,例如指示动作步骤是未完成还是未正确执行、指示相关对象是否在附近、提供执行特定动作步骤的提示等。
图7示出了用于为对象操纵目标提供辅助的示例性用户界面(UI)700。UI 700可以包括与附加信息一起呈现的增强现实视图702,附加信息例如为,目标704、已完成的步骤706、对象状态730、拿着的对象740、和动作序列750。增强现实视图702可以与用户的真实世界环境的用户视野相对应。增强现实视图702可以包括诸如杆710和球720等视觉指示器覆盖。杆710和/或球720可以向用户提供关于如下的视觉提示:待移动到的特定位置、待操纵的对象、待采取的动作等,如下面将进一步描述的。
UI 700可以显示用户任务的目标704。目标704(其可以对应于目标224)可以显示当前的对象操纵目标。在一些示例中,如果存在多个对象操纵目标,则目标704可以指示多个对象操纵目标中的哪些对象操纵目标是活动的。已完成的步骤706可以指示用户最近已经完成了什么动作步骤(该动作步骤可以是动作序列228的一部分)。在一些示例中,已完成的步骤706可以替代地指示最近的状态更新或其他相关信息。
已完成的步骤706可以显示为与动作序列750(其可以对应于动作序列228)相结合的状态更新。如图7所示,动作序列750可以呈现为指令列表。在其他示例中,动作序列750可以被呈现为地图上的地标(例如参见图5)、速记提醒、动作步骤的图示和/或动画等。动作序列750可以显示所有动作步骤或其一部分。例如,当动作步骤完成时,动作序列750可以移除已完成的动作步骤并添加待完成的动作步骤。
对象状态730(其可以对应于对象222)可以提供关于相关对象的状态信息。例如,在图7中,对象状态730可以提供关于目标相关对象的当前位置的信息,所述目标相关对象例如为可对应于结束状态226的储物箱。在其他示例中,对象状态730可以提供可能对用户有用的附加信息或细节。
拿着的对象740可以指示用户当前可能正在操纵什么对象。例如,对于与图7相关联的清理任务,拿着的对象740可以指示用户当前正拿着什么对象。这种信息可以进一步通知用户待采取什么动作(例如,去哪里放置用户当前正拿着的对象)。
在一些示例中,可以向用户呈现没有如图7所示的附加2D界面的人工现实视图。图8A至图8C分别示出了视图800、801和802。视图800、801和/或802(其可以对应于人工现实视图702)可以与用户的真实世界环境的用户当前视野相对应。
在图8A中,视图800可以显示没有任何视觉覆盖的用户的人工现实视图。在一些示例中,用户可能不希望看到视觉指示器。在这些示例中,人工现实系统可以被动地监控用户的任务进展,使得用户能够根据需要请求信息。替代地,在这些示例中,用户可能更喜欢非视觉指示器。例如,触觉通知可以指示用户与特定对象的距离有多近(例如,通过增加触觉响应的幅度)或者用作警告(例如,如果用户正在向远离期望的位置移动)。听觉通知可以包括语言指示和/或提醒、警告声音、听觉进度指示器等。在其他示例中,用户的当前视野可以不包括视觉指示器。例如,如下面将进一步描述的,视觉指示器可以被覆盖在可能未处于视图800的用户视野中的特定对象和/或位置上。
在图8B中,视图801可以包括视觉指示器,例如杆810、杆812和突出显示的对象814。杆810和/或杆812可以用作,为用户突出显示位置和/或对象的视觉指示器。如图8所示,杆810和杆812可以被渲染为具有透视关系的3D对象,使得用户可能能够粗略地确定距离。例如,杆810可以比杆812更靠近用户,并因此被渲染为更大的杆。随着用户移动接近杆812,杆812可以被相应地渲染得更大。
突出显示的对象814(其可以是对象222中的一个)可以提供对象的当前位置的视觉指示。在一些示例中,突出显示的对象814可以通过其他对象可见,例如通过如图8B中的吧台(counter)可见。
在图8C中,视图802可以包括杆810和一系列球820。球820可以充当数字面包屑路径(breadcrumb trail),以向用户提供特定的路径细节。通过跟随球820,用户可以到达给定动作步骤的目的地。球820可以为用户指示建议的路线,而不是用户必须决定采取什么确切的路线来到达下一个对象或位置。
在一些示例中,用户可以选择通知的级别。例如,视图800可以与最低级别或低级别通知相对应。视图801可以与中等级别的通知相对应,在该中等级别的通知中,可以突出显示对象和位置。视图802可以与最大级别或高级别的通知相对应,在该最大级别或高级别的通知中,可以明确地显示路径。
在一些示例中,随着用户完成动作或对象状态发生变化,相关通知可以变化。例如,当视觉通知不再相关或需要时,可以移除或以其他方式改变所述视觉通知,例如当用户到达球820时,这些球消失。可以改变触觉通知的幅度、频率等,和/或可以将听觉通知静音、改变其幅度、频率等。
在一些示例中,可以使用不同的颜色来提供更多的信息。例如,某些颜色可以指示某些状态、警告等。颜色的变化可以进一步指示这些状态的变化。
在一些示例中,方法100还可以包括:通过人工现实系统监控动作序列的进展;在监控进展时,检测与动作序列的偏差;以及,基于检测到的偏差,更新动作序列。例如,识别模块204和/或目标模块206可以检测与动作序列228的偏差。
偏差例如可以包括用户没有执行或以其他方式没有完全完成当前动作步骤(例如,跳过动作步骤、未正确执行动作步骤等)、多个对象222中的一个或多个对象的重要变化(例如,对象变得不可用、不可获得或不可到达,对所识别的对象进行了重新分类等)、和/或对可更新目标224和/或结束状态226的信息和/或数据的增加(例如,检测到另一用户目标、确定出动作序列228的不兼容性或不一致性等)。
序列模块208可以响应于任何检测到的偏差,来相应地更新动作序列228。呈现模块210可以响应于对动作序列228的更新而相应地更新任何通知。识别模块204和/或目标模块206可以连续地监控偏差或其他变化。因此,当用户执行动作序列228时,呈现模块210可以响应于实时变化,来呈现更新的通知。
人工现实系统(例如,增强现实眼镜)可能能够分析用户环境的实时数据,以在完成任务时提供辅助。许多任务(例如,清扫房屋、为旅行打包行李、整理生活空间等)可以被表征为可由计算机解决的问题,例如CVRP、TSP等。人工现实系统可以包括用户环境的地图以及对该地图内的对象和用户的实时定位。通过将用户的任务形式化并建模为计算机可求解的问题,人工现实系统可能能够提供实时反馈以在任务中辅助用户。尽管传统的人工现实系统可以被专门编程以在专业应用(例如,制造业、旅游业、外科手术等)中提供辅助,但是本文所描述的系统和方法可以在诸如烹饪、清洁或整理等日常工作中更灵活地提供辅助。这种辅助可以提高工作效能、减少体力和认知努力,并为用户保留自主性。本文所描述的系统和方法可以通过以下方式来将计算和显示人工现实辅助的问题形式化:将最优动作序列与具体化的代理的策略相关联,并在人工现实系统的平视显示器中将该最优动作序列作为建议通知呈现给用户。
示例实施例
示例1:一种计算机实现的方法包括:通过人工现实系统识别用户的真实世界环境中的多个物理对象;基于对多个对象进行识别,定义用于操纵该多个对象中的至少一个对象的对象操纵目标;确定动作序列,该动作序列定义了一系列动作步骤,该一系列动作步骤用于操纵多个对象中的至少一个对象,以完成对象操纵目标;以及通过人工现实系统向用户呈现指示动作序列的通知。
示例2:根据示例1所述的方法,其中,对象操纵目标为多个对象中的至少一个对象定义了期望的结束状态,并且动作序列包括用于操纵多个对象中的至少一个对象、以产生期望的结束状态的动作步骤。
示例3:根据示例1和2中任一示例所述的方法还包括:通过人工现实系统监控动作序列的进展;在监控该进展时,检测动作序列的偏差;以及基于检测到的偏差,更新动作序列。
示例4:根据示例1至3中任一示例所述的方法,其中,定义对象操纵目标还包括:基于上下文信号和对多个对象的识别,推断于该多个对象有关的用户目标;以及基于所推断的用户目标,从目标库中选择对象操纵目标。
示例5:根据示例4所述的方法,其中,上下文信号包括一天中的时间、用户输入、或用户的视野中的至少一者。
示例6:根据示例4和5中任一示例所述的方法,其中:推断用户目标还包括:推断与多个对象有关的多个用户目标;并且,选择对象操纵目标还包括:基于多个用户目标,从目标库中选择多个对象操纵目标。
示例7:根据示例1至6中任一示例的方法,还包括:识别对象操纵目标的当前状态。
示例8:根据示例7所述的方法,其中,当前状态包括与对象操纵目标相关联的物理对象的不确定性状态。
示例9:根据示例8所述的方法,其中,动作序列包括预期解决不确定性状态的动作步骤。
示例10:根据示例1至9中任一示例所述的方法,其中,多个对象包括已知对象和未知对象。
示例11:根据示例1至10中任一示例所述的方法,其中,对象操纵目标包括对象再布置任务,该对象再布置任务用于将多个对象中的至少一个对象重定位到期望的位置,并且动作序列包括用于将多个对象中的至少一个对象移动到期望的位置的至少一个动作步骤。
示例12:根据示例1至11中任一示例所述的方法,其中,通知包括视觉通知、触觉通知、或听觉通知中的至少一者。
示例13:一种系统,该系统包括:至少一个物理处理器;物理存储器,该物理存储器包括计算机可执行指令,这些计算机可执行指令在被物理处理器执行时,使该物理处理器:通过人工现实系统识别用户的真实世界环境中的多个物理对象;基于对多个对象进行识别,定义用于操纵多个对象中的至少一个对象的对象操纵目标;确定动作序列,该动作序列定义了一系列动作步骤,该一系列动作步骤用于操纵多个对象中的至少一个对象,以完成对象操纵目标;以及通过人工现实系统向用户呈现指示动作序列的通知。
示例14:根据示例13所述的系统,其中,对象操纵目标为多个对象中的至少一个对象定义了期望的结束状态,并且动作序列包括用于操纵多个对象中的至少一个对象、以产生期望的结束状态的动作步骤。
示例15:根据示例13和14中任一示例所述的系统,该系统还包括使物理处理器执行如下动作的指令:通过人工现实系统监控动作序列的进展;在监控该进展时,检测动作序列的偏差;以及基于检测到的偏差,更新动作序列。
示例16:根据示例13至15中任一示例所述的系统,其中,用于定义对象操纵目标的指令还使处理器:基于上下文信号和对多个对象的识别,推断与该多个对象有关的用户目标;以及基于所推断的用户目标,从目标库中选择对象操纵目标。
示例17:一种非暂态计算机可读介质,该非暂态计算机可读介质包括:一个或多个计算机可执行指令,该一个或多个计算机可执行指令在被计算设备的至少一个处理器执行时,使该计算设备:通过人工现实系统识别用户的真实世界环境中的多个物理对象;基于对多个对象进行识别,定义用于操纵多个对象中的至少一个对象的对象操纵目标;确定动作序列,该动作序列定义一系列动作步骤,该一系列动作步骤用于操纵多个对象中的至少一个对象,以完成对象操纵目标;以及通过人工现实系统向用户呈现指示动作序列的通知。
示例18:根据示例17所述的非暂态计算机可读介质,其中,对象操纵目标为多个对象中的至少一个对象定义了期望的结束状态,并且动作序列包括用于操纵多个对象中的至少一个对象、以产生期望的结束状态的动作步骤。
示例19:根据示例17和18中任一示例所述的非暂态计算机可读介质,还包括使计算设备执行如下动作的指令:通过人工现实系统监控动作序列的进展;在监控该进展时,检测动作序列的偏差;以及基于检测到的偏差,更新动作序列。
示例20:根据示例17至19中任一示例所述的非暂态计算机可读介质,其中,用于定义对象操纵目标的指令还使所述计算设备:基于上下文信号和对多个对象的识别,推断与该多个对象有关的用户目标;以及基于所推断的用户目标,从目标库中选择对象操纵目标。
本公开的实施例可以包括各种类型的人工现实系统,或结合各种类型的人工现实系统来实现。人工现实是在呈现给用户之前已经以某种方式进行了调整的现实形式,该现实形式例如可以包括,虚拟现实、增强现实、混合现实(mixed reality)、混合现实(hybridreality)、或它们的某种组合和/或衍生物。人工现实内容可以包括完全的计算机生成内容或与采集的(例如,真实世界)内容相结合的计算机生成内容。人工现实内容可以包括视频、音频、触觉反馈、或它们的某种组合,以上任何一种都可以在单个通道或多个通道(例如,给观看者带来三维(3D)效果的立体视频)中呈现。此外,在一些实施例中,人工现实还可以与应用、产品、附件、服务或它们的某种组合相关联,这些应用、产品、附件、服务或它们的某种组合例如用于在人工现实中创建内容,和/或以其他方式用于人工现实中(例如,在人工现实中执行活动)。
人工现实系统可以以各种不同的形状要素和配置来实现。一些人工现实系统可以被设计成在没有近眼显示器(near-eye display,NED)的情况下工作。其它人工现实系统可以包括NED,该NED还提供对真实世界的可见性(例如,图9中的增强现实系统900)、或使用户在视觉上沉浸于人工现实中(例如,图10中的虚拟现实系统1000)。尽管一些人工现实设备可以是独立的系统,但其它人工现实设备可以与外部设备通信和/或配合,以向用户提供人工现实体验。这种外部设备的示例包括手持控制器、移动设备、台式计算机、由用户穿戴的设备、由一个或多个其它用户穿戴的设备、和/或任何其它合适的外部系统。
转到图9,增强现实系统900可以包括具有框架910的眼镜设备902,该框架被配置为将左显示设备915(A)和右显示设备915(B)保持在用户眼睛的前方。显示设备915(A)和显示设备915(B)可以一起或独立地动作,以向用户呈现图像或系列图像。尽管增强现实系统900包括两个显示器,但本公开的实施例可以在具有单个NED或多于两个NED的增强现实系统中实现。
在一些实施例中,增强现实系统900可以包括一个或多个传感器,例如传感器940。传感器940可以响应于增强现实系统900的运动而生成测量信号,并且可以大体上位于框架910的任何部分上。传感器940可以表示各种不同传感机构中的一种或多种,例如位置传感器、惯性测量单元(inertial measurement unit,IMU)、深度摄像头组件、结构光发射器和/或检测器、或它们的任意组合。在一些实施例中,增强现实系统900可以包括或不包括传感器940,或者可以包括多于一个的传感器。在传感器940包括IMU的实施例中,该IMU可以基于来自传感器940的测量信号,生成校准数据。传感器940的示例可以包括但不限于,加速度计、陀螺仪、磁力计、检测运动的其他合适类型的传感器、用于IMU的误差校正的传感器、或它们的某种组合。
在一些示例中,增强现实系统900还可以包括传声器阵列,该传声器阵列具有多个声学转换器920(A)至920(J),该多个声学转换器统称为声学转换器920。声学转换器920可以表示检测由声波引起的气压变化的转换器。每个声学转换器920可以被配置为检测声音并将检测到的声音转换成电子格式(例如,模拟格式或数字格式)。图9中的传声器阵列例如可以包括十个声学转换器:可被设计成置于用户的相应耳朵内的920(A)和920(B),可被定位在框架910上的各个位置处的声学转换器920(C)、920(D)、920(E)、920(F)、920(G)和920(H),和/或可被定位在对应的颈带905上的声学转换器920(I)和920(J)。
在一些实施例中,声学转换器920(A)至920(J)中的一个或多个声学转换器可以用作输出转换器(例如,扬声器)。例如,声学转换器920(A)和/或920(B)可以是耳塞、或任何其他合适类型的耳机或扬声器。
传声器阵列中的各声学转换器920的配置可以改变。尽管增强现实系统900在图9中被显示为具有十个声学转换器920,但声学转换器920的数量可以多于或少于十个。在一些实施例中,使用更多数量的声学转换器920可以增加收集到的音频信息的量和/或提高音频信息的灵敏度和准确度。相比之下,使用更少数量的声学转换器920可以降低相关联的控制器950处理收集到的音频信息所需的计算能力。另外,传声器阵列中的各声学转换器920的位置可以改变。例如,声学转换器920的位置可以包括用户身上的限定位置、框架910上的限定坐标、与每个声学转换器920相关联的方位、或它们的某种组合。
声学转换器920(A)和920(B)可以被定位在用户耳朵的不同部位上,例如耳廓(pinna)后面、耳屏后面、和/或耳廓(auricle)或耳窝内。或者,除了耳道内的声学转换器920之外,在耳朵上或耳朵周围还可以存在附加的声学转换器920。将声学转换器920定位在用户的耳道附近可以使传声器阵列能够收集关于声音如何到达耳道的信息。通过将多个声学转换器920中的至少两个声学转换器定位在用户头部的两侧上(例如,作为双耳传声器),增强现实设备900可以模拟双耳听觉并采集用户头部周围的3D立体声场。在一些实施例中,声学转换器920(A)和920(B)可以经由有线连接930而连接到增强现实系统900,而在其他实施例中,声学转换器920(A)和920(B)可以经由无线连接(例如,蓝牙连接)而连接到增强现实系统900。在另外一些实施例中,声学转换器920(A)和920(B)可以完全不与增强现实系统900结合使用。
框架910上的多个声学转换器920可以以各种不同的方式而被定位,这些不同的方式包括沿着眼镜腿(temple)的长度、跨过鼻梁架、在显示设备915(A)和显示设备915(B)的上方或下方、或它们的某种组合。该多个声学转换器920还可以被定向为使得传声器阵列能够检测正佩戴着增强现实系统900的用户周围的宽方向范围内的声音。在一些实施例中,可以在增强现实系统900的制作期间执行优化过程,以确定各个声学转换器920在传声器阵列中的相对定位。
在一些示例中,增强现实系统900可以包括或连接到外部设备(例如,配对设备),例如,颈带905。颈带905概括地表示任何类型或形式的配对设备。因此,以下对颈带905的论述也可以应用于各种其他配对设备,例如,充电盒、智能手表、智能手机、腕带、其他可穿戴设备、手持控制器、平板计算机、膝上型计算机、其他外部计算设备等。
如图所示,颈带905可以经由一个或多个连接器而耦接到眼镜设备902。这些连接器可以是有线的或无线的,并且可以包括电子部件和/或非电子部件(例如,结构部件)。在一些情况下,眼镜设备902和颈带905可以在它们之间没有任何有线连接或无线连接的情况下独立地运行。尽管图9示出了眼镜设备902和颈带905中的多个部件位于眼镜设备902和颈带905上的示例位置处,但这些部件可以位于眼镜设备902和/或颈带905上的其他位置、和/或以不同的方式分布在该眼镜设备和/或该颈带上。在一些实施例中,眼镜设备902和颈带905中的多个部件可以位于一个或多个附加的外围设备上,该一个或多个附加的外围设备与眼镜设备902、颈带905、或它们的某种组合配对。
将外部设备(例如,颈带905)与增强现实眼镜设备配对可以使眼镜设备能够实现一副眼镜的形状要素,同时仍然为扩展后的能力提供足够的电池电量和计算能力。增强现实系统900的电池电量、计算资源、和/或附加特征中的一些或全部可以由配对设备来提供,或者在配对设备与眼镜设备之间共享,从而总体上降低眼镜设备的重量、热量分布和形状要素,同时仍然保持所期望的功能。例如,颈带905可以允许即将以其他方式被包括在眼镜设备上的多个部件包括在颈带905中,因为与用户在其头部上承受的相比,他们可以在其肩部上承受更重的重量负荷。颈带905还可以具有较大的表面积,以通过该较大的表面积将热量扩散和散发到周围环境。因此,与在独立眼镜设备上以其他方式可行的电池电量和计算能力相比,颈带905可以允许更大的电池电量和更强的计算能力。由于颈带905中携载的重量可以比眼镜设备902中携载的重量对用户的侵害小,因此,与用户忍受佩戴重的独立眼镜设备相比,用户可以忍受更长时间佩戴较轻眼镜设备且携带或佩戴配对设备,从而使用户能够将人工现实环境更充分地融入到他们的日常活动中。
颈带905可以与眼镜设备902通信耦接,和/或通信耦接至多个其他设备。这些其他设备可以向增强现实系统900提供某些功能(例如,追踪、定位、深度图构建(depthmapping)、处理、存储等)。在图9的实施例中,颈带905可以包括两个声学转换器(例如,920(I)和920(J)),该两个声学转换器是传声器阵列的一部分(或者潜在地形成它们自己的传声器子阵列)。颈带905还可以包括控制器925和电源935。
颈带905中的声学转换器920(I)和920(J)可以被配置为检测声音并将检测到的声音转换成电子格式(模拟或数字)。在图9的实施例中,声学转换器920(I)和920(J)可以被定位在颈带905上,从而增加颈带的声学转换器920(I)和920(J)与被定位在眼镜设备902上的其它声学转换器920之间的距离。在一些情况下,增加传声器阵列中的多个声学转换器920之间的距离可以提高通过该传声器阵列执行的波束成形的准确性。例如,如果声学转换器920(C)和920(D)检测到声音,且声学转换器920(C)和920(D)之间的距离例如大于声学转换器920(D)和920(E)之间的距离,则所确定的检测到的声音的源位置可以比当该声音被声学转换器920(D)和920(E)检测到时更准确。
颈带905中的控制器925可以对由颈带905和/或增强现实系统900上的多个传感器生成的信息进行处理。例如,控制器925可以对来自传声器阵列的、描述该传声器阵列检测到的声音的信息进行处理。对于每个检测到的声音,控制器925可以执行波达方向(direction-of-arrival,DOA)估计,以估计检测到的声音从哪个方向到达传声器阵列。当传声器阵列检测到声音时,控制器925可以用该信息填充音频数据集。在增强现实系统900包括惯性测量单元的实施例中,控制器925可以计算来自位于眼镜设备902上的IMU的所有惯性计算和空间计算。连接器可以在增强现实系统900和颈带905之间、以及在增强现实系统900和控制器925之间传送信息。该信息可以是光学数据形式、电子数据形式、无线数据形式、或任何其它可传输的数据形式。将对由增强现实系统900所生成的信息的处理移动到颈带905可以减少眼镜设备902的重量和热量,使得该眼镜设备对用户而言更舒适。
颈带905中的电源935可以向眼镜设备902和/或颈带905供电。电源935可以包括但不限于,锂离子电池、锂-聚合物电池、一次性锂电池、碱性电池、或任何其它形式的电力存储器。在一些情况下,电源935可以是有线电源。将电源935包括在颈带905上而不是眼镜设备902上可以有助于更好地分散由电源935产生的重量和热量。
如所提到的,一些人工现实系统可以使用虚拟体验来大体上代替用户对真实世界的多个感官知觉中的一个或多个感官知觉,而不是将人工现实与真实现实混合。这种类型的系统的一个示例是大部分或完全覆盖用户的视场的头戴式显示系统,例如图10中的虚拟现实系统1000。虚拟现实系统1000可以包括前部刚性体1002和被成形为适合围绕用户头部的带1004。虚拟现实系统1000还可以包括输出音频转换器1006(A)和1006(B)。此外,尽管图10中未示出,但前部刚性体1002可以包括一个或多个电子元件,该一个或多个电子元件包括一个或多个电子显示器、一个或多个惯性测量单元(IMU)、一个或多个追踪发射器或检测器、和/或用于生成人工现实体验的任何其他合适的设备或系统。
人工现实系统可以包括各种类型的视觉反馈机构。例如,增强现实系统900中和/或虚拟现实系统1000中的显示设备可以包括一个或多个液晶显示器(liquid crystaldisplay,LCD)、一个或多个发光二极管(light emitting diode,LED)显示器、一个或多个微型LED(microLED)显示器、一个或多个有机LED(organic LED,OLED)显示器、一个或多个数字光投影(digital light project,DLP)微型显示器、一个或多个硅基液晶(liquidcrystal on silicon,LCoS)微型显示器、和/或任何其他合适类型的显示屏。这些人工现实系统可以包括用于两只眼睛的单个显示屏,或者可以为每只眼睛提供一个显示屏,这可以为变焦调整或为校正用户的屈光不正而提供额外的灵活性。这些人工现实系统中的一些人工现实系统还可以包括多个光学子系统,这些光学子系统具有一个或多个透镜(例如,常规的凹透镜或凸透镜、菲涅耳透镜、可调节的液体透镜等),用户可以透过该一个或多个透镜观看显示屏。这些光学子系统可以用于各种目的,包括准直(例如,使对象显现在比其物理距离更远的距离处)、放大(例如,使对象显现得比其实际尺寸更大)、和/或传递(例如,传递到观看者的眼睛)光。这些光学子系统可以用于直视型架构(non-pupil-formingarchitecture)(例如,直接对光进行准直但会产生所谓的枕形失真的单透镜配置)和/或非直视型架构(pupil-forming architecture)(例如,产生所谓的桶形失真以消除枕形失真的多透镜配置)。
除了使用显示屏之外,或代替使用显示屏,本文所描述的多个人工现实系统中的一些人工现实系统可以包括一个或多个投影系统。例如,增强现实系统900中和/或虚拟现实系统1000中的显示设备可以包括微型LED投影仪,这些微型LED投影仪将光投射(例如,使用波导投射)到显示设备中,该显示设备例如为允许环境光通过的透明组合透镜。显示设备可以折射所投射的光朝向用户的瞳孔,并且可以使用户能够同时观看人工现实内容和真实世界这两者。显示设备可以使用各种不同光学部件中的任意光学部件来实现该目的,这些不同光学部件包括波导部件(例如,全息元件、平面元件、衍射元件、偏振元件、和/或反射波导元件)、光操纵表面和元件(例如,衍射元件和光栅、反射元件和光栅、以及折射元件和光栅)、耦合元件等。人工现实系统还可以配置有任何其它合适类型或形式的图像投影系统,例如用于虚拟视网膜显示器的视网膜投影仪。
本文所描述的人工现实系统还可以包括各种类型的计算机视觉部件和子系统。例如,增强现实系统900和/或虚拟现实系统1000可以包括一个或多个光学传感器,例如二维(two-dimensional,2D)摄像头或三维(3D)摄像头、结构光发射器和检测器、飞行时间深度传感器、单波束测距仪或扫描激光测距仪、3D激光雷达(LiDAR)传感器、和/或任何其他合适类型或形式的光学传感器。人工现实系统可以对来自这些传感器中的一个或多个传感器的数据进行处理,以识别用户的位置、绘制真实世界的地图、向用户提供与真实世界周围环境有关的背景、和/或执行各种其他功能。
本文所描述的人工现实系统还可以包括一个或多个输入和/或输出音频转换器。输出音频转换器可以包括音圈扬声器、带式扬声器、静电式扬声器、压电式扬声器、骨传导转换器、软骨传导转换器、耳屏振动转换器、和/或任何其他合适类型或形式的音频转换器。类似地,输入音频转换器可以包括电容式传声器、动态传声器、带式传声器、和/或任何其他类型或形式的输入转换器。在一些实施例中,对于音频输入和音频输出这两者,可以使用单个转换器。
在一些实施例中,本文所描述的人工现实系统还可以包括触觉(tactile)(即,触觉(haptic))反馈系统,该触觉反馈系统可以结合到头饰、手套、服装、手持控制器、环境设备(例如,椅子、地板垫等)、和/或任何其他类型的设备或系统中。触觉反馈系统可以提供各种类型的皮肤反馈,这些类型的皮肤反馈包括振动、推力、牵拉、质地和/或温度。触觉反馈系统还可以提供各种类型的动觉反馈,例如运动和顺应性。可以使用电机、压电式致动器、流体系统、和/或各种其它类型的反馈机构实现触觉反馈。触觉反馈系统可以独立于其他人工现实设备而实现,在其他人工现实设备内实现,和/或结合其他人工现实设备实现。
通过提供触觉知觉、听觉内容和/或视觉内容,人工现实系统可以在各种背景和环境中创建完整的虚拟体验或增强用户的真实世界体验。例如,人工现实系统可以辅助或扩展用户在特定环境内的感知、记忆或认知。一些系统可以增强用户与真实世界中的其他人的交互,或者可以实现与虚拟世界中的其他人的更沉浸式的交互。人工现实系统也可以用于教育目的(例如,用于学校、医院、政府机构、军事机构、企业等中的教学或训练)、娱乐目的(例如,用于玩视频游戏、听音乐、观看视频内容等)、和/或用于可接入性目的(例如,用作助听器、视觉辅助器等)。本文所公开的实施例可以在这些背景和环境中的一个或多个背景和环境中、和/或在其他背景和环境中实现或增强用户的人工现实体验。
一些增强现实系统可以使用被称为“即时定位与地图构建”(“simultaneouslocation and mapping”,SLAM)的技术,来构建用户环境和/或设备环境的地图。SLAM地图构建和定位识别技术可以涉及各种硬件和软件工具,这些硬件和软件工具可以创建或更新环境的地图,同时保持对用户在所地图构建的环境内的位置的跟踪。SLAM可以使用许多不同类型的传感器,来创建地图并确定用户在地图中的位置。
SLAM技术例如可以实现光学传感器,以确定用户的位置。无线电设备(包括Wi-Fi、蓝牙、全球定位系统(GPS)、蜂窝、或其他通信设备)也可以用于确定用户相对于无线电收发器或收发器组(例如,Wi-Fi路由器或GPS卫星组)的位置。声学传感器(例如,传声器阵列、或2D或3D声纳传感器)也可以用于确定用户在环境中的位置。增强现实设备和虚拟现实设备(例如,图9中的系统900和图10中的系统1000)可以结合这些类型的传感器中的任何或所有来执行SLAM操作,例如创建和不断更新用户的当前环境的地图。在本文所描述的多个实施例中的至少一些实施例中,由这些传感器生成的SLAM数据可以称为“环境数据”并且可以指示用户的当前环境。这些数据可以存储在本地或远程数据存储区(例如,云数据存储区)中,并且可以根据需要而提供给用户的AR/VR设备。
如所提到的,人工现实系统900和1000可以与各种其他类型的设备一起使用,以提供更引人入盛的人工现实体验。这些设备可以是具有多个转换器的触觉接口,这些转换器提供触觉反馈和/或收集用户与环境的交互有关的触觉信息。本文所公开的人工现实系统可以包括各种类型的触觉接口,这些类型的触觉接口检测或传送各种类型的触觉信息,这些类型的触觉信息包括触觉反馈(例如,用户经由皮肤中的神经而觉察到的反馈,该反馈也可以称为皮肤反馈)和/或动觉反馈(例如,用户经由位于肌肉、关节和/或肌腱中的感受器而觉察到的反馈)。
触觉反馈可以通过定位在用户环境内的接口(例如,椅子、桌子、地板等)和/或用户可以佩戴或携带的物品(例如,手套、腕带等)上的接口来提供。作为一示例,图11示出了可穿戴手套(触觉设备1110)和腕带(触觉设备1120)形式的振动触觉系统1100。触觉设备1110和触觉设备1120被示出为可穿戴设备的示例,可穿戴设备包括柔性的可穿戴纺织材料1130,这两个柔性的可穿戴纺织材料被成形和配置为分别抵靠用户的手和手腕而定位。本公开也包括可以被成形和配置为抵靠其他人体部位(例如,手指、手臂、头部、躯干、足部、或腿)而定位的振动触觉系统。作为示例而非限制,根据本公开各种实施例的振动触觉系统也可以是手套、头带、臂带、袖子、头罩、袜子、衬衫、或裤子等其他可能的形式。在一些示例中,术语“纺织”可以包括任何柔性的可穿戴的材料,包括纺织织物、非纺织织物、皮革、布、柔性聚合物材料、复合材料等。
一个或多个振动触觉设备1140可以被定位成至少部分地位于形成在振动触觉系统1100的纺织材料1130中的一个或多个相应的口袋内。振动触觉设备1140可以被定位在向振动触觉系统1100的用户提供振动知觉(例如,触觉反馈)的位置处。例如,振动触觉设备1140可以定位成抵靠用户的一个或多个手指(finger)、拇指或手腕,如图11所示。在一些示例中,振动触觉设备1140可以是足够柔性的,以顺应用户的一个或多个相应身体部位,或随着用户的一个或多个相应身体部位弯曲。
用于向多个振动触觉设备1140施加电压以用于激活这些振动触觉设备的电源1150(例如,电池)可以电耦接到(例如,经由导线1152电耦接到)这些振动触觉设备1140。在一些示例中,多个振动触觉设备1140中的每个振动触觉设备可以独立地电耦接到电源1150以用于单独激活。在一些实施例中,处理器1160可以可操作地耦接到电源1150,并且被配置(例如,被编程)为控制对多个振动触觉设备1140的激活。
振动触觉系统1100可以以各种方式实现。在一些示例中,振动触觉系统1100可以是具有多个集成子系统和多个部件以独立于其他设备和系统运行的独立系统。作为另一个示例,振动触觉系统1100可以被配置为与另一设备或系统1170交互。例如,在一些示例中,振动触觉系统1100可以包括用于接收信号和/或向该另一设备或系统1170发送信号的通信接口1180。该另一设备或系统1170可以是移动设备、游戏控制台、人工现实(例如,虚拟现实、增强现实、混合现实)设备、个人计算机、平板计算机、网络设备(例如,调制解调器、路由器等)、手持控制器等。通信接口1180可以经由无线(例如,Wi-Fi、蓝牙、蜂窝、无线电等)链路或有线链路实现振动触觉系统1100与该另一设备或系统1170之间的通信。如果存在通信接口1180,则该通信接口可以与处理器1160通信,例如以向处理器1160提供信号来激活或去激活多个振动触觉设备1140中的一个或多个振动触觉设备。
振动触觉系统1100可以可选地包括其他子系统和部件,例如多个触摸感应垫1190、多个压力传感器、多个运动传感器、多个位置传感器、多个照明元件、和/或多个用户接口元件(例如,开/关按钮、振动控制元件等)。在使用期间,振动触觉设备1140可以被配置为出于各种不同的原因而被激活,例如响应于用户与用户接口元件的交互、来自运动传感器或位置传感器的信号、来自触摸感应垫1190的信号、来自压力传感器的信号、来自该另一设备或系统1170的信号等而被激活。
尽管电源1150、处理器1160和通信接口1180在图11中被示出为被定位在触觉设备1120中,但本公开不限于此。例如,电源1150、处理器1160或通信接口1180中的一者或多者可以被定位在触觉设备1110内或另一个可穿戴织物内。
触觉可穿戴物(例如,在图11中示出和结合图11所描述的那些)可以在各种类型的人工现实系统和环境中实现。图12显示了示例人工现实环境1200,该人工现实环境包括一个头戴式虚拟现实显示器和两个触觉设备(即,手套),并且在其他实施例中,任何数量的这些部件和其他部件、和/或这些部件和其他部件的任何组合可以被包括在人工现实系统中。例如,在一些实施例中,可以存在多个头戴式显示器,每个头戴式显示器具有相关联的触觉设备,每个头戴式显示器和每个触觉设备与同一控制台、同一便携式计算设备、或同一其他计算系统通信。
头戴式显示器1202概括地表示任何类型或形式的虚拟现实系统,例如图10中的虚拟现实系统1000。触觉设备1204概括地表示由人工现实系统的用户穿戴的任何类型或形式的可穿戴设备,该可穿戴设备向用户提供触觉反馈,以给予用户他或她正与虚拟对象物理接触的感知。在一些实施例中,触觉设备1204可以通过向用户施加振动、运动和/或推力来提供触觉反馈。例如,触觉设备1204可以限制或增强用户的动作。给出一特定的示例,触觉设备1204可以限制用户的手向前移动,使得用户感知到他或她的手已经与虚拟壁物理接触。在该特定示例中,触觉设备内的一个或多个致动器可以通过将流体泵入触觉设备的可膨胀气囊中来实现物理移动限制。在一些示例中,用户还可以使用触觉设备1204来向控制台发送动作请求。动作请求的示例包括但不限于,启动应用程序和/或结束应用程序的请求、和/或执行应用程序内的特定动作的请求。
尽管触觉接口可以与虚拟现实系统一起使用,如图12所示,但触觉接口也可与增强现实系统一起使用,如图13所示。图13是用户1310与增强现实系统1300交互的立体图。在该示例中,用户1310可以佩戴一副增强现实眼镜1320,该副增强现实眼镜可以具有一个或多个显示器1322并且与触觉设备1330配对。在该示例中,触觉设备1330可以是腕带,该腕带包括多个带元件1332和将这些带元件1332彼此连接的拉伸机构1334。
多个带元件1332中的一个或多个带元件可以包括适于提供触觉反馈的任何类型或形式的致动器。例如,多个带元件1332中的一个或多个带元件可以被配置为提供各种类型的皮肤反馈中的一种或多种类型的皮肤反馈,这些类型的皮肤反馈包括振动、推力、牵拉、质地和/或温度。为了提供这种反馈,多个带元件1332可以包括各种类型的致动器中的一种或多种类型的致动器。在一个示例中,多个带元件1332中的每个带元件可以包括振动触觉器(vibrotactor)(例如,振动触觉致动器),该振动触觉器被配置为联合地或独立地振动,以向用户提供各种类型的触觉知觉中的一种或多种类型的触觉知觉。替代地,仅单个带元件或多个带元件的子集可以包括振动触觉器。
触觉设备1110、1120、1204和1330可以包括任何合适数量和/或类型的触觉转换器、传感器和/或反馈机构。例如,触觉设备1110、1120、1204和1330可以包括一个或多个机械式转换器、一个或多个压电式转换器、和/或一个或多个流体转换器。触觉设备1110、1120、1204和1330也可以包括一起或独立工作以增强用户的人工现实体验的、不同类型和形式的转换器的各种组合。在一个示例中,触觉设备1330的多个带元件1332中的每个带元件可以包括振动触觉器(例如,振动触觉致动器),该振动触觉器被配置为联合地或独立地振动,以向用户提供各种类型的触觉知觉中的一种或多种触觉知觉。
如以上所详述的,本文所描述和/或所示出的计算设备和系统广泛地表示能够执行计算机可读指令(例如,包含在本文中所描述的多个模块内的那些计算机可读指令)的任何类型或形式的计算设备或系统。在其最基本的配置中,一个或多个这些计算设备可以各自包括至少一个存储设备和至少一个物理处理器。
在一些示例中,术语“存储设备”概括地指能够存储数据和/或计算机可读指令的任何类型或形式的易失性或非易失性存储设备或介质。在一个示例中,存储设备可以存储、加载和/或维护本文所描述的多个模块中的一个或多个模块。存储设备的示例包括但不限于,随机存取存储器(RAM)、只读存储器(ROM)、闪存、硬盘驱动器(HDD)、固态驱动器(SSD)、光盘驱动器、高速缓冲存储器、以上中的一个或多个的变型或组合、或任何其他合适的存储器。
在一些示例中,术语“物理处理器”概括地指能够解释和/或执行计算机可读指令的任何类型或形式的硬件实现的处理单元。在一个示例中,物理处理器可以访问和/或修改存储在上述存储器设备中的一个或多个模块。物理处理器的示例包括但不限于,微处理器、微控制器、中央处理单元(CPU)、实现软核处理器的现场可编程门阵列(FPGA)、专用集成电路(ASIC)、以上中的一个或多个中的部分、以上中的一个或多个的变型或组合、或者任何其他合适的物理处理器。
尽管本文所描述和/或所示出的多个模块被示为单独的元件,但是这些模块可以表示单个模块或应用程序中的部分。另外,在某些公开中,这些模块中的一个或多个模块可以表示一个或多个软件应用程序或程序,该一个或多个软件应用程序或程序在被计算设备执行时,可以使计算设备执行一个或多个任务。例如,本文所描述和/或所示出的多个模块中的一个或多个模块可以表示如下这些模块:所述模块存储在本文所描述和/或所示出的多个计算设备或系统中的一个或多个上,且被配置为在本文描述和/或示出的多个计算设备或系统中的一个或多个计算设备或系统上运行。这些模块中的一个或多个模块还可以表示被配置为执行一个或多个任务的一个或多个专用计算机的全部或部分。
另外,本文所描述的多个模块中的一个或多个模块可以将数据、物理设备和/或物理设备的表示从一种形式转换为另一种形式。例如,本文所陈述的多个模块中的一个或多个模块可以接收待转换的人工现实数据,转换该数据,输出转换结果以识别对象,使用转换结果来确定动作序列,并存储转换结果以提供动作序列的通知。附加地或替代地,本文所陈述的多个模块中的一个或多个模块可以通过在计算设备上执行、在计算设备上存储数据、和/或以其他方式与计算设备交互,来将处理器、易失性存储器、非易失性存储器、和/或物理计算设备的任何其他部分从一种形式转换为另一种形式。
在一些实施例中,术语“计算机可读介质”概括地指能够存储或承载计算机可读指令的任何形式的设备、载体或介质。计算机可读介质的示例包括但不限于,传输型介质和非暂态型介质,该传输型介质例如为载波,该非暂态型介质例如为,磁存储介质(例如,硬盘驱动器、磁带驱动器和软盘))、光存储介质(例如,光盘(Compact Disk,CD)、数字视频盘(Digital Video Disk,DVD)和蓝光光盘(BLU-RAY disk))、电子存储介质(例如,固态驱动器和闪存介质)、以及其他分发系统。
本文所描述和/或所示出的过程参数和步骤顺序仅以示例的方式给出,并且可以根据需要而改变。例如,尽管本文所示出和/或所描述的步骤可以以特定顺序示出或论述,但这些步骤并不一定需要以所示出的或所论述的顺序来执行。本文所描述和/或所示出的各种示例性方法也可以省略本文所描述或所示出的多个步骤中的一个或多个步骤,或者包括除所公开的那些步骤之外的附加步骤。
已经提供了前面描述来使本领域其他技术人员能够最优地利用本文所公开的示例性实施例的各个方面。该示例性描述不旨在是详尽的或被限制为所公开的任何精确形式。在不脱离本公开的精神和范围的情况下,许多修改和变型是可能的。本文所公开的实施例在所有方面都应被认为是说明性的而不是限制性的。在确定本公开的范围时,应当参考所附的任何权利要求及其等同物。
除非另有说明,否则如本说明书和/或权利要求书中所使用的术语“连接到”和“耦接到”(及它们的派生词)将被解释为允许直接连接和间接连接(即,经由其他元件或部件)这两者。此外,如本说明书和/或权利要求书中所使用的术语“一(a)”或“一(an)”将被解释为表示“中的至少一个”。最后,为了便于使用,如本说明书和/或权利要求书中所使用的术语“包括(including)”和“具有”(以及它们的派生词)与词语“包括(comprising)”是可互换的,并且具有与词语“包括(comprising)”相同的含义。
Claims (20)
1.一种计算机实现的方法,包括:
通过人工现实系统识别用户的真实世界环境中的多个物理对象;
基于对所述多个对象进行识别,定义用于操纵所述多个对象中的至少一个对象的对象操纵目标;
确定动作序列,所述动作序列定义一系列动作步骤,所述一系列动作步骤用于操纵所述多个对象中的所述至少一个对象,以完成所述对象操纵目标;以及
通过所述人工现实系统向所述用户呈现指示所述动作序列的通知。
2.根据权利要求1所述的方法,其中,所述对象操纵目标为所述多个对象中的所述至少一个对象定义了期望的结束状态,并且所述动作序列包括用于操纵所述多个对象中的所述至少一个对象以产生所述期望的结束状态的动作步骤。
3.根据权利要求1或2所述的方法,还包括:
通过所述人工现实系统监控所述动作序列的进展;
在监控所述进展时,检测所述动作序列的偏差;以及
基于检测到的所述偏差,更新所述动作序列。
4.根据前述权利要求中任一项所述的方法,其中,定义所述对象操纵目标还包括:
基于上下文信号和对所述多个对象的所述识别,推断与所述多个对象有关的用户目标;以及
基于所推断的所述用户目标,从目标库中选择所述对象操纵目标。
5.根据权利要求4所述的方法,其中,所述上下文信号包括一天中的一时间、用户输入、或所述用户的视野中的至少一者。
6.根据权利要求4或5所述的方法,其中,
推断所述用户目标还包括:推断与所述多个对象有关的多个用户目标;并且
选择所述对象操纵目标还包括:基于所述多个用户目标,从所述目标库中选择多个对象操纵目标。
7.根据前述权利要求中任一项所述的方法,还包括:识别所述对象操纵目标的当前状态。
8.根据权利要求7所述的方法,其中,所述当前状态包括与所述对象操纵目标相关联的物理对象的不确定性状态。
9.根据权利要求8所述的方法,其中,所述动作序列包括预期解决所述不确定性状态的动作步骤。
10.根据前述权利要求中任一项所述的方法,其中,所述多个对象包括已知对象和未知对象。
11.根据前述权利要求中任一项所述的方法,其中,所述对象操纵目标包括对象再布置任务,所述对象再布置任务用于将所述多个对象中的所述至少一个对象重定位到期望的位置,并且所述动作序列包括用于将所述多个对象中的所述至少一个对象移动到所述期望的位置的至少一个动作步骤。
12.根据前述权利要求中任一项所述的方法,其中,所述通知包括视觉通知、触觉通知、或听觉通知中的至少一者。
13.一种系统,包括:
至少一个物理处理器;
物理存储器,所述物理存储器包括计算机可执行指令,所述计算机可执行指令在被所述物理处理器执行时,使所述物理处理器:
通过人工现实系统识别用户的真实世界环境中的多个物理对象;
基于对所述多个对象进行识别,定义用于操纵所述多个对象中的至少一个对象的对象操纵目标;
确定动作序列,所述动作序列定义一系列动作步骤,所述一系列动作步骤用于操纵所述多个对象中的所述至少一个对象,以完成所述对象操纵目标;以及
通过所述人工现实系统向所述用户呈现指示所述动作序列的通知。
14.根据权利要求13所述的系统,其中,所述对象操纵目标为所述多个对象中的所述至少一个对象定义期望的结束状态,并且所述动作序列包括用于操纵所述多个对象中的所述至少一个对象、以产生所述期望的结束状态的动作步骤。
15.根据权利要求13或14所述的系统,还包括使所述物理处理器执行如下操作的指令:
通过所述人工现实系统监控所述动作序列的进展;
在监控所述进展时,检测所述动作序列的偏差;以及
基于检测到的所述偏差,更新所述动作序列。
16.根据权利要求13至15中任一项所述的系统,其中,用于定义所述对象操纵目标的所述指令,还使所述处理器:
基于上下文信号和对所述多个对象的所述识别,推断与所述多个对象有关的用户目标;以及
基于所推断的所述用户目标,从目标库中选择所述对象操纵目标。
17.一种非暂态计算机可读介质,包括一个或多个计算机可执行指令,所述一个或多个计算机可执行指令在被计算设备的至少一个处理器执行时,使所述计算设备:
通过人工现实系统识别用户的真实世界环境中的多个物理对象;
基于对所述多个对象进行识别,定义用于操纵所述多个对象中的至少一个对象的对象操纵目标;
确定动作序列,所述动作序列定义一系列动作步骤,所述一系列动作步骤用于操纵所述多个对象中的所述至少一个对象,以完成所述对象操纵目标;以及
通过所述人工现实系统向所述用户呈现指示所述动作序列的通知。
18.根据权利要求17所述的非暂态计算机可读介质,其中,所述对象操纵目标为所述多个对象中的所述至少一个对象定义期望的结束状态,并且所述动作序列包括用于操纵所述多个对象中的所述至少一个对象、以产生所述期望的结束状态的动作步骤。
19.根据权利要求17或18所述的非暂态计算机可读介质,还包括使所述计算设备执行如下操作的指令:
通过所述人工现实系统监控所述动作序列的进展;
在监控所述进展时,检测所述动作序列的偏差;以及
基于检测到的所述偏差,更新所述动作序列。
20.根据权利要求17至19中任一项所述的非暂态计算机可读介质,其中,所述用于定义所述对象操纵目标的所述指令,还使所述计算设备:
基于上下文信号和对所述多个对象的所述识别,推断与所述多个对象有关的用户目标;以及
基于所推断的所述用户目标,从目标库中选择所述对象操纵目标。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202063091832P | 2020-10-14 | 2020-10-14 | |
US63/091,832 | 2020-10-14 | ||
US17/319,963 US11462016B2 (en) | 2020-10-14 | 2021-05-13 | Optimal assistance for object-rearrangement tasks in augmented reality |
US17/319,963 | 2021-05-13 | ||
PCT/US2021/051007 WO2022081300A1 (en) | 2020-10-14 | 2021-09-19 | Optimal assistance for object-rearrangement tasks in augmented reality |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116324574A true CN116324574A (zh) | 2023-06-23 |
Family
ID=81079045
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180070825.9A Pending CN116324574A (zh) | 2020-10-14 | 2021-09-19 | 增强现实中的对象再布置任务的优化辅助 |
Country Status (5)
Country | Link |
---|---|
US (2) | US11462016B2 (zh) |
EP (1) | EP4229501A1 (zh) |
JP (1) | JP2023547764A (zh) |
CN (1) | CN116324574A (zh) |
WO (1) | WO2022081300A1 (zh) |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4989383B2 (ja) * | 2007-09-10 | 2012-08-01 | キヤノン株式会社 | 情報処理装置、情報処理方法 |
US8830267B2 (en) * | 2009-11-16 | 2014-09-09 | Alliance For Sustainable Energy, Llc | Augmented reality building operations tool |
JP5521727B2 (ja) * | 2010-04-19 | 2014-06-18 | ソニー株式会社 | 画像処理システム、画像処理装置、画像処理方法及びプログラム |
US20110310260A1 (en) * | 2010-06-18 | 2011-12-22 | Minx, Inc. | Augmented Reality |
JP5670255B2 (ja) * | 2011-05-27 | 2015-02-18 | 京セラ株式会社 | 表示機器 |
US8933970B2 (en) * | 2012-09-11 | 2015-01-13 | Longsand Limited | Controlling an augmented reality object |
KR20140095414A (ko) * | 2013-01-24 | 2014-08-01 | (주) 애니펜 | 애니메이션의 모션 시퀀스를 생성하기 위한 방법, 시스템 및 컴퓨터 판독 가능한 기록 매체 |
JP6314394B2 (ja) * | 2013-09-13 | 2018-04-25 | 富士通株式会社 | 情報処理装置、設定方法、設定プログラム、システムおよび管理装置 |
US20160140868A1 (en) * | 2014-11-13 | 2016-05-19 | Netapp, Inc. | Techniques for using augmented reality for computer systems maintenance |
US10335677B2 (en) * | 2014-12-23 | 2019-07-02 | Matthew Daniel Fuchs | Augmented reality system with agent device for viewing persistent content and method of operation thereof |
US20170343375A1 (en) * | 2016-05-31 | 2017-11-30 | GM Global Technology Operations LLC | Systems to dynamically guide a user to an autonomous-driving vehicle pick-up location by augmented-reality walking directions |
US11819369B2 (en) | 2018-03-15 | 2023-11-21 | Zoll Medical Corporation | Augmented reality device for providing feedback to an acute care provider |
-
2021
- 2021-05-13 US US17/319,963 patent/US11462016B2/en active Active
- 2021-09-19 EP EP21790009.1A patent/EP4229501A1/en not_active Withdrawn
- 2021-09-19 WO PCT/US2021/051007 patent/WO2022081300A1/en active Application Filing
- 2021-09-19 JP JP2023517920A patent/JP2023547764A/ja active Pending
- 2021-09-19 CN CN202180070825.9A patent/CN116324574A/zh active Pending
-
2022
- 2022-09-29 US US17/936,703 patent/US20230026823A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
EP4229501A1 (en) | 2023-08-23 |
US20220114366A1 (en) | 2022-04-14 |
US11462016B2 (en) | 2022-10-04 |
JP2023547764A (ja) | 2023-11-14 |
WO2022081300A1 (en) | 2022-04-21 |
US20230026823A1 (en) | 2023-01-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11256341B1 (en) | Systems and methods for transitioning between modes of tracking real-world objects for artificial reality interfaces | |
CN110941091B (zh) | 具有多个电源和数据配置的多设备系统 | |
CN114766038A (zh) | 共享空间中的个体视图 | |
US11397467B1 (en) | Tactile simulation of initial contact with virtual objects | |
US11086392B1 (en) | Devices, systems, and methods for virtual representation of user interface devices | |
US11132058B1 (en) | Spatially offset haptic feedback | |
US10845895B1 (en) | Handheld controllers for artificial reality and related methods | |
US11175731B1 (en) | Apparatus, system, and method for directional acoustic sensing via wearables donned by users of artificial reality systems | |
US10909405B1 (en) | Virtual interest segmentation | |
US10831267B1 (en) | Systems and methods for virtually tagging objects viewed by friends and influencers | |
CN115087947A (zh) | 经由飞行时间传感器进行手腕跟踪和手势检测的装置、系统及方法 | |
US20230046155A1 (en) | Dynamic widget placement within an artificial reality display | |
US10983591B1 (en) | Eye rank | |
US11462016B2 (en) | Optimal assistance for object-rearrangement tasks in augmented reality | |
CN117063142A (zh) | 用于自适应输入阈值化的系统和方法 | |
US11726552B1 (en) | Systems and methods for rendering a trigger finger | |
US11706266B1 (en) | Systems and methods for assisting users of artificial reality platforms | |
US20240078768A1 (en) | System and method for learning and recognizing object-centered routines | |
US11836828B2 (en) | Controlling interactions with virtual objects | |
WO2023018827A1 (en) | Dynamic widget placement within an artificial reality display | |
US20220405361A1 (en) | Systems and methods for correcting data to match user identity | |
US20240095877A1 (en) | System and method for providing spatiotemporal visual guidance within 360-degree video | |
US20230112539A1 (en) | Apparatus, system, and method for detecting user input via hand gestures and arm movements |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |