CN110178147A - 自动路由到事件端点 - Google Patents
自动路由到事件端点 Download PDFInfo
- Publication number
- CN110178147A CN110178147A CN201880007177.0A CN201880007177A CN110178147A CN 110178147 A CN110178147 A CN 110178147A CN 201880007177 A CN201880007177 A CN 201880007177A CN 110178147 A CN110178147 A CN 110178147A
- Authority
- CN
- China
- Prior art keywords
- physical
- entity
- physical entity
- event
- computing system
- 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.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
-
- 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/20—Instruments for performing navigational calculations
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0238—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
- G06N5/022—Knowledge engineering; Knowledge acquisition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
- G06N5/046—Forward inferencing; Production systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39091—Avoid collision with moving obstacles
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40475—In presence of moving obstacles, dynamic environment
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40607—Fixed camera to observe workspace, object, workpiece, global
Abstract
自动标识用于物理实体在物理空间内采取以便前往事件已经发生、正在发生或预测会发生的事件端点的路线。因此,代替其中对固定端点进行路由的静态路由,与(多个)事件相关地实现动态路由。所标识的端点可以是活动、移动物理实体或一组移动物理实体等。制定路线以在物理空间内将特定物理实体从当前位置移动到所标识的事件的位置。路线制定可以经由参考表示在物理空间内随时间所监测的物理实体的物理图来进行。此外,路线制定可以与规划组件协调进行,该规划组件安排物理空间内的物理实体的移动。
Description
背景技术
计算系统和相关联的网络极大地改变了我们的世界。起初,计算系统只能执行简单的任务。然而,随着处理能力的增加并且变得越来越可用,由计算系统执行的任务的复杂性已经大大增加。同样,计算系统的硬件复杂性和能力也大大增加,如通过由大型数据中心支持的云计算所例示的。
长期以来,计算系统基本上只是完成他们的指令或软件所告知的内容。然而,软件和硬件的使用变得如此先进,以至于计算系统现在比以往任何时候都能够在更高水平上进行某种水平的决策。目前,在某些方面,决策水平可以接近、竞争或甚至超过人类大脑做出决策的能力。换言之,计算系统现在能够采用某种水平的人工智能。
人工智能的一个示例是识别来自物理世界的外部刺激。例如,语音识别技术已经大大改进,以允许高度准确地检测正在说出的单词,甚至是正在讲话的人的身份。同样地,计算机视觉允许计算系统自动标识特定图片或视频帧内的对象,或者识别跨一系列视频帧的人类活动。作为示例,面部识别技术允许计算系统识别面部,并且活动识别技术允许计算系统知道两个邻近的人是否在一起工作。
这些技术中的每一种都可以采用深度学习(基于深度神经网络和基于强化的学习机制)和机器学习算法来从经验中学习产生声音的是什么、以及图像内的对象或人物,从而随时间提高识别的准确性。在识别具有大量视觉干扰的更复杂的成像场景内的对象的领域中,先进的计算机视觉技术现在超出了人类快速且准确地识别该场景内的感兴趣对象的能力。诸如传统图形处理单元(GPU)中的矩阵变换硬件的硬件也可以有助于在深度神经网络的上下文中进行快速对象识别。
本文中要求保护的主题不限于解决任何缺点或仅在诸如上述那些环境中操作的实施例。而是,提供该背景仅用于说明可以实践本文中描述的一些实施例的一个示例性技术领域。
发明内容
本文中描述的至少一些实施例涉及自动标识路线,该路线用于物理实体在物理空间内采取以便前往事件已经发生、正在发生或预测会发生的事件端点。因此,代替其中对固定端点进行路由的静态路由,与事件相关地并且潜在地相对于在路由过程期间可能发生的新障碍而实现动态路由。所标识的端点可以是活动、移动物理实体或一组移动物理实体(例如,由物理状态所标识的物理实体)等。
制定路线以在物理空间内将特定物理实体从当前位置移动到所标识的事件的位置。路线制定可以经由参考表示在物理空间内随时间所监测的物理实体的物理图来进行。此外,路线制定可以与规划组件协调进行,该规划组件安排物理空间内的物理实体的移动。因此,经由本文中描述的原理已经实现了路由中的新范例。
提供本“发明内容”是为了以简化的形式介绍一些概念,这些概念将在下面的“具体实施方式”中进一步描述。本“发明内容”不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。
附图说明
为了描述可以获取本发明的上述优点和其他优点以及特征的方式,将通过参考附图中所示的具体实施例来呈现上面简要描述的本发明的更具体的描述。应当理解,这些附图仅描绘了本发明的典型实施例,因此不应当被认为是对其范围的限制,通过使用附图,将利用附加特征和细节来描述和解释本发明,在附图中:
图1示出了可以采用本文中描述的原理的示例计算机系统;
图2示出了可以在其中操作本文中描述的原理的环境,该环境包括:物理空间,包括多个物理实体和多个传感器;识别组件,感测物理空间内的物理实体的特征;以及特征存储装置,存储这样的物理实体的感测特征,使得可以针对这些特征执行计算和查询;
图3示出了用于追踪位置内的物理实体并且可以在图2的环境中执行的方法的流程图;
图4示出了实体追踪数据结构,该实体追踪数据结构可以用于帮助执行图3的方法并且可以用于稍后对所追踪的物理实体执行查询;
图5示出了用于有效地呈现感兴趣的信号段的方法的流程图;
图6示出了用于控制对由物理空间中的一个或多个传感器所感测的信息的创建或访问的方法的流程图;
图7示出了循环流程,其示出了除了在物理空间中创建感测特征的计算机可导航图之外,还可以修剪计算机可导航图,从而保持真实世界的计算机可导航图处于可管理大小;
图8示出了用于共享信号段中的至少一部分信号段的方法的流程图;
图9示出了用于制定多个物理实体的并发移动的计划的方法的流程图;以及
图10示出了用于标识路线的方法的流程图,该路线用于物理实体在物理空间内采取以便前往事件已经发生、正在发生或预测会发生的事件端点。
具体实施方式
本文中描述的至少一些实施例涉及自动标识物理实体在物理空间内采取以便前往事件已经发生、正在发生或预测会发生的事件端点的路线。因此,代替其中对固定端点进行路由的静态路由,与(多个)事件相关地并且可能相对于在路由过程期间可能发生的新障碍而实现动态路由。所标识的端点可以是活动、移动物理实体或一组移动物理实体(例如,由物理状态标识的物理实体)等。
制定路线以在物理空间内将特定物理实体从当前位置移动到所标识的事件的位置。路线制定可以经由参考物理图来进行,该物理图表示在物理空间内随时间监测的物理实体。此外,路线制定可以与规划组件协调进行,该规划组件安排物理空间内的物理实体的移动。因此,经由本文中描述的原理已经实现了路由中的新范例。
因为本文中描述的原理在计算系统的上下文中操作,所以将关于图1来描述计算系统。然后,将关于图2至图4来描述在计算机可导航图(本文中也称为“物理图”)的上下文中可以执行环境计算的基础的原理。然后将关于图5来描述从物理图获取信号段。此后,将关于图6来描述环境计算的上下文中的安全性应用。将关于图7来描述管理计算机可导航图的大小。然后,将关于图8来描述来自物理图的信号段的共享。最后,将关于图9和图10来描述使用由物理图提供的语义理解的两个相关的规划和路由实现。
计算系统现在越来越多地采用各种各样的形式。例如,计算系统可以是手持设备、电器、膝上型计算机、台式计算机、大型机、分布式计算系统、数据中心、或甚至传统上没有被认为是计算系统的设备,诸如可穿戴设备(例如,眼镜、手表、腕带等)。在本说明书和权利要求书中,术语“计算系统”被广义地定义为包括具有至少一个物理和有形处理器以及能够在其上具有可以由处理器执行的计算机可执行指令的物理和有形存储器的任何设备或系统(或其组合)。存储器可以采用任何形式,并且可以取决于计算系统的性质和形式。计算系统可以分布在网络环境上,并且可以包括多个组成的计算系统。
如图1所示,在其最基本配置中,计算系统100通常包括至少一个硬件处理单元102和存储器104。存储器104可以是物理系统存储器,其可以是易失性的、非易失性的、或两者的某种组合。术语“存储器”在本文中也可以用于指代非易失性大容量存储装置,诸如物理存储介质。如果计算系统是分布式的,则处理、存储器和/或存储能力也可以是分布式的。
计算系统100上具有通常被称为“可执行组件”的多个结构。例如,计算系统100的存储器104被示出为包括可执行组件106。术语“可执行组件”是一种结构的名称,这种结构是计算领域的普通技术人员很好地理解为可以是软件、硬件或其组合的结构。例如,当以软件实现时,本领域普通技术人员可以理解,可执行组件的结构可以包括可以在计算系统上执行的软件对象、例程、方法,而无论这样的可执行组件是否存在于计算系统的堆中,或者无论可执行组件是否存在于计算机可读存储介质上。
在这样的情况下,本领域普通技术人员将认识到,可执行组件的结构存在于计算机可读介质上,使得当由计算系统的一个或多个处理器(例如,由处理器线程)解释时,使得计算系统执行功能。这样的结构可以通过处理器直接计算机可读(如果可执行组件是二进制的,则就是这种情况)。或者,结构可以被构造为可解释和/或被编译(无论是在单个阶段还是在多个阶段中),以便生成通过处理器直接可解释的这样的二进制文件。当使用术语“可执行组件”时,对可执行组件的示例结构的这样的理解完全在计算领域的普通技术人员的理解之内。
术语“可执行组件”被本领域普通技术人员很好地理解为包括专门或近似专门用硬件(诸如在现场可编程门阵列(FPGA)、专用集成电路(ASIC)或任何其他专用电路内)实现的结构。因此,术语“可执行组件”是用于计算领域的普通技术人员很好地理解的结构的术语,无论该结构是以软件、硬件或组合的方式实现。在本说明书中,也可以使用术语“组件”。如在本说明书和在该情况下所使用的,该术语(无论该术语是否用一个或多个修饰符修饰)也旨在与术语“可执行组件”同义或者是特定类型的这种“可执行组件”,并且因此也具有计算领域的普通技术人员很好理解的结构。
在以下描述中,参考由一个或多个计算系统执行的动作来描述实施例。如果这些动作以软件实现,则(执行动作的相关联的计算系统的)一个或多个处理器响应于已经执行构成可执行组件的计算机可执行指令而指导计算系统的操作。例如,这样的计算机可执行指令可以在形成计算机程序产品的一个或多个计算机可读介质上实施。这种操作的示例涉及数据的操纵。
计算机可执行指令(和所操纵的数据)可以存储在计算系统100的存储器104中。计算系统100还可以包含通信信道108,通信信道108允许计算系统100通过例如网络110与其他计算系统通信。
尽管不是所有计算系统都需要用户界面,但是在一些实施例中,计算系统100包括用户界面112,以用于在与用户交互时使用。用户界面112可以包括输出机构112A以及输入机构112B。本文中描述的原理不限于精确的输出机构112A或输入机构112B,因为这将取决于设备的性质。然而,输出机构112A可以包括例如扬声器、显示器、触觉输出、全息图、虚拟现实等。输入机构112B的示例可以包括例如麦克风、触摸屏、全息图、虚拟现实、相机、键盘、其他指针输入的鼠标、任何类型的传感器等。
本文中描述的实施例可以包括或利用包括计算机硬件(诸如例如一个或多个处理器和系统存储器)的专用或通用计算系统,如下面更详细讨论的。本文中描述的实施例还包括用于携带或存储计算机可执行指令和/或数据结构的物理和其他计算机可读介质。这样的计算机可读介质可以是任何可用介质,其可以被通用或专用计算系统访问。存储计算机可执行指令的计算机可读介质是物理存储介质。携带计算机可执行指令的计算机可读介质是传输介质。因此,作为示例而非限制,实施例可以包括至少两种截然不同的计算机可读介质:存储介质和传输介质。
计算机可读存储介质包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储、磁盘存储或其他磁存储设备、或者可以用于以计算机可执行指令或数据结构的形式存储期望的程序代码装置并且可以由通用或专用计算系统访问的任何其他物理和有形存储介质。
“网络”被定义为能够在计算系统和/或模块和/或其他电子设备之间传输电子数据的一个或多个数据链路。当通过网络或另一通信连接(硬连线、无线或者硬连线或无线的组合)向计算系统传输或提供信息时,计算系统适当地将连接视为传输介质。传输介质可以包括网络和/或数据链路,该网络和/或数据链路可以用于以计算机可执行指令或数据结构的形式携带期望的程序代码装置并且可以由通用或专用计算系统访问。上述的组合也应当被包括在计算机可读介质的范围内。
此外,在达到各种计算系统组件时,以计算机可执行指令或数据结构为形式的程序代码装置可以从传输介质自动传输到存储介质(反之亦然)。例如,通过网络或数据链路接收的计算机可执行指令或数据结构可以缓存在网络接口模块(例如,“NIC”)内的RAM中,并且然后最终传送到计算系统RAM和/或计算系统处的较不易失性存储介质。因此,应当理解,可读介质可以被包括在也(甚至主要)利用了传输介质的计算系统组件中。
计算机可执行指令包括例如当在处理器处执行时使得通用计算系统、专用计算系统或专用处理设备执行特定功能或功能组的指令和数据。替代地或附加地,计算机可执行指令可以将计算系统配置为执行某个功能或功能组。计算机可执行指令可以是例如二进制文件(binaries)或者甚至在处理器直接执行之前经历一些转换(诸如编译)的指令,诸如中间格式指令(诸如汇编语言)或甚至源代码。
本领域技术人员将理解,本发明可以在具有很多类型的计算系统配置的网络计算环境中实践,这些类型的计算系统配置包括个人计算机、台式计算机、膝上型计算机、消息处理器、手持设备、多处理器系统、基于微处理器或可编程的消费电子产品、网络PC、小型计算机、大型计算机、移动电话、PDA、寻呼机、路由器、交换机、数据中心、可穿戴设备(诸如眼镜或手表)等。本发明也可以在分布式系统环境中实施,其中通过网络链接(通过硬连线数据链路、无线数据链路或者通过硬连线和无线数据链路的组合)的本地和远程计算系统都执行任务。在分布式系统环境中,程序模块可以位于本地和远程存储器存储设备两者中。
本领域技术人员还将理解,本发明可以在云计算环境中实践。云计算环境可以是分布式的,但这不是必需的。在分布式的情况下,云计算环境可以在国际上在组织内分布和/或具有跨多个组织而拥有的组件。在本说明书和以下权利要求中,“云计算”被定义为用于实现对可配置计算资源(例如,网络、服务器、存储器、应用和服务)的共享池的按需网络访问的模型。“云计算”的定义并不局限于在适当部署时可以从这样的模型中获取的其他很多优点中的任何优点。
例如,云计算当前在市场中使用以便提供对可配置计算资源的共享池的普遍且方便的按需访问。此外,可配置计算资源的共享池可以经由虚拟化快速供应并且以低管理工作量或服务提供商交互来发布,并且然后相应地进行缩放。
云计算模型可以由各种特性组成,诸如按需自助服务、广泛网络访问、资源池、快速弹性、测量服务等。云计算模型还可以以各种服务模型的形式出现,例如,软件即服务(“SaaS”)、平台即服务(“PaaS”)和基础设施即服务(“IaaS”)。云计算模型还可以使用不同的部署模型(诸如私有云、社区云、公共云、混合云等)来部署。在本说明书和权利要求书中,“云计算环境”是其中采用云计算的环境。
图2示出了本文中描述的原理可以在其中运行的环境200。环境200包括物理空间201(也可能被称为“物理空间”),物理空间201包括多个物理实体210,物理实体210可以是发射或反射物理信号(诸如电磁辐射或声学)的任何现存对象、人或事物,这些物理信号具有可以用于潜在地标识相应对象、人或事物的一个或多个物理特征(在本文中也称为状态)的图案(pattern)。这种潜在地标识电磁辐射的示例是具有光图案(例如,静止图像或视频)的可见光,可以从该光图案中确定可见实体的特性。这种光图案可以是任何时间、空间或甚至更高维度的空间。这种声学的一个示例可以是人的语音、正常操作中或经历活动或事件的对象的声音、或者反射的声学回声。
环境200还包括从物理实体210接收物理信号的传感器220。传感器当然不需要拾取物理实体发射或反射的每一物理信号。例如,可见光相机(静止或视频)能够接收以可见光为形式的电磁辐射并且将这些信号转换为可处理的形式,但不能拾取任何频率的所有电磁辐射,因为相机都具有有限的动态范围。声学传感器同样具有针对特定频率范围而设计的有限的动态范围。在任何情况下,传感器220将所得到的传感器信号提供(如箭头229所示)给识别组件230。
识别组件230至少基于在所接收的传感器信号中检测到的图案来估计(例如,估计或识别)该位置内的物理实体210的一个或多个特征。识别组件230还可以生成与物理实体的特征的“至少估计”相关联的置信水平。如果该置信水平小于100%,则“至少估计”仅仅是估计。如果该置信水平为100%,则“至少估计”实际上不仅仅是估计——它是识别。在本说明书的其余部分和权利要求中,“至少估计”的特征也将被称为“感测”特征以提高清楚性。这与术语“感测”的普通用法相一致,因为“感测”的特征并不总是完全确定地存在。识别组件230可以采用深度学习(基于深度神经网络和基于强化的学习机制)和机器学习算法来从经验中学习图像内的对象或人物,从而随时间提高识别的准确性。
识别组件230将感测特征提供(如箭头239所示)到感测特征存储装置240中,感测特征存储装置240可以存储针对位置201内的每个物理实体的感测特征(和相关联的置信水平),而无论物理实体是在短时间内、在长时间内还是永久地在物理空间内。然后,计算组件250可以对在感测特征存储装置240中提供的感测特征数据执行各种查询和/或计算。查询和/或计算可以通过计算组件250与感测特征存储装置240之间的交互(由箭头249表示)来实现。
在一些实施例中,当识别组件230使用由传感器提供的(多个)传感器信号来感测位置201内的物理实体的感测特征时,传感器信号也被提供给存储装置,诸如感测特征存储装置。例如,在图2中,感测特征存储装置240被示出为包括感测特征241以及表示感测特征的证据的对应传感器信号242。
对于多个感测实体中的至少一个实体的至少一个(并且优选地是多个)感测特征,至少一个信号段与感测特征计算机相关联,使得去往感测特征的计算机导航还允许去往信号段的计算机导航。可以连续地执行感测信号与相关联的信号段的关联,从而产生扩展图和信号段的扩展集合。也就是说,如下面进一步描述的,可以使用垃圾收集过程(garbagecollection processes)来清理过时或不再感兴趣的感测特征和/或信号段。
信号段可以包括多条元数据,例如,生成信号段的一个或多个传感器的标识。信号段不需要包括由该传感器生成的信号中的所有信号,并且为了简洁,可以仅包括信号的、用于感测特定物理实体的感测特征的那些部分。在这种情况下,元数据可以包括对所存储的原始信号段的部分的描述。
感测信号可以是由传感器生成的任何类型的信号。示例包括视频、图像和音频信号。然而,各种信号不限于人类可以感测的信号。例如,信号段可以表示由传感器生成的信号的变换版本以允许人类观察到更好的人类焦点。这种变换可以包括滤波(诸如基于频率的滤波)或量化。这种变换还可以包括扩大、频移、速度调节、放大、幅度调节等。
为了允许减少存储要求以及适当地关注感兴趣的信号,可能仅存储信号段的一部分。例如,如果是视频信号,则可能仅存储视频的一部分帧。此外,对于任何给定图像,可能仅存储帧的相关部分。同样,如果传感器信号是图像,则可能仅存储图像的相关部分。使用信号段来感测特征的识别服务知道信号段的哪个部分用于感测特征。因此,识别服务可以针对任何给定的感测特征专门地划出信号的相关部分。
计算组件250还可以具有安全组件251,安全组件251可以确定对感测特征存储装置240的数据的访问。例如,安全组件251可以控制哪些用户可以访问感测特征数据241和/或传感器信号242。此外,安全组件251甚至可以控制对感测特征数据中的哪些感测特征数据执行计算,和/或哪个用户被授权执行什么类型的计算或查询。因此,有效地实现了安全性。关于该安全性的更多内容将在下面关于图6来进行描述。
由于感测特征数据表示随时间的物理空间201内的物理实体的感测特征,因此可以对物理空间201内的物理实体执行复杂计算。如下所述,对于用户而言,好像环境本身充满了有用的计算能力,以便为有关该物理空间的任何计算查询或计算做好准备。这在下文中也称为“环境计算”。
此外,每当对感测特征感兴趣时,可以重构支持感测该特征的识别组件的证据。例如,计算组件240可以提供特定物理实体何时首次进入特定位置的视频证据。如果多个传感器生成由识别组件用于感测该特征的传感器信号,则可以重构和评估任何单个传感器或传感器组合的传感器信号。因此,例如,可以从不同角度查看物理实体首次进入特定位置的视频证据。
物理空间201在图2中示出,并且仅旨在作为具有传感器在其中的任何物理空间的抽象表示。这样的物理空间有无数的示例,但示例包括房间、房屋、社区、工厂、体育馆、建筑物、地板、办公室、汽车、飞机、航天器、培养皿、管子或管道、大气、地下空间、洞穴、土地、其组合和/或部分。物理空间201可以是可观察宇宙(observable universe)的整体或其任何部分,只要存在能够接收从位置内的物理实体发射、受其影响(例如,衍射、频移、回波等)和/或从其反射的信号的传感器。
仅作为示例,物理空间201内的物理实体210被示出为包括四个物理实体211、212、213和214。省略号215表示可以存在具有基于来自传感器220的数据而感测的特征的任何数目和种类的物理实体。省略号215还表示物理实体可以退出和进入位置201。因此,位置201内的物理实体的数目和身份可以随时间改变。
物理实体的定位也可以随时间改变。尽管物理实体的定位在图2中被示出为在物理空间201的上部部分中,但这仅仅是为了清楚标记。本文中描述的原理不依赖于占据物理空间201内的任何特定物理定位的任何特定物理实体。
最后,仅为了惯例并且为了将物理实体210与传感器220区分开,物理实体210被示出为三角形,并且传感器220被示出为圆圈。当然,物理实体210和传感器220可以具有任何物理形状或尺寸。物理实体通常不是三角形,并且传感器通常不是圆形的。此外,传感器220可以观察物理空间201内的物理实体,而不考虑这些传感器220是否在物理上位于该物理空间201内。
仅作为示例,物理空间201内的传感器220被示出为包括两个传感器221和222。省略号223表示可以存在能够接收由物理空间内的物理实体发射、受其影响(例如,经由衍射、频移、回波等)和/或由其反射的信号的任何数目和种类的传感器。随着物理空间内的传感器被添加、移除、升级、破坏、替换等,可操作传感器的数目和能力可能随时间而改变。
图3示出了用于追踪物理空间内的物理实体的方法300的流程图。由于可以执行方法300以追踪图2的物理空间201内的物理实体210,现在将频繁地参考图2的环境200来描述图3的方法300。此外,图4示出了实体追踪数据结构400,实体追踪数据结构400可以用于帮助执行方法300并且可以用于稍后对所追踪的物理实体执行查询并且可能还用于访问和查看与所追踪的物理实体相关联的传感器信号。此外,实体追踪数据结构400可以被存储在图4的感测特征存储装置240中(其被表示为感测特征数据241)。因此,还将频繁地参考图4的实体追踪数据结构400来描述图3的方法300。
为了协助追踪,建立针对物理空间的空间-时间数据结构(动作301)。这可以是分布式数据结构或非分布式数据结构。图4示出了包括空间-时间数据结构401的实体追踪数据结构400的示例。该实体追踪数据结构400可以被包括在图2的感测特征存储装置240内作为感测特征数据241。虽然本文中描述的原理是关于追踪物理实体及其感测特征和活动来描述的,但是本文中描述的原理可以操作以追踪多于一个的位置内的物理实体(及其感测特征和活动)。在这种情况下,空间-时间数据结构401可能不是由实体追踪数据结构400表示的树中的根节点(如省略号402A和402B所示)。相反,可能存在多个空间-时间数据结构,这些空间-时间数据结构可以经由公共根节点进行互连。
然后,返回到图3,可以针对至少临时在物理空间(例如,物理空间201)内的多个物理实体(例如,物理实体210)中的每个物理实体执行框310A的内容。此外,框310B的内容被示出为嵌套在框310A内,并且表示其内容可以针对给定物理实体在多次中的每一次执行。通过执行方法300,可以创建和增长复杂实体追踪数据结构400,从而记录一次或多次在该位置内的物理实体的感测特征。此外,实体追踪数据结构400还可以潜在地用于访问导致识别出某些感测特征(或特征变化)的感测信号。
对于在特定时间在位置中的特定物理实体,由一个或多个传感器感测物理实体(动作311)。换言之,由一个或多个传感器接收从物理实体发射、受其影响(例如,经由衍射、频移、回波等)、和/或从其反射的一个或多个物理信号。参考图1,假定物理实体211具有在特定时间由传感器221和222两者感测的一个或多个特征。
安全性的一个方面可以此时进入。识别组件230可以具有安全组件231,根据特定设置,安全组件231可以拒绝记录与特定物理实体相关联的感测特征、特定类型的感测特征、和/或从特定时间生成的传感器信号所感测到的特征、或其组合。例如,识别组件230可能不会记录该位置内的任何人的感测特征。作为更细粒度的示例,识别组件230可能不会记录一组人的感测特征,其中这些感测特征与人的身份或性别相关,并且其中这些感测特征由在特定时间框架生成的传感器信号产生。关于该安全性的更多内容将在下面关于图6再次描述。
如果允许,则感测到物理实体的特定时间的至少近似值在与物理实体相对应的实体数据结构内被表示,并且这与空间-时间数据结构计算相关联(动作312)。例如,参考图4,实体数据结构410A可以与物理实体211相对应并且与空间-时间数据结构401计算相关联(如线430A所示)。在本说明书和权利要求书中,如果计算系统通过任何方式能够检测两个节点之间的关联,则数据结构的一个节点与数据结构的另一节点“计算相关联”。例如,指针的使用是一种针对计算关联的机制。数据结构的节点还可以通过被包括在数据结构的其他节点内并且通过被计算系统识别为关联的任何其他机制来计算相关联。
时间数据411表示在实体数据结构410A内感测到物理实体的时间的至少近似值(至少在此时迭代框310B的内容)。时间可以是真实时间(例如,相对于原子钟表示的),或者可以是人工时间。例如,人工时间可以是从真实时间偏移的时间和/或以与真实时间不同的方式表达的时间(例如,自千禧年的最后一个轮回以来的秒数或分钟数)。人工时间也可以是逻辑时间,诸如由在每次感测时递增的单调增加数字所表示的时间。
此外,基于在特定时间对特定物理实体的感测(在动作311处),环境感测特定物理实体的至少一个物理特征(并且可能是多个物理特征)(动作313),其中特定物理实体在特定时间存在。例如,参考图2,识别组件230可以基于从传感器221和222接收的信号(例如,如箭头229所示)来感测物理实体211的至少一个物理特征。
然后,以与特定时间的至少近似值来计算相关联的方式,在实体数据结构中表示特定物理实体的感测到的至少一个物理特征(动作314)。例如,在图2中,感测特征数据被提供(如箭头239所示)给感测特征存储装置240。在一些实施例中,该感测特征数据可以与特定时间的至少近似值一起提供,以便基本上在一个动作中修改实体追踪数据结构400。换言之,可以基本上在相同的时间执行动作312和动作314,以减少对感测特征存储装置240的写入操作。
此外,如果允许,则以与感测特征计算机相关联的方式来记录识别组件依赖于其来对感测特征进行感测的(多个)传感器信号(动作315)。例如,感测特征数据241中的感测特征(例如,在空间-时间数据结构401中)可以与存储在感测信号数据242中的这种(多个)传感器信号计算相关联。
参考图4,第一实体数据结构现在具有与时间411计算相关联的感测特征数据421。在该示例中,感测特征数据421包括物理实体的两个感测物理特征421A和421B。然而,省略号421C表示可以存在物理实体的任何数目的感测特征被存储为实体数据结构401内的感测特征数据421的一部分。例如,针对在任何特定时间检测到的任何给定物理实体,可以存在单个感测特征、或无数感测特征、或在其之间的任何数目的感测特征。
在一些情况下,感测特征可以与其他特征相关联。例如,如果物理实体是人员,则该特征可以是该人员的姓名。具体标识的人员可能基于未在实体数据结构内表示的特征而具有已知特性。例如,该人员可能在组织内具有某个等级或定位,具有某种训练,具有某种高度等等。实体数据结构可以通过当感测到特定特征(例如,姓名)时指向该物理实体的附加特征(例如,等级、定位、训练、高度)来扩展,以便进一步扩展查询和/或对数据结构的其他计算的丰富度。
感测特征数据还可以具有与每个感测特征相关联的置信水平,该置信水平表示物理实体在特定时间410A确实具有感测特征的估计概率。在该示例中,置信水平421a与感测特征421A相关联,并且表示物理实体211确实具有感测特征421A的置信度。同样,置信水平421b与感测特征421B相关联,并且表示物理实体211确实具有感测特征421B的置信度。省略号421c再次表示可以存在针对任何数目的物理特征而表达的置信水平。此外,可以存在其中没有表达置信水平的一些物理特征(例如,在存在确定性的情况下或者在测量感测物理特征的置信度不重要或不合适的情况下)。
感测特征数据还可以具有去往(多个)传感器信号的计算关联(例如,指针),该(多个)传感器信号由识别组件用来感测该置信水平的感测特征。例如,在图4中,(多个)传感器信号421Aa与感测特征421A计算相关联,并且表示在时间411用于对感测特征421A进行感测的(多个)传感器信号。同样,(多个)传感器信号421Bb与感测特征421B计算相关联,并且表示在时间411用于对感测特征421B进行感测的(多个)传感器信号。省略号421Cc再次表示可以存在任何数目的物理特征的计算关联。
识别组件230的安全组件231还可以在决定是否记录(多个)传感器信号时运用安全性,该(多个)传感器信号用于在特定时间感测特定特征。因此,安全组件231可以在以下方面运用安全性:1)确定是否记录感测到特定特征,2)确定是否记录与特定物理实体相关联的特征,3)确定是否记录在特定时间感测到的特征,4)确定是否记录(多个)传感器信号,并且如果是,则确定记录哪些信号作为感测特征的证据,等等。
作为示例,假定被追踪的位置是房间。现在假定图像传感器(例如,相机)感测房间内的某些事物。感测特征的示例是,“事物”是人。另一示例感测特征是,“事物”是特定姓名的人员。关于“事物”是人员可能存在百分之100的置信水平,但关于人员是特定身份的人员只有百分之20的置信水平。在这种情况下,感测特征集合包括作为另一特征的更具体类型的一个特征。此外,来自相机的图像数据可以由特定时间的特定物理实体的感测特征的记录来指向。
另一示例特征是,物理实体简单地存在于该位置内,或者位于该位置内的特定定位处。另一示例是,这是自特定时间(例如,近期,或甚至永远)以来物理实体的首次出现。特征的另一示例是,物品是无生命的(例如,具有百分之99的确定性),是工具(例如,具有百分之80的确定性),以及是锤子(例如,具有百分之60的确定性)。另一示例特征是,物理实体不再存在(例如,不存在)于该位置,或者具有特定姿势,以某种方式定向,或者与该位置内的另一物理实体具有位置关系(例如,“在桌子上”或“坐在椅子#5上”)。
在任何情况下,可以从任何位置内的物理实体的数目和类型来感测的特征的数目和类型是无数的。而且,如前所述,如框310B所示,对于任何给定物理实体,可以潜在地多次执行框310B内的动作。例如,物理实体211可以被传感器221和222中的一个或两个再次检测到。参考图4,该检测导致在实体数据结构410内表示下一检测的时间(或是近似值)。例如,时间412也在实体数据结构内表示。此外,感测特征422(例如,包括可能的感测特征422A和422B——其中省略号422C再次表示灵活性)与第二时间412计算相关联。此外,这些感测特征也可以具有相关联的置信水平(例如,422a、422b、省略号422c)。同样,这些感测特征也可以具有相关联的传感器信号(例如,422Aa、422Bb、省略号422Cc)。
在第二时间感测到的感测特征可以与在第一时间感测到的感测特征相同或不同。置信水平可以随时间改变。例如,假定以百分之90的置信度经由图像在大房间的一侧处在时间#1检测到人,并且人以百分之30的置信度被具体感测为John Doe。现在,在0.1秒之后的时间#2,John Doe以百分之100的置信度被感测为在房间的另一部分处在50英尺外,并且仍然有人在John Doe被推测在时间1所在的同一位置处。由于人不会在十分之一秒内(至少在办公室环境中)行进50英尺,现在可以得出结论,在时间1检测到的人根本不是John Doe。因此,对于时间#1的人是John Doe的置信度降低到零。
返回到图2,省略号413和423表示在该位置内可以检测到物理实体的次数没有限制。随着进行后续检测,可以更多地了解物理实体,因此可以适当地添加(或移除)感测特征,并且对每个感测特征的置信水平进行相应调整。
现在移动到框310B之外,但是保留在框310A内,对于任何给定物理实体,可以基于不同时间的特定物理实体的(多个)感测特征的比较(动作321)来感测特定实体的特征改变(动作322)。该感测到的改变可以由识别组件230或计算组件250执行。如果需要,也可以记录这些感测到的改变(动作323)。例如,感测到的改变可以以与特定时间计算相关联或可能未与特定时间计算相关联的方式记录在实体数据结构410A中。可以使用每次证明感测特征的传感器信号来重构证明特征改变的传感器信号。
例如,基于第一时间的感测特征是该位置内的物理实体的存在,并且基于第二时间的第二特征是该位置内的物理实体的不存在,可以得出结论:物理实体已经退出物理空间。相反,基于第一时间的感测特征是该位置的物理实体的不存在,并且第二时间的第二特征是该位置内的物理实体的存在,可以得出结论:物理实体已经进入该位置。在某些情况下,可能不会寻找物理空间中的物理实体的不存在,直到物理实体首次被检测为存在于物理空间中。
现在参考框310A,可以随时间对多个实体执行对物理实体的(多个)特征的这种追踪。例如,可以对物理空间201内的物理实体211、212、213或214中的每个物理实体或者对进入或离开物理空间201的其他物理实体执行框310A的内容。参考图4,空间-时间数据结构401还与第二实体数据结构410B(可能与图2的第二物理实体212相关联)、第三实体数据结构410C(可能与图2的第三物理实体213相关联)、以及第四实体数据结构410D(可能与图2的第四物理实体214相关联)计算相关联(如线430B、430C和430D所示)。
空间-时间数据结构401还可以包括定义条件和动作的一个或多个触发器。当满足条件时,将发生对应的动作。触发器可以存储在空间-时间数据结构中的任何位置。例如,如果条件是/或动作是关于特定实体数据结构,则触发器可以存储在对应的实体数据结构中。如果条件和/或动作是关于特定实体数据结构的特定特征,则触发器可以存储在对应的特征数据结构中。
省略号410E表示实体数据结构的数目可以改变。例如,如果追踪数据相对于物理空间内的物理实体永久保持,则每次在该位置内检测到新的物理实体时可以添加附加的实体数据结构,并且可以在每次在物理空间内检测到物理实体时增加任何给定实体数据结构。然而,回顾一下,垃圾收集可以被执行(例如,通过清理组件260)以保持实体追踪数据结构400不会变得太大而不能被适当地编辑、存储和/或导航。
在框310A之外,可以基于相关联的实体数据结构的比较(动作331)来感测(动作332)不同物理实体之间的物理关系。这些物理关系同样可以记录在实体追踪数据结构401中(动作333),可能在具有感测到的物理关系的相关联的实体数据结构内,和/或可能与物理实体被感测为具有该关系的时间相关联。例如,通过随时间分析不同物理实体的实体数据结构,可以确定在特定时间,物理实体可能隐藏在另一物理实体后面,或者物理实体可能模糊了对另一物理实体的感测,或者两个物理实体已经被连接或物理实体已经被分离以创建多个物理实体。可以使用在适当时间并且针对每个物理实体证明感测特征的传感器信号来重构证明物理实体关系的传感器信号。
现在,特征数据存储装置240可以用作强大的存储装置,在该存储装置上,在物理空间内随时间计算复杂功能和对物理实体的表示的查询。这种计算和查询可以由计算组件250执行。这实现了多个有用的实施例,并且实际上引入了本文中称为“环境计算”的全新的计算形式。在具有传感器的物理空间内,就好像空气本身可以用于计算和感测物理世界的状态。就好像现在已经为该物理空间创建了水晶球,从中可以查询和/或计算与该位置有关的许多事物及该位置的历史。
作为示例,用户现在可以查询对象现在是否在物理空间中,或者对象在特定时间是否在物理空间内。用户还可以查询具有特定特征(例如,公司内的等级或定位)的哪个人员现在正在该对象附近,并且与该人员通信以将该对象带给用户。用户可以查询物理实体之间的关系。例如,用户可以查询谁拥有对象。用户可以查询对象的状态、对象是否被隐藏、以及其他对象是否遮挡了该对象的视图。用户可以查询物理实体何时首次出现在物理空间内、何时退出等等。用户还可以查询灯何时关闭、系统何时确定物理实体的一个或多个特征。用户还可以搜索对象的(多个)特征。用户还可以查询该位置内已发生的活动。用户可以计算特定类型的物理实体在该位置内的平均时间、预测物理实体在将来某个时间的位置等等。因此,可以在具有传感器的物理空间上执行丰富的计算和查询。
如前所述,计算机可导航图可以具有与感测特征相关联的信号段。图5示出了用于有效地渲染感兴趣的信号段的方法500的流程图。首先,计算系统导航感测特征的可导航图以达到特定感测特征(动作501)。例如,该导航可以自动或响应于用户输入来执行。导航可以是计算的结果,或者可以简单地涉及标识感兴趣的感测特征。作为另一示例,导航可以是用户查询的结果。在一些实施例中,计算或查询可以导致导航到多个感测特征。作为示例,假定计算系统导航到图2中的感测特征222A。
然后,计算系统使用特定感测特征与相关联的传感器信号之间的计算机关联,来导航到与特定感测特征进行计算机相关联的感测信号(动作502)。例如,在图2中,在感测特征为感测特征222A的情况下,计算机关联被用于导航到信号段222Aa。
最后,然后可以在适当的输出设备上呈现(rendered)信号段(动作503)。例如,如果计算系统是图1的计算系统100,则适当的输出设备可以是输出机构112A中的一个或多个。例如,可以使用扬声器来呈现音频信号,并且可以使用显示器来呈现视觉数据。在导航到(多个)感测信号之后,可能发生多个事情。用户可以播放特定的信号段,或者可以从有助于该特征的多个信号段中选择。可以从多个信号段合成视图。
通过对物理世界执行计算,实现了新类型的环境计算。就好像计算机完全在周围的环境中可用,在空气本身中实现,并且能够对在任何点处与该空气接触的物理实体执行计算。在工作场所,使用这种环境计算可以大大提高生产率。例如,用户可以快速找到错放的工具,或者能够与靠近工具的同伴通信,以便用户可以要求该同伴抓取该工具并且将其带给用户。此外,除了环境计算之外,人类可以在特定感兴趣时间查看用于感测特定感兴趣物理实体的感兴趣特征的(多个)传感器信号。然而,由于可靠地使用环境计算而提高生产力的场景的数目是无限的。
现在已经关于图2至图5描述了环境计算的原理,将关于图6来描述可以在这种环境计算的上下文中执行的安全机制。图6示出了用于控制对由物理空间中的一个或多个传感器所感测的信息的创建或访问的方法600的流程图。该方法包括创建(动作601)随时间在物理空间中所感测的感测物理实体的特征的计算机可导航图。本文中描述的原理不限于这种计算机可导航图的精确结构。已经关于图2至图4描述了示例结构及其创建。
方法600还包括基于一个或多个标准来限制对计算机可导航图的节点的创建或访问(动作602)。因此,对计算机可导航图施加了安全性。箭头603和604表示,创建图的过程并且限制对其节点的创建/访问可以是连续过程。该图可以连续地将节点添加到图(并且可能从图中移除)。此外,只要存在创建节点的可能性,就可以考虑创建的限制。可以在创建图的节点时或在其之后的任何时刻决定访问的限制。例如,限制的示例可以包括感测物理实体的预期身份、感测物理实体的感测特征等。
在确定是否授权对计算机可导航图的节点的访问时,每个节点可以存在访问标准。这种访问标准可以是显式的或隐式的。也就是说,如果对于要访问的节点没有明确的访问标准,则可以应用默认的一组访问标准。可以以任何方式组织针对任何给定节点的访问标准。例如,在一个实施例中,针对节点的访问标准可以与计算机可导航图中的节点一起存储。
访问限制还可以包括基于所请求的访问类型的限制。例如,计算访问意味着不直接访问节点,而是在计算中使用节点。读取节点的内容的直接访问可以被限制,而不报告节点的确切内容的计算访问可以被允许。
访问限制还可以基于所访问的节点的类型。例如,对计算机可导航图的特定实体数据结构节点的访问可以存在限制。例如,如果该特定实体数据结构节点表示物理空间中的特定人员的检测,则可能拒绝访问。对计算机可导航图的特定信号段节点的访问可以存在限制。作为示例,也许可以能够确定人员在给定时间处于某个位置,但是不能查看该人员在该位置处的视频记录。访问限制也可以基于谁是访问的请求者。
在确定是否限制计算机可导航图的特定感测特征节点的创建时,可以考虑各种标准。例如,可以在计算机可导航图的特定信号段节点的创建中存在限制。
图7示出了循环流程700,其示出了除了在物理空间中创建感测特征的计算机可导航图(动作701)之外,还可以有计算机可导航图的修剪(动作702)。这些动作甚至可以同时且连续地发生(如箭头703和704所示),从而将感测特征的计算机可导航图保持在可管理大小。本文中已经有关于可以如何创建计算机可导航图的重要描述(如动作701所表示的)。
现在,该描述将集中于如何修剪计算机可导航图以移除计算机可导航图的一个或多个节点(动作702)。计算机可导航图的任何节点都可以被移除。例如,可以在特定时间或一组时间移除物理实体数据结构的感测特征。还可以随时移除物理实体数据结构的感测特征。可以在任何给定时间或任何一组时间移除物理实体数据结构的多于一个的感测特征。此外,在某些情况下可以完全移除物理实体数据结构。
例如,当物理图表示根据物理定律不可能的事物时,可以发生节点的移除。例如,给定对象不能同时在两个地方,该对象也不能在环境中在短时间内行进很长的距离(这种行进在该环境中不可行或不可能)。因此,如果在一个位置处以绝对确定性追踪物理实体,则可以删除以较低置信度表示同一物理实体处于不一致位置的任何物理实体数据结构。
当获取关于物理实体的感测特征的更多置信度时,也可以发生节点的移除。例如,如果以百分之100的确定性确定位置内的物理实体的感测特征,则可以更新该物理实体的该感测特征的确定性水平以针对所有先前时间也读取百分之100。此外,已经学习的不适用于物理实体的感测特征(即,置信水平已经降低到零或可忽略不计),可以针对该物理实体移除感测特征。
此外,计算机可导航图中的一些信息可能过于陈旧而无法使用。例如,如果在物理空间中没有观察到物理实体相当长一段时间以使得物理实体的先前识别不再相关,则可以移除整个物理实体数据结构。此外,尽管物理实体数据结构仍然反映更近期的检测,但是可以移除已经变为过时的物理实体的检测。因此,可以经由内在分析和/或经由外在信息来执行计算机可导航图的清理(或修剪)。这种修剪通过移除质量较差的信息并且释放空间以存储更多相关信息而本质上改善了计算机可导航图中表示的信息的质量。
因此,本文中描述的原理实现了物理世界的计算机可导航图。该物理图可以是可搜索和可查询的,从而允许对真实世界执行搜索和查询以及其他计算。在这样的环境中可以进一步施加安全性。最后,可以通过清理和修剪将物理图保持在可管理大小。因此,实现了计算的新范例。
图8示出了用于共享信号段中的至少一部分信号段的方法800的流程图。例如,信号段可以是已捕获同一物理实体的多个信号段。例如,如果信号段是视频信号段,则多个视频段可能已经从不同的视角和距离捕获了相同的一个或多个物理实体。如果信号是音频信号段,则多个音频段可能已经捕获了所选择的一个或多个物理实体,其中不同的声道介于对应的声学传感器与所选择的一个或多个物理实体(或其部分)之间。被共享的(多个)信号段可以是从位置内的一个或多个物理实体实时捕获信号的实时信号段。或者,被共享的(多个)信号段可以是所记录的信号段。
根据方法800,系统检测在一个或多个信号段内呈现的一个或多个物理实体或其部分物理实体的选择(动作801)。因此,可以基于信号段的语义内容来发起共享。例如,所选择的一个或多个物理实体(或其(多个)部分)可以是工作目标或工作源。作为示例,用户可以选择诸如物理白板的工作目标。另一示例工作目标可以是正在修理的一件设备。例如,工作源的示例可以是例如在物理白板上书写的人员、舞者、魔术师、建筑工人等。
选择用于共享的一个或多个物理实体(或其部分)的个体可以是人。在这种情况下,用户可以以对人类用户直观的任何方式选择一个或多个物理实体(或其部分)。这种输入的示例包括手势。例如,用户可以圈出在视频或图像信号段的一部分内包含一个或多个物理实体(或其部分)的区域。
或者,可以由系统进行选择。例如,系统可以选择在检测到特定条件时和/或根据策略来共享包括特定的一个或多个物理实体(或其部分)的信号段的部分。例如,如下面关于图10所述,系统可以检测到人类演员即将参与需要训练的特定活动。然后,系统可以选择与活动目标相似、或者包括个体(因为该个体先前已经执行该活动)的一个或多个物理实体,以与人类演员共享。甚至可以自动生成和提供活动的叙述(如关于图9所述)。
然后,系统提取(多个)信号段中的(多个)部分信号段(动作802),所选择的物理实体或物理实体中的所选择的部分物理实体被呈现在该信号段的部分信号段中。例如,信号段可以是多个视频信号段。系统可以创建信号段,在该信号段中,当相对于所选择的一个或多个物理实体(或其所选择的部分)而发生的(多个)条件发生时,视点从一个信号段(由一个传感器生成)变为另一信号段(由另一传感器生成)。例如,假定所选择的物理实体是指导者当前正在书写的白板的那些部分。如果指导者的身体将从一个传感器的视角遮挡他自己的书写,则可以自动切换到捕获白板的活动部分的另一信号段。系统可以自动执行(实时信号段的)这样的切换或拼接(或所记录的视频段)。
然后,系统将包含所选择的一个或多个物理实体(或其部分)的(多个)信号段的表示分派给一个或多个接收者(动作803)。这样的接收者可以是人类、组件、机器人或能够使用(多个)共享信号段部分的任何其他实体。
在一个实施例中,信号段表示物理图的一部分,该物理图的一部分包括在物理空间内所感测的物理实体的表示、以及证明物理实体的状态的信号段。上面已经关于与计算机可导航图400相关的图2至图4描述了这种物理图的示例。系统还可以分派与共享的(多个)信号段部分相关的物理图的一部分,和/或也许可以从物理图的对应部分提取信息以与(多个)信号段部分本身的共享一起共享(或作为其替代)。
上述物理空间的计算机可导航物理图能够实现各种各样的应用和技术成果。特别地,现在将描述可能相关的两个这样的成果。关于图9所描述的一个成果是在物理空间内监测的物理实体的移动的总体安排。关于图10所描述的另一成果是将一个物理实体自动路由到事件端点。
图9示出了用于制定物理实体的并发移动的计划的方法900。访问物理图(动作901)并且评估物理图(动作902)。然后基于该评估执行完成一个或多个目标的移动计划(动作903)。物理图表示物理空间中物理实体随时间的存在和移动。上文已经关于图2至图4的计算机可导航图描述了这种物理图的示例。
物理图的评估可以考虑物理空间和该位置内的物理实体的物理约束。物理约束遵守物理定律。
物理空间的物理约束的示例包括:墙壁的定位、门道是被锁住还是可以打开、是否存在任何受约束的移动通道和这种受约束的通道的尺寸、楼梯的存在、针对移动的任何静态障碍物的定位(诸如椅子和桌子)、在位置的不同部分中是否有照明、物理空间的三维布局(其中物理空间的某些部分对人类是禁止进入(off limits)的)等等。例如,如果存在物理实体中的至少一些物理实体可以移动通过的物理通道,则针对移动的计划可以包括物理实体通过物理通道的顺序。
对物理实体的物理约束的示例包括:物理实体是否是儿童、成人、动物或物体;针对实体的可能的最大速度;针对实体的最大安全速度;实体的尺寸,实体的最佳定向;实体是否可以飞行;对象的电池寿命(如果适用);操作对象的费用;实体的移动优先权;实体的感知能力,等等。例如,人类可能优先于无人机和机器人被赋予移动。
移动计划的目标的示例包括允许特定实体从一个位置移动到事件正在发生、已经发生或预测会发生的位置。这种路由可以由图10的方法1000执行,如下面进一步描述的。多个物理实体中的每个物理实体可以具有如下这样的路由计划:其被包括作为整体移动安排的目标。
评估还可以考虑物理实体中的至少一些物理实体的交互中的约束。例如,不能易于停止的重型机器人可能受到与周围成人相距至少一定距离以及与周围儿童相距甚至更大安全距离的限制。当存在人类时,无人机可能不被允许飞行低于某一高度,并且可能不被允许在人上方飞行,或者以如下方式飞行:该方式使得如果无人机停止操作,则无人机不会落在人身上(考虑到动量和重力)。
评估还可以考虑可以与哪些物理实体进行通信。例如,物理空间中的一些人可以接收导航指令。其他人可能无法接收正确的移动指令。一些机器人和/或无人机可能会进行通信以用于移动安排,并且其他机器人和/或无人机可能不会。移动计划考虑到各种物理实体的通信能力和对指令的响应能力,并且对无法接收通信或无法响应于通信以改变路线的那些实体赋予优先权。
再次参考图9,安排可以涉及系统与物理实体中的一个或多个物理实体通信以影响多个物理实体中的至少一个物理实体的移动(动作904)。当寻址特定物理实体时,不是通过明确地标识物理实体来寻址,而是可以通过利用物理状态来寻址接收者而进行寻址。例如,泄露(spill)的100米范围内的所有家政机器人可以被指示以对裂缝(split)做出响应。能够访问物理图的系统可以能够仅基于这种物理状态的声明来具体地标识物理实体。
通信可以包括明确指令,或者可以包括上下文,与其通信的物理实体可以从该上下文中推断出适当物理移动。一些物理实体可以具有解释上下文的智能,尤其是那些本身可以访问物理图的适当部分的物理实体。例如,共享这样的上下文以便物理实体解释要进行什么移动,可以是用于执行上面关于图8所描述的方法的一个目的。
然后,系统可以进一步监测物理实体的移动(动作905)。如果情况发生变化(例如,物理实体没有遵循指令,约束即将被违反,等等),则计划被调整,如箭头906所示。可以经由对物理图的持续访问(行为901)和对物理图的评估(动作902)来进行对移动的监测,使得在合适的定时基础上更新移动计划的制定(动作903)以避免在朝向移动计划的(多个)目标移动时违反约束。
图10示出了用于标识物理实体在物理空间内采取以便前往事件已经发生、正在发生或预测会发生的事件端点的路线的方法1000的流程图。可以针对多个物理实体中的每个物理实体执行方法1000。
通过标识已经发生、正在发生或将要发生的一个或多个事件来启动方法1000(动作1001)。所标识的端点可以是活动(例如,泄露、其他物理实体的聚集、故障或任何其他活动)。活动可以是过去的活动(例如,“带我到发生了泄露的地方”)、当前活动(例如,“带我到泄露的地方”)或预测的未来活动(例如,“带我到预测人们会聚集的地方”)。所标识的端点也可以是与活动有关系的物理实体(例如,“带我到泄露源”,或“带我到参加集会的任何人那里”)。
所标识的端点还可以是移动物理实体或一组移动物理实体。同样,关于移动物理实体的事件可以是过去的事件(例如,“带我到任何客户在过去24小时内跌倒的地方”)、当前事件(例如,“带我到客户所在的地方”)或未来的事件(例如,“让我与我的老板会合”)。同样,物理实体或一组物理实体可以通过当前或先前的或预期的未来物理状态来寻址,而无需具体标识物理实体(例如,“让我与前往会议的任何人会合”)。
然后,系统制定用于在物理空间内将特定物理实体从当前位置移动到所标识的事件的位置的路线(动作1010)。如果事件的预测位置改变,或者如果路由期间发生了其他事件,则可能会发生重新路由。例如,在用户正在被带到在前往会议的路上的任何人员那里的情况下,目标人员可能会意外地绕道而行。系统可以重新路由到不同的会合点,或者可以搜索也前往会议的另一附近人员,并且相应地重新路由。这种重新路由可能经常发生。例如,人们可能走得比预期的更快或更慢,可能会绕道而行,或者可能只是选择不期望的路径。这可能导致原始路线不再可行。
可以通过参考上述物理图来进行路线的制定(动作1011)。这允许基于对物理空间中实际正在发生(或实际已经发生的)的内容的语义理解来自动地智能地执行路由。路由可以与规划多个物理实体在物理空间内的移动的规划组件协调地进行(动作1012)。例如,这样的规划组件可以执行图9的方法900。通过如此协调,系统减少了由任何给定路由引起的对整个移动安排的干扰。
因此,本文中描述的原理提供了物理空间内的物理实体的有效和自动移动和路由。在不脱离本发明的精神或本质特性的情况下,可以以其他具体形式来实施发明。所描述的实施例在所有方面仅被认为是说明性的而非限制性的。因此,本发明的范围由所附权利要求而不是由前面的描述来指示。在权利要求的等同物的含义和范围内的所有变化都将被包含在其范围内。
Claims (10)
1.一种计算系统,包括:
一个或多个处理器;
一个或多个计算机可读介质,在所述一个或多个计算机可读介质上具有计算机可执行指令,所述计算机可执行指令被构造为以使在由所述一个或多个处理器执行时使得所述计算系统执行用于标识路线的方法,所述路线用于物理实体在物理空间内采取以便前往事件已经发生、正在发生或预测会发生的事件端点,所述方法包括:
通过标识已经发生、正在发生或将要发生的事件来标识端点;以及
制定在所述物理空间内将特定物理实体从当前位置移动到所标识的事件的位置的路线。
2.根据权利要求1所述的计算系统,所述路线的所述制定通过参考在所述物理空间内随时间所监测的多个物理实体的物理图来进行。
3.根据权利要求1所述的计算系统,所述路线的所述制定与规划组件协调进行,所述规划组件规划多个物理实体在所述物理空间内的移动。
4.根据权利要求3所述的计算系统,所述规划组件使用在所述物理空间内随时间所监测的所述多个物理实体的物理图,以便规划所述多个物理实体在所述物理空间内的移动。
5.根据权利要求1所述的计算系统,所标识的端点是活动。
6.根据权利要求1所述的计算系统,所标识的端点是移动物理实体。
7.根据权利要求1所述的计算系统,所标识的端点是一组移动物理实体。
8.根据权利要求1所述的计算系统,所标识的端点是过去已发生的或当前正在发生的事件的端点,所标识的端点是与所述事件具有关系的物理实体。
9.根据权利要求1所述的计算系统,所标识的端点是预测会发生的事件。
10.一种用于标识路线的方法,所述路线用于物理实体在物理空间内采取以便前往事件已经发生、正在发生或预测会发生的事件端点,所述方法包括:
通过标识已经发生、正在发生或将要发生的事件来标识端点;以及
制定在所述物理空间内将特定物理实体从当前位置移动到所标识的事件的位置的路线。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762447819P | 2017-01-18 | 2017-01-18 | |
US62/447,819 | 2017-01-18 | ||
US15/436,652 | 2017-02-17 | ||
US15/436,652 US20180202819A1 (en) | 2017-01-18 | 2017-02-17 | Automatic routing to event endpoints |
PCT/US2018/013426 WO2018136314A1 (en) | 2017-01-18 | 2018-01-12 | Automatic routing to event endpoints |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110178147A true CN110178147A (zh) | 2019-08-27 |
Family
ID=62840738
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880007177.0A Withdrawn CN110178147A (zh) | 2017-01-18 | 2018-01-12 | 自动路由到事件端点 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20180202819A1 (zh) |
EP (1) | EP3571638A1 (zh) |
CN (1) | CN110178147A (zh) |
WO (1) | WO2018136314A1 (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10635981B2 (en) * | 2017-01-18 | 2020-04-28 | Microsoft Technology Licensing, Llc | Automated movement orchestration |
US10482900B2 (en) * | 2017-01-18 | 2019-11-19 | Microsoft Technology Licensing, Llc | Organization of signal segments supporting sensed features |
US11094212B2 (en) * | 2017-01-18 | 2021-08-17 | Microsoft Technology Licensing, Llc | Sharing signal segments of physical graph |
KR102050230B1 (ko) * | 2018-06-29 | 2019-11-29 | 순천향대학교 산학협력단 | 페트리 넷 모델링을 이용한 산업용 사물 인터넷 시스템에 구비되는 드론의 검증방법 |
US11397089B2 (en) * | 2018-07-13 | 2022-07-26 | Uatc, Llc | Autonomous vehicle routing with route extension |
CN110802587B (zh) * | 2018-08-06 | 2021-04-27 | 北京柏惠维康科技有限公司 | 一种确定机器人安全线路的方法及装置 |
CN110802588B (zh) * | 2018-08-06 | 2021-03-16 | 北京柏惠维康科技有限公司 | 一种确定机器人安全线路的方法和装置 |
WO2020056301A1 (en) * | 2018-09-13 | 2020-03-19 | The Charles Stark Draper Laboratory, Inc. | Robot interaction with human co-workers |
CN109451552B (zh) * | 2018-11-21 | 2022-03-15 | 上海事凡物联网科技有限公司 | 基于混合路由组网的数据传输方法、设备、终端及存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7519564B2 (en) * | 2004-11-16 | 2009-04-14 | Microsoft Corporation | Building and using predictive models of current and future surprises |
JP2009510558A (ja) * | 2005-09-26 | 2009-03-12 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 物体又は人物の動きを追跡する方法及び装置 |
US20120239584A1 (en) * | 2011-03-20 | 2012-09-20 | Microsoft Corporation | Navigation to dynamic endpoint |
US9871865B2 (en) * | 2013-07-11 | 2018-01-16 | Neura, Inc. | Physical environment profiling through internet of things integration platform |
CA2976344A1 (en) * | 2015-02-10 | 2016-08-18 | Mobileye Vision Technologies Ltd. | Sparse map for autonomous vehicle navigation |
US10390062B2 (en) * | 2016-11-21 | 2019-08-20 | Roku, Inc. | Recommending content based on user behavior tracking and analysis |
-
2017
- 2017-02-17 US US15/436,652 patent/US20180202819A1/en not_active Abandoned
-
2018
- 2018-01-12 EP EP18702845.1A patent/EP3571638A1/en not_active Withdrawn
- 2018-01-12 CN CN201880007177.0A patent/CN110178147A/zh not_active Withdrawn
- 2018-01-12 WO PCT/US2018/013426 patent/WO2018136314A1/en unknown
Also Published As
Publication number | Publication date |
---|---|
US20180202819A1 (en) | 2018-07-19 |
WO2018136314A1 (en) | 2018-07-26 |
EP3571638A1 (en) | 2019-11-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110178147A (zh) | 自动路由到事件端点 | |
US11410672B2 (en) | Organization of signal segments supporting sensed features | |
CN110192236A (zh) | 自动活动时间训练 | |
CN110178148A (zh) | 物理实体的计算机辅助跟踪 | |
CN110177661A (zh) | 自动移动编排 | |
CN110192208B (zh) | 共享物理图形的信号片段 | |
CN110192202A (zh) | 信号段的自动叙述 | |
CN110214327A (zh) | 控制物理感测特征的创建/访问 | |
CN110199299A (zh) | 基于物理条件采取动作 | |
CN110192209A (zh) | 基于物理图形来采取动作 | |
CN110199272A (zh) | 计算机可导航物理特征图的清洁 |
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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20190827 |