CN110850959A - 用于工业增强现实应用的漂移校正 - Google Patents
用于工业增强现实应用的漂移校正 Download PDFInfo
- Publication number
- CN110850959A CN110850959A CN201910767393.1A CN201910767393A CN110850959A CN 110850959 A CN110850959 A CN 110850959A CN 201910767393 A CN201910767393 A CN 201910767393A CN 110850959 A CN110850959 A CN 110850959A
- Authority
- CN
- China
- Prior art keywords
- mobile device
- user
- node
- location
- camera
- 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
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/006—Mixed reality
-
- 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
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/10—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
- G01C21/12—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
- G01C21/16—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
- G01C21/165—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation combined with non-inertial navigation instruments
- G01C21/1656—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation combined with non-inertial navigation instruments with passive imaging devices, e.g. cameras
-
- 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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/05—Geographic models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/003—Navigation within 3D models or images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
- G06T7/74—Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2203/00—Indexing scheme relating to G06F3/00 - G06F3/048
- G06F2203/01—Indexing scheme relating to G06F3/01
- G06F2203/012—Walk-in-place systems for allowing a user to walk in a virtual environment while constraining him to a given position in the physical environment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/24—Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Remote Sensing (AREA)
- General Physics & Mathematics (AREA)
- Radar, Positioning & Navigation (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Automation & Control Theory (AREA)
- Geometry (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Medical Informatics (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- User Interface Of Digital Computer (AREA)
- Processing Or Creating Images (AREA)
- Traffic Control Systems (AREA)
- Image Analysis (AREA)
- Navigation (AREA)
Abstract
在用于提高呈现给巡览真实世界的映射环境的用户的增强现实信息的准确性的方法中,至少通过以下步骤来识别所述用户的移动设备的相机的视场内的特定对象:由对相机捕获的图像进行处理的机器学习模型来预测对象类型,以及在表示映射环境的地图数据库内识别与对象类型相对应的节点。与节点相关联的位置是从地图数据库中获取的,并用于更新或确认移动设备的一个或多个估计位置。使得数字信息经由移动设备的显示器叠加在呈现给用户的真实世界视图上,该数字信息至少部分地基于所更新的或所确认的移动设备的一个或多个估计位置来选择。
Description
技术领域
概括地,本公开内容总体上涉及增强现实技术,更具体而言,涉及可以在过程控制或其它环境中使用的增强现实平台。
背景技术
随着探索针对技术的新应用,在真实世界环境中提供数字信息(例如,文本、图像、动画等)的叠加的增强现实(AR)系统正变得越来越普遍。AR系统通常提供特定于用户当前真实世界周围事物的上下文的信息。对于这样的系统,通常需要真实世界的知识,诸如当前处于用户视场中的物理事物的知识,以及用户的当前位置处和周围的物理布局。为了使这种信息可用于AR系统,通常创建表示用户环境及其中的对象的三维(3D)数字模型。然后可以利用与环境中的特定位置和/或特定对象有关的特定类型的数据(例如,描述)、图形(例如,图标)等来增强3D模型。当配备有适当AR装置的用户移动通过映射的环境时,可以通过在用户的真实世界视图(例如,实时相机视图或者作为用户通过它观察环境的抬头显示器(HUD))上叠加数字信息将增强部分渲染/显示给用户,而不渲染/显示3D模型的其余部分。
传统上,这种3D模型由人类设计者和/或使用3D扫描仪手动构建。然而,对于涉及具有复杂布局和/或大量对象的环境的应用,这两种方法都是非常耗费时间和劳动力的。此外,对环境的任何改变(例如,当在环境中移动或替换/更新对象时)可能需要重复整个建模过程,或者需要其它耗费时间和劳动力的过程。
当前的AR系统也可能遭受其它缺点。例如,当在相对密集的环境(例如,具有紧邻的和/或有大量信息以在AR视图中显示的多个对象的环境)中使用时,AR系统可能使用户经受大量信息,这些信息可能容易导致感觉过载(sensory overload),和/或用户可能不容易察觉到所有信息的上下文。此外,一些对象可能在AR视图中被遮蔽。例如,对象可能位于外壳内,或者可能位于难以接近或不方便(例如,远处)的位置。
这些问题的解决方案可以通过增强现实平台的各个方面来提供,该增强现实平台在美国临时专利申请No.62/564,074(2017年9月27日提交,名称为“增强现实平台”)中描述和示出,其公开内容通过引用整体并入本文。增强现实平台通常依赖于用户的移动设备(例如,智能电话、平板设备、专用AR头盔或其它装备等)相对于用户“登记”的“地标”或参考位置的位置追踪。例如,当用户围绕过程控制或其它环境移动时,可以使用他或她的移动设备的惯性测量单元来追踪用户位置。然而,随着时间的推移,由于用户的追踪位置中的小的不准确性的累积效应,用户的表观位置可能相对于参考点“漂移”。
这产生的问题可能是双重的。首先,在其中使用这种位置追踪来生成环境(例如,过程控制环境)的模型的实施方式中,馈送到模型中的任何位置(例如,装备和/或其它对象的位置)可能是不准确的。其次,如果巡览映射环境的用户随后使用这种位置追踪,则系统可能基于不正确的位置信息向用户呈现AR信息(例如,通过未能辨识出用户在特定对象附近,或者错误地确定用户靠近不同的对象等)。因此,增强现实平台的效用可能大大减小(例如,通过限制工厂的尺寸或其中可以有效使用平台的其它区域),和/或使得更加麻烦(例如,通过要求重新校准过程,其中用户定期在地标位置重新登记)。
发明内容
本文公开了用于提供增强现实体验的技术、系统、装置和方法。所述技术、系统、装置和方法可以应用于工业过程控制系统、环境和/或工厂,例如,其可以互换地在本文中被称为“过程控制”或“过程”系统、环境和/或工厂。通常,这种系统和工厂以分布的方式提供对一个或多个过程的控制,这些过程用于制造、精炼或以其它方式转化原始物理材料以生成或生产产品。然而,在一些实施例中,本文描述的技术、系统、装置和方法可以用在其它类型的环境中,和/或用在除增强现实之外的上下文中(例如,在虚拟现实(VR)上下文中)。
通常,过程控制环境可以引起上面在“背景技术”部分中讨论的与生成和使用传统增强现实(AR)系统或平台相关联的许多各种困难。例如,这种环境通常包含大量不同的对象(例如,罐、泵、阀、马达、发射器等),这些对象非常接近和/或与大量信息(例如,传感器读数、诊断状态等)相关联。而且,这些对象可能经常被移动或更换。
本文描述的AR平台可以克服或改善这些困难中的一些或全部,因此可以非常适合用于过程控制环境。利用AR平台,由使用AR移动设备的用户生成三维(3D)模型。AR移动设备可以是AR头盔、AR头戴式耳机、AR护目镜、智能眼镜、智能手机、平板设备\或能够支持位置追踪(如下所述)并且可以向用户呈现AR体验的任何其它合适类型的移动设备。
3D模型指示在过程控制环境内对应于不同真实世界对象(例如,现场设备、罐、输送机、控制器、开关等)的感兴趣的点的3D位置/地点。添加到3D模型的对象在本文中被称为AR平台或系统的“节点”。如本文使用的术语,“对象”(也称为“真实世界对象”)可以是任何物理事物(例如,设备、部件、装备、结构等)、事物的一部分(例如,设备或部件的元件等)、或事物的组合(例如,一组相关设备或部件等)。在过程控制环境中,例如,对象可以是现场设备(例如,阀、泵、传感器等)、一件装备(例如,输送机、罐等)、过程控制器、开关等等。
在一些实施方式中,当AR应用在AR移动设备上启动时(例如,当由用户特别激活时,或者在设备上电时),用户在某些参考物或“地标”位置“登记”或注册AR移动设备。例如,用户可以利用AR移动设备的相机在地标位置扫描QR码或代码/标识符的另一视觉表示。扫描代码的动作可以为用户/设备建立起始位置(例如,{x,y,z}空间中的坐标{0,0,0})。
在注册之后,用户可以开始用AR移动设备物理地移动通过过程控制环境。合适的定位技术(例如,由用户的AR移动设备提供)可用于追踪用户通过过程工厂的移动。因为GPS或GNSS单元在许多过程工厂环境中可能不能很好地起作用,并且不能提供方位数据或精确的高程数据(特别是对于室内的过程控制环境),所以可以使用其它定位和/或方位技术。例如,AR移动设备相对于地标位置的位置,以及AR移动设备的方位(例如,AR移动设备的相机的视场的方向,其可以对应于用户面向的方向)可以使用(例如,由加速度计、陀螺仪等生成的)惯性测量单元(IMU)数据和相机图像数据的融合来追踪用户。在一个实施方式中,例如,采用由高通公司开发的视觉-惯性测距(VIO)技术来追踪地点和方位。
当到达或靠近将要作为节点添加的真实世界对象时,并且在面向对象的方向(例如,如果佩戴AR头盔或护目镜)或以其它方式将设备相机指向对象(例如,如果设备是平板设备或智能手机)时,用户可以选择添加新节点的选项。例如,AR移动设备可以在用户说出时识别语音命令“添加节点”,或者(例如,如果设备是平板设备或智能电话)AR移动设备可以允许用户选择“添加节点”或AR移动设备显示器的图形用户界面(GUI)上的类似选项/控件。然后,AR移动设备可以捕获对象的图像,并处理该图像以估计AR移动设备与对象之间的距离。替代地,可以使用其它传感器(例如,激光雷达、雷达等)来确定AR移动设备与对象之间的距离。然后,AR移动设备可以基于AR移动设备的当前地点和方位以及AR移动设备与对象之间的距离来确定对象相对于地标位置的地点。替代地,远程服务器或其它计算设备/系统可以处理由AR移动设备捕获的图像数据,以确定相对于地标位置的对象地点。
用户还可以指定新节点的名称或类型(例如,阀、泵等)和/或其它信息(例如,对象的型号或其它标识符、对象的简短描述等)。然后,指定的信息可以与AR系统的后端数据库中的新节点相关联。后端数据库可以包含由用户(也可能是其它用户)添加的节点库,以及相对于地标位置的相关3D位置,以共同建立过程控制环境中的对象/资产的虚拟3D“地图”。数据库还可以例如存储其它节点信息,举例来说,诸如相关的和/或连接的节点的列表。
在特定过程控制环境中的至少一个感兴趣对象已被映射(即,使用AR移动设备添加到节点库)之后,在地标位置处注册他们的AR移动设备的任何用户(包括映射用户)可以进行过程控制环境的增强游览。当具有注册的AR移动设备的用户将AR移动设备的相机的视场指向包括特定真实世界对象的区域时(例如,如果用户在佩戴AR头盔或护目镜时看着该区域)并且如果对象已经与节点库中的节点相关联,则AR移动设备可以利用对用户来说就好像它位于用户真实世界视图中对象坐标处或附近的节点“标记”(例如,文本、图标、图形等)来增强由用户观察到的真实世界场景。
如果用户选择特定节点(例如,通过关注节点标记,或发出语音命令等),AR移动设备可以使一个或多个“节点体验”对用户可用。例如,一个节点体验可以在用户的真实世界视图上叠加文本(节点名称、描述等)、表格、和/或图形/图标。例如,其它节点体验可以叠加来自特定URL的web内容(例如,指令或“帮助”视频),或者可以叠加与其它对象/节点的物理或逻辑连接和/或与其它对象/节点的关系的可视化。其它节点体验可以包括检索与对象/节点相关联的工作订单(work order),建立用户与远程位置处的适当专家之间的通信链接,等等。在一些实施方式中,至少一个节点体验在用户正在观察的对象的特定上下文中启动(或链接到)一个或多个其它软件应用或系统。例如,AR移动设备可以在视场中叠加针对所选对象/节点(例如,现场设备)的传感器数据、状态、和/或虚拟控件,其中数据从不同应用获取(并且对控件的用户输入被发送到不同应用)。
对于给定节点用户可用的体验、在特定节点体验内呈现的内容的类型、和/或在一些实施方式中,对于给定节点,任何增强信息到底是否对特定用户可用可以至少部分地基于用户的“角色”来确定。例如,特定用户可以使用AR移动设备来选择“操作员”角色、“维护员”角色、或“工程师”角色,或者可以预先分配这样一个角色。
在一些实施方式中,由用户的AR移动设备的相机捕获的视觉信息可用于校正位置追踪中的“漂移”。为此,可以训练机器学习(ML)模型以辨识/识别图像内的对象,诸如过程控制(或其它)环境内的特定类型的设备或其它资产。例如,可以使用手动标记/分类的对象的图像和监督学习技术来训练ML模型。当用户在工厂或其它环境周围移动时,他或她的AR移动设备的相机可以捕获图像,并且AR移动设备可以将这些图像馈送到ML模型(例如,通过将图像发送到服务器,或者通过利用本地存储的ML模型)。然后,ML模型可以处理图像以预测哪些已知类型的对象(如果有的话)在相机的视场内。
在一些实施方式中,漂移校正可以用于在用户巡览(navigate)先前映射的区域时避免或减少手动重新校准过程,和/或增加AR用户可以以足够的追踪精度在其上移动的区域。在这样的实施方式中,由ML模型预测的对象类型可以与后端数据库中的一个或多个节点交叉引用,以识别对应于用户正在他或她的视场中正看到的对象的唯一节点(例如,标签名称等)。然后,可以从后端数据库获取所识别的节点的先前映射的位置,并且AR系统使用该位置来自动重新校准用户在环境内的位置。实际上,这可以允许每个映射对象本身作为一种地标(例如,作为地标的“网状”网络的一部分)。当他或她继续移动时,所得到的增强的地点准确度可以在用户的视场内实现更合适/准确的AR可视化集或序列。可选地,AR移动设备相机捕获的视觉信息可以随着时间的推移,结合存储在后端数据库中的已知的对象类型信息(和/或结合由映射用户做出的手动对象分类或确认)来使用,以进一步训练和细化ML模型准确辨识对象类型的能力。
替代地或另外地,ML模型可以用于促进3D地图的初始生成,和/或随时间更新3D地图(如后端服务器中所表示的)以获得更高的准确度。例如,由ML模型做出的预测可以用于向映射用户提供关于如何标记/分类用户正在添加到3D地图的特定对象/节点的一个或多个建议(例如,通过提供对象描述符或候选对象描述符,它们出现在用户的AR显示的列表中,或者通过自动填充具有预测对象类型的描述符字段等)。作为另一示例,巡览已经映射的环境的多个用户的追踪位置可以用于在持续不断的基础上自动更新映射的对象/节点的位置(例如,如果ML模型辨识位于与存储在地图数据库中的对象的位置稍微不同的位置处的特定对象)。
也可以向用户提供许多其它特征。在一些实施方式中,例如,可以通过创建超逼真或伪逼真的3D模型可视化来向用户提供虚拟“x射线视觉”,当在叠加用户的真实世界视图上时,可以看起来好像是用户看到隐藏在外壳内(例如,在机柜内)或障碍物后面的对象。AR移动设备还可以向用户呈现(和/或使用户能够选择)与隐藏对象相关联的某些节点体验,诸如查看状态数据或与隐藏对象相关联的警报、发出语音命令以控制隐藏对象的控制操作等等。
作为另一示例,AR移动设备可以在用户的真实世界视图上叠加受限访问和/或远程对象/节点的“化身”。例如,对象可以位于高塔的顶部,或者处于有毒或高压区域等中。与隐藏对象一样,可以向用户提供某些节点体验,这些节点体验提供了与受限访问和/或远程对象的各种交互。在隐藏对象(“X射线视觉”)和受限访问/远程对象的实现/场景两者中,可以在用户与对象交互时向用户提供与使对象/节点在用户的前面并且用户清晰可见的体验非常相似的整体体验。
AR平台还可以支持其它类型的功能。例如,用户的当前地点可以触发各种警报(例如,用户处于危险区域的警告)和/或其它信息显示。作为另一示例,可以出于各种目的追踪/记录过程工厂内用户的当前和/或历史3D地点,诸如确保在紧急情况下员工疏散,确保员工不受伤或者不需要医疗帮助,或监督某些员工的培训。
根据具体实施方式,上文和下文进一步描述的AR平台可提供许多优点。例如,通过仅映射某些对象的相对3D地点,可以比使用常规手段(例如,使用3D扫描仪来映射环境)更容易和有效地生成3D模型。同样,可以更快速和容易地执行过程控制环境内的对象的更新或重新配置。此外,通过使用本文描述的映射过程,并且通过如本文所述的追踪AR移动设备/用户的移动,AR平台可以确定何时向用户提供增强信息而无需改装的费用和/或时间,或者另外装备具有短程通信技术的对象(例如,蓝牙或近场通信(NFC)单元),并且无需用户巡览环境的耗时动作(例如,扫描对象上的QR码、手动数据输入对象标识符、物理连接到对象等)。因此,可以减少或消除对AR系统的部署的传统障碍,特别是在过程控制环境中。
作为另一示例,AR平台通常可以提供市场,其中第三方可以提供对应于与对象/节点的不同用户交互的新的、定制的类型或类别的“节点体验”,和/或可以提供用于现有节点体验的新内容。例如,仪表供应商或其它实体可以提供对“帮助”信息的订阅,或者针对特定对象的基于AR或视频的工作指令。在一些实施例中,虚拟“应用商店(app store)”可以允许客户许可各种应用,和/或订阅客户的移动工作人员所需的特定类型的内容。
此外,促进显示/查看被遮蔽的、远程和/或受限访问节点的增强信息的特征可以节省用户的时间(并因此节省成本),并且在一些实施方式和/或场景中,这些特征可以通过避免访问危险区域的需要来提高工作人员的安全性。
此外,AR平台架构可以是高度灵活的。AR平台可以促进在各种不同平台上向用户显示相关信息,诸如智能头盔、智能护目镜、智能手机、平板设备等。AR平台还可以促进与许多其它软件应用(例如,能够获取指示控制逻辑的数据、设备读数等的过程控制软件)的交互、和/或允许容易地提供新的体验、内容或其它功能。
更进一步地,上述基于学习的对象辨识技术可以用于实现更准确的AR体验的呈现,以增加用户可以漫游而不会有不可接受的准确性损失的区域,从而防止或减少对在地标处“登记”的需要,促进和/或加速创建对象填充环境的地图,和/或更新或增加对象填充环境的现有地图的准确性。
如上所述,本文描述的某些实施方式和/或特征不需要在AR系统中使用,和/或不需要在过程控制环境中使用。例如,可以基于工厂内对象的映射3D地点和用户的当前地点和定向来向具有智能手机、平板设备或其它移动设备的用户呈现“节点体验”,而不必将这些体验提供为AR显示(例如,使用虚拟现实显示或仅使用GUI)。作为另一示例,本文描述的技术可以应用于除过程控制环境之外的环境中,诸如在办公室空间、仓库、医院等中。
附图说明
图1是描绘示例性增强现实(AR)系统的框图,其提供可以支持本文描述的各种方法、技术、功能和/或特征的AR平台。
图2是描绘其中可以利用图1的AR系统的示例性过程控制环境的部件的框图。
图3描绘了过程控制环境中的节点的示例性三维(3D)地图。
图4A到4H描绘了可以叠加在AR移动设备提供的视场上的示例性用户界面。
图5A和5B描绘了可以在AR平台中使用的数据库的示例性元素。
图6描绘了其中AR移动设备的用户被提供虚拟x射线视觉的示例性实施例和场景。
图7A和7B描绘了可以叠加在AR移动设备提供的视场上的示例性用户界面,以提供用户与远离用户或者另外难以访问的对象之间的虚拟接近度。
图8是用于使用移动设备映射真实世界过程控制环境的示例性方法的流程图。
图9是用于在真实世界过程控制环境中向AR移动设备的用户提供虚拟增强视觉的示例性方法的流程图。
图10是用于促进AR移动设备的用户与可能处于过程控制环境的远程或受限访问区域中的真实世界对象之间的交互的示例性方法的流程图。
图11是用于增加呈现给巡览真实世界的映射环境的用户的AR信息的准确性的示例性方法的流程图。
图12是用于促进创建真实世界的过程控制环境的地图的示例性方法的流程图。
图13是用于更新真实世界的映射环境中的节点位置的示例性方法的流程图。
具体实施方式
示例性增强现实系统
图1描绘了示例性增强现实(AR)系统10,其通常可以提供用于在环境(例如,过程控制环境)中提供AR体验的AR平台。AR系统10包括用户的AR移动设备12,以及可以经由网络16通信地耦合到AR移动设备12的后端服务器14。AR移动设备12可以是具有适当处理和感测能力并且能够被用户佩戴或以其它方式携带的任何计算设备。例如,AR移动设备12可以是专门为AR配置的设备,诸如AR头盔(例如,由开发的Smart)或AR护目镜。替代地,AR移动设备12可以是还具有非AR应用,但是执行将设备12配置为具有AR能力的软件应用的设备(例如,平板设备、智能手机、智能眼镜、智能手表等)。虽然图1仅描绘了一个AR移动设备12,但是应当理解,可以以类似的方式在AR系统10中使用与AR移动设备12相同或不同的更多数量的AR移动设备。
AR移动设备12通常被配置为通过利用上下文信息(例如,文本、图形、动画等)增强用户的真实世界视图来向用户提供AR体验。后端服务器14通常通过以下方式来为用户以及其它AR移动设备的用户支持AR体验:通过管理指定用户的真实世界视图在特定情况下应当如何增强的数据、通过从AR移动设备接收指示AR设备和/或用户的当前状态和/或环境的数据、以及通过按需要向AR移动设备提供数据。
网络16包括一个或多个无线网络,并且还可能包括一个或多个有线网络。在图1的示例性实施例中,AR系统10的AR平台利用基于云的架构,并且网络16包括互联网。如果在室内使用AR系统10,则网络16还可以包括不需要与远程塔或基站进行任何直接通信的无线网络(诸如IEEE802.11或“WiFi”网络)。然而,在其它实施例中,网络16包括蜂窝网络(例如,LTE、GSM等)。如下面进一步讨论的,AR系统10还可以包括通信地耦合到后端服务器14和/或AR移动设备12并且共同存储和执行一个或多个应用19的一个或多个其它服务器18。
如图1的示例性实施例中所见,AR移动设备12可以包括网络接口20、显示器22、相机24、惯性测量单元(IMU)26和存储AR应用的存储器30。网络接口20被配置为使用网络16的至少一部分(例如,WiFi或蜂窝网络)的无线通信协议来实现与远程计算设备和系统(包括后端服务器14)的通信。
显示器22可以包括根据任何合适类型的数字显示技术配置的硬件和相关联的固件和/或软件。例如,显示器22可以使用液晶显示器(LCD)技术、发光二极管(LED)技术、有机发光二极管(OLED)技术等。显示器22通常可以是透明或半透明的,或者可以是不透明的。显示器22的结构或形状因子、以及显示器是透明/半透明还是不透明的,通常取决于AR移动设备12的类型。例如,如果AR移动设备12是头盔,则显示器22可以具有面罩的形式,并且可以是半透明的,以使得由显示器22显示的任何信息叠加在用户的直接真实世界视图上(即,“抬头显示器”或“HUD”)。相反,如果AR移动设备12是平板设备或智能电话,则显示器22可以具有传统的矩形形状因子,并且可以仅允许真实世界的间接视图(例如,由相机24捕获)。
相机24可以是任何合适类型的光学传感器,诸如电荷耦合器件(CCD)图像传感器。在替代实施例中,相机24替代地或者还包括不同类型的成像设备,诸如光检测和测距(激光雷达)传感器或雷达传感器。IMU 26可以包括一个或多个传感器(例如,加速度计和/或陀螺仪),其生成指示AR移动设备12在三个维度上的移动的数据。虽然未在图1中示出,但是AR移动设备还可以具有其它部件,诸如麦克风和/或扬声器。
存储AR应用32的存储器30可以是任何合适类型的永久存储器,诸如固态或硬盘形式的只读存储器(ROM)。AR应用32通常例如通过在显示器22上生成适当的增强信息并根据需要与后端服务器14通信来协调AR移动设备12的用户的AR体验。图1描绘了对应于可以由AR应用32执行或提供的示例性功能或特征的一组模块,包括角色识别模块40、注册模块42、定位和方位模块44、节点体验模块46、节点创建模块48、视觉增强模块50和基于地点的警报模块52。下面将结合AR系统10的操作进一步讨论模块40-52中的每一个。在一些实施例中,AR应用32包括比图1中所示的模块更少、更多和/或不同的模块。例如,AR应用32可以包括用于识别用户语音命令的语音辨识模块。
同样在图1的示例性实施例中,后端服务器14包括web服务接口60、体验提供单元62、3D模型生成单元64、机器学习(ML)模型65、视觉增强单元66、警报生成单元68、和用户监控单元70。通常,web服务接口60可以向AR数据库72提供面向对象的基于web的接口,AR数据库72耦合到后端服务器14(或包括在后端服务器内)。训练数据74也可以存储在耦合到后端服务器14(或包括在后端服务器14内)的数据库中。在一些实施例中,web服务接口60向远程设备(诸如AR移动设备12)提供应用编程接口(API)。
AR数据库72通常存储定义特定环境的3D地图的信息(例如,通过存储节点标识符、3D地图内的节点相对于地标的位置、以及可能与节点相关联的其它信息),并且,下面结合图5A和5B更详细地讨论(根据一个特定实施例)该AR数据库72。AR数据库72可以是单个数据库或数据库集合,并且可以存储在单个物理存储器中,或者跨一个或多个地理位置处的多个存储器分布。类似地,训练数据74可以存储在单个数据库或数据库集合中,并且可以存储在单个物理存储器中,或者跨一个或多个地理位置处的多个存储器分布。元素/单元60至70中的一个、一些或全部可以被实现为存储在永久存储器(例如,ROM)上的软件指令。在其它实施例中,后端服务器14包括比图1中所示的元素/单元更少、更多和/或不同的元素/单元。
在操作时,佩戴或以其它方式携带AR移动设备12的用户可以使AR移动设备12启动AR应用32。可以通过在显示器22上手动选择图标来启动AR应用32,例如,发出语音命令、或者简单地为AR移动设备12加电。
在一些实施例中,AR应用32的角色识别模块40最初(例如,在启动时)提示用户指示可以对应于用户的工作地点的特定“角色”,和/或可以对应于例如用户正试图通过使用AR系统10完成的特定的一个或多个任务。在其它实施例中,首先提示用户在稍后的时间指示他或她的角色(例如,在注册地标之后,如下所述)。以下结合图4A讨论角色辨认模块40可以在显示器22上或通过显示器22看到的真实世界视图上(例如,在由相机24捕获的图像帧上,或者在用户的直接真实世界视图上)叠加的一个示例性用户界面。在替代实施例中,角色识别模块40不提示用户选择角色,而是基于AR移动设备12的标识符和/或用户输入或说出的标识(例如,姓名、员工编号等)来确定用户的预先分配的角色。
所选择或分配的用户角色可以调节提供给用户的AR体验的各个方面,如下面进一步讨论的。取决于实施例,用户角色一旦被选择或指定,便可以固定,或者可以在用户移动通过环境时由他/她即时改变。在一些实施例中,角色识别模块40不包括在AR应用32中,并且在AR系统10内没有用户角色来选择或分配。
在映射环境之前,或者在更新或探索先前映射的环境之前,在一些实施例中,用户可能需要在“地标”处注册AR移动设备12,然后其位置被用作为AR移动设备12(以及等同地,用户)的未来移动的参考点。相同的地标位置还被用作为环境中已经被建立(或将被建立)为3D地图的节点的任何对象的位置的参考点,从而能够确定AR移动设备12相对于任何映射对象的地点。例如,地标位置可以表示{x,y,z}坐标系中的{0,0,0},或者可以使用其它坐标系(例如,极坐标)。在一些实施例中,需要在地标处进行注册以便获得对环境的物理访问。例如,响应于用户在地标处注册AR移动设备12,到过程控制环境的门或出入口可以自动解锁。AR移动设备12可以利用近场通信(例如,蓝牙)或其它合适的技术来向具有收发器的固定地点(例如,壁挂式)单元发送消息,例如,在这之后,固定位置单元可以生成使致动器解锁(和/或打开)门或出入口的命令。
为了注册AR移动设备12,注册模块42可以处理由相机24捕获的一个或多个图像/帧。例如,地标可以是QR码,或者物理打印在地标位置(例如,在过程控制工厂内的区域的入口附近的墙壁或门上)处的任何其它合适类型的图像或文本。在一些实施例中,注册模块42或AR应用32的另一部分可以将十字线(reticle)叠加在提供给用户的真实世界视图内(例如,如下面结合图4E所讨论的),以帮助用户专注于QR码、图像等。在一些实施例中,使用不同的技术来辨识地标,诸如AR移动设备12的互补蓝牙或NFC通信单元和固定在地标位置的另一设备。
在一些实施例中,当用户在特定地标处注册AR移动设备24时,注册模块42经由网络16和web服务接口60转发指示地标的标识符的数据(例如,通过在解码图像之前发送QR码的二进制表示,或者发送QR码的图像)到后端服务器14。然后,后端服务器14可以将地标标识符与存储在AR数据库72的地标标识符(如果有的话)进行比较。如果尚未存储标识符,则后端服务器14可以经由web服务接口60和网络16向注册模块返回失败消息,或者在一些实施例中,可以使AR数据库创建与新3D地图相关联的新地标标识符条目。相反,如果地标标识符已经存在于AR数据库72中,则后端服务器14可以使对应的3D地图(和相关联的数据)中的一些或全部对AR移动设备12可用,并经由web服务接口60和网络16向注册模块42返回指示成功注册的消息。
AR数据库72可以存储多个不同的地标标识符,每个地标标识符与不同的3D地图相关联,其中,每个地图与不同的节点库相关联。多个地图可以与相同的环境相关联(例如,通过在单个环境内添加不同的对象作为不同地图的节点),和/或不同的地图可以与不同的环境相关联(例如,一个地图用于过程控制工厂的第一区域,另一个地图用于工厂的第二区域等)。
在一些实施例中,AR移动设备12在地标处的成功注册使得定位和方位模块44将AR移动设备12的位置设置为等于地标位置(例如,{0,0,0})。然而,为了更高的精度,注册模块42可以使用深度感测技术来处理由相机24捕获的地标的图像,以确定AR移动设备12与地标之间的距离。然后,定位和方位模块44可以基于所确定的距地标的距离和AR移动设备12相对于地标的方向来偏移AR移动设备12的起始地点与地标的已知/参考地点。如果地标是QR码或其它视觉标识符,则可以基于地标所面向的方向来假设AR移动设备12的相对方位。替代地,可以从捕获的图像确定相对方位(例如,通过确定相机视图相对于地标的入射角等)。
一旦注册,AR移动设备12的用户可以开始移动通过环境,具有通常由数字文本、表格、图形、动画、和/或对应于地标的与3D地图相关联的其它类型的信息来增强的真实世界视图(经由显示器22提供)。为了追踪用户(即,AR移动设备12的)的地点和方位,定位和方位模块44可以访问IMU 26、相机24、和/或AR移动设备12的图1中未示出的一个或多个其它传感器。在一些实施例中,定位和方位模块44使用所收集的传感器数据来确定地点和方位,而不依赖于GPS、GNSS、WiFi定位(例如,三边测量),或需要AR移动设备12与其它设备或系统之间的通信链接的任何其它定位技术。“地点”或“位置”可以指代3D坐标系中的特定坐标集(例如,笛卡尔坐标或极坐标),并且“方位”可以指特定方向(例如,在360度水平/方位角范围内,加上海拔或海拔高度)。在一些实施例中,“方位”还可以指AR移动设备12的倾斜,与设备12面向的方向无关。因为仅追踪相对地点(例如,在“航位推算”意义上),所以定位和方位模块44确定相对于发生注册的地标的位置的AR移动设备/用户地点。
在一些实施例中,定位和方位模块44处理来自至少相机24和IMU 26的数据的融合,以帮助克服在单独使用时与任一类型的传感器相关联的缺陷。例如,定位和方位模块44可以利用由高通公司开发的视觉-惯性测距(VIO)技术来追踪AR移动设备12的地点和方位。这种技术可以帮助提高准确性,减少确定地点的“漂移”,和/或具有其它优势。
由于相机24相对于AR移动设备12本身的地点和方位是已知的,因此AR应用32可以针对由定位和方位模块44确定的任何给定地点和方位确定AR移动设备12的视场(在一些实施例中,其也可以对应于用户的真实世界视图)。基于所确定的地点和方位,并使用存储AR数据库72中的在针对3D地图的节点位置,AR应用32可以因此在任何给定时间确定哪些映射对象在视场内。在一些实施例中,如果对象位于相机传感器的水平和垂直范围/程度内(例如,在某些方位角和垂直/高度/仰角内),则对象可以被认为位于相机的“视场内”,而不管对象与捕获图像的AR移动设备之间的距离如何,并且不管对象是否恰好被环境中的障碍物阻挡。例如,即使对象被外壳、屏障、其它对象等屏蔽,直接并且紧邻照相机24前方的对象也可以被认为位于相机24的“视场内”。在其它实施例中,如果对象未被遮蔽,即,当相机能够捕获对象的图像时,则对象仅被认为位于相机的“视场内”。
为了确定映射对象的地点,AR应用32可以经由网络16和web服务接口60周期性地访问AR数据库中的节点位置。例如,AR应用32可以周期性地请求后端服务器14提供针对AR移动设备12的阈值距离内(和/或位于设备12的视场内等)的节点的位置数据,其中该请求指示AR移动设备12的当前地点(和/或方位)。替代地,AR应用32例如在注册时可以请求后端服务器14发送与用于注册的地标相关联的针对3D地图的所有节点位置(以及可能的其它信息,诸如节点描述等)。在其它实施例中,后端服务器14可以在AR移动设备12在地标处成功注册时自动发送所有相关节点地点。
AR应用32可以确定应该为用户的当前视场中的一个、多于一个的映射的对象/节点提供增强,或不为用户的当前视场中的映射的对象/节点提供增强。为了做出该确定,节点体验模块46可以应用一个或多个标准。在一些实施例中,例如,节点体验模块46可以确定将为用户的当前视场中的所有映射对象提供增强,而不管对象与用户之间的距离,并且不管对象是否被任何障碍物阻挡在用户的视场之外。替代地,节点体验模块46可以确定不为处于视场中的但是离用户大于阈值距离的映射对象提供增强(例如,根据由定位和方位模块44确定的当前用户地点以及存储在AR数据库72中的对应节点位置确定)。
节点体验模块46还可以或替代地确定不为处于AR移动设备12的视场中但被阻挡在视线之外的映射对象提供增强。根据实施例,可以以不同方式确定是否遮蔽了映射对象。例如,AR数据库72中的字段可以指示特定节点是否对应于通常可能被遮蔽的对象。例如,对于装入机柜内的部件,对应的节点具有指示部件与机柜之间的关系的字段。在其它实施例中,AR应用32和/或后端服务器14可以执行对节点配置、节点类型、和/或节点大小的更复杂的分析,以从用户的当前视角确定特定的映射对象是否可能是可见的。
在一些实施例中,为了减少用户的感觉过载的危险,不为某些类型的映射对象提供增强,除非用户进行某个特定动作(除了简单地移动和/或重定向AR移动设备12之外)。例如,节点体验模块46可以不为机柜内的大量相对小的部件(每个部件对应于不同的映射对象)提供增强,除非用户选择机柜的图标或其它图形表示,和/或选择显示橱柜内容等的选项。
此外,在一些实施例中,节点体验模块46可以基于角色辨认模块40确定的用户角色来确定是否要为用户的视场中的特定映射对象提供增强。因此,节点体验模块46可以专门针对与地标和所选择或分配的角色相关联的节点来查询web服务接口60。在过程控制环境中,例如,可以为具有“维护员”角色的用户增强电源开关,但不为具有“操作员”角色的用户增强电源开关。
对于要增强的对象,节点体验模块46可以最初在显示器22的区域(用户看起来这个区域好像位于用户的真实世界视图中的对象的坐标处(或附近))上叠加节点“标记”,诸如文本(例如,设备标识符、状态和/或描述)和/或图标或其它图形等。例如,标记可以看起来通过在显示器22上呈现的线连接到真实世界视图中的映射对象。在其它实施例中,标记是在对象上方呈现的圆形或其它形状、粗略地围绕对象的矩形轮廓、或某种其它类型的指示符。
如果用户选择特定节点(例如,通过将虚拟十字线聚焦在节点标记上,或通过发出语音命令等),则节点体验模块46可以使一个或多个“节点体验”对用户可用。“节点体验”—与在移动通过映射环境的适当配备的用户的更一般的“AR体验”相反—指的是与对象/节点的特定的一种或多种类型的用户交互。节点体验模块46可以通过例如在真实世界视图上叠加菜单或其它交互式显示和/或通过被配置为识别来自用户的语音命令,来向用户提供选择特定节点体验的选项。用户可以以类似于选择节点标记的方式(例如,将虚拟十字线聚焦在选项上、语音命令等)或以其它合适的方式选择菜单选项。
当选择特定节点体验时,节点体验模块46可以经由网络16将选择转发到web服务接口60。作为响应,体验提供单元62可以从AR数据库72(和/或其它位置,诸如一个或多个服务器18)获取与所选节点以及所选的体验相关联的数据(例如,文本,图形等),并经由web服务接口60将所获取的数据发送回AR移动设备12,以使节点体验模块46能够相应地增强用户的真实世界视图。
节点体验可以相对简单或复杂。例如,节点标记本身可以被认为是默认的“节点体验”。作为其它示例,节点体验模块46可以(经由显示器22)在用户的真实世界视图、对象的简单图形或图标、对象的超逼真或伪逼真3D模型、对象的图像、包括对象的动画(例如,对象的旋转3D模型)等上叠加其它文本和/或表格(即,与对应对象相关联的信息)。
节点体验还可以或替代地包括其它类型的交互。例如,节点体验模块46可以叠加到视频(该视频提供关于对象和/或其在环境内的操作(例如,在特定过程控制例程内)的教程)、到涉及对象的工作订单、或到远程专家的链接。替代地或另外地,用户可以针对这些节点体验中的一些或全部发出语音命令。在选择或调用诸如视频或工作订单之类的内容的实施例中,节点体验模块46可以将内容叠加在用户的真实世界视图上。如果选择或呼叫远程专家或其它人员,则节点体验模块46可以使网络接口20或另一合适的网络接口建立与该人员的通信链路(例如,经由网络16),并且在某些实施例中,可以叠加人员的静止图像或视频直到通信结束。
其它节点体验可列出和/或图形描绘所选对象/节点与其它对象/节点之间的特定类型的关系。例如,对于一个节点体验,节点体验模块46可以在用户的真实世界视图上叠加与所选对象/节点(例如,父和/或子对象/节点)相关的对象/节点的列表。“关系”可以以任何期望的方式定义,并且可以在添加新节点时由用户手动设置,或者以另一种合适的方式设置。例如,一些关系可以指对象是否是另一对象的部件,和/或其自身包括多个部件。例如,阀可以对应于作为其中每个节点对应于阀的部件的一组节点的父节点的节点。
节点体验模块46可以通过经由web服务接口60查询体验提供单元62来确定关系,其中体验提供单元62从AR数据库72获取相关节点的标识符并向节点体验模块46提供这些节点的指示。通过默认情况下,不显示所有单个阀部件的节点标记和/或节点体验(例如,除非用户特别选择节点或特定选项),否则用户可以免于一次接收大量的视觉信息。
可以以图形方式向用户描绘某些类型的关系。例如,节点体验模块46可以提供对应于所选节点的对象与对应于其它节点的一个或多个其它对象之间的物理或逻辑连接的图形描绘。节点体验模块46可以通过经由web服务接口60查询体验提供单元62来确定连接,其中体验提供单元62从AR数据库72获取所连接的节点的标识符,并且向节点体验模块46提供那些节点的指示。节点体验单元46随后可以生成描绘线路连接的适当对象的显示,并在用户的真实世界视图上叠加线路。图4H中提供了这种节点体验的一个示例,将在下面讨论。
所示的连接和/或其它关系也可以基于用户的选择或分配的角色而不同。在过程控制环境中,例如,可以向“操作员”示出从传感器/发射器设备到罐的线路,其中该线路指示传感器/发射器测量罐中的压力。相反,可以替代地(或另外地)向“工程师”示出从传感器/发射器到接收传感器传输的另一设备的线路,并且可以替代地(或另外地)向“维护员”示出从传感器/发射器到设备的电源的线路(例如,因此维护员可以在维护、修理或更换设备之前轻松找到在哪里关闭电源)。
在一些实施例中,体验提供单元62利用来自其它一个或多个服务器18和/或一个或多个应用19的数据和/或功能,以便提供一个或多个节点体验,和/或响应于从体验提供单元62发送的数据,可以启动一个或多个应用19。下面结合图2讨论在过程控制环境中的这些实施例的一些示例。
如上所述,节点体验模块46可以基于用户的选择或分配的角色(例如,操作员、维护员等)来确定是否增加特定映射对象的用户的真实世界视图。另外或替代地,节点体验的类型和/或由特定体验提供的内容或交互可以基于用户角色而不同。例如,具有“维护员”角色并且在他或她的真实世界视图中具有泵的用户可以被呈现节点体验,该节点体验示出了泵的预定的维护提醒,而具有“操作员”或“工程师”的用户可以替代地被呈现在过程控制例程内与泵的逻辑连接有关的信息。如果计划的维护是过期的,则可以向维护员显示警报,而在其它情况下(例如,如果泵发生故障)可以仅向操作员或工程师显示警报。
节点创建模块48支持在3D地图内添加与用于注册AR移动设备12的地标相对应的新节点。在一些实施例中,任何用户都可以将新节点添加到3D地图。在其它实施例中,仅可以使用某些用户角色和/或仅某些AR设备来添加新节点。为了添加新节点,用户可以将AR移动设备12的视场(例如,在视场内居中的十字线)指向将要映射的真实世界对象,并选择选项以添加对象作为作为新节点。
根据实施例,这可以以不同方式实现。例如,用户可以选择叠加的菜单项(例如,虚拟的“添加节点”按钮),或发出语音命令,并且节点创建模块48可以作为响应将十字线叠加在用户的真实世界视图上。在将十字线瞄准对象时,用户可以激活另一个控件(例如,虚拟“确认”按钮)或发出第二语音命令。作为响应,节点创建模块48可以确定对象的地点,并提示用户输入节点名称和/或描述。然后,节点创建模块48随后可以经由网络16将地点、所输入或说出的名称等发送到web服务接口60,并且3D模型生成单元64可以至少将地点和节点标识符(例如,由用户输入或说出的节点名称)添加到AR数据库72。
为了确定被映射的对象的地点,节点创建模块48可以利用AR移动设备12的当前地点(由定位和方位模块44确定),并且基于AR移动设备12与对象之间的距离以及AR移动设备12的方位两者偏移该地点。如上所述,这可以以类似于在地标处注册时确定AR移动设备12的初始3D地点的方式来实现。例如,节点创建模块48可以使用深度感测技术处理由相机24捕获的对象的图像,以确定AR移动设备12与对象之间的距离。然后,定位和方位模块44可以基于所确定的AR移动设备12的距离和方位(例如,基于AR移动设备12的视场在对象的图像被捕获时正面对的距离和方向)来偏移对象地点离AR移动设备12的地点。
在一些实施例中,节点创建模块48还可以用于更新/修改现有节点。例如,由节点体验模块46提供的菜单可以包括用于更新节点信息的选项。如果被选择,则节点创建模块48可以在用户的真实世界视图上叠加一个或多个菜单或其它用户界面,以使用户能够改变与节点有关的信息(例如,节点名称、节点描述等)。可以经由网络16将任何变化发送到web服务接口60,并且3D模型生成单元64可以相应地更新AR数据库72。
在一些实施例中,AR应用32配置AR移动设备12以增强用户的虚拟视觉,超出上述增强特征。例如,对于某些类型的节点,视觉增强模块50可以确定映射的对象何时位于由用户的当前视场捕获的区域内(例如,如上面针对节点体验模块46所讨论的),但是被一个或多个其它节点遮蔽,并向用户提供虚拟“X射线视觉”。如果建立了一个或多个其它标准(例如,如果视觉增强模块50确定隐藏对象在AR移动设备12的阈值距离内),则可以仅提供虚拟x射线视觉,或者不管任何其它标准可以提供虚拟x射线视觉。
在一个这样的实施例中,针对至少一些节点条目中的每一个条目,AR数据库72包括标志或其它可见性指示符,其指示该节点可能隐藏在任何用户的视图中。该可见性指示符可以基于已知的对象关系自动生成(例如,如果3D模型生成单元64访问控制系统以学习对应于该节点的对象位于机柜内),或者可能已经由用户手动设置(例如,当经由节点创建模块48叠加在用户的真实世界视图上的用户界面添加节点时)。当特定的映射对象位于用户的视场内时,视觉增强模块50可以经由网络16和web服务接口60查询后端服务器14的视觉增强单元66,并且视觉增强单元66可以进而访问AR数据库72以获取相关的可见性指示符。然后,视觉增强单元66可以使用web服务接口60将可见性指示符或指示对象是否被遮蔽的其它数据发送到视觉增强模块50。
替代地,视觉增强模块50和/或视觉增强单元66可以以其它方式进行可见性确定。例如,特定的映射对象或一组对象可以在标有模型号、QR码或其它视觉指示符的机柜内。视觉增强模块50可以处理由相机24捕获的视觉指示器的图像,以确定机柜的标识符(例如,节点标识符),并且经由web服务接口60将标识符发送到视觉增强单元66。然后,视觉增强单元66可以使用该标识符来确定哪些映射对象(例如,现场设备、I/O卡等)在机柜内,并且发回指示机柜内的对象被遮蔽的数据。
为了针对给定对象提供虚拟x射线视觉的效果,视觉增强模块50可以获取对象的超逼真或伪逼真2D或3D模型,或对象的数字图像或视频,并将该模型、图像或视频叠加在用户视场中的对象(或对象附近)上方。不管是默认,还是响应于对2D或3D模型的用户选择,还是语音命令等,节点体验模块46还可以提供视觉菜单选项或语音命令辨识,以使用户能够针对节点选择各种体验,如上所述。因此,当隐藏对象直接位于用户的视场中时,他/她可以以看起来及“感觉”非常类似于与真实世界对象交互的方式与隐藏对象交互。
视觉增强模块50还可以或替代地以其它方式增强用户的虚拟视觉。如果对象处于限制进入和/或危险区域(例如,在非常高的位置、障碍位置、高电压或有毒区域等)中,和/或离用户很远,例如,视觉增强模块50可以使用户能够将表示对象的“化身”获取到他或她的视场中。化身可以与上面针对x射线视觉示例描述的2D或3D模型、图像、视频等相同,或者可以在某些方面不同。实际上,在一些实施例中,虚拟x射线视觉仅仅是用于召唤真实世界对象的化身的多个用例之一。
取决于实施例和/或场景,可以以不同方式召唤化身。在一些实施例中,如果满足某些标准,视觉增强模块50首先在用户的真实世界视图上叠加视觉指示符,其中视觉指示符给出相对于用户的真实世界视图的对应对象的位置的某个指示。例如,如果(1)AR移动设备12位于对象的某个阈值距离内,并且(2)节点被标记为受限访问对象,则可以呈现视觉指示符。AR数据库72可以存储指示这种状态的数据,例如(例如,基于用户添加节点时的手动用户输入),或者可以推断状态(例如,如果视觉增强单元66确定对象位于后端服务器14已标记为“危险”区域的区域中,或者如果视觉增强模块50或视觉增强单元66确定对象的地点在z方向上并且因此在非常不同的高度距离AR移动设备12至少阈值距离,等等)。视觉指示器可包括指向对象方向的箭头、通向对象的线条、或位置的某个其它指示。以下结合图7A讨论视觉指示器的一个示例。如果用户选择指示符或进行其它合适的动作(例如,在一些实施例中,如果用户改变他或她的视场以包括对象),则视觉增强模块50可以将化身叠加在用户的真实世界视图上。
在其它实施例中,对象的位置的指示符包括化身本身(例如,具有指向覆盖化身或化身附近的对象位置的箭头/指针)。在其它实施例和/或场景中,视觉增强模块50将化身叠加在用户的视场上,而不呈现对象的位置的任何视觉指示符。例如,视觉增强模块50可以响应于用户请求或搜索对应的对象(例如,通过发出语音命令或手动输入数据),或者响应于用户为相对较远的对象(例如,超过某个阈值距离)选择节点标记而向用户呈现化身。在一个这样的实施例中,化身不会立即以完整尺寸出现。例如,视觉增强模块50可以创建视觉效果,其中化身对于用户看来好像它从对象位置(例如,远在用户之前)移动到恰好在用户前面的地点。例如,化身可以扩大尺寸以模拟更接近用户的绘制效果。
节点体验模块46可以向用户自动提供对象的特定节点体验(除了显示对象的化身之外),和/或可以使用户能够在化身被第一次呈现之后选择一个或多个节点体验(例如,通过发出语音命令或选择菜单选项)。例如,可以提供上面讨论的任何一个或多个节点体验。下面结合图7B讨论可能与化身相关联的体验的一个示例。
在一些实施例中,AR应用32配置AR移动设备12以基于用户的当前地点和/或基于特定区域(例如,与警告相关联的过程工厂的某些区域)中的当前情况来生成警报。警报生成单元68可以周期性地或连续地确定AR移动设备12的当前地点是否在受到警报或警告的区域中,例如,通过将定位和方位模块44报告的地点(经由web服务接口60)与一个或多个地理围栏区域的边界进行比较。如果用户/设备处于与警报相关联的区域中,则警报生成单元68可以经由web服务接口60向基于地点的警报模块52发送警报的指示符,并且基于地点的警报模块52可以在用户的真实世界视图上叠加警报(例如,文本和/或图形)的指示,引起一些其它视觉效果(例如,闪烁的红灯或包含整个真实世界视图的色调),和/或向用户提供音频警报(经由AR移动设备12的扬声器,未在图1中示出)。可替代地或另外地,警报生成单元68可以基于AR移动设备12与特定映射对象的接近度来发送警报指示符(例如,如果对象发生故障并且需要维护,或者应该避免等)。警报生成单元68还可以调节对用户所选的或分配的角色的警报的传递。
在一些实施例中,后端服务器14可以监控AR移动设备(以及因此用户)在映射环境中的的3D位置。为此,用户监控单元70可以基于经由web服务接口60从定位和方位模块44接收的数据,记录已经在地标处注册他们的AR移动设备的用户的当前和/或历史地点。
根据实施例和/或需要,用户位置监控可以用于各种目的。例如,用户监控单元70可以在耦合到后端服务器14(并且未在图1中示出)的显示器或终端上的用户位置,并且显示器或终端的操作员可以在紧急情况下说明员工位置,或在更典型的状况下只是监控用户,以确定是否有任何员工需要医疗援助。还可以使用其它数据来监控员工健康,诸如由AR移动设备12的一个或多个传感器收集的生物测量数据(例如,以检测脉搏、血压、温度等)。作为进一步的示例,可以将员工/用户位置添加到员工培训日志,其被管理员或人力资源人员使用以监控对协议的遵从性,被后端服务器14使用以向用户提供特定于位置的“帮助”信息,等等。在其它实施例和/或场景中,可以在映射的环境内追踪某些非人类移动资产的3D位置。例如,后端服务器14的单元可以出于各种目的监控移动反应器、推车、现场服务卡车、和/或其它对象的3D位置。
在各种实施例中,ML模型65用于增强AR平台。使用训练数据74训练ML模型65,以识别在过程控制(或其它)环境中可能预期的类型的对象。例如,ML模型65可以是任何合适类型的人工神经网络,诸如循环神经网络。在一些实施例中,ML模型65是来自的Core模型或结合了来自的Core模型。在一个替代实施例中,ML模型65包括在不同的计算系统中,并且后端服务器14根据需要远程访问ML模型65。在又一个实施例中,ML模型65存储在AR移动设备12的存储器30中(例如,在经由web服务接口60从后端服务器14下载之后),在这种情况下AR应用32使用ML模型65可以不需要AR移动设备12与后端服务器14之间的通信。
训练数据74可以包括通常在环境中可能遇到的各种不同对象的图像(例如,过程控制装备、现场设备、和/或其它资产),其中每个图像或图像子集用图示的一个或多个图像的对象类型的描述符进行标记。例如,人类审阅者可能已经针对不同对象类型的集合手动标记图像。根据实施例和/或图示的对象,每个图像/对象可以只有一个标签,或者每个图像/对象可以有多个标签。可以使用任何合适的监督学习技术来使用训练数据74训练ML模型65。虽然图1将训练数据74示出为包括在AR系统10中,但是应当理解,在一些实施例中,ML模型65是使用完全独立且远离AR系统10的计算系统训练的模型的副本。
在一个实施例中,AR平台使用训练的ML模型65允许映射用户更容易地对正被添加到3D地图的对象进行分类或归类,这可以促进地图创建和/或地图更新。例如,当AR移动设备12的用户将显示器22上的十字线瞄准特定对象并激活控件(例如,虚拟“确认”按钮或语音命令)时,除了上述功能之外,节点创建模块48可以本地或远程访问ML模型65以获得当前与十字线对准的对象的分类。例如,节点创建模块48可以经由网络16将捕获的一个或多个图像发送到web服务接口60,并且3D模型生成单元64可以使用ML模型65来处理图像(即,使用一个或多个图像作为一个或多个输入/特征)并输出对象的预测分类。相机24可以响应于用户对控件的激活来捕获图像,或者可以仅在其正常操作的过程中捕获一个或多个图像(例如,如果相机24每秒连续捕获多个帧)。
如果ML模型65驻留在后端服务器14处,则后端服务器14可以随后将预测的分类返回到AR移动设备12(例如,经由web服务接口60和网络16)。一旦AR应用32获得预测的分类(无论是来自后端服务器14还是来自本地源),节点创建模块48可以使分类以某种方式呈现给用户。例如,节点创建模块48可以使显示器22在用户的真实世界视图上叠加预测分类的文本表示(例如,一般对象类型或特定型号等),并且用户可以选择应用分类作为表示对象的新节点的描述符(例如,通过说“确认”,或者通过在描述符字段中输入分类等)。然后,节点创建模块48随后可以使3D模型生成单元64以上述方式添加具有由用户选择(例如,确认)的名称/描述符以及环境内的对应位置的新节点。
在一些实施例和/或场景中,ML模型65针对图示的对象输出两个或更多个候选类型/分类,并且用于被呈现用于填充/输入对象描述符的两个或更多个相应选项。例如,选项可以在叠加在用户的真实世界视图上的列表中呈现在显示器22上。ML模型65可以针对每个输出分类输出置信水平,并且例如,并且,当呈现给用户时,可以从最高置信水平到最低置信水平对选项进行排名和排序。还可以使用固定的或用户可配置的阈值来设置最小置信水平,其中从用户显示器中省略具有低于该阈值的置信水平的候选对象类型。
可替代地或另外地,AR平台可以使用经训练的ML模型65来改进用户巡览先前映射(或部分映射)的环境的位置/定位精度。如上所述,定位和方位模块44可以使用IMU 26、相机24和/或AR移动设备12的一个或多个其它传感器(图1中未示出)来追踪用户/设备12相对于AR移动设备12最初注册的地标的变化位置。然而,由于传感器和/或对传感器数据的处理所引入的小错误,因此甚至是诸如VIO之类的高级“航位推测(deadreckoning)”技术也会在用户移动时随着时间的推移具有一定量漂移。
为了校正至少一些这样的漂移,当用户围绕环境移动时,定位和方位模块44可以使得由相机24获得的图像被输入到ML模型65(例如,经由网络16和web服务接口60,如果ML模型65驻留在后端服务器14)。图像可以响应于触发(例如,用户命令)定期地(例如,每帧相机数据,其中以每秒一定数量的帧记录帧)或者在某个其它适当的基础上提供给ML模型65。在该实施例或方面中,对象可以不需要与AR移动设备12的十字线对齐,以便ML模型65辨识对象类型;换言之,对象完全位于给定图像内,或者甚至对象的一部分位于给定图像内可能就足够了。
此后,当ML模型65已输出图像内的对象的预测类型时,该对象类型可用于确定哪个节点对应于图示的对象。例如,后端服务器14或AR移动设备12的漂移校正单元(图1中未示出)可以(本地地,或从AR移动设备12等)接收预测的对象类型,并使用AR移动设备12的当前估计位置(例如,由定位和方位模块44生成的)和预测对象类型识别AR数据库72中与该位置和对象类型相对应的节点。例如,漂移校正单元可以确定AR数据库72的任何节点:(1)与最接近AR移动设备12的当前估计地点的阈值距离和/或位于该阈值距离内的存储地点相关联,以及(2)与和预测的对象类型/类别匹配的存储类型/类相关联,对应于图示的对象。
在一些实施例中,AR移动设备12的当前方位(由定位和方位模块44(或使用由定位和方位模块44生成的数据)确定)也用于识别节点。例如,漂移校正单元可以确定AR数据库72的任何节点:(1)与最接近和/或位于AR移动设备12的当前估计地点的阈值距离内的存储位置相关联,(2)被预期当前在相机24的视场内,以及(3)与和预测的对象类型/类别匹配的存储类型/类相关联,对应于图示的对象。
一旦辨认出对应节点,存储在AR数据库72中的该节点的位置可用于校正或更新用户/设备12的位置。例如,漂移校正单元(如果驻留在后端服务器14中)可以经由web服务接口60和网络16将所获得到的节点位置发送到AR移动设备12,之后定位和方位模块44可以使用节点位置来校正用户/设备12位置,和/或后端服务器14(例如,体验提供单元62和/或用户监控单元70)可以使用节点位置来校正存储在后端服务器14处的用户/设备12的位置。
在一个实施例中,用户/设备12位置简单地被重置为与节点位置相同。然而,这种方法不会考虑用户与图示的对象之间的距离和方向。因此,在一些实施例中,定位和方位模块44(或后端服务器14的单元)还可以使用附加信息来校正用户/设备12的位置。例如,定位和方位模块44(或后端服务器14的单元)可以处理来自相机24的一个或多个图像(例如,用于预测对象类别/类型的相同的一个或多个图像),以便估计用户/设备12与图示的对象之间的距离(或平均距离等)。其它合适类型的数据也可以或替代地用于确定到图示的对象的距离,诸如由声纳、雷达、激光雷达或AR移动设备12的其它深度感测设备(图1中未示出)生成的数据。另外,AR移动设备12的方位可用于确定用户/设备12与图示的对象偏移的方向。
一旦校正了用户/设备12的位置,并且假设存储在AR数据库72中的节点位置是准确的,就可以向用户呈现更准确地反映他或她的当前真实世界地点的增强体验。换而言之,体验提供单元62可以开始提供适合于用户/设备12的经校正的、更准确的位置的节点体验。
ML模型65还可以或替代地在AR平台内以其它方式使用。例如,ML模型65可以用于对已经(例如,通过3D模型生成单元64)被添加到存储在AR数据库72中的地图的对象/节点的位置进行更新。例如,在针对图示的对象识别节点之后(例如,以上述方式),3D模型生成单元64可以使用由定位和方位模块44确定的用户/设备12的位置来更新存储在AR数据库72中的节点位置。用户/设备12与对象之间的距离和方向(例如,如使用来自相机24、IMU 26、和/或一个或多个其它传感器的数据确定的)也可用于更精确地校正节点位置。
在一些实施例中,3D模型生成单元64使用一个或多个规则来确定是否更新节点位置。例如,如果已知AR移动设备12使用优于最初映射对象/节点的设备所使用的定位技术的定位技术,或者仅当AR移动设备12最近在地标处(例如,在当前时间和/或位置的阈值时间和/或距离内)登记时,则3D模型生成单元64可以仅更新节点位置。在其它实施例中,3D模型生成单元64仅基于来自已经识别图示的对象的多个不同AR移动设备的位置数据来更新节点位置。例如,3D模型生成单元64可以基于对应对象的平均位置(如基于位置数据、方位数据、和不仅来自AR移动设备12还来自一些其它类似设备的深度(例如,相机)数据所估计的)来更新节点位置。
在利用ML模型65的上述任何实施方式中,在某些实施例中,ML模型65可以在(最初)训练的ML模型65首次投入运行之后被进一步训练/细化。如果ML模型65用于促进新节点的创建,例如,用于预测对象类型以及由ML模型65预测的并由用户确认或选择的对象类型(或者,在一些实施例和场景中,由用户指示但ML模型65未预测的对象类型)的一个或多个相机图像可以用于进一步训练ML模型65。换言之,附加的相机图像可以用作特征,并且用户确认/选择/输入的对象类型可以用作附加监督学习的标签。
作为另一示例,如果ML模型65用于更新或校正用于巡览用户的位置,则用于预测对象类型以及由ML模型预测并以某种方式确认(例如,通过成功识别靠近用户的位置并且对应于所预测的对象类型的节点而确认,或经由用户输入确认等)的对象类型的一个或多个相机图像可以用于进一步训练ML模型65。换言之,附加的相机图像可以用作特征,并且所确认的对象类型可以用作附加监督学习的标签。
在一些实施方式中,可以随时间收集由相机24(和/或其它AR移动设备的相机)捕获的图像以创建环境的“AR云”,其可以用于在虚拟现实环境中对操作员进行培训,为远程支持技术人员提供浸入式的体验,等等。此外,在一些实施方式中,后端服务器14可以使用ML模型65自动地为所辨识的对象创建新节点,例如,以上述方式,但不需要任何类型的用户确认或其它输入/命令。因此,可以通过在握住或佩戴AR移动设备12时简单地步行和查看环境来创建3D地图。此外,在一些实施例中,可以训练ML模型65来不仅辨识对象类型,还辨识对应于对象的特定部分的类型或类别,诸如对象上的特定物理表面、对象的部件、对象的状态(例如,物理开关是打开还是关闭,传送带当前是否在运行等等)等等。
应理解,图1和以上描述仅表示一些可能的实施例,并且其它实施例也是可能的。例如,AR平台可能不使用基于云的架构或基于Web的服务。作为另一示例,后端服务器14的单元62至68中的一些或全部单元和/或AR数据库72本身的功能可以替代地部分或全部并入AR移动设备12中。作为又一个示例,节点标记和/或节点体验可以在非AR上下文中提供,例如,在虚拟现实(VR)上下文中,或者与非AR、非VR图形用户界面(GUI)相关联。
此外,AR平台可以提供上面未讨论的其它特征。例如,AR移动设备的用户可以添加与AR数据库72中的各节点/对象相关联地存储的字段注释(例如,使用语音命令)、和/或可以发起与各节点/对象相关联的新工作订单等等。
示例过程控制环境
图2是其中可以利用图1的AR系统10的示例性过程控制环境100的框图。过程控制环境100(在此也可互换地称为过程控制系统100或过程工厂100)包括一个或多个过程控制器,其接收指示由现场设备获得的过程测量结果的信号,处理该信息以实现控制例程,并生成通过有线和/或无线过程控制通信链路或网络发送到其它现场设备的控制信号,以控制工厂100中的过程的操作。通常,至少一个现场设备执行物理功能(例如,打开或关闭阀、使输送机移动物料、升高或降低温度、进行测量、检测状况等,以控制过程的操作。某些类型的现场设备通过使用I/O设备与控制器通信。过程控制器、现场设备、和I/O设备可以是有线的或无线的,并且,有线和无线过程控制器、现场设备、和I/O设备的任何数量和组合都可以包括在过程工厂环境或系统100中。
例如,图2例示了过程控制器111,其经由输入/输出(I/O)卡126和128通信地连接到有线现场设备115-122。过程控制器111包括处理器130、存储器132、以及下面进一步详细讨论的一个或多个过程控制例程138。控制器111还经由过程控制通信网络或主干110以及无线网关135通信地连接到无线现场设备140-146。主干110可以包括一个或多个有线和/或无线通信链路,并且可以使用任何合适的通信协议(诸如,举例来说,以太网协议)来实现。在一些配置中(图2中未示出),控制器111可以使用除主干110之外的一个或多个通信网络通信地连接到无线网关135,诸如通过使用支持一个或多个通信协议(例如,符合IEEE802.11的无线局域网协议、移动通信协议(例如,WiMAX、LTE等)、Profibus、Fieldbus等)的任何数量的其它有线或无线通信链路。
控制器111(作为示例,可以是由艾默生过程管理公司销售的DeltaVTM控制器)可以操作为使用现场设备115-122和140-146中的至少一些现场设备来实现批处理或连续处理。在实施例中,除了通信地连接到主干110之外,控制器111还使用与例如标准4-20mA设备、I/O卡126、128和/或任何合适的智能通信协议(诸如现场协议、协议、协议等)相关联的任何期望的硬件和软件通信地连接到现场设备115-122和140-146中的至少一些现场设备。在图2中,控制器111、现场设备115-122和I/O卡126、128是有线设备,并且现场设备140-146是无线现场设备。当然,有线现场设备115-122和无线现场设备140-146可以符合任何其它一个或多个期望的标准或协议,诸如任何合适的有线或无线协议,并且包括将来开发的任何合适的标准或协议。
过程控制器111的处理器130实现或监督可以存储在存储器132中的一个或多个过程控制例程或模块138。为此,处理器130被配置为与现场设备115-122和140-146以及通信地连接到控制器111的其它节点通信,应当注意,如果期望,本文描述的任何控制例程或模块可以具有由不同控制器或其它设备实现或执行的部分。同样,将在过程控制系统100内实现的控制模块138可以采用任何形式,包括软件、固件、硬件等。控制例程可以以任何期望的软件格式(诸如使用面向对象的编程、梯形逻辑、顺序功能图、功能框图、或使用任何其它软件编程语言或设计范例)实现。其上可以存储控制模块138中的一些或所有控制模块的存储器132可以是任何合适类型的一个或多个存储器,诸如随机存取存储器(RAM)和/或只读存储器(ROM)。此外,控制模块138可以被硬编码到例如一个或多个EPROM、EEPROM、专用集成电路(ASIC)、或任何其它硬件或固件元件中。因此,控制器111可以以任何期望的方式配置以实现控制策略或控制例程/模块。
控制器111使用通常被称为功能块的东西来实现控制策略,其中每个功能块是整个控制例程的对象或其它部分(例如,子例程),并且与其它功能块一起操作(经由称为链路的通信)来实现过程控制系统100内的过程控制回路。基于控制的功能块通常执行输入功能(诸如与发射器、传感器或其它过程参数测量设备相关联的输入功能)、控制功能(诸如与执行PID、模糊逻辑等控制的控制例程相关联的控制功能)、或控制某个设备(诸如阀或输送机马达)的操作的输出功能中的一个,以在过程控制系统100内执行某个物理功能。当然,存在混合的和其它类型的功能块。功能块可以存储在控制器111中并由控制器111执行,当这些功能块用于标准4-20mA设备和某些类型的智能现场设备(例如,设备)或与之相关联时,通常是这样的情况,或者功能块可以存储在现场设备本身中并由其实施,这可以是具有Fieldbus设备的情况。控制器111中的一个或多个控制模块138可以实现一个或多个控制回路,其通过执行一个或多个功能块来执行。
有线现场设备115-122可以是任何一种或多种类型的设备(诸如传感器、阀、输送器马达、变送器、定位器等),而I/O卡126和128可以是符合合适的通信或控制器协议的任何类型的I/O设备。例如,现场设备115-118可以是通过模拟线路(或组合的模拟和数字线路)与I/O卡126通信的标准的4-20mA设备或设备,而现场设备119-122可以是使用Fieldbus通信协议通过数字总线与I/O卡128通信的智能设备,诸如Fieldbus现场设备。然而,在一些实施例中,有线现场设备115-122中的至少一些有线现场设备和/或I/O卡126、128中的至少一个I/O卡,附加地或替代地使用主干110和合适的控制系统协议(例如,Profibus、DeviceNet、Foundation Fieldbus、ControlNet、Modbus、HART等)与控制器111通信。
在图2中,无线现场设备140-146使用无线协议(例如协议)经由无线过程控制通信网络170进行通信。这样的无线现场设备140-146可以直接与无线网络170的一个或多个其它设备或节点通信,这些设备或节点也被配置为进行无线通信。为了与未被配置为无线通信的其它节点通信,无线现场设备140-146可以利用连接到主干110或另一个过程控制通信网络的无线网关135。无线网关135提供从主干110到无线通信网络170的各无线设备140-158的访问。具体地,无线网关135提供无线设备140-158、有线设备115-122、和/或过程控制工厂100的其它节点或设备之间的通信耦合。
类似于有线现场设备115-122,无线网络170的无线现场设备140-146执行过程工厂100内的物理控制功能,例如打开或关闭阀、测量过程参数等。然而,无线现场设备140-146被配置为使用网络170的无线协议进行通信。这样,无线现场设备140-146、无线网关135、和无线网络170的其它无线节点152-158可以是无线通信分组的生产者和消费者。
在过程工厂100的一些配置中,无线网络170包括非无线设备。例如,在图2中,现场设备148可以是传统的4-20mA设备,而现场设备150可以是有线设备。为了在网络170内通信,现场设备148和150经由无线适配器152A、152B中的相应的一个无线适配器连接到无线通信网络170。无线适配器152A、152B支持无线协议,诸如WirelessHART,并且还可以支持一个或多个其它通信协议,诸如Fieldbus、PROFIBUS、DeviceNet等。另外,在一些配置中,无线网络170包括一个或多个网络接入点155A、155B,其可以是与无线网关135进行有线通信的单独物理设备,或者可以集成在无线网关135内。无线网络170还可以包括一个或多个路由器158以从无线通信网络170内的无线设备之间转发分组。无线设备140-146和152-158可以通过无线通信网络170的无线链路160和/或经由主干110彼此通信,并与无线网关135通信。
在图2中,过程控制系统100包括通信地连接到主干110的一个或多个操作员工作站171。经由一个或多个操作员工作站171,人类操作员可以监控过程工厂100的运行时操作,以及采取任何可能需要的诊断、校正、维护、和/或其它行动。至少一些操作员工作站171可以位于工厂100中或附近的各种受保护区域,例如,在工厂100的后端环境中,并且在一些情况下,至少一些操作员工作站171可以位于远处(但仍然与工厂100通信连接)。一个或多个操作员工作站171可以是有线或无线计算设备。
示例性过程控制系统100在图2中进一步例示为包括一个或多个配置应用172A和一个或多个配置数据库172B,这些配置应用172A和配置数据库172B中的每一个还通信地连接到主干110。一个或多个配置应用172A的各种实例可以在一个或多个计算设备(图2中未示出)上执行,以使用户能够创建或更改过程控制模块并经由主干110将这些模块下载到过程控制器111和/或其它过程控制器,以及使用户能够创建或更改操作员接口,操作员能够经由该操作员接口查看数据并更改过程控制例程中的数据设置。一个或多个配置数据库172B存储配置的模块和/或操作员接口。通常,一个或多个配置应用172A和一个或多个配置数据库172B可以是集中的并且对于过程控制系统100来说具有单一逻辑外观(尽管配置应用172A的多个实例可以在过程控制系统100内同时执行),并且一个或多个配置数据库172B可以存储在单个物理数据存储设备中或跨多个数据存储设备存储。一个或多个配置应用172A、一个或多个配置数据库172B、及它们的用户界面(图2中未示出)共同形成用于创建/配置控制和/或显示模块的配置或开发系统172。通常但非必要地,配置系统172的用户界面与操作员工作站171不同,其中配置系统172的用户界面替代地由配置和开发工程师使用,而不管工厂100是否正在实时操作中,并且操作员工作站171在过程工厂100的实时(或“运行时”)操作期间由操作员使用。
示例性过程控制系统100还包括一个或多个数据历史库应用173A和一个或多个数据历史库数据库173B,它们中的每个都通信地连接到主干110。一个或多个数据历史库应用173A操作以收集跨主干110提供的一些或全部数据,并将数据存储在一个或多个数据历史库数据库173B中以进行长期存储。类似于一个或多个配置应用172A和一个或多个配置数据库172B,一个或多个数据历史库应用173A和一个或多个数据历史库数据库173B可以是集中的并且对于过程控制系统100来说具有单一的逻辑外观(尽管数据历史库应用173A的多个实例可以在过程控制系统100内同时执行),并且一个或多个数据历史库数据库173B可以存储在单个物理数据存储设备中或跨多个数据存储设备存储。一个或多个数据历史库应用173A、一个或多个数据历史库数据库173B、及它们的用户界面(图2中未示出)共同形成数据历史库系统173。
在一些配置中,过程控制系统100包括一个或多个其它无线接入点174,其使用其它无线协议与其它设备通信,诸如符合IEEE 802.11的无线局域网协议、移动通信协议(诸如WiMAX(全球微波接入互操作性)、LTE(长期演进)或其它ITU-R(国际电信联盟无线电通信部门)兼容的协议)、短波无线电通信(诸如近场通信(NFC)或蓝牙)、和/或其它无线通信协议。通常,这样的一个或多个无线接入点174允许手持式或其它便携式计算设备(例如,用户接口设备175)通过与无线网络170不同并且支持不同于无线网络170的无线协议的相应无线过程控制通信网络进行通信。例如,无线或便携式用户接口设备175可以是由过程工厂100内的操作员使用的移动工作站或诊断测试装备(例如,操作员工作站171之一的实例)。在一些场景中,除了便携式计算设备之外,一个或多个过程控制设备(例如,控制器111、现场设备115-122、无线设备135、140-158等)也使用一个或多个无线接入点174支持的无线协议进行通信。
应当指出,尽管图2仅例示了单个过程控制器111、以及特定数量的现场设备115-122和140-146、无线网关35、无线适配器152、接入点155、路由器1158、和包括在示例性过程工厂100中的无线过程控制通信网络170,但这仅是说明性和非限制性实施例。例如,任何数量的控制器111可以包括在过程控制工厂或系统100中,并且任何控制器111可以与任何数量的有线或无线设备和网络115-122、140-146、135、152、155、158和170通信以控制工厂100中的过程。
现在返回参考图1,使用AR移动设备(例如,AR移动设备12)映射的对象和/或使用ML模型65辨识的对象可以包括控制器111、设备115-122和140-158、I/O卡126、128、无线网关135、和/或工厂100中的其它设备和/或多件装备中的一些或全部,以使得它们在工厂100内的3D地点(并且可能它们彼此之间的关系、它们的化身等)存储在AR数据库72中。在一些实施例中,后端服务器14可以通信地耦合到主干110,而一个或多个其它服务器18可以包括,或者耦合到一个或多个操作员工作站171、配置系统172、数据历史库系统173、和/或过程控制环境100的其它计算设备或系统。
由一个或多个服务器18运行的一个或多个应用19可以包括一个或多个DeltaVTM应用、诊断和维护应用、和/或其它应用或基于软件的系统。因此,一个或多个应用19可以支持节点体验,其显示现场设备的运行时状态和/或测量数据,提供现场设备的运行时控制,显示机器的诊断/维护信息等。仅作为一个示例,可以将与各种设备相关联的和/或现场总线信息呈现给AR移动设备12的用户。体验提供单元62可以启动一个或多个适当的应用19和/或与一个或多个适当的应用19接口连接(例如,经由主干110),以收集所需的显示数据,然后将其转发给节点体验模块46。体验提供单元62还可以或替代地将从节点体验模块46接收的任何用户输入转发给控制器111,以使得适当的现场设备被相应地控制等等。
示例性3D地图
从上面的图1的描述应该理解,AR系统10的3D“地图”不需要是环境的完整模型,并且可以仅包括该环境内的节点的3D位置。图3中示出了仅包含四个对象/节点的高度简化的示例3D地图200。在图3中,z轴对应于高度(例如,高于地面高度)。如上所述,地标位置202可以为环境内的所有其它位置(例如,节点和用户/AR设备位置)提供参考点。
在示例性地图200中,第一对象/节点的第一位置204在偏移{x1,y1,z1}处稍高于(在高度上)地标位置202,第二和第三对象/节点的第二和第三位置206、208仍然分别在偏移处{x2,y2,z2}和{x3,y3,z3}更高一些,并且第三对象/节点的第三位置210仍在偏移处{x4,y4,z4}再高一些。当然,在一些场景中,对于某些对象/节点,x、y和/或z方向上的偏移可能是负的。
在地图200内,{x5,y5,z5}处的位置220对应于AR移动设备的当前位置,诸如图1的AR移动设备12。图3还用虚线描绘了对应于设备的特定方位的AR移动设备的视场222。视场222可以由图1的定位和方位模块44确定,例如,使用来自IMU 26的传感器数据(以及可能的来自相机26的图像数据,例如,利用VIO技术)和相机26的已知方位角范围/角度。虽然图3中未示出,但是定位和方位模块44还可以知道视场222在z方向上的范围,例如,以使得视场222具有锥形形状而不是假设在z方向上的无限覆盖。
在该示例场景中,位置206和208处的对象在设备的/用户的当前视场222内,而位置204和210处的对象不在。图1的体验提供单元62可以例如基于节点地点(如存储在AR数据库72中)、AR移动设备的位置220和方位(由定位和方位模块44确定以及经由web服务接口60转发)以及相机24的视场的已知或估计特征来做出这种判断。基于判断哪些对象/节点位于视场222内,经验提供单元62可以发送数据给AR移动设备12,指示将仅针对位置206和208处的对象呈现节点标记(和/或特定的节点体验)。节点体验模块46可以处理该数据,并且作为响应,在显示器22上对应于位置206和208的点处或附近叠加节点标记和/或其它信息。
作为另一示例,AR移动设备12的模块或后端服务器14的单元(均未在图1中示出)可以结合ML模型65的输出使用所确定的视场222,以识别与在来自相机24的一个或多个图像中所辨识的对象相对应的节点。然后,如上所述,可以使用存储在AR数据库72中的节点位置来校正用户/设备12的位置,反之亦然。
示例性AR用户界面
现在将结合图4A至4H描述可以叠加在AR显示器(例如,图1的AR移动设备12的显示器22)上的一组示例性用户界面。为了便于解释,还将参考图1的AR系统10,尽管所示的用户界面可以替代地用在其它系统中。对于可以进行用户选择的用户界面,可以由用户直接查看特定菜单选项来进行选择(例如,如果用户界面相对于环境具有固定地点,而不是相对于显示器22的中心的固定地点)。在其它实施例中,可以通过用户发出适当的语音命令、在键盘或触摸屏上输入数据、或以其它合适的方式进行选择。
首先参考图4A,用户界面200使用户能够选择特定的“角色”,如上面结合图1所讨论的。可以在启动AR应用32时或在其它合适的时间向用户显示用户界面200。AR应用32可以先验地知道可用角色,或者可以通过经由web服务接口60查询后端服务器14来被告知可用角色。一旦选择了角色,角色识别模块40就可以经由Web服务接口60将指示角色的数据发送给后端服务器14。然后,体验提供单元62、警报生成单元68、和/或后端服务器14的其它部件可以利用所选择的角色来确定要增强的适当节点,针对特定节点提供的适当类型的体验和/或内容等等,如上所述。
图4B描绘了用户界面220,其可以充当用户当前视场内的一些或所有对象中的每一个对象的节点标记(受制于任何其它标准,诸如接近度或用户角色)。示例性用户界面220包括指示对象/节点的状态的图标(带圆圈的“X”)和描述符(“状态字”)、节点名称(例如,过程控制工厂内的设备标识符,诸如“ESD-3,”等)、节点的简短描述(例如,“紧急关闭开关”等)、以及从这些信息段引导到用户界面220底部的实心圆圈的垂直线。实心圆圈(或其它指示符)可以放置在用户真实世界视图内的对应对象的{x,y,z}位置,例如,在将节点添加到3D地图时用户(或另一用户)所关注的真实世界{x,y,z}位置。例如,文本和线条可以根据需要旋转以保持与AR移动设备12和用户的垂直轴对准,或者可以始终与z轴对准。
状态图标和描述符可以指示是否应该关于对象采取某种动作,和/或是否存在关于对象的某种危险。例如,图4B中所示的带圆圈的“X”可以对应于“关键”状态,三角形中的“!”可以对应于“警告”的状态,菱形中的“i”可以对应于“咨询”状态,并且没有图标可以对应于“正常”状态。虽然图4B示出了一系列可能的状态图标,但是应该理解,对于该特定实施例和/或场景,用户界面220仅包括带圆圈的“X”图标。针对特定对象/节点描绘的状态以及该状态的含义可以根据用户的角色而变化。
用户界面220的节点标记(即,在图4B中,文本、线条和实心圆圈)可以随着距AR移动设备12的距离而缩放尺寸,以使得较近的对象具有较大的节点标记并且更远的物体具有较小的节点标记。在一些实施例中,例如,用户界面220通过附加文本、附加图形、和/或颜色编码的方式包括更多信息(例如,用于“关键”状态的红色文本和线条、用于“正常”状态的绿色文本和线条,等等)。
图4C描绘了可以在用户界面200处选择用户角色之后或在另一合适时间出现的用户界面240。用户界面240中的“+”图标可以由用户选择以将新节点添加到3D地图,如上面结合图1所讨论的。用户可以选择头盔图标来选择不同的角色,并且用户可以选择第三个图标来管理某些设置,如下所讨论的。用户界面240中的矩形框可以向用户显示系统消息。例如,消息框可以用于显示由警报生成单元68和/或基于地点的警报模块52生成的警报。
图4D描绘了如果用户选择用户界面240中的设置图标则可以出现的用户界面260。如图4D中所示,用户界面260使用户能够改变AR移动设备12的名称或标识符、地标标识符、以及后端服务器14的名称或IP地址。例如,当对web服务接口60进行web服务调用时,AR移动设备12可以使用这些值中的一些或全部。
图4E描绘了如果用户在用户界面240中选择“+”(添加节点)图标则可以出现的简单用户界面280。在该示例中,用户界面280仅仅是十字线(例如,在用户显示器22的中心),从而用户可以简单地通过环顾四周(例如,如果AR移动设备12是AR头盔或护目镜,或者智能眼镜)、或通过其它方式瞄准AR移动设备12(例如,如果是平板电脑或智能手机)的相机24来在真实世界环境中的任何位置对准中心。AR应用32的节点创建模块48可以要求用户确认何时适当地放置十字线(例如,通过发出语音命令),或者如果相机24的视场在某个阈值时间段基本上没有改变则可以假定适当的放置,等等。
图4F描绘了用户界面300,其可以在用户已经定位用户界面280的十字线之后,并且在定位和方位模块44已经确定用于放置新对象/节点的必要的地点和/或方位信息(例如,AR移动设备12的地点、设备12的方位、以及从设备12到对象的距离)之后出现。示例性用户界面300包括用于用户输入节点名称和/或节点描述的文本框。替代地,可以通过语音命令提供该信息中的一些或全部(例如,如果用户选择麦克风图标)。在其它实施例中,可以通过使用光学字符识别(OCR)技术处理对象的一部分的图像来确定节点名称和/或描述。例如,用户可以将相机24指向贴在对象上并包括序列号、型号、或其它标识符的标签或标记。然后,标识符可以经由web服务接口60被发送到后端服务器14并与存储在后端服务器14处的信息交叉引用,或者存储在另一个系统或数据库(例如,一个或多个其它服务器18之一),以确定节点名称和/或描述。在其它实施例中,ML模型65可用于预测如上所述的对象类型。然后,可以在用户界面300内显示所预测的类型(例如,作为文本窗口上方的文本,或者通过自动填充文本窗口,等等)。
图4G描绘了当用户已经选择了该对象/节点(例如,通过选择用户界面220的节点标记)时可以针对特定对象/节点出现的用户界面320。例如,用户界面320可以由节点体验模块46基于指示由后端服务器14的体验提供单元62提供的对于该节点的可用体验的数据来生成。示例性用户界面320包括在用户界面220中的节点标记以及两个矩形区域上示出的节点名称和描述。用户界面320底部的实心圆圈可以在对象(在真实世界视图内)上保持处于与其在用户界面220中的地点相同的地点。第一“工作”区域,如图4G中的空白矩形所示,可以显示与所选对象/节点有关的附加信息,诸如对象的状态信息、对象的详细警报信息等(例如,取决于所提供的节点体验的类型和/或用户的角色)。
用户可以从第二区域中选择期望类型的节点体验,列出可用于节点的那些节点体验(并且可能可用于用户的角色)。如图4G所示,在该示例中,可用的节点体验包括“更多信息”(例如,以在工作区域中提供附加类型的基于文本的信息)、“连接”(例如,以显示到其它对象/节点的物理或逻辑连接,如下面结合图4H所讨论的)、“信息链接”(例如,以在工作区域中显示来自“帮助”文档、指导视频、或特定URL处的其它网页信息)、“子对象”(例如,以在工作区域中显示与作为所选对象/节点的“子”相关的其它对象/节点的关系)、“过程值”(例如,以在工作区域中显示从一个或多个其它服务器18和一个或多个应用19之一获得的控制过程值)、以及“工作订单”(例如,以在工作区域中显示与所选对象/节点相关联的工作订单的文本)。其它类型的体验也是可能的。例如,可以选择附加(或替代)节点体验以提供节点/对象的互锁信息,诸如节点/对象的当前旁路状态。替代地,可以在上面讨论的“更多信息”体验内呈现这样的信息。
图4H描绘了当用户已经在用户界面320中选择“连接”图标时可以出现的用户界面340。对于用户界面340,节点体验模块46渲染当前所选对象/节点的{x,y,z}地点与当前所选对象/节点物理和/或逻辑连接的对象/节点的{x,y,z}地点(例如,如上结合图1所讨论的)之间的线条。用户界面340底部的实心圆圈可以处于先前地点,而用户界面340顶部的实心圆圈可以处于后面地点。当然,实心圆圈的相对地点可以根据场景而改变(例如,用于所选对象/节点的圆可以在真实世界视图中比用于所连接对象/节点的圆看起来更高)。
在图4H的实施例中,节点体验模块46用三个段渲染连接线条:第一段(从当前选择的对象/节点开始)指示沿y轴的距离和方向,第二段(从第一段的末尾开始)指示沿x轴的距离和方向、以及第三段(从第二段的末尾开始)指示沿z轴的距离和方向并在所连接的对象/节点处结束。线条段可以是彩色编码的、通过线条格式(虚线、实线等)编码的、和/或以其它方式编码以提供附加信息(例如,用于指示当前不起作用的通信连接)。在其它实施例中,可以以不同的方式描绘连接,诸如对象/节点之间的单个线条段(例如,其中线条越来越宽或越来越窄以描绘与用户的距离)。在各种不同的实施例中,可以在用户界面340中示出与多个不同对象/节点的连接,或者用户可能需要选择期望可视化的每个单独的连接。
示例性AR数据库
图5A和图5B共同描绘了可以由图1的AR数据库72使用的数据库结构400(例如,当在图2的过程控制环境100中使用时)。在数据库结构400中,每个框都表示可以存储在AR数据库72中的表格,其中每个框的最上面的行是表格名称(例如,“节点”、“节点状态”等)。这些表格使用主键链接,每个主键在图5A和图5B中都通过键图标和字母“PK”表示。
数据库结构400实现了数据项的有效交叉引用,并允许用户和系统在不破坏现有链接或需要大量更新的情况下进行更新。例如,使用“节点ID”主键允许用户改变现有节点的“节点名称”,而无需更新其它相关表格。图5B中的“获得OPCDA”表格可以对应于上面结合图4G描述的“过程值”节点体验。
示例性增强的虚拟视觉
图6和图7涉及其中AR平台(例如,由图1的AR系统10提供)提供增强用户的“虚拟视觉”的特征的实施例。图6描绘了一种特定场景,其中“虚拟x射线视觉”特征(以上结合图1讨论的)用于“看到”过程控制环境内的封闭机柜(例如,在图2的过程控制环境100内)中,而图7A和7B描绘了一个特定场景,其中为处于过程控制环境的受限访问(例如,难以到达或危险)区域和/或远离用户的当前位置的传感器/变送器设备提供“化身”(也在上面结合图1讨论的)。
首先参考图6的示例,封闭的(并且可能是锁定的)机柜500可以包含多个内部部件(图6中未示出),诸如I/O卡、断路器等。当满足上面结合图1讨论的标准中的任何一个标准时(例如,内部部件处于AR移动设备12的视场内并且在阈值距离内,和/或机柜500正在由用户进行选择等),并且如果确定机柜500包含被遮蔽的对象/节点(也如上所述,例如,基于机柜与内部部件之间的已知关系,和/或通过扫描QR码等),则图1的视觉增强模块50可以在用户的真实世界视图上叠加用户界面520。
用户界面520包括内部部件的描绘522。描绘522可以是机柜500内的实际部件相对于彼此的实际布置的图像。在其它实施例中,描绘522单独地或以描绘这些部件在机柜500内的相对布置的方式包括部件的超逼真或伪逼真图形表示(例如,3D模型、2D模型等)。在任何情况下,描绘522可以向用户提供类似于他或她在查看实际内部部件时将具有的体验的AR体验。
用户界面520可以在用户的真实世界视图中直接叠加在机柜500上方,并且适当地缩放,以便将描绘522在隐藏的内部部件的实际地点上方对准。替代地,用户界面520可以在用户的真实世界视图中从机柜500偏移,可能通过线条或一些其它手段连接。
描绘522可以包括或可以不包括用于内部部件中的各个单独的内部部件的节点标记(例如,类似于图4B的用户界面220),达到这些部件先前已被映射的程度。此外,用户界面520可以使用户能够通过选择这样的节点标记、通过选择描绘522本身、或通过发出适当的语音命令来选择各种节点体验。描绘522或用户界面520还可以包括用户可以选择从他或她的视图中解除描绘522的控件(例如,在一个角落中的“X”),或者可以使用合适的语音命令。
现在参考图7A,方向指示器550包括特定对象(这里,传感器/变送器设备)的描绘以及示出对象相对于用户的真实世界视图的大致方向的箭头。例如,图1的视觉增强模块50可以响应于关于远程和/或受限访问对象的化身的上述(结合图1)的情况中的任何一种情况,将方向指示符550叠加在用户的真实世界视图上方。示例性方向指示符550中的对设备的描绘是真实的模型或图像,但是当然其它格式也是可能的(例如,轮廓、动画、视频等)。
如果用户选择方向指示符550,则视觉增强模块50可以在用户的真实世界视图上叠加“化身”560,如图7B所示。虽然图7B中所示的化身560与方向指示符550中的对对象的描绘相同,但是在其它实施例中,化身560比方向指示符550中的描绘(如果有的话)更详细和/或更逼真。类似于图6的描绘522所示,化身560可以向用户提供类似于他或她在查看紧邻的实际对象(这里,传感器/变送器设备)时将具有的AR体验。实际上,如上所述,图6的虚拟x射线视觉特征可以仅仅是图7B中所示的视觉增强的特殊情况,其中图6的描绘522是包含在机柜510中的各部件的化身的集合。
如果用户选择化身560或发出适当的语音命令,则视觉增强模块50可以在用户的真实世界视图内在化身560附近叠加用户界面570。替代地,用户界面570可以默认呈现化身560,而不需要对化身560的任何用户选择或任何语音命令。图7B的示例性用户界面570对应于提供过程值(这里是传感器读数)的节点体验,并且允许用户控制设备(这里,通过启动校准过程)。为了实现该节点体验,图1的体验提供单元62可以与由一个或多个其它服务器18运行的一个或多个应用19通信,如上所讨论的。例如,体验提供单元62可以使过程控制应用启动,或使用API与正在执行的过程控制应用接口连接,等等。
示例性3D映射方法
图8描绘了用于使用移动设备映射真实世界过程控制环境(例如,图2的过程控制环境100)的示例性方法600。例如,可以使用图1的AR移动设备12或另一合适的移动设备来执行方法600。在一些实施例中,可以使用没有AR能力的移动设备。
在框602处,移动设备在过程控制环境中的参考或“地标”位置处注册。注册可以包括使用移动设备的相机(例如,图1的相机24)来扫描位于参考位置的代码(例如,QR码或其它图像)的视觉表示。例如,代码可以位于墙壁上(例如,在板或海报上)。
在框604处,当移动设备由用户移动通过过程控制环境时,至少移动设备的IMU(例如,图1的IMU 26)用于追踪移动设备相对于参考位置的3D地点,并用于追踪移动设备的方位。框604可以无限期地(例如,与框606至610同时地)继续,直到用户结束AR体验(例如,通过使移动设备断电、或者关闭在移动设备上运行的应用等)。框604处的追踪还可以使用移动设备相机。例如,VIO技术可用于追踪移动设备的地点和方位。
在框606处,在移动设备处检测用户输入,该用户输入指示新节点将被添加到过程控制环境的3D地图。用户输入可以例如是用户语音命令(例如,“添加节点”)、或用户对菜单选项的选择(例如,通过将移动设备相机聚焦在特定位置、或在键盘或触摸屏上输入数据)。
在框608,至少基于移动设备的追踪的3D地点和移动设备的追踪的方位来确定真实世界对象的3D地点(相对于参考位置)或使得真实世界对象的3D地点(相对于参考地点)被确定。在一个实施例中,框608包括使用移动设备的相机捕获真实世界对象的图像(例如,在输入用户被输入时或之后不久)。然后,至少通过使用深度感测技术处理相机图像,可以从图像确定移动设备与对象之间的距离。然后,可以基于所追踪的移动设备的3D地点和方位以及所确定的距离来确定3D地点或使得3D地点被确定。
在一些实施例中,在框608处由执行方法600的设备、系统等直接确定对象的3D地点。在其它实施例中,执行方法600的设备、系统等使得另一设备、系统等确定对象的3D地点,例如,通过经由web服务接口(例如,图1的web服务接口60)发出请求。
在框610处,至少通过使对象的3D地点与新节点相关联地存储来使得节点数据库或库将新节点添加到3D地图。框610可以包括例如使用web服务接口来使得远程服务器(例如,图1的后端服务器14)至少将新节点的3D地点存储在节点数据库(例如,图1的AR数据库72)中。
方法600可以包括图8中未示出的一个或多个框。例如,方法600可以包括其中在移动设备处接收另一个用户输入(例如,语音命令、键盘输入等)的框,其中用户输入指示新节点的标识符(例如,名称)和/或描述。在这样的实施例中,框610还可以包括使新节点的标识符和/或描述与节点新节点相关联地存储在节点数据库内。
作为另一示例,方法600可以包括与不同移动设备的稍后操作(或者由执行框602到610的相同移动设备的稍后操作)相对应的附加框,其在新节点已被添加到3D地图之后巡览过程控制环境的区域。在第一框中,例如,第二移动设备(例如,AR移动设备12或类似设备)可以在参考位置处注册。此后,可以使用第二移动设备的至少一个IMU(例如,使用VIO技术)来追踪第二移动设备的3D地点(相对于参考位置)和第二移动设备的方位。然后,可以例如通过确定(例如,基于第二移动设备的追踪方位)该对象在第二移动设备的相机的视场内的区域内和/或确定(例如,基于第二移动设备的追踪地点)物理对象接近第二移动设备来检测触发条件。响应于检测到触发条件,与新节点相关联的数字信息可以叠加在第二移动设备的显示器上或通过第二移动设备的显示器看到的真实世界视图上(例如,节点标记,或者根据上面所讨论的任何节点体验)。
用于提供虚拟X射线视觉的示例性方法
图9描绘了用于向真实世界过程控制环境(例如,图2的过程控制环境100)中的AR移动设备的用户提供虚拟增强视觉(例如,虚拟“x射线视觉”)的示例性方法620。方法620可以例如由计算系统或设备(诸如图1的后端服务器14)的一个或多个处理器和/或AR移动设备(诸如图1的AR移动设备12)执行。
在框622,确定与过程控制环境的地图相关联的特定节点(“第一节点”)对应于当前位于AR移动设备的相机(例如,图1的相机24)的视场中的特定真实世界对象(“第一对象”)。第一对象可以是例如结合图2示出或描述的任何设备,或者至少部分不透明的任何其它物理事物。在一些实施例中,第一对象是外壳,诸如被配置为包含多个较小设备或部件的机柜。
在一些实施例中,框622包括检测AR移动设备的当前方位,以及基于AR移动设备的当前方位并且还基于由地图指示的第一节点的地点来确定第一对象当前位于相机的视场内。框622还可以包括基于AR移动设备的当前地点和第一节点地点来确定第一对象位于AR移动设备的某个阈值距离内(例如,10米、50米等)。
在框624,确定第一节点和也与地图相关联的一个或多个其它节点之间的特定关系。该关系(明确地或隐含地)指示对应于一个或多个其它节点的一个或多个其它真实世界对象被第一对象至少部分地遮蔽。例如,节点数据库(例如,AR数据库72或它的一部分)可以存储指示第一节点对应于包含与其它一个或多个节点对应的一个或多个对象(例如,控制器、I/O卡、交换机等)的机柜或其它外壳的数据,并且框624可以包括直接(例如,在本地存储器中)或经由另一计算系统访问节点数据库。在一些实施例中,第一对象用QR码或其它可视代码标记,并且框624包括扫描代码以确定节点标识符,以及使用该节点标识符来确定关系(例如,通过使用标识符作为数据库的键)。
在框626处,从存储器(例如,本地或远程持久性存储器)获取一个或多个数字模型或数字图像,其中一个或多个模型或图像描绘至少部分地被第一对象遮蔽的一个或多个对象。例如,可以从存储器获取一个或多个对象的一个或多个超逼真或伪逼真3D模型、2D模型、动画模型、数字图像、或数字视频。
在框628,使AR移动设备的显示器(例如,图1的显示器22)在第一对象仍然在相机的视场中时向用户呈现所获取的一个或多个模型或一个或多个图像。例如,一个或多个模型或一个或多个图像可以叠加在在显示器上呈现给用户或者由用户通过显示器看到的真实世界视图上。例如,框628可以包括向AR移动设备发送至少一些显示内容和/或发送显示指令(例如,经由图1的web服务接口60)。
方法620可以包括图9中未示出的一个或多个框。例如,方法620可以包括其中针对被遮蔽的对象向用户呈现(例如,最初使用一个或多个模型或一个或多个图像,或响应于进一步的动作,诸如对特定的被遮蔽的对象的模型或图像的用户选择)的一个或多个节点体验的框。
用于可视化受限访问的对象的示例性方法
图10描绘了用于促进AR移动设备的用户与可能处于过程控制环境(例如,图2的过程控制环境100)的受限访问(例如,危险、障碍等)区域的真实世界对象(“第一对象”)之间的交互的示例性方法640。方法640可以例如由计算系统或设备(诸如图1的后端服务器14)的一个或多个处理器和/或AR移动设备(诸如图1的AR移动设备12)执行。
在框642处,当用户移动通过过程控制环境时,使得AR移动设备的显示器(例如,图1的显示器22)将数字信息叠加在处于AR移动设备的相机(例如,图1的相机24)的视场内的环境的部分上。所叠加的信息与过程控制环境的地图(例如,3D地图)中的节点相关联,其中节点对应于环境中的其它真实世界对象。例如,框642可以包括向AR移动设备发送显示内容中的至少一些和/或发送显示指令(例如,经由图1的web服务接口60)。
在框644处,当第一对象不在相机的视场内时,使AR移动设备的显示器指示到第一对象的方向。例如,该指示可以包括文本、箭头、线条、和/或动画。类似于框642,框644可以包括例如向AR移动设备发送显示内容中的至少一些和/或发送显示指令(例如,经由图1的web服务接口60)。
在框646处,在检测到经由AR移动设备做出的用户输入并且指示选择第一对象(例如,请求第一对象的用户界面的语音命令)之后,使得显示叠加在当前位于视场范围内但不包括第一对象、第一对象的数字模型或图像(即,第一对象的“化身”)以及第一对象的用户界面的过程控制环境的一部分上。例如,化身可以是超逼真或伪逼真3D模型、2D模型、动画模型、数字图像、或对象的数字视频。用户界面可以包括一个或多个虚拟控件和/或一个或多个显示,该一个或多个虚拟控件使得用户能够控制第一对象(例如,校准第一对象、设置第一对象的操作参数等),该一个或多个显示呈现与第一对象的状态(例如,诊断状态、维护状态、操作状态等)、设置、和/或输出(例如,传感器读数等)相关联的信息。在一些实施例中,用户界面不与化身同时呈现,而是响应于用户对化身的选择或语音命令而出现(与化身一起)。
在一些实施例中,框644处的方向指示在检测到指示选择第一对象的用户输入(即,图10中所示的序列)之前发生。在一些这样的实施例中,方向指示符(例如,指向包含第一对象的关闭显示区域的箭头)可以响应于检测到(1)第一对象在AR移动设备的阈值距离内以及(2)第一对象当前不在相机的视场内,来生成并显示。用于方向指示符的其它合适的触发器或标准也是可能的。例如,指示符可以仅被提供给具有与第一对象相关的某个用户角色的用户。
在其它实施例中,在检测到已指示选择第一对象的用户输入之后,替代地发生方向指示。例如,用户可以发出语音命令,请求为第一对象获取用户界面(例如,针对第一对象的用户“搜索”),之后将方向指示符(并且可能是化身)叠加在用户的真实世界视图上。
可以使用web服务接口从数据库中(例如,使用web服务接口从图1的AR数据库72中)获取数字模型或图像,无论是与方向指示符一起显示和/或在后续阶段显示。
用于提高呈现给巡览用户的AR信息的准确性的示例性方法
图11描绘了用于提高呈现给巡览真实世界的映射环境(例如,图2的过程控制环境100)的用户的AR信息的准确性的示例性方法660。方法660可以例如由计算系统或设备(诸如图1的后端服务器14)的一个或多个处理器和/或AR移动设备(诸如图1的AR移动设备12)执行。
在框662和664处,当移动设备(例如,图1的AR移动设备12)的用户移动通过映射环境时,移动设备的相机的视场内的特定对象被识别。识别特定对象包括在框662处预测对象类型,以及在框664处识别对应于对象类型的节点。在框662处使用对由移动设备相机捕获的一个或多个图像进行处理的机器学习(ML)模型来预测对象类型,并且在框664处从表示映射环境的地图数据库(例如,图1的AR数据库72)内识别节点。例如,ML模型可以由移动设备和/或由通信地耦合到移动设备的远程服务器来实现。例如,ML模型是经过训练以处理图像从而辨识对象类型的模型,诸如图1的ML模型65。
框664可以包括识别地图数据库内的节点,该节点对应于所预测的对象类型,并且也位于移动设备的估计位置(例如,如使用图1的IMU 26确定的估计位置)的阈值距离内和/或为具有最接近于所估计的移动设备位置的所存储位置的节点(例如,如与具有相同对象类型的其它节点相比)。在一些实施例中,所识别的节点还是在当移动设备处于特定方位(例如,如使用图1的IMU 26确定的方位)时允许与节点相对应的对象处于相机的视场内的方向上从移动设备的估计位置偏移的节点。
在框666处,从地图数据库获取与节点相关联的位置,并且在框668处,所获取的位置用于更新或确认移动设备的一个或多个估计位置。框666例如可以包括计算所获取的节点的位置与移动设备的估计位置(例如,使用IMU 26确定的位置)之间的差值,并使用所计算的超值来调整移动设备的估计位置。
在框670,使数字信息经由移动设备的显示器(例如,图1的显示器22)叠加在呈现给用户的真实世界视图上。数字信息包括至少部分地基于移动设备的一个或多个估计位置所选择的信息,如在框668处更新或确认的。例如,可以基于以上面讨论的任何方式的一个或多个估计位置来选择数字信息(例如,将设备位置以及设备方位与AR数据库(诸如AR数据库72)内的节点位置进行比较,并且根据需要从AR数据库获取针对各节点的信息)。例如,框670可以包括使用特定数据协议或命令将数字信息发送给移动设备,和/或可以包括生成包括数字信息的显示视图。
在一些实施例中,方法660包括第一附加框(图11中未示出)和第二附加框(也未在图11中示出),在第一附加框中,移动设备与特定对象之间的实际距离被确定(例如,通过处理描绘对象的相机图像中的至少一个),在第二附加框中,移动设备的方位被确定(例如,使用IMU 26)。在这样的实施例中,框668可以包括使用所获取的节点的位置、所确定的移动设备与特定对象之间的实际距离、以及所确定的移动设备的方位来更新或确认移动设备的一个或多个估计位置。
用于促进地图创建的示例性方法
图12描绘了用于促进创建真实世界的过程控制环境(例如,图2的过程控制环境100)的地图的示例性方法680。方法680可以例如由计算系统或设备(诸如图1的后端服务器14)的一个或多个处理器和/或AR移动设备(诸如图1的AR移动设备12)执行。
在框682,随着移动设备的用户移动通过映射环境,移动设备(例如,图1的AR移动设备12)的地点被追踪。框682可以包括使用移动设备的惯性测量单元(例如,图1的IMU 26)来追踪移动设备位置,并且如上所述,可以相对于移动设备的先前已知位置(例如,地标位置)来追踪移动。
在框684,当用户移动通过映射环境时,映射环境的图像由移动设备的相机(例如,图1的相机24)捕获。框684至少部分地与框682并行/同时发生,以使得图像中的至少一些与特定的、被追踪的移动设备位置相关联。
在框686处,用户意图将节点添加到地图的指示被接收。框686可以例如包括接收用户经由移动设备输入特定命令(例如,诸如“添加节点”的语音命令)的指示,或者可以包括检测移动设备显示器的十字线已经被置于相同目标上的中心达某个阈值时间量(例如,3秒)。
在框688处,所捕获的图像中的一个或多个图像被提供给机器学习(ML)模型。例如,ML模型可以由移动设备和/或由通信地耦合到移动设备的远程服务器来实现。ML模型例如为被训练为处理图像以辨识对象类型的模型,诸如图1的ML模型65。
在框690,随着ML模型处理一个或多个图像,对应于相机视场内的特定对象的对象类型由ML模型来预测。在一些实施例中,在框690处预测多个“候选”对象类型,其中每个候选对象类型都是可能对应于特定对象的类型。
在框692,使得移动设备的显示器在呈现给用户的真实世界视图上叠加预测对象类型的指示,以便于用户指定新节点的描述符。框692例如可以包括使用特定的数据协议或命令来将预测的对象类型发送给移动设备,和/或可以包括生成包括所预测的对象类型的指示的显示视图。在其中框690包括预测多个候选对象类型的一些实施例中,框692包括使得移动设备显示器在呈现给用户的真实世界视图上叠加每个候选对象类型的指示(例如,基于置信水平的排名顺序)。
用于更新节点位置的示例性方法
图13描绘了用于更新真实世界的映射环境(例如,图2的过程控制环境100)中的节点位置的示例性方法700。方法700可以例如由计算系统或设备(诸如图1的后端服务器14)的一个或多个处理器和/或AR移动设备(诸如图1的AR移动设备12)执行。
在框702处,当移动设备的用户移动通过映射环境时,追踪移动设备(例如,图1的AR移动设备12)的位置。框702可以例如包括使用移动设备的惯性测量单元(例如图1的IMU26)追踪移动设备的位置,并且可以如上所讨论的,相对于移动设备的先前已知位置(例如,地标位置)追踪移动。
在框704处,当用户移动通过映射环境时,映射环境的图像由移动设备的相机(例如,图1的相机24)捕获。框704至少部分地与框702并行/同时发生,以使得图像中的至少一些与特定的、被追踪的移动设备位置相关联。
在框706和708处,移动设备的相机的视场内的特定对象被识别。识别特定对象包括在框706处预测对象类型,以及在框708处识别对应于对象类型的节点。在框706处使用对移动设备相机捕获的一个或多个图像进行处理的机器学习(ML)模型来预测对象类型,并且在框708处从表示映射环境的地图数据库(例如,图1的AR数据库72)内识别节点。ML模型例如可以由移动设备和/或由通信地耦合到移动设备的远程服务器来实现。ML模型例如为被训练为处理图像从而辨识对象类型的模型,诸如图1的ML模型65。
在框710处,使用移动设备的追踪位置来更新或确认存储在地图数据库中的在框708处识别的节点的位置。在一些实施例中,不仅基于移动设备的追踪位置,还基于多个其它移动设备的追踪位置来更新或确认节点位置。例如,当来自阈值数量(例如,10个)的移动设备的追踪位置总体上彼此一致但是与初始存储的节点位置不一致时,可以更新节点位置。
在一些实施例中,方法700包括第一附加框(图13中未示出)和第二附加框(也未在图13中示出),在第一附加框中,确定移动设备与特定对象之间的实际距离(例如,通过处理描绘对象的相机图像中的至少一个),在第二附加框中,确定移动设备的方位(例如,使用IMU 26)。在这样的实施例中,框710可以包括使用移动设备的追踪位置、所确定的移动设备与特定对象之间的实际距离、以及所确定的移动设备的方位来更新或确认节点位置。
一般考虑因素
当用软件实现时,本文描述的任何应用和功能可以作为指令存储在任何有形的、非暂时性计算机可读存储器中,诸如在磁盘、激光盘、固态存储器设备、分子存储器存储设备、或其它存储介质上,在计算机或处理器的RAM或ROM中等。尽管本文公开的示例性系统被公开为除了其它部件外包括在硬件上执行的软件和/或固件,但是应当注意,这样的系统仅仅是例示性的,不应被视为限制。例如,应当预期到,这些硬件、软件、和固件部件中的任何一个或全部都可以专门用硬件、专门用软件、或以硬件和软件的任何组合来体现。因此,尽管本文描述的示例性系统被描述为在一个或多个计算机设备的处理器上执行的软件中实现,但是本领域普通技术人员将容易意识到,所提供的示例并不是实现这样的系统的唯一方式。
尽管已经参考具体示例描述了本发明,这些示例旨在仅仅是例示性的而不是限制本发明,但是对于本领域普通技术人员而言将显而易见的是,在不脱离本发明的精神和范围的情况下,可以对所公开的实施例进行改变、增加或删除。
Claims (20)
1.一种用于提高呈现给用户的增强现实(AR)信息的准确性的方法,所述用户对真实世界的映射环境进行巡览,所述方法包括:
当所述用户移动通过所述映射环境时,识别所述用户的移动设备的相机的视场内的特定对象,其中,识别所述特定对象包括:
由对所述相机捕获的一个或多个图像进行处理的机器学习(ML)模型来预测对象类型,以及
在表示所述映射环境的地图数据库内识别与所述对象类型相对应的节点;从所述地图数据库中获取与所述节点相关联的位置;使用所获取的位置来更新或确认所述移动设备的一个或多个估计位置;以及
使得数字信息经由所述移动设备的显示器叠加在呈现给所述用户的真实世界视图上,所述数字信息是至少部分地基于所更新的或所确认的所述移动设备的一个或多个估计位置来选择的。
2.根据权利要求1所述的方法,其中,识别所述节点包括:
在所述地图数据库内识别与所述对象类型相对应的、并位于所述移动设备的估计位置的阈值距离内的节点,所述估计位置是由所述移动设备的惯性测量单元来确定的。
3.根据权利要求1所述的方法,其中,识别所述节点包括:
在所述地图数据库内识别这样的节点:(i)与所述对象类型相对应,(ii)位于所述移动设备的估计位置的阈值距离内,以及(iii)在当所述移动设备处于特定方位时允许与所述节点相对应的对象位于所述相机的视场内的方向上从所述移动设备的所述估计位置偏移,所述估计位置和所述特定方位是使用所述移动设备的惯性测量单元来确定的。
4.根据权利要求1所述的方法,其中,使用所获取的所述节点的位置来更新或确认所述移动设备的一个或多个估计位置包括:
计算所获取的所述节点的位置与所述移动设备的估计位置之间的差值,所述估计位置是使用所述移动设备的惯性测量单元来确定的;以及
使用所计算的差值来调整所述移动设备的所述估计位置。
5.根据权利要求1所述的方法,还包括:
确定所述移动设备与所述特定对象之间的实际距离;以及
确定所述移动设备的方位,
其中,使用所获取的所述节点的位置来更新或确认所述移动设备的一个或多个估计位置包括使用以下数据来更新或确认所述一个或多个估计位置:(i)所获取的所述节点的位置,(ii)所述移动设备与所述特定对象之间的所述实际距离,以及(iii)所述移动设备的所述方位。
6.根据权利要求5所述的方法,其中,确定所述移动设备与所述特定对象之间的实际距离包括:通过对所述相机捕获的所述一个或多个图像中的至少一个图像进行处理来确定所述实际距离。
7.根据权利要求5所述的方法,其中,确定所述移动设备的方位包括:使用由所述移动设备的惯性测量单元生成的数据来确定所述方位。
8.根据权利要求1所述的方法,其中,识别所述相机的所述视场内的所述特定对象至少部分地由通信地耦合到所述移动设备的服务器来执行。
9.根据权利要求1所述的方法,其中,识别所述相机的所述视场内的所述特定对象至少部分地由所述移动设备来执行。
10.一种用于向巡览真实世界的映射环境的用户呈现准确的增强现实(AR)信息的系统,所述系统包括:
所述用户的移动设备,所述移动设备包括相机和显示器;以及
通信地耦合到所述移动设备的服务器,
其中,所述移动设备被配置为在所述用户移动通过所述映射环境时使用所述相机捕获所述映射环境的图像,
其中,所述移动设备和/或所述服务器被配置为:
至少部分地通过以下步骤来识别所述相机的视场内的特定对象:
(i)由对所述相机捕获的一个或多个图像进行处理的机器学习(ML)模型来预测对象类型,以及(ii)在表示所述映射环境的地图数据库内识别与所述对象类型相对应的节点,
从所述地图数据库中获取与所述节点相关联的位置,
使用所获取的所述节点的位置来更新或确认所述移动设备的一个或多个估计位置,以及
使得数字信息经由所述移动设备的所述显示器叠加在呈现给所述用户的真实世界视图上,所述数字信息是至少部分地基于所更新的或所确认的所述移动设备的一个或多个估计位置来选择的。
11.根据权利要求10所述的系统,其中,所述移动设备包括惯性测量单元,并且其中,所述移动设备和/或所述服务器被配置为在所述地图数据库内识别这样的节点:(i)与所述对象类型相对应,(ii)在所述移动设备的估计位置的阈值距离内,以及(iii)在当所述移动设备处于特定方位时允许与所述节点相对应的对象位于所述相机的视场内的方向上从所述移动设备的所述估计位置偏移,所述估计位置和所述特定方位是使用所述惯性测量单元来确定的。
12.根据权利要求10所述的系统,其中,所述移动设备和/或所述服务器还被配置为:
确定所述移动设备与所述特定对象之间的实际距离;以及
确定所述移动设备的方位,并且
其中,所述移动设备和/或所述服务器被配置为使用所获取的所述节点的位置来更新或确认所述移动设备的一个或多个估计位置包括至少通过使用以下数据来更新或确认所述一个或多个估计位置:(i)所获取的所述节点的位置,(ii)所述移动设备与所述特定对象之间的所述实际距离,以及(iii)所述移动设备的所述方位。
13.一种用于有助于创建真实世界的过程控制环境的地图的方法,所述方法包括:
当用户移动通过映射环境时追踪移动设备的位置;
当所述用户移动通过所述映射环境时,由所述移动设备的相机捕获所述映射环境的图像;
接收所述用户意图将节点添加到所述地图的指示;
将所捕获的图像中的一个或多个图像提供给机器学习(ML)模型,所述ML模型被训练为处理图像以辨识对象类型;
由对所述一个或多个图像进行处理的所述ML模型来预测与所述相机的视场内的特定对象相对应的对象类型;以及
使得所述移动设备的显示器在呈现给所述用户的真实世界视图上叠加所预测的对象类型的指示,以有助于用户指定用于新节点的描述符。
14.根据权利要求13所述的方法,其中,接收所述用户意图将所述节点添加到所述地图的指示包括:接收所述用户经由所述移动设备输入命令的指示。
15.根据权利要求13所述的方法,其中,追踪所述移动设备的位置包括:使用所述移动设备的惯性测量单元来追踪所述移动设备的位置。
16.根据权利要求13所述的方法,其中:
预测与所述特定对象相对应的对象类型包括:预测潜在地与所述特定对象相对应的多个候选对象类型;以及
使得所述移动设备的所述显示器叠加所预测的对象类型的指示包括:使得所述显示器在呈现给所述用户的所述真实世界视图上叠加所预测的多个候选对象类型的指示。
17.一种用于在真实世界的映射环境中更新节点位置的方法,所述方法包括:
当移动设备的用户移动通过所述映射环境时,追踪所述移动设备的位置;
当所述用户移动移动通过所述映射环境时,由所述移动设备的相机捕获所述映射环境的图像;
识别所述相机的视场内的特定对象,其中,识别所述特定对象包括:
由对所捕获的图像中的一个或多个图像进行处理的机器学习(ML)模型来预测对象类型,以及
在表示所述映射环境的地图数据库内识别与所述对象类型相对应的节点;以及
使用所述移动设备的追踪位置来更新或确认存储在所述地图数据库中的所述节点的位置。
18.根据权利要求17所述的方法,其中,使用所述移动设备的所述追踪位置来更新或确认存储在所述地图数据库中的所述节点的位置包括:
使用(i)所述移动设备的追踪位置,以及(ii)一个或多个其它移动设备的追踪位置来更新或确认存储在所述地图数据库中的所述节点的位置。
19.根据权利要求17所述的方法,其中,当所述用户移动通过所述映射环境时,追踪所述移动设备的位置包括:使用所述移动设备的惯性测量单元来追踪所述移动设备的位置。
20.根据权利要求17所述的方法,还包括:
确定所述移动设备与所述特定对象之间的实际距离;以及
确定所述移动设备的方位,
其中,使用所述移动设备的追踪位置来更新或确认存储在所述地图数据库中的所述节点的位置包括使用以下数据来更新或确认存储在所述地图数据库中的所述节点的位置:(i)所述移动设备的所述追踪位置,(ii)所述移动设备与所述特定对象之间的所述实际距离,以及(iii)所述移动设备的所述方位。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/105,249 US11244509B2 (en) | 2018-08-20 | 2018-08-20 | Drift correction for industrial augmented reality applications |
US16/105,249 | 2018-08-20 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110850959A true CN110850959A (zh) | 2020-02-28 |
Family
ID=67990350
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910767393.1A Pending CN110850959A (zh) | 2018-08-20 | 2019-08-20 | 用于工业增强现实应用的漂移校正 |
Country Status (5)
Country | Link |
---|---|
US (2) | US11244509B2 (zh) |
JP (1) | JP7442278B2 (zh) |
CN (1) | CN110850959A (zh) |
DE (1) | DE102019122343A1 (zh) |
GB (2) | GB2606649B (zh) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10650597B2 (en) * | 2018-02-06 | 2020-05-12 | Servicenow, Inc. | Augmented reality assistant |
US11244509B2 (en) | 2018-08-20 | 2022-02-08 | Fisher-Rosemount Systems, Inc. | Drift correction for industrial augmented reality applications |
US11270471B2 (en) | 2018-10-10 | 2022-03-08 | Bentley Systems, Incorporated | Efficient refinement of tiles of a HLOD tree |
WO2020081336A1 (en) * | 2018-10-14 | 2020-04-23 | Bentley Systems, Incorporated | Dynamic frontend-driven generation of an hlod tree |
CN113287154A (zh) | 2018-10-14 | 2021-08-20 | 本特利系统有限公司 | 基础设施模型几何形状到图块格式的转换 |
US11494051B1 (en) * | 2018-11-01 | 2022-11-08 | Intuit, Inc. | Image template-based AR form experiences |
US20200186786A1 (en) * | 2018-12-06 | 2020-06-11 | Novarad Corporation | Calibration for Augmented Reality |
DE102019104822A1 (de) * | 2019-02-26 | 2020-08-27 | Wago Verwaltungsgesellschaft Mbh | Verfahren und Vorrichtung zum Überwachen eines industriellen Prozessschrittes |
US11315287B2 (en) * | 2019-06-27 | 2022-04-26 | Apple Inc. | Generating pose information for a person in a physical environment |
US10916062B1 (en) * | 2019-07-15 | 2021-02-09 | Google Llc | 6-DoF tracking using visual cues |
US11451928B2 (en) | 2019-08-14 | 2022-09-20 | Qualcomm Incorporated | Hierarchical reporting of location assistance information for positioning reference signal (PRS) resources in a multi-beam user equipment-based positioning scenario |
US11393202B2 (en) * | 2020-02-28 | 2022-07-19 | CareAR Holdings LLC | Augmented reality support platform |
US11816887B2 (en) * | 2020-08-04 | 2023-11-14 | Fisher-Rosemount Systems, Inc. | Quick activation techniques for industrial augmented reality applications |
CN112035046B (zh) * | 2020-09-10 | 2024-03-08 | 脸萌有限公司 | 榜单信息显示方法、装置、电子设备及存储介质 |
GB202015887D0 (en) * | 2020-10-07 | 2020-11-18 | Veeride Geo Ltd | Hands-free pedestrian navigation system and method |
US20220188545A1 (en) * | 2020-12-10 | 2022-06-16 | International Business Machines Corporation | Augmented reality enhanced situational awareness |
DE102020133616A1 (de) | 2020-12-15 | 2022-06-15 | Endress+Hauser Process Solutions Ag | Verfahren zum Informieren über einen Fehlerfall in einer Anlage der Automatisierungstechnik |
DE102021108255B3 (de) | 2021-03-31 | 2022-09-01 | Vega Grieshaber Kg | Feldgerät mit Anzeigemittel zur optischen Wiedergabe von erfassten Zuständen und Verfahren |
US20220398847A1 (en) * | 2021-06-09 | 2022-12-15 | Lily Vittayarukskul | Machine learning based remote monitoring of moveable objects using sensor data |
CN113364538A (zh) * | 2021-06-17 | 2021-09-07 | 温州职业技术学院 | 一种基于vr的跆拳道反应能力测试方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020046368A1 (en) * | 1999-03-02 | 2002-04-18 | Wolfgang Friedrich | System for, and method of, situation-relevant asistance to interaction with the aid of augmented-reality technologies |
US20060241792A1 (en) * | 2004-12-22 | 2006-10-26 | Abb Research Ltd. | Method to generate a human machine interface |
CN102736582A (zh) * | 2011-04-05 | 2012-10-17 | 费希尔-罗斯蒙特系统公司 | 一种用于管理多个过程控制资源的方法和装置 |
US9024972B1 (en) * | 2009-04-01 | 2015-05-05 | Microsoft Technology Licensing, Llc | Augmented reality computing with inertial sensors |
US20180073889A1 (en) * | 2015-04-01 | 2018-03-15 | Snapback S.R.L. | Methods and systems foe electronic device interactions |
US20180218542A1 (en) * | 2013-03-01 | 2018-08-02 | Apple Inc. | Registration between actual mobile device position and environmental model |
Family Cites Families (70)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7079990B2 (en) | 2001-02-08 | 2006-07-18 | Solidworks Corporation | Automated connections of computer-aided design components |
US7092974B2 (en) | 2003-03-12 | 2006-08-15 | Right Hemisphere Limited | Digital asset server and asset management system |
US7920071B2 (en) | 2006-05-26 | 2011-04-05 | Itt Manufacturing Enterprises, Inc. | Augmented reality-based system and method providing status and control of unmanned vehicles |
KR101592889B1 (ko) * | 2008-03-03 | 2016-02-11 | 아비길론 페이턴트 홀딩 2 코포레이션 | 트래킹, 인덱싱 및 서치를 위한 물체 매칭 방법 및 장치 |
US20090322671A1 (en) | 2008-06-04 | 2009-12-31 | Cybernet Systems Corporation | Touch screen augmented reality system and method |
US8839121B2 (en) * | 2009-05-06 | 2014-09-16 | Joseph Bertolami | Systems and methods for unifying coordinate systems in augmented reality applications |
US8406997B2 (en) * | 2009-07-15 | 2013-03-26 | Mapquest, Inc. | Systems and methods for improved generation of textual directions based on positional information |
US20140063055A1 (en) | 2010-02-28 | 2014-03-06 | Osterhout Group, Inc. | Ar glasses specific user interface and control interface based on a connected external device type |
US9424371B2 (en) | 2010-11-05 | 2016-08-23 | Autodesk, Inc. | Click to accept as built modeling |
US9865125B2 (en) | 2010-11-15 | 2018-01-09 | Bally Gaming, Inc. | System and method for augmented reality gaming |
US8509483B2 (en) | 2011-01-31 | 2013-08-13 | Qualcomm Incorporated | Context aware augmentation interactions |
KR101199290B1 (ko) * | 2011-03-31 | 2012-11-09 | 전자부품연구원 | 증강현실을 이용한 플랜트 관리 방법 및 시스템 |
US20120306850A1 (en) | 2011-06-02 | 2012-12-06 | Microsoft Corporation | Distributed asynchronous localization and mapping for augmented reality |
US20150153181A1 (en) | 2011-07-27 | 2015-06-04 | Google Inc. | System and method for providing indoor navigation services |
CA2754225A1 (en) | 2011-08-29 | 2013-02-28 | Clover Point Cartographics Ltd. | Geographic asset management system and method |
US9268406B2 (en) | 2011-09-30 | 2016-02-23 | Microsoft Technology Licensing, Llc | Virtual spectator experience with a personal audio/visual apparatus |
US8948456B2 (en) | 2012-05-11 | 2015-02-03 | Bosch Automotive Service Solutions Llc | Augmented reality virtual automotive X-ray having service information |
US9147221B2 (en) | 2012-05-23 | 2015-09-29 | Qualcomm Incorporated | Image-driven view management for annotations |
US9489635B1 (en) * | 2012-11-01 | 2016-11-08 | Google Inc. | Methods and systems for vehicle perception feedback to classify data representative of types of objects and to request feedback regarding such classifications |
US9420275B2 (en) | 2012-11-01 | 2016-08-16 | Hexagon Technology Center Gmbh | Visual positioning system that utilizes images of a working environment to determine position |
CN102981616B (zh) | 2012-11-06 | 2017-09-22 | 中兴通讯股份有限公司 | 增强现实中对象的识别方法及系统和计算机 |
US9730029B2 (en) | 2012-11-08 | 2017-08-08 | Duke University | Unsupervised indoor localization and heading directions estimation |
US9336629B2 (en) | 2013-01-30 | 2016-05-10 | F3 & Associates, Inc. | Coordinate geometry augmented reality process |
US9959674B2 (en) | 2013-02-26 | 2018-05-01 | Qualcomm Incorporated | Directional and X-ray view techniques for navigation using a mobile device |
US20140267234A1 (en) | 2013-03-15 | 2014-09-18 | Anselm Hook | Generation and Sharing Coordinate System Between Users on Mobile |
US10139623B2 (en) | 2013-06-18 | 2018-11-27 | Microsoft Technology Licensing, Llc | Virtual object orientation and visualization |
US9129430B2 (en) | 2013-06-25 | 2015-09-08 | Microsoft Technology Licensing, Llc | Indicating out-of-view augmented reality images |
US9426653B2 (en) * | 2013-07-17 | 2016-08-23 | Honeywell International Inc. | Secure remote access using wireless network |
US20150062123A1 (en) | 2013-08-30 | 2015-03-05 | Ngrain (Canada) Corporation | Augmented reality (ar) annotation computer system and computer-readable medium and method for creating an annotated 3d graphics model |
US9383816B2 (en) | 2013-11-15 | 2016-07-05 | Kopin Corporation | Text selection using HMD head-tracker and voice-command |
US10209955B2 (en) | 2013-11-15 | 2019-02-19 | Kopin Corporation | Automatic speech recognition (ASR) feedback for head mounted displays (HMD) |
US9530250B2 (en) | 2013-12-10 | 2016-12-27 | Dassault Systemes | Augmented reality updating of 3D CAD models |
US20150169597A1 (en) * | 2013-12-17 | 2015-06-18 | Qualcomm Incorporated | Methods and Systems for Locating Items and Determining Item Locations |
US9629774B2 (en) | 2014-01-14 | 2017-04-25 | Toyota Motor Engineering & Manufacturing North America, Inc. | Smart necklace with stereo vision and onboard processing |
FR3019333B1 (fr) | 2014-03-26 | 2016-03-11 | Schneider Electric Ind Sas | Procede de generation d'un contenu en realite augmentee |
US20150302650A1 (en) | 2014-04-16 | 2015-10-22 | Hazem M. Abdelmoati | Methods and Systems for Providing Procedures in Real-Time |
US9754167B1 (en) | 2014-04-17 | 2017-09-05 | Leap Motion, Inc. | Safety for wearable virtual reality devices via object detection and tracking |
US9455957B2 (en) * | 2014-05-07 | 2016-09-27 | Gigamon Inc. | Map sharing for a switch device |
US9723109B2 (en) * | 2014-05-28 | 2017-08-01 | Alexander Hertel | Platform for constructing and consuming realm and object feature clouds |
FR3023948B1 (fr) | 2014-07-21 | 2017-12-22 | Airbus Operations Sas | Procede d'aide a la maintenance d'un aeronef par realite augmentee. |
US9865089B2 (en) | 2014-07-25 | 2018-01-09 | Microsoft Technology Licensing, Llc | Virtual reality environment with real world objects |
US20160140868A1 (en) | 2014-11-13 | 2016-05-19 | Netapp, Inc. | Techniques for using augmented reality for computer systems maintenance |
JP6440539B2 (ja) | 2015-03-13 | 2018-12-19 | 三菱電機株式会社 | 設備情報表示システム、モバイル端末、サーバおよび設備情報表示方法 |
US10950051B2 (en) | 2015-03-27 | 2021-03-16 | Rockwell Automation Technologies, Inc. | Systems and methods for presenting an augmented reality |
US10360729B2 (en) | 2015-04-06 | 2019-07-23 | Scope Technologies Us Inc. | Methods and apparatus for augmented reality applications |
US10007413B2 (en) | 2015-04-27 | 2018-06-26 | Microsoft Technology Licensing, Llc | Mixed environment display of attached control elements |
US10083544B2 (en) | 2015-07-07 | 2018-09-25 | Google Llc | System for tracking a handheld device in virtual reality |
US10206068B2 (en) * | 2015-07-09 | 2019-02-12 | OneMarket Network LLC | Systems and methods to determine a location of a mobile device |
US10037627B2 (en) | 2015-08-14 | 2018-07-31 | Argis Technologies Llc | Augmented visualization system for hidden structures |
US20170053042A1 (en) | 2015-08-19 | 2017-02-23 | Benjamin John Sugden | Holographic building information update |
US10395116B2 (en) | 2015-10-29 | 2019-08-27 | Hand Held Products, Inc. | Dynamically created and updated indoor positioning map |
US10176641B2 (en) | 2016-03-21 | 2019-01-08 | Microsoft Technology Licensing, Llc | Displaying three-dimensional virtual objects based on field of view |
US10198874B2 (en) | 2016-05-13 | 2019-02-05 | Google Llc | Methods and apparatus to align components in virtual reality environments |
US10802147B2 (en) | 2016-05-18 | 2020-10-13 | Google Llc | System and method for concurrent odometry and mapping |
EP3486750B1 (en) | 2016-07-12 | 2023-10-18 | FUJIFILM Corporation | Image display system, control device for head-mounted display, and operating method and operating program for operating same |
JP7182538B2 (ja) | 2016-07-25 | 2022-12-02 | マジック リープ, インコーポレイテッド | 拡張現実および仮想現実アイウェアを用いた結像修正、表示、および可視化 |
CN106230628B (zh) | 2016-07-29 | 2019-08-02 | 山东工商学院 | 一种设备辅助检修方法和系统 |
US20180068370A1 (en) | 2016-09-06 | 2018-03-08 | Wal-Mart Stores, Inc. | Product part picture picker |
US10685489B2 (en) | 2017-03-02 | 2020-06-16 | Daqri, Llc | System and method for authoring and sharing content in augmented reality |
US10878240B2 (en) | 2017-06-19 | 2020-12-29 | Honeywell International Inc. | Augmented reality user interface on mobile device for presentation of information related to industrial process, control and automation system, or other system |
US11074656B2 (en) | 2017-09-14 | 2021-07-27 | Walmart Apollo, Llc | Using machine learning to classify insurance card information |
US10796487B2 (en) | 2017-09-27 | 2020-10-06 | Fisher-Rosemount Systems, Inc. | 3D mapping of a process control environment |
US10620721B2 (en) | 2018-01-29 | 2020-04-14 | Google Llc | Position-based location indication and device control |
US10846902B2 (en) | 2018-03-02 | 2020-11-24 | Imvu, Inc. | Preserving the state of an avatar associated with a physical location in an augmented reality environment |
US20190279438A1 (en) | 2018-03-09 | 2019-09-12 | Progress Rail Locomotive Inc. | Systems and methods for servicing a vehicle |
US11244509B2 (en) | 2018-08-20 | 2022-02-08 | Fisher-Rosemount Systems, Inc. | Drift correction for industrial augmented reality applications |
US11010809B2 (en) | 2018-09-12 | 2021-05-18 | L'oreal | Advanced techniques for improved product photography, interactivity, and information distribution |
US20210020306A1 (en) | 2019-07-15 | 2021-01-21 | Carefusion 303, Inc. | Systems and methods for updating firmware of medical devices while minimizing clinical impact |
US11483670B2 (en) | 2019-10-30 | 2022-10-25 | Sonos, Inc. | Systems and methods of providing spatial audio associated with a simulated environment |
US11455300B2 (en) | 2019-11-18 | 2022-09-27 | Rockwell Automation Technologies, Inc. | Interactive industrial automation remote assistance system for components |
-
2018
- 2018-08-20 US US16/105,249 patent/US11244509B2/en active Active
-
2019
- 2019-07-31 GB GB2209128.4A patent/GB2606649B/en active Active
- 2019-07-31 GB GB1910902.4A patent/GB2577775B/en active Active
- 2019-08-06 JP JP2019144568A patent/JP7442278B2/ja active Active
- 2019-08-20 DE DE102019122343.1A patent/DE102019122343A1/de active Pending
- 2019-08-20 CN CN201910767393.1A patent/CN110850959A/zh active Pending
-
2021
- 2021-12-28 US US17/563,899 patent/US11783553B2/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020046368A1 (en) * | 1999-03-02 | 2002-04-18 | Wolfgang Friedrich | System for, and method of, situation-relevant asistance to interaction with the aid of augmented-reality technologies |
US20060241792A1 (en) * | 2004-12-22 | 2006-10-26 | Abb Research Ltd. | Method to generate a human machine interface |
US9024972B1 (en) * | 2009-04-01 | 2015-05-05 | Microsoft Technology Licensing, Llc | Augmented reality computing with inertial sensors |
US20150235432A1 (en) * | 2009-04-01 | 2015-08-20 | Microsoft Technology Licensing, Llc | Augmented reality computing with inertial sensors |
CN102736582A (zh) * | 2011-04-05 | 2012-10-17 | 费希尔-罗斯蒙特系统公司 | 一种用于管理多个过程控制资源的方法和装置 |
US20180218542A1 (en) * | 2013-03-01 | 2018-08-02 | Apple Inc. | Registration between actual mobile device position and environmental model |
US20180073889A1 (en) * | 2015-04-01 | 2018-03-15 | Snapback S.R.L. | Methods and systems foe electronic device interactions |
Also Published As
Publication number | Publication date |
---|---|
US11783553B2 (en) | 2023-10-10 |
GB2577775B (en) | 2023-02-01 |
GB202209128D0 (en) | 2022-08-10 |
JP7442278B2 (ja) | 2024-03-04 |
GB2606649A (en) | 2022-11-16 |
US11244509B2 (en) | 2022-02-08 |
JP2020106513A (ja) | 2020-07-09 |
DE102019122343A1 (de) | 2020-02-20 |
GB2577775A (en) | 2020-04-08 |
GB2606649B (en) | 2023-05-31 |
GB201910902D0 (en) | 2019-09-11 |
US20200058169A1 (en) | 2020-02-20 |
US20220122332A1 (en) | 2022-04-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11783553B2 (en) | Systems and methods for facilitating creation of a map of a real-world, process control environment | |
US11244515B2 (en) | 3D mapping of a process control environment | |
US11816887B2 (en) | Quick activation techniques for industrial augmented reality applications | |
RU2557468C2 (ru) | Переносной полевой инструмент для технического обслуживания с улучшенной функцией базовой информированности | |
JP2021018710A (ja) | 現場連携システムおよび管理装置 | |
GB2568138A (en) | 3D Mapping of a process control environment | |
GB2606650A (en) | Drift correction for industrial augmented reality applications | |
KR20170089575A (ko) | 증강 현실을 이용한 물류 관리 시스템 |
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 |