CN107533767B - 机器人的增强的配置和控制 - Google Patents
机器人的增强的配置和控制 Download PDFInfo
- Publication number
- CN107533767B CN107533767B CN201680024476.6A CN201680024476A CN107533767B CN 107533767 B CN107533767 B CN 107533767B CN 201680024476 A CN201680024476 A CN 201680024476A CN 107533767 B CN107533767 B CN 107533767B
- Authority
- CN
- China
- Prior art keywords
- computing device
- instructions
- environment
- data
- robot
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 claims abstract description 99
- 238000003860 storage Methods 0.000 claims description 45
- 238000012986 modification Methods 0.000 claims description 28
- 230000004048 modification Effects 0.000 claims description 28
- 230000033001 locomotion Effects 0.000 claims description 25
- 230000003993 interaction Effects 0.000 claims description 19
- 230000000007 visual effect Effects 0.000 claims description 15
- 230000009471 action Effects 0.000 abstract description 46
- 238000005516 engineering process Methods 0.000 abstract description 33
- 238000009877 rendering Methods 0.000 description 24
- 238000004891 communication Methods 0.000 description 21
- 230000006870 function Effects 0.000 description 20
- 230000006855 networking Effects 0.000 description 16
- 238000005259 measurement Methods 0.000 description 11
- 238000004088 simulation Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 238000004458 analytical method Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 238000012545 processing Methods 0.000 description 9
- 230000003190 augmentative effect Effects 0.000 description 7
- 230000007246 mechanism Effects 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 7
- 239000007787 solid Substances 0.000 description 7
- 210000003811 finger Anatomy 0.000 description 6
- 230000009466 transformation Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 230000008451 emotion Effects 0.000 description 4
- 230000007613 environmental effect Effects 0.000 description 4
- 230000014509 gene expression Effects 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 230000036651 mood Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 238000012552 review Methods 0.000 description 4
- 239000004065 semiconductor Substances 0.000 description 4
- 238000000844 transformation Methods 0.000 description 4
- 230000003416 augmentation Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000009977 dual effect Effects 0.000 description 3
- 238000003032 molecular docking Methods 0.000 description 3
- 238000013439 planning Methods 0.000 description 3
- 238000012800 visualization Methods 0.000 description 3
- WHXSMMKQMYFTQS-UHFFFAOYSA-N Lithium Chemical compound [Li] WHXSMMKQMYFTQS-UHFFFAOYSA-N 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 229910052744 lithium Inorganic materials 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- 230000001131 transforming effect Effects 0.000 description 2
- 241000272878 Apodiformes Species 0.000 description 1
- 239000004165 Methyl ester of fatty acids Substances 0.000 description 1
- 235000010575 Pueraria lobata Nutrition 0.000 description 1
- 241000219781 Pueraria montana var. lobata Species 0.000 description 1
- 238000010420 art technique Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- OJIJEKBXJYRIBZ-UHFFFAOYSA-N cadmium nickel Chemical compound [Ni].[Cd] OJIJEKBXJYRIBZ-UHFFFAOYSA-N 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- VJYFKVYYMZPMAB-UHFFFAOYSA-N ethoprophos Chemical compound CCCSP(=O)(OCC)SCCC VJYFKVYYMZPMAB-UHFFFAOYSA-N 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 230000008713 feedback mechanism Effects 0.000 description 1
- 210000005224 forefinger Anatomy 0.000 description 1
- 239000000446 fuel Substances 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000000691 measurement method Methods 0.000 description 1
- 229910052987 metal hydride Inorganic materials 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 239000010813 municipal solid waste Substances 0.000 description 1
- 229910052759 nickel Inorganic materials 0.000 description 1
- PXHVJJICTQNCMI-UHFFFAOYSA-N nickel Substances [Ni] PXHVJJICTQNCMI-UHFFFAOYSA-N 0.000 description 1
- -1 nickel metal hydride Chemical class 0.000 description 1
- 238000012634 optical imaging Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000004091 panning Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 229920000642 polymer Polymers 0.000 description 1
- 239000000047 product Substances 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000035939 shock Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 238000010897 surface acoustic wave method Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 210000003813 thumb Anatomy 0.000 description 1
- 210000003371 toe Anatomy 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
- 238000012384 transportation and delivery Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- 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
- B25J9/1666—Avoiding collision or forbidden zones
-
- 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
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
- B25J13/006—Controls for manipulators by means of a wireless system for controlling one or several manipulators
-
- 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/1628—Programme controls characterised by the control loop
- B25J9/163—Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
-
- 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
-
- 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/1674—Programme controls characterised by safety, monitoring, diagnostic
- B25J9/1676—Avoiding collision or forbidden zones
-
- 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/1694—Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B27/00—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
- G02B27/01—Head-up displays
- G02B27/017—Head mounted
- G02B27/0172—Head mounted characterised by optical features
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/0011—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots associated with a remote control arrangement
- G05D1/0033—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots associated with a remote control arrangement by having the operator tracking the vehicle either by direct line of sight or via one or more cameras located remotely from the vehicle
-
- 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
- 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
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B27/00—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
- G02B27/01—Head-up displays
- G02B27/0101—Head-up displays characterised by optical features
- G02B2027/0138—Head-up displays characterised by optical features comprising image capture systems, e.g. camera
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B27/00—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
- G02B27/01—Head-up displays
- G02B27/0101—Head-up displays characterised by optical features
- G02B2027/014—Head-up displays characterised by optical features comprising information/image processing systems
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S901/00—Robots
- Y10S901/02—Arm motion controller
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S901/00—Robots
- Y10S901/02—Arm motion controller
- Y10S901/06—Communication with another machine
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computer Hardware Design (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Graphics (AREA)
- Optics & Photonics (AREA)
- Software Systems (AREA)
- Aviation & Aerospace Engineering (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Automation & Control Theory (AREA)
- Manipulator (AREA)
- Geometry (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
- User Interface Of Digital Computer (AREA)
- Processing Or Creating Images (AREA)
Abstract
本文描述了用于提供机器人的增强的配置和控制的概念和技术。本文中公开的配置用用于理解和导航移动计算设备(诸如机器人)周围的环境的资源来增强该计算设备。这些资源可包括分开的计算设备的传感器,该分开的计算设备可采用头戴式显示器的形式。由这些资源产生的数据可被用来生成针对移动计算设备的指令。分开的计算设备的传感器也可检测环境中的改变或者移动计算设备的动作中的冲突,并动态地修改生成的指令。通过使用本文中公开的技术,简单、低成本的机器人可理解并导航通过复杂的环境,并合适地与障碍物和其他对象进行交互。
Description
背景
移动机器人需要能够在环境中操作以避开障碍物、执行任务、标识从一个位置到另一位置的路径等等。现有技术要求复杂又昂贵的硬件以及复杂又计算上昂贵的软件来执行大多数任务并高效地导航通过环境。在许多其他实际缺点中,现有***将大多数机器人功能置于低等到中等机器人的可及范围外。
此外,当与机器人一起工作时,可能难以确定机器人正计划什么以及机器人可以或无法理解关于其周围环境的什么。为了解决该问题,一些传统***显示有限量的关于机器人的周围环境的信息。当被用户接收到时,该信息可能难以解释,并且对接收到的信息采取行动可能是困难的。
在一些现有技术的其他缺点中,当与机器人或者其他电子或机械设备一起工作时,添加用于处理、监视和传达某些类型的信息的显示面板和输入机制可能是困难或昂贵的。例如,在某些***中跟踪机器人的软件的状态、设置或配置修改可能是困难的。
对该缺点的一些解决方案包括对显示面板和输入小键盘的利用。然而,这样的解决方案增加了任何机器人或计算设备的复杂性和成本。在其他解决方案中,机器人可操作web服务器并使得经由远程计算机上的web浏览器对数据的查看成为可能。这样的解决方案尽管比物理显示器和输入面板更便宜,但不对任何传达的信息提供一定粒度级的上下文。已作出了该领域的许多开发,但大多数现有***不是成本高效的,尤其是在它面对低等到中等设备时。
本文所做出的本公开正是关于这些和其它考虑事项而提出的。
概述
本文中描述了用于提供机器人的增强的配置和控制的概念和技术。一般描述了,本文中公开的配置可用用于理解计算设备(诸如,机器人)周围的环境和对象的资源来增强该计算设备的功能。这些资源可包括分开的计算设备(诸如,头戴式显示器(HMD))的传感器。这些资源可被配置成标识环境以及该环境中的对象的位置和其他参数。由这些资源生成的数据可被用于生成针对移动计算设备的指令。生成的指令可至少部分地基于定义环境以及该环境中的对象的位置和/或其他参数的数据。
通过使用本文中公开的技术,简单、低成本的机器人可理解并导航通过复杂的环境,并合适地与障碍物和其他对象进行交互。此外,通过使用分开的计算设备的传感器,本文中的技术可为正在执行一个或多个任务(诸如,沿某路径而行)的机器人提供动态导航和功能校正。本文中公开的技术改善了机器人移动的准确性,并且在一些场景中,本文中公开的技术在移动计算设备开始偏离指定的路径或错误地与一个或多个对象进行交互的情况下提供校正指令。此外,本文中公开的技术可分析一组指令,以确定这些指令与环境或环境的改变有关的有效性。例如,如果对象在环境内移动,则本文中公开的技术可修改这些指令以更改机器人动作,以便避免碰撞或者合适地与移动的对象进行交互。
在一些配置中,本文中公开的技术涉及具有一个或多个传感器的第一计算设备,此一个或多个传感器被配置成检测第二计算设备以及该第二计算设备周围的环境的位置和几何参数。在一些配置中,例如,第一计算设备可以是个人计算机或HMD,而第二计算设备可以是移动机器人。第一计算设备可具有存储器,该存储器上存储有第一组计算机可执行指令,这些指令可使得第一计算设备从传感器接收数据或信号。
基于该数据或信号,第一计算设备可生成标识环境的几何参数的数据。此外,第一计算设备可基于该信号生成标识第二计算设备相对于环境中的对象的位置的位置数据。此外,第一计算设备可生成第二组指令,以使第二计算设备至少部分地基于标识第二计算设备的位置的位置数据和/或标识环境的几何参数的数据来执行一个或多个任务。
第一计算设备还可将第二组指令传达给第二计算设备,并使得第二计算设备基于该第二组指令执行一个或多个任务。通过使用本文中描述的技术,第二组指令可被第二计算设备利用来基于由第一计算设备检测到的环境和对象的几何参数来导航通过该环境。例如,第二组指令可定义供第二计算设备在环境内导航的路径,其中第二组指令定义使第二计算设备避免与该环境中的对象碰撞的路径。此外,第二组指令可被第二计算设备利用来与环境内的对象进行交互。例如,如本文中更详细描述的,第二计算设备可捡起对象,避免环境的边界,并基于由该第一计算设备生成的指令来执行多个任务。
在一些配置中,第一计算设备的传感器可检测冲突的存在和/或确定情况是否已随环境改变。对第二组指令的修改可基于检测到冲突或环境内的改变而被生成并被传达给第二计算设备。例如,第一计算设备的传感器可确定对象是否已随环境移动。在这样的情况下,第一计算设备可修改第二组指令以处理移动的对象。此外,第一计算设备的传感器可检测环境中的对象和第二计算设备之间的冲突。例如,如果第二计算设备撞到该环境的边界内,例如机器人与墙壁碰撞,则对第二组指令的修改可被生成并被传达给第二计算设备以缓解该冲突。
应当理解,上述主题也可被实现为计算机控制的装置、计算机进程、计算***或诸如计算机可读介质等制品。通过阅读下面的详细描述并审阅相关联的附图,这些及各种其它特征将变得显而易见。
提供本概述以便以简化的形式介绍以下在详细描述中进一步描述的一些概念。本发明内容并不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在将本概述用来限制所要求保护的主题的范围。此外,所要求保护的主题不限于解决在本公开的任一部分中所提及的任何或所有缺点的实现。
附图简述
图1是示出用于提供对一个或多个机器人的增强的控制、机器人动作的混合环境显示以及附连数据的混合环境显示的若干示例组件的框图;
图2A-2B解说了机器人基于一组指令来执行多个任务的示例场景;
图3A-3E解说了示出机器人基于一组指令来执行多个任务的模型数据的示例渲染;
图4A解说了附连到一个或多个对象的数据的一个或多个显示的示例渲染;
图4B解说了指示计算设备的移动的附连数据的图形元素的示例渲染;
图4C解说了附连到计算设备的现实世界视图的数据的图形元素的示例渲染;
图4D解说了附连到计算设备的现实世界视图的数据以及该计算设备的混合环境增强的显示的示例渲染;
图5是解说可用于提供机器人动作的混合环境显示的例程的流程图;
图6是解说可用于提供对机器人的增强的配置和控制的例程的流程图;
图7是解说可用于提供附连数据的混合环境显示的例程的流程图;
图8是解说能够实现本文中呈现的技术和技艺的各方面的计算***的说明性计算机硬件和软件架构的计算机架构图;
图9是解说能够实现本文中呈现的技术和技艺的各方面的分布式计算环境的图示;以及
图10是解说能够实现本文中呈现的技术和技艺的各方面的计算设备的计算设备架构的计算机架构图。
详细描述
本文中描述的技术提供对一个或多个机器人的增强的控制、机器人动作的混合环境显示以及附连数据的混合环境显示。使用配备有多个能力(诸如,与定位环境中的机器人的技术耦合的表面重构能力)的计算设备(诸如,头戴式显示器(“HMD”)),本文中提供的技术使得机器人具有环境理解、障碍躲避和路径查找。基于计算设备接收到的信息,诸如路径查找指令之类的指令可被生成。这些指令可被传达给机器人执行。
在一些配置中,由于机器人遵循执行指令,计算设备可继续跟踪机器人的位置以及机器人沿指定路径而行的准确性。如果机器人开始偏离该路径,则计算设备可检测到这样的动作并发送校正指令以使得该机器人回到轨道上去。类似地,如果环境改变了(例如有新的障碍出现,而使被发送给机器人的路径无效),则那些指令可被纠正以允许机器人动态地对环境作出反应。
本文中描述的技术提供用于在将发生机器人的动作的空间中的这些动作被执行之前可视化这些动作以实现提升的理解和安全性的技术。此外,各技术和技艺从机器人的角度提供(对机器人周围的空间的)可视化,例如人或对象的定位和标识,以实现提升的理解和安全性。各技术和技艺还提供对发生了机器人的过去动作的空间中的这些过去动作的可视化,以确认正确的操作和/或调试不正确的操作。
本文中描述的技术提供用于附连全息UI和其他图形元素以显示与机器人和环境元素(诸如机器人周围的对象)相关联的信息。全息或其他图形元素的生成关联附连到机器人或其他对象的信息。各技术还为用户提供编辑指令、信息以及向用户显示的其他数据的能力。本文中公开的技术将全息图或表示信息的其他图形元素附连到机器人或者与其最相关的其他对象或电子设备。通过提供与一个或多个组件或对象的图形表示关联信息,用户可容易地理解与机器人及其周围环境相关联的状态、场景或更广阔的上下文。
本文中描述的技术提供用于捕捉和解释诸如姿势、语音命令或任何其他类型的输入之类的用户动作的技术。用户动作可被解释以生成描述这些动作的数据(诸如注视方向),并且描述这些动作的数据可被解释以生成用于使得机器人执行用户的这些动作的指令。这些指令基于多个其他因素,诸如机器人周围的对象或环境元素。通过用被配置为收集并处理上下文数据的计算设备来定位机器人,用户可容易并自然地指定空间中的位置,这些位置可被转换为机器人理解的位置。
如上综述,当与机器人一起工作时,可能难以确定机器人正计划做什么以及机器人可以或无法理解关于其周围环境的什么。本文中提供的技术和技艺生成混合现实显示,该混合现实显示被配置成使得用户能够自然地可视化在将发生机器人的计划动作的空间中的这些计划动作以及该机器人对在它周围的世界的感知,从而允许与该机器人更安全和更自然的交互。
应当理解,上述主题可被实现为计算机控制的装置、计算机进程、计算***或诸如计算机可读存储介质等制品。通过阅读下面的详细描述并审阅相关联的附图,这些及各种其它特征将变得显而易见。此外,所要求保护的主题不限于解决在本公开的任一部分中所提及的任何或所有缺点的实现。
尽管本文中描述的主题主要在用于提供对一个或多个机器人的增强的控制的技术的一般上下文中呈现,但可以理解本文中描述的技术可适用于任何类型的传感器和/或采用这些传感器的任何类型的设备。如将在此更加详细描述地,可以理解在此所述的技术和技艺的各实现可以包括固态电路、数字逻辑电路、计算机组件和/或在一个或多个设备上执行的软件的使用。在此所述的信号可以包括用于传递改变的状态、移动和与运动检测相关联的任何数据的模拟和/或数字信号。
尽管在结合计算机***上的操作***和应用程序的执行而执行的程序模块的一般上下文中提出了本文描述的主题,但是本领域技术人员将认识到,其它实现可以结合其它类型的程序模块来执行。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、组件、数据结构及其它类型的结构。此外,本领域技术人员将明白,可以使用其它计算机***配置来实施本文描述的主题,这些计算机***配置包括手持式设备、多处理器***、基于微处理器的或可编程消费电子产品、小型计算机、大型计算机等等。
在以下详细描述中,参考了构成详细描述的一部分并作为说明示出了各具体配置或示例的附图。现在参考附图,其中相同的附图标记贯穿若干附图表示相同的元素,为用于提供对一个或多个机器人的增强的控制的计算***、计算机可读存储介质、以及计算机实现的方法的各方面。如下将参考图8-10更加详细描述地,存在可以具体化在此所述的功能和技术的许多应用和服务。
图1是示出本文中公开的用于提供对机器人的增强的配置和控制的一个说明性机制的各方面的***图。如图1所示,***100可包括远程计算机101、计算设备110、机器人设备102和网络120。出于说明的目的,机器人设备102在本文中也被称为“机器人102”或“第二计算设备102”。
计算设备110可作为独立的设备操作,或者计算设备110可与其他计算机(诸如,远程计算机101)结合地操作。如可领会的,远程计算机101、机器人102和计算设备110通过一个或多个本地和/或广域网(诸如网络120)互连。此外,机器人102可利用一个或多个组件与计算设备110和其他计算机通信。例如,机器人102可配备有一个或多个光源,并且计算设备110可包括用于检测机器人102的位置的一个或多个传感器,包括相机。如将在以下更详细地描述的,机器人102可配置有光源、传感器以及用于促成与一个或多个设备的通信的传送设备。其他有线或无线通信机制可被利用来提供图1中示出的一个或多个组件和/或设备以及其他组件或计算机之间的通信。在一些配置中,机器人102还可包括输入设备、传感器(诸如相机)或用于生成图像数据或输入数据113的其他设备。由机器人102获得或生成的任何数据可被传达给另一计算机或设备,诸如计算设备110或远程计算机101。应当领会,可以利用除图1中解说的网络连接之外的多得多的网络连接。
计算设备110可采用个人计算机、可穿戴计算机(包括HMD)或具有用于使得在显示器(诸如,界面118)上显示一个或多个图像的组件的任何其它计算设备的形式。在一些配置中,界面118可被配置成覆盖用户的至少一个眼睛。在一个说明性示例中,界面118可包括被配置成覆盖用户的两个眼睛的屏幕。***100或***100的各方面可生成一个或多个图像,该一个或多个图像用于生成一个或多个对象的立体视图。计算设备110可包括传感器153,诸如声纳传感器、深度传感器、红外传感器、热传感器、触摸传感器、或用于检测对象的存在、位置和/或特性的任何其他设备或组件。此外,计算设备110可包括输入设备119,诸如键盘、鼠标、话筒、或被配置成基于与计算设备110的任何交互来生成信号和/或数据的任何其他设备。出于说明的目的,由诸如传感器153或输入设备119之类的组件提供的信号或数据在本文中被称为输入数据113。输入数据113还可包括上下文数据或从诸如远程计算机101或提供资源或服务(诸如图9中示出的服务和资源(914-924))的服务器之类的计算***接收到的其他数据。
界面118可被配置成显示来自不同环境的多个图像。例如,界面118的一些配置可允许用户透视界面118的各可选择的部分,从而使得用户能够查看他或她的周围环境。出于说明的目的,用户透视界面118的视角在文本中被称为对象或周围环境的“现实世界视图”或者“视图”。如以下将更详细描述的,内容可被显示在界面118的所选部分周围,从而使得用户能够看见显示的内容以及透过界面118的所选部分观察到的现实世界对象的视图。
本文中描述的配置提供“透视显示器”和“增强现实显示器”两者。出于说明的目的,“透视显示器”可包括可在其上显示内容的透明透镜,而增强现实显示器可包括被配置成将内容覆盖在图像(该图像可来自任何源,诸如来自用于显示现实世界视图的相机的视频馈源)的显示之上的不透明的显示器。出于说明的目的,本文中公开的一些示例描述将内容覆盖在图像的显示上。此外,本文中公开的一些示例描述将内容覆盖在“透视显示器”上,从而使得用户能够看见现实世界视图以及该内容的技术。可领会,本文中描述的所有技术可适用于“透视显示器”、“增强现实显示器”或其变体。
计算设备110可包括存储简档数据103、输入数据113和应用数据115的本地存储器180。简档数据103可存储描述用户活动、偏好的信息以及用于提供对一个或多个计算设备(诸如机器人)的控制的其他信息。应用数据115可包括通过本文中公开的技术生成的输出数据。如以下将更详细描述的,应用数据115可包括状态数据、图像数据、标识几何参数的数据和由本文中公开的技术利用的其他数据。
计算设备110还可以包括程序模块111,其被配置为管理本文描述的技术以及用户和计算设备110之间的交互。例如,如以下将更详细描述的,程序模块111可配置有一个或多个表面重构算法以及用于定位对象和设备的其他算法。这些表面重构算法和其他算法可使用从附连到计算设备110的一个或多个传感器153(诸如,深度传感器)收集的数据或信号。程序模块111可采用游戏应用、虚拟现实应用、操作***组件或被配置成在显示器上显示图像数据(诸如视频数据和/或图像数据)的任何其它应用的形式。在一些说明性示例中,程序模块111是创建或允许用户与虚拟世界环境或增强现实环境交互的机器人控制器应用或游戏应用。在另一个说明性示例中,程序模块111可采用操作***组件或生产力应用的形式。
远程计算机101可采用被配置成存储和处理简档数据103、应用数据115和与用户或其他应用相关联的其它信息的一个服务器计算机或多个服务器计算机的形式。如可领会的,远程计算机101可存储简档数据103和应用数据115的复制副本,从而允许集中式服务协调多个客户端计算机(诸如计算设备110)。远程计算机110还可包括用于执行本文中描述的一个或多个技术的组件,诸如服务器模块107。如本文中将更详细描述的,服务器模块107可结合其他模块(诸如程序模块111)操作以实现本文中公开的技术的各方面。在一些配置中,本文中公开的技术可由计算设备110执行。
机器人102可配备有用于执行向该机器人102传达的指令的控制模块150。机器人102可具有一个或多个控制组件,诸如致动器152。机器人102的各组件(诸如,致动器152)可被配置成根据机器人102所接收到的指令来生成一个或多个对象的物理移动。如以下将更详细描述的,机器人102还可包括被配置成控制机器人102的移动的多个马达。
在本公开的一些方面,计算设备110基于输入数据113和其他数据检测一个或多个条件,并生成用于控制机器人102的一个或多个指令。在一些配置中,计算设备110获得输入数据113和描述机器人102的位置和状态的其他数据。此外,计算设备110可获得并处理指示机器人102相对于计算设备110的位置的数据。
从任何资源(诸如,远程计算机或传感器)接收到的任何输入数据113可被计算设备110用于确定任何对象的位置、计算设备110的位置以及机器人102的位置。例如,计算设备110或机器人102可包括用于获得深度图数据(诸如深度传感器)以及标识各对象(包括房间边界)在房间中的位置的其他数据的一个或多个传感器。本文中公开的配置可生成描述任何对象或边界的几何参数的数据。
用于标识一个或多个对象的位置的任何已知技术可由本文中公开的技术使用。在一个示例中,定义机器人102的位置的数据可由计算设备110通过使用光学传感器(诸如相机或任何其他传感器153或输入设备119)和光或安装在机器人102上的其他视觉元素来获得。在该说明性示例中,多个LED可被安装在机器人102的顶部。一些LED可具有不同的颜色来标识机器人102的方向。各LED可被安装在机器人102上相对于彼此的预定距离和预定位置处。在知道LED的距离和位置,以及诸如LED的色彩布置之类的其他信息的情况下,机器人102的方向和位置也可被确定。任何已知技术(诸如利用三角测量技术的技术)可被用于标识机器人102的位置和方向。此外,其他技术可被用于确定机器人102和计算设备10之间的距离。
这些示例仅出于说明的目的被提供且并不被解释为限制。任何技术可被用于标识任何计算设备或对象的位置,其可涉及使用无线电信号、基于光的信号或能够标识对象的位置的任何信号。计算设备110可处理来自任何设备或资源的任何输入数据113以标识关于对象或计算设备的位置和其他上下文信息。
在一些配置中,机器人102可具有用于捕捉和生成数据的一个或多个传感器。在一个说明性示例中,机器人102可配备有一个或多个深度图相机。深度图相机或任何其他类型的传感器可收集描述传感器所检测到的对象的数据。在又一示例中,机器人102可配备有轮子位置传感器。由这样的传感器(诸如,轮子位置传感器)生成的数据或信号可被用于标识关于机器人102的位置、速度或其他信息。这些示例仅出于说明的目的被提供且不被解释为限制。可领会,多个传感器或设备可被用于生成/获得与一个或多个对象相关联的数据并标识一个或多个对象的位置。
获得的数据(诸如深度图数据)可随后由本文中描述的技术处理以标识对象以及对象的位置,并生成和显示与对象相关联的数据。在本文中描述的示例中,在用户界面上用示出与该对象相关联的数据和某对象之间的关联的表示或图形元素来显示与该对象相关联的数据。出于说明的目的,与对象相关联的数据在本文中被成为“附连数据”或被“附连”到对象的数据。此外,任何获得的数据(在本文中也被成为输入数据113)可被用于生成并修改用于一个或多个计算设备(例如,机器人102)的指令。
在一些配置中,计算设备110可被配置成执行或管理机器人102的复杂的导航和路径查找任务。这样的配置可使得机器人102能够具有简单化的结构以及可能简单化的软件算法,这最终允许实现更低成本的设备。这样的配置也是可伸缩的,因为单个计算设备(诸如头戴式显示器)可用于导航并控制许多机器人102,而无需每一机器人102都配备有昂贵的硬件或软件组件。
在一些配置中,计算设备110解释输入数据113和/或其他数据以确定与房间中的对象有关的上下文。计算设备110可执行一个或多个功能(诸如深度图分析和表面重构分析)以标识对象以及对象的属性。例如,某些几何形状和其他参数(诸如对象的尺寸)可被用来对各个体对象进行分类和表征,例如,对象可被表征为“家具”、“高优先级对象”或“主要对象”。可从数据库或其他资源(诸如图9中描绘的服务和资源)处获得与环境中的各对象相关的其他数据。
在一些配置中,本文中公开的技术可处理来自一个或多个资源的输入数据113以生成上下文数据。上下文数据被本文中描述的技术用来标识与每一标识的对象相关联的位置。基于与每一对象相关联的位置信息、其他数据和其他属性,本文中公开的技术可生成使得机器人执行一个或多个任务的指令。生成的指令可基于标识的对象(诸如计算机)的位置、几何数据、对象的特性以及其他上下文信息。
为了说明本文中公开的技术的各方面,考虑其中机器人102与其他对象一起在环境(例如房间)中的场景。穿戴着头戴式显示器的用户可站在房间中,与其他对象和机器人102在一起。安装到头戴式显示器的传感器153和输入设备119可生成与机器人102和其他对象相关联的信号或数据。例如,信号或数据可通过一种或多种方法(诸如涉及三角测量算法的技术)来处理以标识对象和/或机器人102的位置。其他输入数据113可与这些信号或数据一起被接收和处理以标识对象和/或机器人102的位置以及其他参数,诸如对象和/或机器人102的尺寸和形状。处理可被应用于接收到的任何数据或信号以标识房间中的对象的位置和几何属性。获得的信息可被用于生成可被传达给机器人102执行的一个或多个指令。这些指令使得机器人102能够执行一个或多个任务,此一个或多个任务可涉及机器人102和房间中的一个或多个对象之间的交互。
参考图2A,机器人102可被配置成执行与对象204相关联的任务。例如,计算设备110可解释各种类型的数据(诸如图像数据)以确定机器人102的位置以及对象204的位置。基于每一对象的位置,本文中公开的技术可生成使得机器人102与对象204进行交互的指令。在一个说明性示例中,被配置用于机器人102的指令可使得机器人102沿着机器人102可用来导航到对象204的路径201(在图2A中用虚线解说)而行。此外,这些指令可使得机器人102捡起对象204或执行任何其他任务,该其他任务可涉及与对象204的任何交互。被配置用于机器人102的指令可使得机器人102沿着路径201移动,并执行这些指令中定义的任何数目的任务,这些任务可包括与对象204相关联的一个或多个任务。
在这些指令的执行期间,机器人102和其他设备还可向计算设备110提供反馈信息。反馈信息可被计算设备110处理以对生成的指令集作出调整或修改。如上所述,指令可基于任何类型的输入数据被生成、导出或获得。该反馈机制允许计算设备110在机器人102执行任务时对传达给机器人102的指令作出调整。
图2B解说了其中有障碍物205被定位在机器人102和第一对象204之间的场景。这样的场景可在障碍物205已被移动到图2B中示出的位置时发生。如上综述,本文中描述的技术使得计算设备110能够适配到改变的环境,诸如障碍物205的引入。
通过使用计算设备110的一个或多个传感器并可能使用附连到机器人102的传感器,计算设备110可标识机器人102相对于障碍物205和对象204的位置。基于多个参数(其可包括障碍物205的尺寸和位置),计算设备110可生成针对机器人102的一组指令,以绕过障碍物205并执行与第一对象204相关联的一个或多个任务。在一些配置中,生成的指令可定义经修改的路径201’(在图2B中用虚线解说)以供机器人102沿着行走。此外,这些指令可以是基于规则的。例如,生成的指令可仅标识要避开的对象。此外,这些指令可提供诸如捡起对象、提供信息、收集信息等特定任务。出于说明的目的,响应于改变的环境或条件(诸如,错误或冲突)而生成的指令被称为“修改的指令”或“对指令的修改”。对一个或多个指令的调整可在指令的执行期间的任何点作出。例如,参考图2B,输入数据113可由计算设备110在点“A”、点“B”或任何其他点处处理以生成新的指令或修改存储的指令。
在本公开的其他方面,本文中公开的技术提供这些指令以及其他状态数据的图形表示。如本文中所综述的,用户可能难以确定机器人正计划什么以及机器人可以或无法考虑关于其周围环境的什么。例如,在用指令配置机器人102时,用户一般需要对机器人102执行这些指令以确定这些指令是否有效。为了解决与一些现有***有关的此类缺点,被配置用于机器人102的指令被分析并被作为图形表示来显示。
在一些配置中,使用根据描述移动计算设备(诸如机器人102)的特性的数据来建模的模拟器来分析这些指令。例如,如果机器人102具有每小时2英里的最大速度,并且可仅抬起10磅,则本文中公开的技术可使用模拟器利用这样参数来执行指令。此外,模拟器还可利用描述对象或环境的边界的数据。来自该模拟的一个或多个预测的结果可被生成作为输出数据,该输出数据在本文中也被称为“模型数据”。本文中公开的技术可随后基于该模型数据生成定义机器人102的动画或渲染的数据。定义渲染的输出数据可包括表示模型数据的动画或其他图形元素。出于说明的目的,图3A-3E解说了可基于模型数据和/或其他数据的显示的示例。
考虑图3A中示出的示例场景。HMD形式的计算设备110可向机器人102提供指令。在该示例中,HMD包括输入设备119,输入设备119可包括话筒、声纳传感器或用于接收由对象或用户引起的输入的任何其他设备。此外,HMD包括传感器153,传感器153可包括朝向机器人102、障碍物205或环境中的任何其他对象定向的相机(如虚线所解说的)。如上综述,机器人102可配置有一个或多个视觉标识符351(诸如彩色的光)以供在检测机器人102的位置和方向时使用。虽然本示例解说了具有光的配置,但任何类型的视觉标识符或物理特性可被使用。
基于对这些指令的用户检验,用户可能难以标识机器人102可行进的确切路径。此外,用户可能难以基于这些指令来预测可发生的交互的类型。为了解决这样的问题,图形显示300(诸如图3B中示出的图形显示)可被显示给穿戴配置有本文中描述的技术的HMD的用户。图形显示300可包括例如机器人102的表示以及一个或多个对象(诸如,障碍物205)的表示。这些指令可由多个图形元素或动画来表示。在图3B所示的示例中,基于对这些指令的解释或模拟,可确定并显示将由机器人102执行的路径301。用图3B中示出的虚线示出了路径301的一个示例。如图所示,图形显示300可包括多个级式,其中每一级式可表示与这些指令相关联的一个任务。使用符号、文本描述、图形元素或动画的其他表示可被显示以示出不同的移动、功能或任务。在一个说明性示例中,图形显示300可动画化机器人102捡起对象、输入数据、接收数据或机器人可执行的任何其他功能。如图所示,图形元素303可使文本牵涉示出该文本和对象204之间的关联的一个或多个图形元素(诸如图3B中示出的引用框)。
通过示出路径的图形表示以及可由机器人102执行的其他任务,用户可容易地理解机器人将如何与不同的对象和障碍物交互。通过使用这样的技术,指令可由用户或计算机修改和测试,而无需机器人102真正地执行这样的动作。在机器人可需要燃料和其他能量资源来进行操作的情况下,这样的配置可以是有益的。
本文中提供的这些示例仅出于说明的目的而不被解释为限制。例如,本文中公开的一些配置可生成示出机器人在过去已执行的任务和功能的数据。由此,由机器人102实际上执行的指令的历史可被渲染成动画或其他类型的显示,从而允许用户查看机器人102的渲染以及机器人的环境的渲染或图像。例如,图3B的解说可被用于解说机器人的过去表现。
在一些配置中,指令的图形表示被显示为完全覆盖在现实世界视图顶上的“混合现实”或“增强现实”渲染。计算设备可显示机器人的指令,以及生成指令并将这些指令覆盖在它们将在环境中将发生的现实世界的视图上。指令的渲染或者描述这些指令的渲染被布置成使得这些指令可被用户容易并自然地理解。
如图3C和图3D所示,计算设备110可生成解说一组指令的执行或模拟的不同显示。如图3C所示,机器人102相对于环境和对象(诸如障碍物205)的位置可被显示给用户。此外,图形元素可示出机器人102的剩余路径301.表示路径301的图形元素可示出机器人102的导航预测和意图。此外,可将路径301的各部分从显示中移除以指示这些指令的执行或模拟的级式或进展。
如图3D所示,可显示附连到各执行级式的各状态指示符。例如,图形元素310可提供与功能、任务或指令相关联的状态信息。在本示例中,图形元素310指示任务已被执行,例如对象已被捡起。在一些配置中,图形元素310包括描述功能、任务或指令的文本。对任何状态信息或者功能任务或指令的任何表示的显示可基于多个因素。例如,当检测到错误、冲突或成功水平时,可显示状态信息。
在一些配置中,本文中公开的技术可选择界面118的各部分,其中所选的部分被配置成是透明的。这些部分向用户提供一个或多个对象(诸如环境中的各元素以及机器人102)的现实世界视图。环境可包括对象和/或环境的其他方面,诸如墙壁或边界。出于说明的目的,混合环境显示可包括具有一个或多个现实世界对象的现实世界视图的图形表示的显示。例如,表示机器人的路径的图形元素的渲染可结合该环境和/或该环境中的对象的现实世界视图一起被显示。
图3E解说了混合环境显示的一个示例。在该示例中,计算设备的界面被配置成提供允许计算设备110的用户看见周围环境中的对象的现实世界视图的一个或多个透明部分。本文中公开的配置可在该界面内创建可选择的部分350以通过该界面提供对象(诸如,障碍物205)的现实世界视图。由此,各对象的渲染(诸如机器人102的渲染)可与现实世界对象(诸如,障碍物205)的现实世界视图一起被显示。该示例仅出于说明的目的被提供且不被解释为限制。可领会,可在该界面内生成多个透明部分。此外,可领会,多个经渲染的对象可与现实世界对象的任何数目的现实世界视图一起被显示。在其他方面,本文中公开的配置确定这些指令是否形成与一个或多个对象的冲突。如果确定这些指令形成与至少一个对象的冲突,则本文中公开的技术修改这些指令以移除或减轻冲突。例如,冲突可涉及使得机器人与房间中的一个或多个对象碰撞的指令。移除冲突可涉及生成指导机器人避开碰撞的指令。
新指令可由该***解释以生成解说这些新指令的执行的图形表示。在一些配置中,新指令的图形表示可按图3B-3D中示出的方式向用户显示。在一些配置中,图形表示解说不同指令的若干版本,以使得用户可查看、比较、选择以及编辑多于一组指令。编辑可通过使用语音命令、姿势或由用户执行的其他动作来执行。
在本公开的其他方面,通过使用这些图形表示,计算设备110还可解说由机器人102所执行的命令或指令的历史。指令的这一显示可采用机器人102的文本描述、图形表示或甚至动画或视频渲染的形式。通过渲染并显示解说命令历史的图形表示,用户可观察机器人如何到达特定状态。如上综述,这样的图形表示可用于调试和分析的目的。
如上综述,描述状态或其他信息的数据可被附连到机器人的一个或多个组件或其他对象。基于一个或多个因素,该数据可与组件或对象一起被显示。图形元素或该数据相对于组件或对象的布置可被显示,从而允许用户容易地标识该数据如何与一个或多个组件或对象关联。
图4A解说了其中数据与一个或多个附连的对象(诸如,机器人102的组件)一起被显示的一个示例。在该示例中,电池状态352被显示。如所示出的,虚线或其他图形元素可被显示以示出状态数据和附连的对象之间的关联。在该示例中,图形表示解说电池状态352直接与电池410有关且引擎状态351直接与引擎412有关。
图4B解说指示计算设备(例如机器人102)的移动的附连的数据的显示的示例渲染。在该示例中,机器人102的速度是通过使用附连的视觉指示符490来显示。在一些配置中,虚线或其他图形元素可被显示以示出状态数据和附连的对象之间的关联。。在该示例中,视觉指示器490被配置成示出状态数据和机器人102之间的关联。如在本示例中示出的,在该视觉指示符490中描述了方向和速度。在一些配置中,视觉指示符490的尺寸、位置和其他特性可基于一个或多个因素。例如,视觉指示符490的尺寸、位置和其他特性可基于机器人102的视图的尺寸。该示例是出于说明的目的被提供的且不被解释为限制。
图4C解说了与计算设备的现实世界视图附连的数据的示例渲染。在该示例中,计算设备的界面被配置成提供允许计算设备的用户看见现实世界对象和周围环境的现实世界视图的一个或多个透明的部分。如图4C所示,本文中公开的配置可在该界面内创建可选择的部分450以通过该界面提供对象(诸如,机器人102)的现实世界视图。由此,各种类型的数据(诸如,附连的视觉指示符490)的渲染可与现实世界对象(诸如机器人102)的视图一起被显示。该示例仅出于说明的目的被提供而不被解释为限制。可领会,可在该界面内生成任何数目的透明部分。此外,可领会,任何数目的经渲染的图形元素可与各对象的任何数目的现实世界视图一起被显示。
本文中公开的一些配置可将对象的图形增强显示在界面上。图形增强可相对于现实世界对象(诸如,机器人102或任何其他对象)的现实世界视图的位置定位。图形增强的位置可随对象的现实世界视图的移动而移动以提供该图形增强固定于或基本上固定于该现实世界对象的外观。示出附连数据的显示的图形元素也可被配置和布置成示出附连数据和图形增强之间的关联。
图4D解说了附连到计算设备的现实世界视图的数据以及该计算设备的混合环境增强的显示的示例渲染。在该示例中,类似于图4C中的示例,计算设备的界面被配置成提供允许计算设备的用户看见一个或多个对象和/或周围环境的现实世界视图的一个或多个透明的部分。如图4D所示,本文中公开的配置可在该界面内创建可选择的部分450以通过该界面提供现实世界对象(诸如,机器人102)的现实世界视图。此外,图4D还包括被配置成补充机器人102的现实世界视图的增强的图形表示491的显示。在本示例中包括视觉指示符490的附连的数据可与机器人102的现实世界视图图形地关联,或者该附连的数据可与其他组件(诸如,增强的图形表示491)图形地关联。
通过示出数据和附连的对象之间的关联,用户可容易地辨别与一个或多个设备、组件或其他对象相关联的状态或其他信息。当机器人具有庞大数目的组件时,这样的配置可以是有益的。例如,如果机器人具有多个电池或多个马达,则当检测到与特定电池或马达有关的错误或问题时,本文中描述的技术可标识出具有该问题的具体电池或马达,并直接关联附连的数据,从而允许用户容易地查明任何问题。如可领会的,任何组件(诸如电池或引擎)可由任何图形元素或动画来表示。还可领会,任何图形元素、动画或甚至数据的布置或位置都可被用来解说数据和任何附连的对象之间的关联。
附连的数据的显示可由一个或多个因素触发。例如,如果特定组件存在问题,则可向用户显示附连的数据。一个或多个阈值可被用来确定数据是否应当被显示给用户。在一些示例中,温度读数或功率水平可被与阈值进行比较,并且如果一个或多个条件被满足,则相关数据可被显示。在另一示例中,特定组件的使用水平可被测量。在这样的示例中,计算机可存储指示一个或多个组件的预期寿命的数据。当该组件被使用时,一个或多个测量(例如,在几小时或几天中测量的使用数据)可被监视并与阈值进行比较。一旦一个或多个测量方法达到阈值,本文中公开的技术就可采取一个或多个动作来指示此。这些示例是出于说明的目的被提供的而不被解释为限制。任何组件组合的任何类型的状态或测量可被用来确定是否要显示附连的数据。
计算设备的状态或计算设备的组件的状态可使用一个或多个机制来确定。例如,机器人102可将组件的状态(诸如,马达的温度或电池的功率水平)传达给远程计算机,诸如计算设备110。在一些配置中,计算设备的状态或计算设备的组件的状态可通过使用传感器来确定。例如,HMD的相机可通过捕捉组件的图像数据来检测状态。其他传感器(诸如,红外传感器)可测量设备的温度。任何基于图像数据的分析的测量都可被用来确定状态。例如,图像可示出应力破裂或不在适当位置的部分。在这样的场景中,示出凹槽的深度、测得的各组件之间的距离、或其他条件的图像数据可被用来确定状态,诸如错误或冲突的存在。
在一些配置中,描述一个或多个场景的上下文数据可被用来确定将在何时向用户显示附连的数据。此外,描述场景的上下文数据可被用来确定可被显示的数据的类型。例如,机器人可被配置成将座椅安装在车辆中。当被呈现这样的场景时,计算设备可显示被附连到座椅或该车辆在座椅附近的某些组件的数据。在又一场景中,如果机器人被配置成绘制该车辆,则计算设备可显示与该车辆的外部服务相关的数据或者计算设备可显示附连到该绘画的数据。通过提供上下文知晓的相关信息,与机器人及其周围环境的用户交互可得到改善。显示的数据可取决于任何因素(诸如设备的状态、与机器人相关联的场景等)而自动出现和消失。此外,附连的数据的显示可基于计算设备的模式或用户设置。
在图4A中示出的示例显示400中,附连到对象的数据以示出数据和对象之间的关联的方式被示出。此外,如果计算设备检测到人的存在,则这个人可通过使用面部识别技术或其他技术来标识,并且基于该标识,可从一个或多个资源(诸如图9中描绘的资源)处检索到其他信息并将该其他信息显示在界面上。如本示例所示,这样的信息可通过使用图形元素413被附连到人的渲染414。在本示例中,用示出该信息和人的表示之间的附连的对话框来显示该人的名字。任何类型的信息可被附连到对象、人的现实世界视图或人的渲染414。例如,附连的信息可描述设备、人或对象的状态,或者附连的信息可描述与设备或人有关的其他上下文信息。
在图4A中示出的其他示例中,图形元素414可示出与对象204相关联的状态数据。在这样的示例中,状态数据的图形元素415可描述与对象204的交互。该交互可以是过去的动作、当前的动作、将来的动作。图形元素414还可提供对与对象204相关的其他信息、可从一个或多个资源(诸如图9中描绘的资源)处获得的信息的描述。
在本文中公开的技术的又一方面,用户可训练或配置机器人。在一些配置中,本文中的技术可基于姿势、动作或其他形式的输入生成指令或其他类型的命令。计算设备110可配置有用于检测用户的移动和其他动作的多个传感器。用户的移动和动作(诸如,在键盘上输入数据、捡起对象、在路径中行走、看着特定方向或其他类型的活动)可被检测到并被转换成针对机器人的指令。在一些配置中,这些指令被遵守以引导机器人执行用户所实施的动作。移动、任务以及甚至表情或情绪可被定义在这些指令中。指令可允许机器人执行、表达或模拟从用户捕捉到的动作、表情或情绪。
在一些配置中,由传感器或其他类型的输入捕捉到的视频数据和其他数据可被处理以推导出上下文信息。上下文信息可捕捉用户的移动和动作并排定其优先级。上下文信息可被用于确定目标或任务,诸如捡起对象或者移动到工作站并与计算机进行交互。上下文信息也可被用来生成可使得机器人沿特定路径而行、引导相机并以特定方向移动(例如,跟随用户的注视方向)以及其他动作的多个指令
在一个说明性示例中,穿戴HMD的用户可走过公园,并且通过使用手势,用户可标识地上的垃圾。通过使用本文中描述的技术,用户可指向地上的特定对象,并且通过解释该姿势和/或其他类型的输入(诸如语音命令),计算设备可选择一个或多个对象,并生成可使得机器人捡起所选的对象的指令。
任何类型的输入数据可被用于这些技术,这可涉及对来自GPS设备的位置信息的使用、接收自远程计算机的环境的地图、以及诸如对象的尺寸和形状之类的其他上下文数据。生成的指令可被传达给机器人,从而允许机器人执行由穿戴该HMD的用户的动作所解释的任务。在本示例中,机器人可被配置成在用户选择对象时跟随该用户,并捡起所选的对象。在一些配置中,指令可使得机器人自主起作用,而无需来自用户的指引。
这些示例是出于说明的目的来提供的,而不被解释为限制,因为计算设备所检测到的任何用户动作都可被解释以生成针对计算机或机器人的指令。图2B可被用于解说一个示例。穿戴诸如HMD之类的计算设备的用户可沿特定路径(例如,从点“A”到点“B”)而行。用户可在每一点执行不同的功能,诸如从计算机屏幕阅读信息、在键盘中输入数据、通过姿势或语音命令中的一者或多者传达命令等等。指令可基于用户的动作生成,其可包括移动模式、注视方向和与其他对象或计算机的交互。在一些配置中,计算设备可通过使用多个传感器(包括相机、话筒和其他传感器)来捕捉用户的动作。这些动作可被计算设备解释以生成使计算机或机器人实施用户所执行的任务或动作的指令。
计算设备还可配置有用于检测用户的情绪或其他上下文信息的一个或多个技术。例如,计算设备可听到用户语音方面的变化或与用户的表情相关联的其他观察。经解释的信息可被用于确定用户的情绪。捕捉到的表情(诸如,用户的情绪)可被用于生成供机器人执行的一个或多个指令,该一个或多个指令可模拟该情绪。
例如,在机器人将在门口迎接人的情况中,用户可穿戴计算设备(例如,HMD)以捕捉用户的叙述、解释用户的情绪并且还捕捉与其他人或对象的其他交互。计算设备所捕捉到的由用户执行的交互和动作可被解释并转换成针对机器人的指令。这些指令被配置成使得机器人模拟用户的情绪和交互。由此,复杂的任务(诸如,将机器人编程为在门口迎接人)可通过使用用户的自然动作来实现。
现在转到图5,下面示出并描述了用于提供对混合环境中的对象的上下文知晓的显示的例程500的各方面。应该理解,不一定按任何特定次序来呈现本文公开的方法的操作,并且用替换次序来执行部分或全部操作是可能的且可构想的。为了易于描述和说明,按所示次序来呈现各操作。可以添加、省略和/或同时执行操作,而不脱离所附权利要求书的范围。
还应当理解,所示方法可在任何时间结束且不必完整地执行。这些方法的部分或全部操作和/或基本等效的操作可通过执行计算机存储介质上所包括的计算机可读指令来执行,如在下文中所定义的。如在说明书和权利要求书中使用的术语“计算机可读指令”及其变型,在本文是用来广泛地包括例程、应用、应用模块、程序模块、程序、组件、数据结构、算法等等。计算机可读指令可以在各种***配置上实现,包括单处理器或多处理器***、小型计算机、大型计算机、个人计算机、手持式计算设备、基于微处理器的可编程消费电子产品、其组合等等。
因此,应该理解,本文所述的逻辑操作被实现为:(1)一系列计算机实现的动作或运行于计算***上的程序模块;和/或(2)计算***内的互连的机器逻辑电路或电路模块。该实现是取决于计算***的性能及其它要求的选择问题。因此,本文描述的逻辑操作被不同地称为状态、操作、结构设备、动作或模块。这些操作、结构设备、动作和模块可以用软件、固件、专用数字逻辑及其任何组合来实现。
如将结合图1更详细地描述的,例程500的操作在本文中被描述为至少部分地由诸如程序模块111和/或服务器模块107之类的应用、组件和/或电路来实现。尽管以下图示涉及图1的各组件,但是可以理解例程500的操作也可以许多其它方式来实现。例如,例程500可至少部分地由计算机处理器或另一计算机的处理器来实现。另外,例程500的一个或多个操作可替换地或附加地至少部分地由单独工作的芯片组或与其它软件模块协同工作的芯片组来实现。适于提供指示任何设备的位置或状态的上下文数据的任何服务、电路、或应用可在本文所描述的操作中使用。
参考图5,例程500在操作502处开始,其中程序模块111或服务器模块107获得一个或多个对象的位置信息。位置信息可标识一个或多个计算设备(诸如机器人)以及在该一个或多个计算设备周围的其他对象的位置。位置信息还可标识该一个或多个计算设备周围的环境的各方面,诸如房间的墙壁和其他障碍物。
在一些配置中,位置信息可通过计算机(诸如HMD)的输入设备来获得。输入设备(诸如相机或其他传感器)可用于标识一个或多个对象的位置。在一个示例中,用户穿戴的HMD可具有一个或多个传感器以标识机器人的位置。此外,这些传感器可用于确定在该机器人周围的对象的位置。如上综述,机器人可配置有视觉指示符(诸如彩色的光),其可被HMD的传感器检测到。在一些配置中,附连到机器人的一个或多个传感器可被用来收集一个或多个对象的位置信息并传达该位置信息。
接着,在操作504,一个或多个计算设备可获得指令。这些指令可采用使用适于控制计算设备(诸如机器人102)的任何类型的语言的任何格式。此外,这些指令可定义供机器人执行的一个或多个任务。例如,这些指令可被配置成引导机器人移动通过一个或多个障碍物以与环境中的各对象交互。这些指令可来自任何资源,诸如本地计算机或远程计算机。这些指令可通过本文中公开的技术生成。
接着,在操作506,一个或多个计算设备可分析这些指令和/或发起对这些指令的模拟以生成定义计算设备的动作或预计动作的模型数据。在第一示例中,基于机器人102以及一个和多个对象的位置信息,模拟可确定机器人102可沿其而行以避免障碍物的路径。此外,模拟可确定机器人可具有的与诸如图3B中描绘的对象204之类的一个或多个障碍物的交互。模拟还可基于其他信息,诸如机器人以及可与机器人进行交互的其他对象的物理特性。例如,对象的尺寸和重量可确定机器人是否能够实现这些指令中定义的该一个或多个任务。操作506可包括基于对这些指令的分析和/或执行的模拟来生成定义机器人的动作和结果的模型数据。此外,模型数据还可包括表现数据,诸如机器人能够执行这些指令中定义的任务的速度。
在操作506的另一示例中,机器人可执行这些指令以实际上执行这些指令中定义的一个或多个任务。在这样的示例中,机器人可实际上执行一个或多个任务,并基于机器人的表现生成模型数据。在该示例中,机器人102和/或计算设备110可观察并记录机器人102所执行的动作以生成模型数据。模型数据可被配置成示出机器人沿其而行的路径、指示机器人是否能够执行一个或多个任务的表现数据等等。例如,模型数据可指示机器人是否实际上能够避开障碍物、捡起设备或实施指令中定义的任何其他任务。由计算设备110的一个或多个传感器153或输入设备119所作的观察可被用于确定任务是否已被达成。
接着,在操作508,一个或多个计算设备可基于通过对这些指令的模拟和/或分析生成的模型数据来生成图形数据。图形数据可采用任何格式,并且可提供机器人所执行的任务的图形表示或这些指令中定义的任务的模拟。在一些配置中,图形数据可包括解说多个执行级式的动画。图形数据可被配置成包括计算设备(诸如,机器人102)的图形表示和/或与该计算设备交互的一个或多个对象的图形表示。例如,图形数据可包括一个或多个图示,诸如图3B-3E中的图示。
接着,在操作510,一个或多个计算设备可使得在界面上显示图形数据。例如,图形数据可被显示在计算设备(诸如HMD)的界面上。图形数据的显示可提供在将发生机器人的动作的空间中的这些动作被机器人执行之前对这些动作的可视化以实现提升的理解和安全性。本文中公开的配置也从机器人对机器人周围的空间的视角(例如,周围的人和对象的位置)生成显示,以实现提升的理解和安全性。此外,本文中公开的配置生成被配置成显示机器人在环境中的过去动作,从而允许用户或***确认操作和/或调试一个或多个操作的数据。
现转至图6,为用于提供机器人的增强的配置和控制的例程600的各方面。例程600始于操作602,在操作602,一个或多个计算设备获得一个或多个对象的位置信息。位置信息可标识一个或多个计算设备(诸如机器人)以及在该一个或多个计算设备周围的其他对象的位置。位置信息还可标识该一个或多个计算设备周围的环境的各方面,诸如房间的墙壁和其他障碍物。
在一些配置中,位置和参数信息可被获得。如上综述,与一个或多个对象有关的信息可通过计算机(诸如,HMD)的输入设备获得。输入设备(诸如相机或其他传感器)可被用于标识一个或多个对象的位置。在一个示例中,用户穿戴的HMD可具有一个或多个传感器以标识机器人的位置。此外,这些传感器可被用于确定该机器人的环境中的各对象的位置。在一些配置中,机器人可配置有标识符(诸如彩色的光),其可被HMD的传感器检测到。在一些配置中,附连到机器人的一个或多个传感器可被用来收集一个或多个对象的位置信息并传达该位置信息。
在一个说明性示例中,操作602和本文中公开的其他操作可利用具有一个或多个传感器的第一计算设备,该一个或多个传感器被配置成检测第二计算设备和该第二计算设备周围的环境的位置和几何参数。在一些配置中,例如,第一计算设备可以是HMD;而第二计算设备可以是移动机器人。第一计算设备可具有存储器,该存储器上存储有第一组计算机可执行指令,这些指令可使得第一计算设备从传感器接收信号。基于该信号,第一计算设备可生成标识环境的几何参数的数据。此外,第一计算设备可基于该信号生成标识第二计算设备相对于环境的位置的位置数据。
接着,在操作604,一个或多个计算设备可使得生成一组指令,该组指令在本文中被称为“指令”。在一些配置中,该组指令可被配置为使第二计算设备(诸如机器人102)执行一个或多个任务。该组指令可至少部分地基于标识第二计算设备的位置的位置数据以及标识环境的几何参数的数据。例如,一组指令可引导机器人102导航通过环境内的障碍物。此外,指令可使得机器人102与一个或多个对象交互,此一个或多个对象可涉及计算机或其他机器人。
接着,在操作606,为第二计算设备配置的这组指令可被传达给第二计算设备。参考图1,例如,由计算设备110生成的一组指令可被传达给另一计算机,诸如机器人102。这些示例是出于说明的目的被提供而不被解释为限制。可领会,***100的计算设备中的任一者可生成任何格式的指令,并将生成的指令传达给适于执行这些指令的任何计算设备。
接着,在操作608,一个或多个计算设备可引起该组指令的执行。例如,该组指令可由机器人102执行。指令的执行可使得计算设备(诸如,机器人102)完成一个或多个任务。例如,指令的执行可使得计算设备导航通过障碍物、与各对象进行交互以及执行这些指令中定义的任何任务(例如,动作或功能)。
接着,在操作610,一个或多个计算设备可检测冲突或改变的情况。出于说明的目的,冲突可包括由该组指令的执行创建的非预期情况。例如,执行这些指令的计算设备可撞上环境的边界。在另一示例中,如果机器人102正在另一计算机处输入数据,则该数据输入中的错误可被检测到。本文中公开的技术也可检测改变的情况。例如,如果对象在这些指令的执行期间在环境内移动,则本文中公开的技术可检测这样的移动并确定存在改变的情况。
接着,在操作612,一设备、一个或多个计算设备可生成这些指令的修改或生成新的指令以解决在操作610处检测到的冲突或改变的情况。参考以上示例,在机器人102与环境的边界碰撞的情况下,这些指令的修改或新的指令可被生成以减轻检测到的碰撞。参考其中对象(图2B中的205)随环境移动的示例,计算设备101通过使用其传感器可标识经移动的对象的新位置。这些指令的修改或新的指令可被生成以解决经改变的情况。在这样的示例,例如在操作612中生成的指令可使得机器人102标识经移动的对象的新位置,并合适地与该对象的新位置进行交互。这些示例是出于说明的目的被提供而不被解释为限制。在操作612中生成的指令可解决任何改变的情况、冲突或情形。
接着,在操作612,这些指令的修改或新的指令可被传达给计算设备以供执行。例如,类似于操作606,指令或一组指令的修改可被传达给计算设备,诸如机器人102。操作612可包括传达新的指令和/或定义指令集合的修改的数据。
接着,在操作614,计算设备可执行接收到的指令或指令修改。任何数目的计算设备可引起接收到的指令的执行。参考以上示例,在操作614接收到的指令可使得计算设备(诸如,机器人102)采取校正动作来减轻冲突或解决改变的情况。
可领会,例程600中的某些操作可被重复,以允许第一计算设备(诸如HMD)和第二计算设备(诸如机器人)共同行动,以使得第一计算设备可连续地调整第二计算设备所采取的行动以解决可在任何指令集合的执行期间引起的改变情况和冲突。通过例程600生成的任何代码可帮助移动计算设备通过使用计算设备的与该移动计算设备通信的传感器来避免碰撞、保持在环境的边界之内、以及准确地与各对象进行交互。
现转至图7,为用于提供附连数据的混合环境显示的例程700的各方面。例程700始于操作702,在操作702,其中一个或多个计算设备获得状态数据。如上综述,状态数据可包括与任何计算设备或组件有关的任何信息。例如,状态数据可涉及机器人102的组件。状态信息可包括一个或多个项目的测量,诸如特定组件或计算设备的温度、速度或移动方向。
状态数据可源自一个或多个资源。例如,附连到计算设备110的相机可捕捉图像数据。该图像数据可被分析以检测一个或多个组件的移动。使用一个或多个已知的技术,逐帧的分析可被用来确定移动对象的速度和方向。在另一示例中,诸如红外传感器之类的传感器可被使用。在这样的配置中,设备或组件的温度可被测量。在又一示例中,状态数据可被从机器人102传导到一个或多个计算设备(诸如,计算设备110)以供进行一步处理和分析。在操作702中,可获得其他类型的数据。例如,图像数据可被分析以确定一个或多个对象(诸如,机器人102)的几何参数。
接着,在操作704,对获得的数据的分析可被执行以确定状态数据是否将被显示。一个或多个因素可被用于确定状态数据是否将被显示。例如,如果设备或组件的温度达到阈值,则***可确定这样的数据可被显示。包括用户输入、一个或多个设置或阈值的任何其他因素可在操作704中被用来确定状态数据是否将被显示。
接着,在操作706,本文中公开的配置引起获得的状态数据的显示。在一些配置中,描述状态数据的图形元素可被显示。在说明性示例中,图形元素(诸如箭头、线、文本或其他图形元素)可被用来描述在操作702获得的状态数据或其他信息。在一些配置中,显示的数据被附连到在界面上或通过界面查看的一个或多个对象。例如,界面可被配置成通过该界面的一部分来提供计算设备(诸如,机器人102)的至少一部分的现实世界视图。描述状态或其他获得的数据的图形元素可被配置成指示该图形元素和计算设备的现实世界视图的至少该部分之间的关联。数据和一个或多个显示的对象之间的图形关联可帮助用户容易地理解附连的数据的上下文。
接着,在操作708,一个或多个计算设备可接收输入。例如,来自用户的输入(其可包括语音命令、由相机、键盘、鼠标检测到的姿势、或者任何其他类型的输入)可被用于修改机器人102的数据或设置。如果在操作708接收到输入,则例程700前进到操作710,在操作710,一个或多个计算设备基于该输入修改数据。机器人102或另一计算设备的各设置可基于该输入被修改。例如,如果在操作706显示的状态数据指示移动机器人102的速度为每分钟2英寸,则可在操作708处接收控制机器人102的速度的用户输入。其他设置和控制可基于在操作708处接收到的输入来修改。在操作710之后或者如果在操作708没有接收到输入,则例程700可终止或者返回到操作702,在操作702,其他状态数据可被接收到。
图8示出了能够执行上述用于提供对一个或多个机器人的增强的控制的程序组件的计算机(诸如计算设备101(图1))的示例计算机架构800的附加细节。由此,图8所示的计算机架构800示出服务器计算机、移动电话、PDA、智能电话、台式计算机、上网本计算机、平板计算机、和/或膝上型计算机的架构。计算机架构800可用于执行本文所呈现的软件组件的任何方面。
图8所示的计算机架构800包括中央处理单元802(“CPU”)、包括随机存取存储器806(“RAM”)和只读存储器(“ROM”)808的***存储器804、以及将存储器804耦合至CPU 802的***总线810。基本输入/输出***被存储在ROM 808中,该***包含帮助诸如在启动期间在计算机架构800中的各元件之间传输信息的基本例程。计算机架构800进一步包括用于存储操作***807以及一个或多个应用程序的大容量存储设备812,此一个或多个应用程序包括但不限于跟踪模块105和上下文数据801。
大容量存储设备812通过连接至总线810的大容量存储控制器(未示出)连接至CPU802。大容量存储设备812及其相关联的计算机可读介质为计算机架构800提供非易失性存储。虽然对此处包含的计算机可读介质的描述引用了诸如固态驱动器、硬盘或CD-ROM驱动器之类的大容量存储设备,但是本领域的技术人员应该明白,计算机可读介质可以是可由计算机架构800访问的任何可用计算机存储介质或通信介质。
通信介质包括诸如载波或其它传输机制等已调制数据信号中的计算机可读指令、数据结构、程序模块或其它数据,且包含任何传递介质。术语“已调制数据信号”指的是其一个或多个特征以在信号中编码信息的方式被更改或设定的信号。作为示例而非限制,通信介质包括诸如有线网络或直接线连接之类的有线介质,以及诸如声学、RF、红外及其它无线介质之类的无线介质。上述的任意组合也应包括在计算机可读介质的范围之内。
作为示例而非限制,计算机存储介质可包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。例如,计算机介质包括但不限于,RAM、ROM、EPROM、EEPROM、闪存或其他固态存储器技术、CD-ROM、数字多功能盘(“DVD”)、HD-DVD、蓝光(BLU-RAY)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备、或能用于存储所需信息且可以由计算机架构800访问的任何其他介质。为了权利要求书的目的,短语“计算机存储介质”、“计算机可读存储介质”及其变型不包括波、信号和/或其他瞬态和/或无形通信介质本身。
根据各配置,计算机架构800可以使用通过网络856和/或另一网络(未示出)的到远程计算机的逻辑连接来在联网环境中操作。计算机架构800可以通过连接至总线810的网络接口单元814来连接到网络856。应当理解,网络接口单元814还可以被用来连接到其他类型的网络和远程计算机***。计算机架构800还可包括用于接收和处理来自多个其他设备的输入的输入/输出控制器816,这些设备包括键盘、鼠标、或电子指示笔(在图8中未示出)。类似地,输入/输出控制器816可向显示屏、打印机、或者其他类型的输出设备(在图8中也未示出)提供输出。
应当理解,本文所描述的软件组件在被加载到CPU 802中并被执行时可以将CPU802和总体计算机架构800从通用计算***变换成为被定制为促进本文提出的功能的专用计算***。CPU 802可以用任意数量的晶体管或其他分立的电路元件(它们可以分别地或共同地呈现任意数量的状态)来构建。更具体而言,CPU 802可响应于被包含在本文所公开的软件模块中的可执行指令而作为有限状态机来操作。这些计算机可执行指令可以通过指定CPU 802如何在各状态之间转换来变换CPU 802,由此变换了构成CPU 802的晶体管或其他分立硬件元件。
对本文所提出的软件模块的编码也可变换本文所提出的计算机可读介质的物理结构。在本说明书的不同实现中,物理结构的具体变换可取决于各种因素。这样的因素的示例可以包括,但不仅限于:用于实现计算机可读介质的技术、计算机可读介质被表征为主存储器还是辅存储器等等。例如,如果计算机可读介质被实现为基于半导体的存储器,则本文所公开的软件可以通过变换半导体存储器的物理状态而在计算机可读介质上编码。例如,软件可以变换构成半导体存储器的晶体管、电容器或其他分立电路元件的状态。软件还可变换这些组件的物理状态以在其上存储数据。
作为另一示例,本文所公开的计算机可读介质可以使用磁或光技术来实现。在这些实现中,本文所提出的软件可以在磁或光介质中编码了软件时变换所述磁或光介质的物理状态。这些变换可以包括改变给定磁性介质内的特定位置的磁性。这些变换还可以包括改变给定光学介质内的特定位置的物理特征或特性,以改变这些位置的光学特性。在没有偏离本说明书的范围和精神的情况下,物理介质的其他变换也是可以的,前面提供的示例只是为了便于此讨论。
鉴于以上内容,应当领会,在计算机架构800中发生许多类型的物理变换以便存储并执行本文所提出的软件组件。应当理解,计算机体系结构800可包括任何类型的计算设备,包括手持计算机、嵌入式计算机***、个人数字助理、以及本领域技术人员知晓的其它类型的计算设备。还可以构想计算机体系结构800可不包括图8中所示的全部组件,可包括图8中未明示的其它组件,或可使用完全不同于图8中所示的那样的体系结构。
图9示出能够执行本文所描述的用于提供对一个或多个机器人的增强的控制的软件组件的说明性分布式计算环境900。这样,图9中所示的分布式计算环境900可用于执行本文所呈现的软件组件的任何方面。例如,该分布式计算环境900可被利用来执行本文中公开的技术的各方面。
根据各种实现,分布式计算环境900包括在网络904上操作、与该网络通信、或者作为该网络的一部分的计算环境902。网络904可以是或可以包括网络856,如上参考图5所述的。网络904还可包括各种接入网络。一个或多个客户端设备906A-906N(在下文中统称和/或通称为“客户端906”)可经由网络904和/或其他连接(在图9中未示出)与计算环境902通信。在一个所示的配置中,客户端906包括:诸如膝上型计算机、台式计算机、或其他计算设备之类的计算设备906A;板式或平板计算设备(“平板计算设备”)906B;诸如移动电话、智能电话、或其他移动计算设备之类的移动计算设备906C;服务器计算机906D;和/或其他设备906N。应当理解,任意数量的客户端906可与计算环境902通信。在本文中参考图8和10示出并描述客户端906的两个示例计算架构。应当理解,所示客户端906以及本文中示出和描述的计算架构是说明性的,并且不应被解释为以任何方式进行限制。
在所示的配置中,计算环境902包括应用服务器908、数据存储910、以及一个或多个网络接口912。根据各种实现,应用服务器908的功能可由作为网络904一部分执行或者与该网络通信的一个或多个服务器计算机提供。应用服务器908可主存各种服务、虚拟机、门户、和/或其他资源。在所示的配置中,应用服务器908主存一个或多个虚拟机914以供主存应用或其他功能。根据各个实现,虚拟机914主存用于提供一个或多个机器人的增强的控制的一个或多个应用和/或软件模块。应当理解,该配置是说明性的,并且不应被解释为以任何方式进行限制。应用服务器908还主存或提供对一个或多个门户、链接页面、Web站点、和/或其他信息(“Web门户”)916的访问。
根据各种实现,应用服务器908还包括一个或多个邮箱服务918以及一个或多个消息收发服务920。邮箱服务918可包括电子邮件(“email”)服务。邮箱服务918还可包括各种个人信息管理(“PIM”)服务,包括但不限于日历服务、联系人管理服务、协作服务、和/或其他服务。消息收发服务920可包括但不限于即时消息收发服务、聊天服务、论坛服务、和/或其他通信服务。
应用服务器908还可包括一个或多个社交网络服务922。社交网络服务922可包括各种社交网络服务,包括但不限于用于共享或张贴状态更新、即时消息、链接、照片、视频、和/或其他信息的服务,用于评论或显示对文章、产品、博客、或其他资源的兴趣的服务,和/或其他服务。在一些配置中,社交网络服务922可包括脸谱(FACEBOOK)社交网络服务、LINKEDIN专业人士网络服务、MYSPACE社交网络服务、FOURSQUARE地理网络服务、YAMMER办公同事网络服务等,或者可由这些服务提供。在其他配置中,社交网络服务922可由其他服务、站点、和/或可明确或可不明确地称为社交网络供应商的供应商提供。例如,一些网站允许用户在各种活动和/或上下文(诸如阅读已发表的文章、评论商品或服务、发表、协作、游戏等)期间经由电子邮件、聊天服务、和/或其他手段彼此交互。这些服务的示例包括但不限于来自美国华盛顿州雷蒙德市微软公司的WINDOWS LIVE服务和XBOX LIVE服务。其他服务也是可能的且是可构想的。
社交网络服务922还可以包括评论、博客、和/或微博服务。这种服务的示例包括但不限于YELP评论服务、KUDZU审阅服务、OFFICETALK企业微博服务、TWITTER消息收发服务、GOOGLE BUZZ服务、和/或其他服务。应当理解,以上服务列表并非穷尽性的,并且为了简洁起见在本文中未提及多种附加和/或替换社交网络服务922。由此,以上配置是说明性的,并且不应被解释为以任何方式进行限制。根据各个实现,社交网络服务922可以主存提供在此所述的功能的一个或多个应用和/或软件模块,所述功能用于提供一个或多个机器人的增强的控制。例如,应用服务器908的任何一个可以传送或促进在此所述的功能和特征。例如,在电话或任何其它客户端906上运行的社交网络应用、邮件客户端、消息收发客户端或浏览器可以与联网服务922通信并促成所述功能(即使是部分地),如上参考图5-7所述。
如图9所示,应用服务器908还可主存其他服务、应用、门户、和/或其他资源(“其他资源”)924。其它资源924可以包括但不限于文档共享、渲染或任何其它功能。因此可理解,计算环境902可以提供本文中提供的本文公开的概念和技术与各种邮箱、消息收发、社交网络、和/或其他服务或资源的集成。
如以上所提及的,计算环境902可包括数据存储910。根据各种实现,数据存储910的功能由在网络904上操作的或者与该网络通信的一个或多个数据库提供。数据存储910的功能也可由被配置成主存用于计算环境902的数据的一个或多个服务器计算机提供。数据存储910可以包括、主存或提供一个或多个实际或虚拟数据存储926A-926N(下文统称和/或一般地称为“数据存储926”)。数据存储926被配置成主存由应用服务器908使用或创建的数据和/或其他数据。尽管在图9中未示出,但数据存储926还可以主存或存储web页面文档、word文档、演示文档、数据结构、供推荐引擎执行的算法和/或由任何应用程序或另一个模块(例如内容管理器105)利用的其它数据。数据存储926的各方面可以与存储文件的服务相关联。
计算环境902可与网络接口912通信或由该网络接口访问。网络接口912可包括各种类型的网络硬件和软件,以支持包括但不限于客户端906和应用服务器908的两个或更多个计算设备之间的通信。应当理解,网络接口912还可用于连接到其他类型的网络和计算机***。
应当理解,本文中所描述的分布式计算环境900可向本文中所描述的软件元件的任何方面提供可被配置成执行本文中所公开的软件组件的任何方面的任意数量的虚拟计算资源和/或其他分布式计算功能。根据本文中所公开的概念和技术的各种实现,分布式计算环境900向客户端906提供本文中所描述的软件功能作为服务。应当理解,客户端906可包括实际或虚拟机,包括但不限于服务器计算机、web服务器、个人计算机、移动计算设备、智能电话、和/或其他设备。由此,本文公开的概念和技术的各个配置使被配置成访问分布式计算环境900的任何设备能够利用本文中所述的用于提供对一个或多个机器人的增强的控制、机器人动作的混合环境显示以及附连数据的显示等功能。在一个具体示例中,如上综述,在此所述的技术可至少部分由图8的操作***807来实现,该操作***与图9的应用服务器908协同工作。
现在转到图10,能够执行本文所述的用于提供对一个或多个机器人的增强的控制、机器人动作的混合环境显示和附连的数据的显示的各个软件组件的计算设备的说明性计算设备架构1000。计算设备架构1000可适用于部分地由于形状因子、无线连接、和/或电池供电操作而便于移动计算的计算设备。在一些配置中,计算设备包括但不限于移动电话、平板设备、板状设备、便携式视频游戏设备等。计算设备架构1000可用于图8所示的客户端806中的任一个。此外,计算设备架构1000的各方面可适用于传统的台式计算机、便携式计算机(例如,膝上型计算机、笔记本计算机、超便携计算机、以及上网本计算机)、服务器计算机、以及其他计算机***(诸如本文中描述的那些计算机)。例如,本文中在以下所公开的单点触摸和多点触摸方面可应用于使用触摸屏或一些其他启用触摸的设备(诸如启用触摸的跟踪板或者启用触摸的鼠标)的台式计算机。
图10所示的计算设备架构1000包括处理器1002、存储器组件1004、网络连接组件1006、传感器组件1008、输入/输出组件1010、以及电源组件1012。在所示的配置中,处理器1002与存储器组件1004、网络连接组件1006、传感器组件1008、输入/输出(“I/O”)组件1010、以及电源组件1012通信。虽然在图10所示的单独的组件之间未示出连接,但是这些组件可交互以实现设备功能。在一些配置中,这些组件被安排成经由一条或多条总线(未示出)通信。
处理器1002包括中央处理单元(“CPU”),中央处理单元被配置成处理数据、执行一个或多个应用程序的计算机可执行指令并且与计算设备体系架构1000的其他组件通信以执行本文所述的多个功能。处理器1002可用于执行本文中所描述的软件组件的多个方面,特别是至少部分地使用启用触摸的输入的那些方面。
在一些配置中,处理器1002包括被配置成加速由CPU执行的操作的图形处理单元(“GPU”),包括但不限于通过执行通用科学和/或工程计算应用以及图形密集的计算应用(诸如高分辨率视频(例如720P、1080P以及更高分辨率)、视频游戏、三维(“3D”)建模应用)等等而执行的操作。在一些配置中,处理器1002被配置成与分立的GPU(未示出)通信。在任一情况下,CPU和GPU可根据共同处理CPU/GPU计算模型来配置,其中应用的顺序部分在CPU上执行而计算密集部分由GPU加速。
在一些配置中,处理器1002连同在下文中所描述的其他组件中的一个或多个为片上***(“SoC”)或者包括在该SoC中。例如,Soc可包括处理器1002、GPU、网络连接组件1006中的一个或多个、以及传感器组件1008中的一个或多个。在一些配置中,可部分地使用层叠封装(“PoP”)集成电路封装技术来制造处理器1002。处理器1002可以是单核或多核处理器。
处理器1002可根据可从英国剑桥市ARM HOLDINGS许可购得的ARM架构来创建。替换地,处理器1002可根据诸如可从美国加利福尼亚州芒廷维尤市英特尔公司购得的x86架构以及其他架构来创建。在一些配置中,处理器1002是可从美国加利福尼亚州圣地亚哥市高通公司购得的SNAPDRAGON SoC、可从美国加利福尼亚州圣巴巴拉市的NVIDIA购得的TEGRASoC、可从韩国首尔市三星公司购得的HUMMINGBIRD SoC、可从美国德克萨斯州达拉斯市德州仪器公司购得的开放式多媒体应用平台(“OMAP”)SoC、以上SoC中的任一个的定制版、或者专有SoC。
存储器组件1004包括随机存取存储器(“RAM”)1014、只读存储器(“ROM”)1016、集成存储器(“集成存储”)1018、以及可移动存储存储器(“可移动存储”)1020。在一些配置中,RAM 1014或其一部分、ROM 1016或其一部分、和/或RAM 1014和ROM 1016的某一组合可集成在处理器1002中。在一些配置中,ROM 1016被配置成存储固件、操作***或其一部分(例如,操作***内核)、和/或从集成存储1018或可移动存储1020加载操作***内核的引导加载器(bootloader)。
集成存储1018可包括固态存储器、硬盘、或者固态存储器和硬盘的组合。集成存储1018可焊接或以其他方式连接到逻辑板,该逻辑板还可连接有处理器1002以及本文中所描述的其他组件。由此,集成存储1018集成在计算设备中。集成存储1018被配置成存储操作***或其多个部分、应用程序、数据、以及本文中所描述的其他软件组件。
可移动存储1020可包括固态存储器、硬盘、或者固态存储器和硬盘的组合。在一些配置中,提供可移动存储1020来代替集成存储1018。在其他配置中,提供可移动存储1020作为附加的任选存储。在一些配置中,可移动存储1020在逻辑上与集成存储1018组合,以使全部可用的存储变得可用作为总组合存储容量。在一些配置中,集成存储1018和可移动存储1020的总组合容量取代集成存储1018和可移动存储1020的分开的存储容量被示出给用户。
可移动存储1020被配置成***通过其***和紧固可移动存储1020以便于连接的可移动存储存储器槽(未示出)或其他机构,通过该连接可移动存储1020可与诸如处理器1002之类的计算设备其他组件通信。可移动存储1020可以具体化为各种存储器卡格式,包括但不限于PC卡、CompactFlash卡、存储器棒、安全数字(“SD”)、小型SD(miniSD)、微型SD(microSD)、通用集成电路卡(“UICC”)(例如,订户身份模块(“SIM”)或通用SIM(“USIM”))、专用格式等。
可以理解,存储器组件1004的一个或多个可存储操作***。根据各个配置,操作***包括但不限于来自美国华盛顿州雷蒙德市的微软公司的WINDOWS MOBILE OS、来自微软公司的WINDOWS PHONE OS、来自微软公司的WINDOWS、来自美国加利福尼亚州帕洛阿尔托市惠普(Hewlett-Packard)公司的PALM WEBOS、来自加拿大安大略省沃特卢市的运动研究有限公司(Research IN Motion Limited)的BLACKBERRY OS、来自美国加利福尼亚州库珀蒂诺市苹果公司的IOS、以及来自美国加利福尼亚州芒廷维尤市谷歌公司的ANDROID OS。构想了其它操作***。
网络连接组件1006包括无线广域网组件(“WWAN组件”)1022、无线局域网组件(“WLAN组件”)1024、以及无线个域网组件(“WPAN组件”)1026。网络连接组件1006促成与网络856或另一网络的往返通信,该网络可以是WWAN、WLAN、或WPAN。虽然仅示出网络856,但是网络连接组件1006可促成与多个网络(包括图7的网络704)的同时通信。例如,网络连接组件1006可促成经由WWAN、WLAN、或WPAN中的一个或多个与多个网络的同时通信。
网络856可以是或可以包括WWAN,诸如利用一种或多种移动电信技术来经由WWAN组件1022向利用计算设备架构1000的计算设备提供语音和/或数据服务的移动电信网络。移动电信技术可包括但不限于全球移动通信***(“GSM”)、码分多址(“CDMA”)***、CDMA7000、通用移动电信***(“UMTS”)、长期演进(“LTE”)、以及微波接入全球互通(“WiMax)。”此外,网络856可使用各种信道接入方法(它们可被或可不被上述标准使用),这些信道接入方法包括但不限于时分多址(“TDMA”)、频分多址(“FDMA”)、CDMA、宽带CDMA(“W-CDMA”)、正交频分多路复用(“OFDM”)、空分多址(“SDMA”)等。可使用通用分组无线电业务(“GPRS”)、全球演进的增强型数据速率(“EDGE”)、包括高速下行链路分组接入(“HSDPA”)、增强型上行链路(“EUL”)或者称为高速上行链路分组接入(“HSUPA”)的高速分组接入(“HSPA”)协议系列、演进HSPA(“HSPA+”)、LTE、以及各种其他当前和未来的无线数据接入标准来提供数据通信。网络856可被配置成通过以上技术的任意组合提供语音和/或数据通信。网络856可被配置成调适成根据未来的生成技术提供语音和/或数据通信。
在一些配置中,WWAN组件1022被配置成提供到网络856的双模-多模连接。例如,WWAN组件1022可被配置成提供到网络856的连接,其中网络856经由GSM和UMTS技术、或者经由技术的一些其他组合提供服务。替换地,多个WWAN组件1022可用于执行这种功能和/或提供附加功能以支持其他非兼容技术(即,无法被单个WWAN组件支持)。WWAN组件1022可便于与多个网络(例如,UMTS网络和LTE网络)的类似连接。
网络856可以是根据一个或多个电气和电子工程师学会(“IEEE”)802.11标准(诸如IEEE 802.11a、802.11b、802.11g、802.11n、和/或未来的802.11标准(在此被称为WI-FI))而操作的WLAN。还可构想802.11标准草案。在一些配置中,使用一个或多个无线WI-FI接入点来实现WLAN。在一些配置中,用作WI-FI热点的一个或多个无线WI-FI接入点是与WWAN连接的另一计算设备。WLAN组件1024被配置成经由WI-FI接入点连接到网络856。可经由加密技术来确保这些连接,这些加密技术包括但不限于WI-FI保护接入(“WPA”)、WPA2、有线等效加密(“WEP)等。”
网络856可以是根据红外数据协会(“IrDA”)、BLUETOOTH、无线通用串行总线(“USB”)、Z-波、ZIGBEE、或者一些其他近程无线技术操作的WPAN。在一些配置中,WPAN组件1026被配置成便于经由WPAN与诸如***设备、计算机、或者其他计算设备之类的其他设备的通信。
传感器组件1008包括磁力计1028、环境光传感器1030、邻近度传感器1032、加速度计1034、陀螺仪1036、以及全球定位***传感器(“GPS传感器”)1038。可构想其他传感器(诸如但不限于温度传感器或震动检测传感器)也可结合到计算设备架构1000中。
磁力计1028被配置成测量磁场的强度和方向。在一些配置中,磁力计1028提供对存储在存储器组件1004之一内的罗盘应用程序的测量以向用户提供包括基本方向即北、南、东和西的基准帧中的准确方向。可将类似的测量值提供给包括罗盘组件的导航应用程序。可构想磁力计1028所获取的测量值的其他用途。
环境光传感器1030被配置成测量环境光。在一些配置中,环境光传感器1030提供对存储在一个存储器组件1004内的应用程序的测量,从而自动地调整显示器的亮度(在下文中描述)以补偿低光和高光环境。可构想环境光传感器1030所获取的测量值的其他用途。
邻近度传感器1032被配置成检测邻近计算设备而不直接接触的对象或物体的存在。在一些配置中,邻近度传感器1032检测用户身体(例如,用户的脸部)的存在性,并且将该信息提供给存储在存储器组件1004之一内的应用程序,该存储器组件使用邻近度信息来启用或禁用计算设备的一些功能。例如,电话应用程序可响应于接收到邻近信息自动地禁用触摸屏(在下文中描述),以使用户的脸部在呼叫期间不会无意地结束呼叫或者启用/禁用电话应用程序内的其他功能。可构想如邻近度传感器1032检测到的接近度的其他用途。
加速度计1034被配置成测量准确的加速。在一些配置中,来自加速度计1034的输出被应用程序用作为输入机制以控制应用程序的一些功能。例如,应用程序可以是视频游戏,其中响应于经由加速度计1034接收到的输入移动或以其他方式操纵字符、其一部分、或者对象。在一些配置中,将来自加速度计1034的输出被提供给应用程序以供在横向和纵向模式之间切换时使用,从而计算坐标加速度或检测下降。可构想加速度计1034的其他用途。
陀螺仪1036被配置成测量和维持定向。在一些配置中,来自陀螺仪1036的输出被应用程序作为输入机制以控制应用程序的一些功能。例如,陀螺仪1036可用于准确地识别在视频游戏应用或一些其他应用的3D环境内的移动。在一些配置中,应用程序使用来自陀螺仪1036和加速度计1034的输出来增强对应用程序的一些功能的控制。可构想陀螺仪1036的其他用途。
GPS传感器1038被配置成从GPS卫星接收信号,以供在计算位置时使用。GPS传感器1038计算的位置可被需要位置信息或者受益于该位置信息的任何应用程序使用。例如,GPS传感器1038计算的位置可与导航应用程序一起使用,以提供从该位置到目的地的方向、或者从目的地到该位置的方向。此外,GPS传感器1038可用于将位置信息提供给基于外部位置的服务,诸如E911服务。GPS传感器1038可使用网络连接组件1006中的一个或多个辅助GPS传感器1038来获取经由WI-FI、WIMAX、和/或蜂窝三角测量技术而生成的位置信息以帮助获取位置确定。GPS传感器1038还可用于辅助GPS(“A-GPS”)***中。
I/O组件1010包括显示器1040、触摸屏1042、数据I/O接口组件(“数据I/O”)1044、音频I/O接口组件(“音频I/O”)1046、视频I/O接口组件(“视频I/O”)1048、以及相机1050。在一些配置中,显示器1040和触摸屏1042组合。在一些配置中,数据I/O组件1044、音频I/O组件1046、以及视频I/O组件1048中的两个或更多个被组合。I/O组件1010可包括被配置成支持在下文中所描述的各种接口的分立处理器,或者可包括构建到处理器1002中的处理功能。
显示器1040是被配置成呈现视觉形式的信息的输出设备。具体而言,显示器1040可呈现图形用户界面(“GUI”)元素、文本、图像、视频、通知、虚拟按钮、虚拟键盘、消息收发数据、因特网内容、设备状态、时间、日期、日历数据、偏好、地图信息、位置信息、以及能够以视觉形式呈现的任何其他信息。在一些配置中,显示器1040是利用任何有源或无源矩阵技术以及任何背光技术(如果使用的话)的液晶显示器件(“LCD”)。在一些配置中,显示器1040是有机发光二极管(“OLED”)显示器。可构想其他显示器类型。
触摸屏1042(在本文中也被称为“启用触摸的屏幕”)是被配置成检测触摸的存在和位置的输入设备。触摸屏1042可以是电阻触摸屏、电容触摸屏、表面声波触摸屏、红外触摸屏、光学成像触摸屏、色散信号触摸屏、声音脉冲识别触摸屏,或者可使用任何其他触摸屏技术。在一些配置中,触摸屏1042结合到显示器1040的顶部作为透明层,以使用户能够使用一个或多个触摸与显示器1040上所呈现的对象或其他信息交互。在其他配置中,触摸屏1042是结合到不包括显示器1040的计算设备的表面上的触摸垫。例如,计算设备可具有结合到显示器1040的顶部的触摸屏以及与显示器1040相对的表面上的触摸垫。
在一些配置中,触摸屏1042是单点触摸触摸屏。在其他配置中,触摸屏1042是多点触摸触摸屏。在一些配置中,触摸屏1042被配置成检测分立触摸、单点触摸姿势、和/或多点触摸姿势。为了方便起见,这些在此处被统称为手势。现在将描述若干手势。应当理解,这些手势是说明性的,并且不旨在限制所附权利要求书的范围。此外,所描述的姿势、附加姿势、和/或替换姿势可在软件中实现以与触摸屏1042一起使用。由此,开发者可创建特定应用程序专用的手势。
在一些配置中,触摸屏1042支持轻叩姿势,在该轻叩姿势中,用户在显示器1040上所呈现的项目上轻叩触摸屏1042一次。出于各种原因,可使用轻叩姿势,这些原因包括但不限于打开或启动用户叩击的任何事物。在一些配置中,触摸屏1042支持双轻叩姿势,在该双轻叩姿势中,用户在显示器1040上所呈现的项目上轻叩触摸屏1042两次。出于各种原因,可使用双轻叩姿势,这些原因包括但不限于分多级放大或缩小。在一些配置中,触摸屏1042支持轻叩和保持手势,在该轻叩和保持手势中,用户轻叩触摸屏1042并维持接触达至少预定义时间。出于各种原因,可使用轻叩并保持手势,这些原因包括但不限于打开上下文特定的菜单。
在一些配置中,触摸屏1042支持平移姿势,在该平移姿势中,用户将手指放置在触摸屏1042上并维持与触摸屏1042的接触同时在触摸屏1042上移动手指。出于各种原因,可使用平移手势,这些原因包括但不限于以受控速率移动通过屏幕、图像、或菜单。还可构想多手指平移手势。在一些配置中,触摸屏1042支持轻拂姿势,在该轻拂姿势中,用户在用户想要屏幕移动的方向上划动(swipe)手指。出于各种原因,可使用轻拂手势,这些原因包括但不限于水平或垂直滚动通过菜单和页面。在一些配置中,触摸屏1042支持收窄和张开姿势,在窄和张开姿势中,用户在触摸屏1042上用两个手指(例如,拇指和食指)进行收窄运动或者将两个手指张开。出于各种原因,可使用捏合和张开手势,这些原因包括但不限于逐步地放大或缩小网站、地图、或图片。
虽然已参考将一个或多个手指用于执行姿势来描述了以上姿势,但是诸如脚趾之类的其他附属体以及诸如指示笔之类的物体可用于与触摸屏1042交互。如此,以上手势应当被理解为说明性的,并且不应被解释为以任何方式进行限制。
数据I/O接口组件1044被配置成便于数据输入到计算设备以及从计算设备输出数据。在一些配置中,例如出于同步操作的目的,数据I/O接口组件1044包括被配置成提供计算设备和计算机***之间的有线连接的连接器。连接器可以是专有连接器或标准化连接器,诸如USB、微型USB、小型USB等。在一些配置中,连接器是用于将计算设备与诸如对接站、音频设备(例如,数字音乐播放器)、或视频设备之类的另一设备对接的对接连接器。
音频I/O接口组件1046被配置成向计算设备提供音频输入和/或输出能力。在一些配置中,音频I/O接口组件1046包括被配置成收集音频信号的话筒。在一些配置中,音频I/O接口组件1046包括被配置成向耳机或其他外部扬声器提供连接的耳机插孔。在一些配置中,音频I/O接口组件1046包括用于输出音频信号的扬声器。在一些配置中,音频I/O接口组件1046包括光学音频电缆输出。
视频I/O接口组件1048被配置成向计算设备提供视频输入和/或输出能力。在一些配置中,视频I/O接口组件1048包括被配置成接收来自另一设备(例如,诸如DVD或蓝光播放器之类的视频媒体播放器)的视频作为输入或者将视频作为输出发送到另一设备(例如,监视器、电视、或者一些其他外部显示器)的视频连接器。在一些配置中,视频I/O接口组件1048包括高清晰度多媒体接口(“HDMI”)、小型HDMI、微型HDMI、显示器端口、或者到输入/输出视频内容的专有连接器。在一些配置中,视频I/O接口组件1048或其一部分与音频I/O接口组件1046或其一部分组合。
相机1050可被配置成捕捉静止图像和/或视频。相机1050可使用电荷耦合设备(“CCD”)或互补金属氧化物半导体(“CMOS”)图像传感器来捕捉图像。在一些配置中,相机1050包括在低光环境中辅助拍摄图片的闪光灯。相机1050的设置可被实现为硬件或软件按钮。
虽然未示出,但是还可在计算设备架构1000中包括一个或多个硬件按钮。硬件按钮可用于控制计算设备的一些操作方面。硬件按钮可以是专用按钮或多用途按钮。硬件按钮可以是基于机械或传感器的。
所示的电源组件1012包括可连接到电池量表(gauge)1054的一个或多个电池1052。电池1052可以是再充电的或者一次性的。再充电的电池类型包括但不限于锂聚合物、锂电池、镍镉、以及镍金属氢化物。每一电池1052可由一个或多个电池单元制成。
电池量表1054可被配置成测量电池参数,诸如电流、电压、以及温度。在一些配置中,电池量表1054被配置成测量电池的放电速率、温度、使用年限、以及其他因素的影响以在特定百分比误差内预测剩余寿命。在一些配置中,电池量表1054向应用程序提供测量值,该应用程序被配置成使用这些测量值将有用的功率管理数据呈现给用户。功率管理数据可包括所使用电池的百分比、剩余电池的百分比、电池状况、剩余时间、剩余电容量(例如,瓦时)、电流消耗、以及电压中的一个或多个。
电源组件1012还可包括功率连接器,该功率连接器可与上述I/O组件1010中的一个或多个组合。电源组件1012可经由功率I/O组件与外部功率***或充电装备对接。
基于上述内容,应当领会,本文已经公开了用于提供对一个或多个机器人的增强的控制以及其他技术的概念和技术。虽然用计算机结构特征、方法和变换动作、特定计算机器、以及计算机可读介质专用的语言描述了本文中所描述的主题,但是应当理解,所附权利要求书中所定义的本发明不必限于本文中所描述的具体特征、动作、或介质。相反,这些具体特征、动作以及介质是作为实现权利要求的示例形式而公开的。
以上所述的主题仅作为说明提供,并且不应被解释为限制。可对本文中所描述的主题作出各种修改和改变,而不必遵循示出和描述的示例配置和应用且不背离所附权利要求书中所阐述的本发明的真正精神和范围。
Claims (18)
1.一种计算机实现的用于控制第二计算设备的方法,包括:
从附连到第一计算设备的一个或多个传感器接收信号,其中所述一个或多个传感器被配置成检测所述第二计算设备以及所述第二计算设备的环境的位置和几何参数;
至少部分地基于所述信号生成标识所述环境的所述几何参数的数据,其中标识所述几何参数的数据定义所述环境的一个或多个边界;
至少部分地基于所述信号生成标识所述第二计算设备相对于所述环境的所述位置的位置数据;以及
生成使得所述第二计算设备至少部分地基于标识所述第二计算设备的所述位置的位置数据以及标识所述环境的所述几何参数的数据执行一个或多个任务的一组指令;
其中所述第二计算设备具有被配置成至少部分地基于所述一组指令来移动所述第二计算设备的一个或多个设备,并且其中所述方法进一步包括:
在所述第一计算设备处确定所述第二计算设备的移动是否与所述环境的所述一个或多个边界冲突;
生成指示所述一组指令的修改以减轻所述冲突的数据;
传达指示所述一组指令的修改的所述数据;以及
使得所述第二计算设备至少部分地基于指示所述一组指令的修改的所述数据移动。
2.如权利要求1所述的方法,其特征在于,进一步包括:
将所述一组指令传达给所述第二计算设备;以及
使得所述第二计算设备至少部分地基于所述一组指令执行所述一个或多个任务。
3.如权利要求1所述的方法,其特征在于,所述冲突是通过分析从附连到所述第一计算设备的所述一个或多个传感器接收到的所述信号来检测到的。
4.如权利要求2所述的方法,其特征在于,标识所述几何参数的数据定义位于所述环境中的一个或多个对象,并且其中所述方法进一步包括:
在所述第一计算设备处确定所述第二计算设备的移动是否与位于所述环境中的所述一个或多个对象冲突;
生成指示所述一组指令的修改以减轻所述冲突的数据;
传达指示所述一组的修改的所述数据;以及
使得所述第二计算设备至少部分地基于指示所述一组指令的修改的所述数据移动。
5.如权利要求1所述的方法,其特征在于,所述第一计算设备是头戴式显示器并且其中所述一个或多个传感器包括至少一个图像传感器,其中所述信号包括图像数据,并且其中标识所述第二计算设备的位置的所述位置数据通过以下生成:
分析所述图像数据以生成指示所述第二计算设备和所述第一计算设备之间的第一距离的数据;
分析所述图像数据以生成指示所述第二计算设备和由所述环境的几何参数定义的至少一个边界之间的第二距离的数据;以及
至少部分地基于所述第一距离和所述第二距离来生成所述位置数据。
6.如权利要求5所述的方法,其特征在于,所述第二计算设备包括分隔预定距离的至少两个视觉指示符,并且其中所述第一距离是至少部分地基于分隔所述至少两个视觉指示符的预定距离来确定的。
7.根据权利要求1所述的方法,其特征在于,所述一组指令定义所述第二计算设备在所述环境内导航的路径,其中所述一组指令定义所述第二计算设备避免与所述环境中的至少一个对象碰撞的路径。
8.如权利要求1所述的方法,其特征在于,所述一组指令定义与所述环境内的至少一个对象的交互。
9.如权利要求8所述的方法,其特征在于,所述交互包括移动所述至少一个对象。
10.如权利要求8所述的方法,其特征在于,所述至少一个对象包括输入设备,并且其中所述交互包括在所述输入设备处输入数据。
11.一种第一计算设备,包括:
处理器;
一个或多个传感器,所述一个或多个传感器被配置成检测第二计算设备和所述第二计算设备周围的环境的位置和几何参数;
其上存储有第一组计算机可执行指令的存储器,所述计算机可执行指令在由所述处理器执行时,使得所述第一计算设备
接收来自所述一个或多个传感器的信号,
至少部分地基于所述信号生成标识所述环境的所述几何参数的数据,
其中标识所述几何参数的数据定义所述环境的一个或多个边界,
至少部分地基于所述信号生成标识所述第二计算设备相对于所述环境的所述位置的位置数据,以及
至少部分地基于标识所述第二计算设备的所述位置的所述位置数据以及标识所述环境的所述几何参数的所述数据来生成使所述第二计算设备执行一个或多个任务的第二组指令;
其中所述第二计算设备具有被配置成至少部分地基于所述第二组指令来移动所述第二计算设备的一个或多个设备,并且其中所述第一组计算机可执行指令使得所述第一计算设备:
确定所述第二计算设备的移动是否与所述环境的所述一个或多个边界冲突;
生成所述第二组指令的修改以减轻所述冲突;
传达所述第二组指令的修改;以及
使得所述第二计算设备至少部分地基于所述第二组指令的修改移动。
12.如权利要求11所述的第一计算设备,其特征在于,所述第一组计算机可执行指令使得所述第一计算设备:
向所述第二计算设备传达所述第二组指令;以及
使得所述第二计算设备至少部分地基于所述第二组指令执行所述一个或多个任务。
13.如权利要求12所述的第一计算设备,其特征在于,标识所述几何参数的数据定义位于所述环境中的一个或多个对象,其中所述第一组计算机可执行指令使得所述第一计算设备:
确定所述一个或多个对象的改变的情况的存在;
生成所述第二组指令的修改以解决所述改变的情况;
传达所述第二组指令的修改;以及
使得所述第二计算设备至少部分地基于所述第二组指令的修改解决所述改变的情况。
14.如权利要求11所述的第一计算设备,其特征在于,所述第一计算设备是头戴式显示器并且其中所述一个或多个传感器包括至少一个图像传感器,其中所述信号包括图像数据,并且其中标识所述第二计算设备的位置的所述位置数据通过以下生成:
分析所述图像数据以生成指示所述第二计算设备和所述第一计算设备之间的第一距离的数据;
分析所述图像数据以生成指示所述第二计算设备和由所述环境的几何参数定义的至少一个边界之间的第二距离的数据;以及
至少部分地基于所述第一距离和所述第二距离来生成所述位置数据。
15.一种其上存储有第一组计算机可执行指令的计算机存储介质,所述第一组计算机可执行指令在由第一计算设备执行时,使得所述第一计算设备:
接收来自附连到所述第一计算设备的一个或多个传感器的信号,其中所述一个或多个传感器被配置成检测第二计算设备和所述第二计算设备周围的环境的位置和几何参数;
至少部分地基于所述信号生成标识所述环境的所述几何参数的数据,标识所述几何参数的数据定义所述环境的一个或多个边界,
至少部分地基于所述信号生成标识所述第二计算设备相对于所述环境的所述位置的位置数据,以及
至少部分地基于标识所述第二计算设备的所述位置的所述位置数据以及标识所述环境的所述几何参数的所述数据来生成使所述第二计算设备执行一个或多个任务的第二组指令;
其中所述第二计算设备具有被配置成至少部分地基于所述第二组指令来移动所述第二计算设备的一个或多个设备,并且其中所述第一组计算机可执行指令使得所述第一计算设备:
确定所述第二计算设备的移动是否与所述环境的所述一个或多个边界冲突;
生成所述第二组指令的修改以减轻所述冲突;
传达所述第二组指令的修改;以及
使得所述第二计算设备至少部分地基于所述第二组指令的修改移动。
16.如权利要求15所述的计算机存储介质,其特征在于,所述第二组指令定义所述第二计算设备在所述环境内导航的路径,其中所述第二组指令定义所述计算设备避免与所述环境中的至少一个对象碰撞的路径。
17.如权利要求15所述的计算机存储介质,其特征在于,所述第二组指令定义与所述环境内的至少一个对象的交互。
18.如权利要求17所述的计算机存储介质,其特征在于,所述交互包括移动所述至少一个对象。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562153460P | 2015-04-27 | 2015-04-27 | |
US62/153,460 | 2015-04-27 | ||
US14/824,019 US9713871B2 (en) | 2015-04-27 | 2015-08-11 | Enhanced configuration and control of robots |
US14/824,019 | 2015-08-11 | ||
PCT/US2016/029100 WO2016176128A1 (en) | 2015-04-27 | 2016-04-25 | Enhanced configuration and control of robots |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107533767A CN107533767A (zh) | 2018-01-02 |
CN107533767B true CN107533767B (zh) | 2021-04-02 |
Family
ID=57147298
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680024432.3A Withdrawn CN107533372A (zh) | 2015-04-27 | 2016-04-06 | 附连数据的混合环境显示 |
CN201680024476.6A Active CN107533767B (zh) | 2015-04-27 | 2016-04-25 | 机器人的增强的配置和控制 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680024432.3A Withdrawn CN107533372A (zh) | 2015-04-27 | 2016-04-06 | 附连数据的混合环境显示 |
Country Status (4)
Country | Link |
---|---|
US (4) | US20160314621A1 (zh) |
EP (2) | EP3289428A1 (zh) |
CN (2) | CN107533372A (zh) |
WO (2) | WO2016176000A1 (zh) |
Families Citing this family (44)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160314621A1 (en) | 2015-04-27 | 2016-10-27 | David M. Hill | Mixed environment display of attached data |
US10007413B2 (en) | 2015-04-27 | 2018-06-26 | Microsoft Technology Licensing, Llc | Mixed environment display of attached control elements |
DE102015006664A1 (de) * | 2015-05-22 | 2016-11-24 | Giesecke & Devrient Gmbh | System und Verfahren zur Bearbeitung von Wertdokumenten |
US9898865B2 (en) * | 2015-06-22 | 2018-02-20 | Microsoft Technology Licensing, Llc | System and method for spawning drawing surfaces |
US10198706B2 (en) * | 2015-07-31 | 2019-02-05 | Locus Robotics Corp. | Operator identification and performance tracking |
EP3179338B1 (en) * | 2015-12-11 | 2021-07-14 | Tata Consultancy Services Ltd. | Hybrid reality based object interaction and control |
EP3178617B1 (en) * | 2015-12-11 | 2022-11-02 | Tata Consultancy Services Ltd. | Hybrid reality based i-bot navigation and control |
US10628537B2 (en) | 2016-04-12 | 2020-04-21 | Dassault Systemes Simulia Corp. | Simulation augmented reality system for emergent behavior |
US10322506B2 (en) | 2016-05-06 | 2019-06-18 | Kindred Systems Inc. | Systems, devices, articles, and methods for using trained robots |
US11000953B2 (en) * | 2016-08-17 | 2021-05-11 | Locus Robotics Corp. | Robot gamification for improvement of operator performance |
DE102016010945B3 (de) * | 2016-09-09 | 2017-10-26 | Dürr Systems Ag | Optimierungsverfahren für einen Beschichtungsroboter und entsprechende Beschichtungsanlage |
JP6439806B2 (ja) * | 2017-01-11 | 2018-12-19 | 富士ゼロックス株式会社 | ロボット装置及びプログラム |
CN106598215B (zh) * | 2016-11-02 | 2019-11-08 | Tcl移动通信科技(宁波)有限公司 | 虚拟现实***的实现方法及虚拟现实装置 |
EP3327544B1 (en) * | 2016-11-25 | 2021-06-23 | Nokia Technologies Oy | Apparatus, associated method and associated computer readable medium |
US10684480B2 (en) * | 2017-03-16 | 2020-06-16 | Denso Wave Incorporated | Information display system |
US10307908B2 (en) | 2017-04-07 | 2019-06-04 | X Development Llc | Methods and systems for establishing and maintaining a pre-build relationship |
US10733004B2 (en) * | 2017-04-26 | 2020-08-04 | At&T Intellectual Property I, L.P. | Intelligent service on-demand robot virtualization |
CN108803861B (zh) * | 2017-04-28 | 2021-01-12 | 广东虚拟现实科技有限公司 | 一种交互方法、设备及*** |
US10860853B2 (en) | 2017-04-28 | 2020-12-08 | Intel Corporation | Learning though projection method and apparatus |
WO2018213400A1 (en) * | 2017-05-17 | 2018-11-22 | Siemens Healthcare Diagnostics Inc. | Alerts with augmented reality |
KR102434402B1 (ko) * | 2017-09-19 | 2022-08-22 | 한국전자통신연구원 | 혼합현실 콘텐츠를 제공하는 장치 및 방법 |
US11518036B2 (en) * | 2017-09-29 | 2022-12-06 | Honda Motor Co., Ltd. | Service providing system, service providing method and management apparatus for service providing system |
US20210137438A1 (en) * | 2017-10-31 | 2021-05-13 | Hewlett-Packard Development Company, L.P. | Control system for mobile robots |
JP2021515336A (ja) * | 2018-03-05 | 2021-06-17 | ザ・リージエンツ・オブ・ザ・ユニバーシテイ・オブ・コロラド、ア・ボデイー・コーポレイト | 人間とロボットの相互作用の拡張現実調整 |
JP7187820B2 (ja) * | 2018-05-29 | 2022-12-13 | セイコーエプソン株式会社 | 制御装置、ヘッドマウントディスプレイ、及びロボットシステム |
US11185207B2 (en) | 2018-07-24 | 2021-11-30 | Qualcomm Incorporated | Managing cleaning robot behavior |
US10953541B2 (en) * | 2018-07-31 | 2021-03-23 | At&T Intellectual Property I, L.P. | Providing logistical support for robots |
CN109144859A (zh) * | 2018-08-03 | 2019-01-04 | 上海鲸鱼机器人科技有限公司 | 一种程序调试方法、装置、***及设备、存储介质 |
CN109249375A (zh) * | 2018-11-06 | 2019-01-22 | 吉林大学 | 一种磁性微小机器人六维磁力驱动与控制装置 |
CN109993308B (zh) * | 2019-03-29 | 2024-05-24 | 深圳先进技术研究院 | 基于云平台共享学***台及方法、介质 |
US11537119B2 (en) | 2019-04-11 | 2022-12-27 | Bastian Solutions, Llc | Voice controlled material handling mobile robotic system |
WO2020209491A1 (en) * | 2019-04-11 | 2020-10-15 | Samsung Electronics Co., Ltd. | Head-mounted display device and operating method of the same |
US11992281B2 (en) | 2019-05-31 | 2024-05-28 | Intuitive Surgical Operations, Inc. | Systems and methods for bifurcated navigation control of a manipulator cart included within a computer-assisted medical system |
WO2020243507A1 (en) * | 2019-05-31 | 2020-12-03 | Intuitive Surgical Operations, Inc. | Systems and methods for bifurcated navigation control of a manipulator cart included within a computer-assisted medical system |
US11433544B2 (en) * | 2019-08-18 | 2022-09-06 | Cobalt Robotics Inc. | Latency control in human operated mobile robot |
US11958183B2 (en) * | 2019-09-19 | 2024-04-16 | The Research Foundation For The State University Of New York | Negotiation-based human-robot collaboration via augmented reality |
US20220234612A1 (en) * | 2019-09-25 | 2022-07-28 | Hewlett-Packard Development Company, L.P. | Location indicator devices |
CN111438692A (zh) * | 2020-04-17 | 2020-07-24 | 达闼机器人有限公司 | 机器人控制方法、装置、介质、设备以及机器人 |
US20220043455A1 (en) * | 2020-08-07 | 2022-02-10 | X Development Llc | Preparing robotic operating environments for execution of robotic control plans |
US11417063B2 (en) * | 2020-09-01 | 2022-08-16 | Nvidia Corporation | Determining a three-dimensional representation of a scene |
US11645476B2 (en) | 2020-09-29 | 2023-05-09 | International Business Machines Corporation | Generating symbolic domain models from multimodal data |
WO2022156878A1 (en) * | 2021-01-19 | 2022-07-28 | Abb Schweiz Ag | System and method for visualizing a plurality of mobile robots |
US11964398B2 (en) * | 2021-01-28 | 2024-04-23 | Micropharmacy Corporation | Systems and methods for autonomous robot distributed processing |
CN113771014B (zh) * | 2021-10-09 | 2022-03-18 | 北京中海兴达建设有限公司 | 一种用于建筑施工的scara智能化机械臂控制方法和*** |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050251290A1 (en) * | 2002-05-24 | 2005-11-10 | Abb Research Ltd | Method and a system for programming an industrial robot |
CN104238562A (zh) * | 2013-06-13 | 2014-12-24 | 通用汽车环球科技运作有限责任公司 | 用于经由可穿戴传感器控制机器人装置的方法和设备 |
Family Cites Families (66)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4482960A (en) * | 1981-11-20 | 1984-11-13 | Diffracto Ltd. | Robot tractors |
US6016385A (en) | 1997-08-11 | 2000-01-18 | Fanu America Corp | Real time remotely controlled robot |
EP2363774B1 (en) | 2000-05-01 | 2017-06-21 | iRobot Corporation | Method and system for remote control of mobile robot |
US6741911B2 (en) | 2000-09-20 | 2004-05-25 | John Castle Simmons | Natural robot control |
US20020044152A1 (en) | 2000-10-16 | 2002-04-18 | Abbott Kenneth H. | Dynamic integration of computer generated and real world images |
SE0203908D0 (sv) | 2002-12-30 | 2002-12-30 | Abb Research Ltd | An augmented reality system and method |
JP4741488B2 (ja) | 2003-07-03 | 2011-08-03 | ホロタッチ, インコーポレイテッド | ホログラフィックヒューマンマシンインタフェース |
WO2005066744A1 (en) | 2003-12-31 | 2005-07-21 | Abb Research Ltd | A virtual control panel |
GB0405792D0 (en) | 2004-03-15 | 2004-04-21 | Univ Catholique Louvain | Augmented reality vision system and method |
US8077963B2 (en) | 2004-07-13 | 2011-12-13 | Yulun Wang | Mobile robot with a head-based movement mapping scheme |
DE102005061211B4 (de) | 2004-12-22 | 2023-04-06 | Abb Schweiz Ag | Verfahren zum Erzeugen einer Mensch-Maschine-Benutzer-Oberfläche |
WO2008017051A2 (en) | 2006-08-02 | 2008-02-07 | Inneroptic Technology Inc. | System and method of providing real-time dynamic imagery of a medical procedure site using multiple modalities |
US7881901B2 (en) | 2007-09-18 | 2011-02-01 | Gefemer Research Acquisitions, Llc | Method and apparatus for holographic user interface communication |
US8212768B2 (en) | 2007-10-31 | 2012-07-03 | Fimed Properties Ag Limited Liability Company | Digital, data, and multimedia user interface with a keyboard |
US20090109215A1 (en) | 2007-10-31 | 2009-04-30 | Fein Gene S | Method and apparatus for user interface communication with an image manipulator |
WO2009121380A1 (en) | 2008-04-02 | 2009-10-08 | Nokia Corporation | User interfaces comprising a holographic image provider and associated methods |
US20090322671A1 (en) | 2008-06-04 | 2009-12-31 | Cybernet Systems Corporation | Touch screen augmented reality system and method |
KR101178847B1 (ko) | 2008-12-08 | 2012-08-31 | 한국전자통신연구원 | 가상공간과 연계된 다중 로봇 제어 장치 및 방법 |
US9728006B2 (en) * | 2009-07-20 | 2017-08-08 | Real Time Companies, LLC | Computer-aided system for 360° heads up display of safety/mission critical data |
KR101114750B1 (ko) | 2010-01-29 | 2012-03-05 | 주식회사 팬택 | 다차원 영상을 이용한 사용자 인터페이스 장치 |
CN101794349B (zh) | 2010-02-09 | 2012-08-29 | 北京邮电大学 | 机器人遥操作增强现实实验***及方法 |
EP2537141B1 (en) | 2010-06-10 | 2016-03-30 | Sartorius Stedim Biotech GmbH | Assembling method, operating method, augmented reality system and computer program product |
GB2482005A (en) * | 2010-07-14 | 2012-01-18 | Sony Europe Ltd | Resizing graphical elements on the display of a computing device. |
US20120072860A1 (en) * | 2010-09-17 | 2012-03-22 | Microsoft Corporation | Techniques to provide pivot-based search for business data |
US8576276B2 (en) * | 2010-11-18 | 2013-11-05 | Microsoft Corporation | Head-mounted display device which provides surround video |
US8847919B2 (en) | 2011-02-02 | 2014-09-30 | Apple Inc. | Interactive holographic display device |
US20120249588A1 (en) | 2011-03-22 | 2012-10-04 | Panduit Corp. | Augmented Reality Data Center Visualization |
US8718822B1 (en) | 2011-05-06 | 2014-05-06 | Ryan Hickman | Overlaying sensor data in a user interface |
US9330499B2 (en) * | 2011-05-20 | 2016-05-03 | Microsoft Technology Licensing, Llc | Event augmentation with real-time information |
US20130050069A1 (en) | 2011-08-23 | 2013-02-28 | Sony Corporation, A Japanese Corporation | Method and system for use in providing three dimensional user interface |
US9323325B2 (en) | 2011-08-30 | 2016-04-26 | Microsoft Technology Licensing, Llc | Enhancing an object of interest in a see-through, mixed reality display device |
US9037297B2 (en) | 2011-09-15 | 2015-05-19 | Persimmon Technologies Corporation | System and method for operation of a robot |
RU2608322C2 (ru) | 2011-10-20 | 2017-01-17 | Конинклейке Филипс Н.В. | Голографические пользовательские интерфейсы для медицинских процедур |
US20130147686A1 (en) | 2011-12-12 | 2013-06-13 | John Clavin | Connecting Head Mounted Displays To External Displays And Other Communication Networks |
US9511711B2 (en) * | 2012-01-30 | 2016-12-06 | Klear-View Camera, Llc | System and method for providing front-oriented visual information to vehicle driver |
US9463574B2 (en) | 2012-03-01 | 2016-10-11 | Irobot Corporation | Mobile inspection robot |
US20130246967A1 (en) | 2012-03-15 | 2013-09-19 | Google Inc. | Head-Tracked User Interaction with Graphical Interface |
US9165381B2 (en) | 2012-05-31 | 2015-10-20 | Microsoft Technology Licensing, Llc | Augmented books in a mixed reality environment |
US20130328925A1 (en) | 2012-06-12 | 2013-12-12 | Stephen G. Latta | Object focus in a mixed reality environment |
US20130335405A1 (en) | 2012-06-18 | 2013-12-19 | Michael J. Scavezze | Virtual object generation within a virtual environment |
US9911043B2 (en) | 2012-06-29 | 2018-03-06 | Omni Ai, Inc. | Anomalous object interaction detection and reporting |
US9495783B1 (en) * | 2012-07-25 | 2016-11-15 | Sri International | Augmented reality vision system for tracking and geolocating objects of interest |
CN202693992U (zh) | 2012-08-16 | 2013-01-23 | 重庆麦锐科技有限公司 | 全息成像*** |
US9429912B2 (en) | 2012-08-17 | 2016-08-30 | Microsoft Technology Licensing, Llc | Mixed reality holographic object development |
EP2887884B1 (en) | 2012-08-27 | 2019-06-12 | University Of Houston | Robotic device and system software for image-guided and robot-assisted surgery |
CN109799900B (zh) | 2012-11-01 | 2023-02-28 | 艾卡姆有限公司 | 手腕可安装计算通信和控制设备及其执行的方法 |
US9304491B2 (en) | 2012-11-26 | 2016-04-05 | Intel Corporation | Transparent holographic display with dynamic image control |
US20140146038A1 (en) | 2012-11-28 | 2014-05-29 | International Business Machines Corporation | Augmented display of internal system components |
US9196094B2 (en) | 2012-11-30 | 2015-11-24 | Empire Technology Develoment Llc | Method and apparatus for augmented reality |
US9058693B2 (en) * | 2012-12-21 | 2015-06-16 | Dassault Systemes Americas Corp. | Location correction of virtual objects |
US9812046B2 (en) | 2013-01-10 | 2017-11-07 | Microsoft Technology Licensing, Llc | Mixed reality display accommodation |
US9395543B2 (en) | 2013-01-12 | 2016-07-19 | Microsoft Technology Licensing, Llc | Wearable behavior-based vision system |
US20140253432A1 (en) | 2013-01-21 | 2014-09-11 | Holly Tina Ferguson | Sensor-monitored, 3d, interactive holographic freespace control unit (hfcu) and associated components |
US8712632B2 (en) | 2013-01-30 | 2014-04-29 | Navteq B.V. | Method and apparatus for complementing an instrument panel by utilizing augmented reality |
JP5670498B2 (ja) * | 2013-03-08 | 2015-02-18 | シャープ株式会社 | 機能管理装置、遠隔制御システム、機能管理装置の制御方法、制御プログラムおよび記録媒体 |
US9547917B2 (en) | 2013-03-14 | 2017-01-17 | Paypay, Inc. | Using augmented reality to determine information |
US9419795B2 (en) | 2013-04-24 | 2016-08-16 | Intellectual Discovery Co., Ltd. | Digital device and method for performing secure communication using same |
US9443354B2 (en) | 2013-04-29 | 2016-09-13 | Microsoft Technology Licensing, Llc | Mixed reality interactions |
US9245388B2 (en) | 2013-05-13 | 2016-01-26 | Microsoft Technology Licensing, Llc | Interactions of virtual objects with surfaces |
KR20140147205A (ko) * | 2013-06-18 | 2014-12-30 | 삼성전자주식회사 | 휴대 가능한 의료 진단 장치의 주행 경로 제공 방법 및 장치 |
KR102077105B1 (ko) | 2013-09-03 | 2020-02-13 | 한국전자통신연구원 | 사용자 인터랙션을 위한 디스플레이를 설계하는 장치 및 방법 |
US20150109332A1 (en) | 2013-10-17 | 2015-04-23 | Fmr Llc | Real-time visualizations of components in a modular instrumentation center |
US9652892B2 (en) | 2013-10-29 | 2017-05-16 | Microsoft Technology Licensing, Llc | Mixed reality spotlight |
JP6264972B2 (ja) | 2014-03-18 | 2018-01-24 | 富士通株式会社 | 表示装置、表示制御プログラム、および表示制御方法 |
US20160314621A1 (en) | 2015-04-27 | 2016-10-27 | David M. Hill | Mixed environment display of attached data |
US10007413B2 (en) | 2015-04-27 | 2018-06-26 | Microsoft Technology Licensing, Llc | Mixed environment display of attached control elements |
-
2015
- 2015-08-11 US US14/824,042 patent/US20160314621A1/en not_active Abandoned
- 2015-08-11 US US14/824,019 patent/US9713871B2/en active Active
- 2015-08-11 US US14/824,031 patent/US10099382B2/en active Active
-
2016
- 2016-04-06 WO PCT/US2016/026087 patent/WO2016176000A1/en active Application Filing
- 2016-04-06 CN CN201680024432.3A patent/CN107533372A/zh not_active Withdrawn
- 2016-04-06 EP EP16720944.4A patent/EP3289428A1/en not_active Withdrawn
- 2016-04-25 EP EP16722741.2A patent/EP3289429A1/en not_active Ceased
- 2016-04-25 WO PCT/US2016/029100 patent/WO2016176128A1/en active Application Filing
- 2016-04-25 CN CN201680024476.6A patent/CN107533767B/zh active Active
-
2017
- 2017-07-05 US US15/642,236 patent/US10449673B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050251290A1 (en) * | 2002-05-24 | 2005-11-10 | Abb Research Ltd | Method and a system for programming an industrial robot |
CN104238562A (zh) * | 2013-06-13 | 2014-12-24 | 通用汽车环球科技运作有限责任公司 | 用于经由可穿戴传感器控制机器人装置的方法和设备 |
Non-Patent Citations (1)
Title |
---|
Robot programming using augmented reality: An interactive method for planning collision-free paths;J.W.S.Chong等;《Robotics and Computer-Integrated Manufacturing》;20090630;第25卷(第3期);689-701 * |
Also Published As
Publication number | Publication date |
---|---|
EP3289428A1 (en) | 2018-03-07 |
US20160311116A1 (en) | 2016-10-27 |
US10449673B2 (en) | 2019-10-22 |
US20160311115A1 (en) | 2016-10-27 |
US9713871B2 (en) | 2017-07-25 |
CN107533767A (zh) | 2018-01-02 |
US20160314621A1 (en) | 2016-10-27 |
WO2016176128A1 (en) | 2016-11-03 |
EP3289429A1 (en) | 2018-03-07 |
CN107533372A (zh) | 2018-01-02 |
US20170297204A1 (en) | 2017-10-19 |
US10099382B2 (en) | 2018-10-16 |
WO2016176000A1 (en) | 2016-11-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107533767B (zh) | 机器人的增强的配置和控制 | |
US10484597B2 (en) | Emotional/cognative state-triggered recording | |
US10572133B2 (en) | Mixed environment display of attached control elements | |
EP3469459B1 (en) | Altering properties of rendered objects via control points | |
CN109074164B (zh) | 使用视线追踪技术标识场景中的对象 | |
US10268266B2 (en) | Selection of objects in three-dimensional space | |
US10762429B2 (en) | Emotional/cognitive state presentation | |
US20170315825A1 (en) | Presenting Contextual Content Based On Detected User Confusion | |
CN107407944B (zh) | 参考传感器的发现和利用 | |
US11796810B2 (en) | Indication of presence awareness |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |