CN106796665A - 生成用于机器人系统的指令以执行任务的方法和系统 - Google Patents

生成用于机器人系统的指令以执行任务的方法和系统 Download PDF

Info

Publication number
CN106796665A
CN106796665A CN201580036290.8A CN201580036290A CN106796665A CN 106796665 A CN106796665 A CN 106796665A CN 201580036290 A CN201580036290 A CN 201580036290A CN 106796665 A CN106796665 A CN 106796665A
Authority
CN
China
Prior art keywords
robot
task
instruction
robot system
cloud
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.)
Granted
Application number
CN201580036290.8A
Other languages
English (en)
Other versions
CN106796665B (zh
Inventor
J.J.库夫纳
J.S.拉塞尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
X Development LLC
Original Assignee
X Development LLC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by X Development LLC filed Critical X Development LLC
Priority to CN201910422651.2A priority Critical patent/CN110232433B/zh
Publication of CN106796665A publication Critical patent/CN106796665A/zh
Application granted granted Critical
Publication of CN106796665B publication Critical patent/CN106796665B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/0084Programme-controlled manipulators comprising a plurality of manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1671Programme controls characterised by programming, planning systems for manipulators characterised by simulation, either to verify existing program or to create and verify new program, CAD/CAM oriented, graphic oriented programming systems
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/008Artificial life, i.e. computing arrangements simulating life based on physical entities controlled by simulated intelligence so as to replicate intelligent life forms, e.g. based on robots replicating pets or humans in their appearance or behaviour
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S901/00Robots
    • Y10S901/46Sensing device
    • Y10S901/47Optical

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Robotics (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Mechanical Engineering (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Fuzzy Systems (AREA)
  • Manufacturing & Machinery (AREA)
  • Quality & Reliability (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Manipulator (AREA)

Abstract

示例实施例可涉及机器人—云交互。特别地,基于云的服务可以从包括从第一机器人系统接收查询,所述查询包括传感器数据、对执行任务的指令的请求、以及与第一机器人系统的配置相关联的信息。基于云的服务可以识别存储的数据,存储的数据包括之前由第二机器人系统使用以执行任务的程序、以及与第二机器人系统的配置相关联的信息。然后,基于云的服务可以至少部分地基于传感器数据、由第二机器人系统使用以执行任务的程序、与第一机器人系统的配置相关联的信息、以及与第二机器人系统的配置相关联的信息,生成用于第一机器人系统的指令,以执行任务。

Description

生成用于机器人系统的指令以执行任务的方法和系统
相关交叉引用
本申请要求于2014年7月24日提交的美国临时申请No.62/028,389和于2015年7月21日提交的美国专利申请No.14/804,621的优先权,其内容通过引用整体并入本文。
背景技术
除非本文另有说明,本章节中描述的材料不是本申请中的权利要求的现有技术,并且不会因为被包括在本章节而被承认为现有技术。
云计算是指经由计算机网络提供的计算资源。在计算的传统模型中,数据和软件两者都完全地包括在用户的计算机上。然而,在云计算中,用户的计算机可以包括相对少的软件或数据(例如,可能是最小的操作系统和WEB浏览器),且可以用作在计算机的网络上发生的过程的显示终端。为云计算服务(或甚至现有云服务的聚合)提供的通用简写是“云”。
云计算已经被称为“客户端—服务器计算”,然而,在通常的云计算和客户端—服务器计算之间可能存在区别。例如,客户端—服务器计算可能包括分布式应用结构,其在资源或服务的提供者(例如,服务器)和服务请求者(例如,客户端)之间划分任务或工作负荷。客户端—服务器计算通常涉及服务器与客户端之间的一对一关系,而云计算包括可以由通用客户端访问的通用服务(例如,可以不需要一对一关系或连接)。从而,云计算通常包括客户端—服务器计算,以及附加的服务和功能。
云计算可以通过使用用户的计算机上的更简单的硬件,其访问计算资源(例如,处理器、硬盘驱动器,等等)的庞大网络,使用户免于某些硬件和软件安装和维护任务。资源的共享可以降低个人的成本。因此,连接到云的任何计算机可以连接到计算能力、应用和文件的相同的池(pool)。用户可以在远程服务器上存储和访问个人文件(例如,音乐、图片、视频和书签),或者玩游戏或使用生产力应用,而不是物理地携带存储介质,例如,DVD或拇指驱动器。
在一个示例中,用户可以打开浏览器并连接到WEB服务器的主机,其运行用户界面软件,以从用户收集命令并将命令解释为服务器上的命令。服务器可以处理计算,并且可以存储或取回来自数据库服务器或文件服务器的信息,并向用户显示更新的页面。通过“云计算”,跨多个服务器的数据可以在世界各地同步,例如,允许世界各地的多个用户在一个文件或项目上进行协作工作。
发明内容
示例实施例可以涉及方法和系统,所述方法和系统涉及基于云的服务,用于辅助机器人系统的环境感知和交互。特别地,基于云的服务可以经由通信网络与机器人系统交互,以从机器人系统接收信息以及向机器人系统发送信息。这样的配置可以减少(或消除)对机器人系统上的附加机上(on-board)存储器和处理能力的需要,以便由机器人系统执行某些任务。此外,基于云的服务可以允许在多个机器人系统之间的数据共享。另外,当机器人系统从环境获得信息时,基于云的服务可以被连续地更新。
例如,机器人系统可以与基于云的服务交互,以接收允许机器人系统执行任务的指令。基于云的服务可以进行大规模的仿真,以基于各种因素生成指令。这些因素可以包括从机器人系统接收的传感器数据、由其他机器人系统使用以执行任务(或类似的任务)的之前的程序、和/或机器人系统的配置、以及其他。
在一个方面,提供了一种方法。所述方法涉及从具有一个或多个传感器的第一机器人系统接收查询,其中查询包括从一个或多个传感器获得的传感器数据、对执行任务的指令的请求、以及与第一机器人系统的配置相关联的信息。方法还涉及识别存储的数据,存储的数据包括之前由第二机器人系统使用以执行任务或类似的任务的程序、以及与第二机器人系统的配置相关联的信息。方法还涉及,至少部分地基于传感器数据、由第二机器人系统使用以执行任务或类似的任务的程序、与第一机器人系统的配置相关联的信息、以及与第二机器人系统的配置相关联的信息,由一个或多个处理器生成用于第一机器人系统的指令,以执行任务。方法还涉及,基于生成的指令,在执行任务之前,向第一机器人系统发送生成的指令和运行机上仿真的命令。方法还涉及,从第一机器人系统接收机上仿真的结果,并基于结果响应地确定置信度量,置信度量与生成的指令允许成功执行任务的度量相关。方法还涉及,基于置信度量低于阈值,由一个或多个处理器生成更新的指令,以由第一机器人系统执行任务。
在另一方面,提供了一种非临时性(non-transitory)计算机可读介质。所述非临时性计算机可读介质在其中存储有指令,指令可由一个或多个处理器运行以使得计算系统执行功能。所述功能包括:从具有多个传感器的第一机器人装置接收查询,其中查询包括从所述多个传感器获得的传感器数据、对执行任务的指令的请求、以及与第一机器人装置的配置相关联的信息。功能还包括识别存储的数据,存储的数据包括之前由第二机器人装置使用以执行任务或类似的任务的程序、以及与第二机器人装置的配置相关联的信息。功能还包括:至少部分地基于传感器数据、由第二机器人装置使用以执行任务或所述类似的任务的程序、与第一机器人装置的配置相关联的信息、以及与第二机器人装置的配置相关联的信息,生成用于第一机器人装置的指令,以执行任务。功能还包括:基于生成的指令,在执行任务之前,向第一机器人装置发送生成的指令和运行机上仿真的命令。功能还包括:从第一机器人装置接收机上仿真的结果,并基于结果响应地确定置信度量,置信度量与生成的指令允许成功执行任务的度量相关。功能还包括:基于置信度量低于阈值,生成更新的指令,以由第一机器人装置执行任务。
在又一方面,提供了第二方法。所述第二方法涉及,从具有一个或多个传感器的第一机器人系统接收查询,其中查询包括从一个或多个传感器获得的传感器数据、对执行环境交互的指令的请求、以及与第一机器人系统的配置相关联的信息。第二方法还涉及识别存储的数据,存储的数据包括之前由第二机器人系统使用以执行环境交互的程序、以及与第二机器人系统的配置相关联的信息。第二方法还涉及,至少部分地基于传感器数据、由第二机器人系统使用以执行环境交互的程序、与第一机器人系统的配置相关联的信息、以及与第二机器人系统的配置相关联的信息,生成用于第一机器人系统的指令,以执行环境交互。第二方法还涉及进行迭代程序,直到置信度量高于阈值,其中置信度量与生成的指令允许成功执行环境交互的度量相关,且其中迭代程序的迭代包括:基于生成的指令,在执行环境交互之前,向第一机器人系统发送生成的指令和运行机上仿真的命令。迭代程序的迭代还包括:从第一机器人系统接收机上仿真的结果,并基于结果响应地确定置信度量。迭代程序的迭代还包括:基于置信度量低于阈值,更新生成的指令,以由第一机器人系统执行环境交互。
通过阅读下面的详细描述并且适当地参考附图,这些方面以及其他方面、优点和替代对于本领域的普通技术人员将变得显而易见。
附图说明
图1图示了根据示例实施例的用于基于云的计算的示例系统。
图2A图示了根据示例实施例的示例客户端装置。
图2B图示了根据示例实施例的机器人的图例。
图2C图示了根据示例实施例的机器人的另一图例。
图3图示了根据示例实施例的概念性机器人—云交互的示例。
图4图示了根据示例实施例的示例系统,其中,机器人可以与云进行交互,并与其他云装置共享信息。
图5是图示了根据示例实施例的用于机器人—云交互的方法的流程图。
图6是图示了根据示例实施例的用于机器人—云交互的迭代程序的流程图。
具体实施方式
本文描述了示例方法和系统。应当理解,在本文中使用“示例”、“示范性”和“说明性”意味着“用作示例、范例和说明”。在本文中描述为“示例”、“示范性”、“说明性”的实施例或特征不一定解释为相比其他实施例或特征优选的或有利的。本文所述的示例实施例不意味着限制性的。将容易地理解,本公开的方面(如本文一般性地解释的,且在附图中图示的)可以以各种各样的不同的配置来布置、替换、组合、分离和设计,所有这些都可在本文中明确地设想。
I.概览
根据本文描述的各种实施例,尤其是用于机器人云计算的方法和系统。在这些示例中,基于云的计算通常是指联网的计算机架构,其中应用程序执行和存储可以在一定程度上在客户端和服务器装置之间划分。机器人可以是具有计算能力并且利用致动能力(例如,机电能力)与其周围环境进行交互的任何装置。客户端装置可以配置为包括模块形式的各种传感器和装置的机器人,且根据需要,可以从机器人添加或移除不同的模块。在一些示例中,机器人可以配置为接收第二装置,例如,移动电话,其可以配置为用作机器人的附件或“大脑”。
在本文所述的示例中,机器人可以与云交互,以执行任何数量的动作,例如,与其他云计算装置共享信息。在示例中,机器人可以与云交互,以便于对象识别、执行地图功能、或执行导航功能(即,接收由另一机器人之前经过的地图/导航路径)。在其他示例中,机器人可以与云交互,以执行对象在区域中的映射、执行对象的清单、以及通过机器人和/或通过机器人的控制来执行语音识别。机器人可以基于情景或情境信息来对云执行本文所述的任何动作或查询。
在一些示例中,不需要将机器人的知识库存储在机器人上,一些实施例使得机器人能够在外部位置(例如,在服务器和/或其他计算装置上)存储和访问数据。外部位置可以从一个或多个机器人接收数据和/或请求。服务器可以存储来自一个或多个机器人的接收数据,和/或将所有的或部分的存储的数据分发给一个或多个机器人,从而在机器人之间创建共同的知识库,机器人可以在此处获得指令和/或数据。
在一些实施例中,机器人可以具有与对象和/或机器人在其中操作的区域相关的信息。区域可以与地图、位置等相关联。机器人可以向服务器发送与区域相关的信息,服务器可以包括对象识别系统,以识别与来自机器人的信息相关联的对象。
机器人和/或服务器可以使用情景分析来确定和识别对象。例如,如果机器人在办公室中,则机器人可以访问对象的“办公室”数据库以执行识别。作为另一示例,机器人可以利用情境感知来操作,使得机器人可以对场景中的对象列清单,且如果给出用户的命令,则机器人可以基于场景的情况或通过比较场景中的对象来确定内容或解释命令的含义。例如,机器人可以接收从冰箱取回苏打水的命令。例如,机器人可以将命令作为输入发送到服务器,或可以可选地使用机器人的区域的数据库来识别冰箱和苏打水。可选地,机器人可以将命令发送到服务器,服务器可以识别冰箱和苏打水。在实施例中,机器人和/或服务器可以使用情景以及情境数据来识别对象。此外,举例来说,一旦对象被识别,则服务器可以确定与命令相关联的交互,并识别机器人可以运行以执行交互的一个或多个计算机可执行指令。
II.用于机器人—云交互的示例架构
现在参考附图,图1是用于基于云的计算的示例系统100。基于云的计算通常是指联网的计算机架构,其中应用程序执行和存储可以在一定程度上在客户端和服务器装置之间划分。“云”可以指例如由客户端和服务器装置在网络(例如,互联网)上可访问的服务或一组服务。
在一个示例中,连接到云的计算机可以连接到计算能力、应用和文件的池。因此,云计算使得可配置的计算资源(例如,网络、服务器、存储、应用和服务)的共享池成为可能,其能够以最小的管理努力或服务提供商交互来供应和发布。用户可以在远程服务器上存储和访问个人文件(例如,音乐、图片、视频和书签),或者玩游戏或使用生产力应用,而不是物理地携带存储介质。
作为示例,与主要基于客户端或基于服务器的应用相反,基于云的应用可以将数据和/或可运行程序逻辑的副本存储在远程服务器装置处,同时允许客户端装置根据需要下载该数据和程序逻辑中的至少一些,以在客户端装置处运行。在一些示例中,下载的数据和程序逻辑可以被定制为访问基于云的应用的特定客户端装置(例如,个人计算机、平板电脑、或移动电话、或机器人)的能力。此外,在客户端和服务器装置之间划分应用运行和存储,这允许由服务器装置执行更多的处理,从而利用例如服务器装置的处理能力和性能。
基于云的计算还可以指分布式计算架构,其中用于基于云的应用的数据和程序逻辑在近似实时的基础上在一个或多个客户端装置和/或服务器装置之间共享。该数据和程序逻辑的部分可以根据需要或以其他方式被动态地传送到访问基于云的应用的各种客户端。架构的细节对客户端装置的用户可以是透明的。因此,举例来说,访问基于云的应用的PC用户或机器人客户端装置可能不知道PC或机器人从服务器装置下载程序逻辑和/或数据,或者PC或机器人将处理或存储功能卸载到服务器装置。
在图1中,云102包括云服务104、云平台106、云基础结构108、以及数据库110。云102可以包括更多或更少的部件,且云服务104、云平台106、云基础结构108和数据库110中的每一个也可以包括多个元件。因此,系统100的一个或多个所述功能可以被划分为附加的功能部件或物理部件,或者组合成更少的功能部件或物理部件。在另一些示例中,附加的功能部件和/或物理部件可以被添加到图1所示的示例。云计算的传送可以涉及通过应用编程接口(例如,WEB服务或三层架构)彼此通信的多个云部件。
云102可以代表联网的计算机架构,且在一个示例中,云服务104代表用于处理来自客户端装置的请求的队列。云平台106可以包括云的前端,且可以联接到云服务104,以执行与客户端装置交互的功能。云平台106可以包括用于经由用户接口(诸如,WEB浏览器)来访问云102的应用。云基础结构108可以包括云102的计费部件的服务应用,且从而可以与云服务104交互。数据库110可以代表云102的存储能力,且从而可以由云服务104、云平台106、和/或基础结构108中的任何一个访问。
系统100包括多个客户端装置,其联接到云102的部件,或者配置为能够与云102的部件通信。例如,计算机112、移动装置114、主机116和机器人客户端118被示出为联接到云102。当然,更多或更少的客户端装置可以联接到云102。此外,不同类型的客户端装置可以联接到云102。例如,任一个客户端装置通常可以包括显示系统、存储器和处理器。
计算机112可以是任何类型的计算装置(例如,PC、笔记本电脑,等等),且移动装置114可以是任何类型的移动计算装置(例如,笔记本电脑、移动电话、蜂窝电话,等等)。
主机116可以是具有发送器/接收器的任何类型的计算装置,包括笔记本电脑、移动电话,等等,其配置为向云102发送数据/从云102接收数据。
机器人客户端118可以包括具有到云102的连接能力并且具有致动能力(例如,机电能力)的任何计算装置。机器人还可以是计算装置的组合。在一些示例中,机器人118可以收集数据并将数据上传到云102。云102可以配置为对数据进行计算或分析,并将处理的数据返回到机器人客户端118。在一些示例中,如图1所示,云102可以包括不与机器人客户端118同地协作的计算机。在其他示例中,机器人客户端118可以向第二客户端(例如,计算机112)发送数据,以进行处理。
客户端装置中的任一个可以包括附加的部件。例如,机器人客户端118可以包括一个或多个传感器,例如,陀螺仪或加速度计,以测量机器人客户端118的移动。其他传感器还可以例如包括全球定位系统(GPS)接收器、红外传感器、声纳、光传感器、生物传感器、射频识别(RFID)系统、近场通信(NFC)芯片、无线传感器、和/或罗盘中的任一个、以及其他。
此外,任一个客户端装置可以包括集成的用户接口(UI),其允许用户与装置交互。例如,机器人客户端118可以包括允许用户提供输入的各种按钮和/或触摸屏界面。作为另一示例,机器人客户端装置118可以包括麦克风,其配置为从用户接收语音命令。另外,机器人客户端118可以包括一个或多个接口,其允许各种类型的用户接口连接到机器人客户端118。
在图1中,客户端装置和云102之间的通信链路可以包括有线连接,例如,串行或并行总线。通信链路也可以是无线链路,例如,链路120,其可以是蓝牙、IEEE 802.11(IEEE802.11可以指IEEE 802.11-2007、IEEE 802.11n-2009,或任何其他IEEE 802.11版本)、或者其他基于无线的通信链路。
在其他示例中,系统100可以包括接入点,客户端装置可以通过所述接入点与云102通信。接入点可以采用各种形式,例如,接入点可以采用无线接入点(WAP)或无线路由器的形式。作为另一示例,如果客户端装置使用蜂窝空中接口协议(例如,CDMA或GSM协议)连接,则接入点可以是蜂窝网络中的基站,其经由蜂窝网络提供互联网连接。
因此,客户端装置可以包括有线或无线网络接口,客户端装置可以通过网络接口连接到云102(或接入点)。作为示例,客户端装置可以配置为使用一个或多个协议,例如,802.11、802.16(WiMAX)、LTE、GSM、GPRS、CDMA、EV-DO,和/或HSPDA,以及其他。另外,客户端装置可以配置为使用多个有线和/或无线协议,例如,使用蜂窝通信协议(例如,CDMA、GSM或WiMAX,以及使用802.11的“WiFi”连接)的“3G”或“4G”数据连接。其他示例也是可能的。
图2A图示了示例客户端装置200。在一个示例中,客户端装置200配置为机器人。在一些示例中,机器人可以包括计算机硬件,例如,处理器202、存储器(memory)或存储体(storage)204、以及传感器206。例如,机器人控制器(例如,处理器202、计算系统、以及传感器206)全部为特定的机器人定制设计。机器人可以具有链路,通过该链路可以访问云服务器(如图1)。有线链路可以例如包括并行总线、或诸如通用串行总线(USB)的串行总线。无线链路可以例如包括蓝牙、IEEE 802.11、蜂窝(例如,GSM、CDMA、UMTS、EV-DO、WiMAX或LTE)、或无线个域网(Zigbee)、以及其他可能性。
在一个示例中,存储体204可以用于编译来自机器人的各种传感器206的数据,并存储程序指令。处理器202可以联接到存储体204,且可以配置为基于程序指令来控制机器人。处理器202还能够解译来自机器人上的各种传感器206的数据。示例的传感器可以包括烟雾传感器、光传感器、无线电传感器、红外传感器、麦克风、扬声器、陀螺仪、加速度计、相机、雷达,电容传感器和触摸传感器,等等。
客户端装置200还可以具有允许客户端装置200与其环境进行交互的部件或装置。例如,客户端装置200可以具有机械致动器208,例如,电机、轮、可移动臂等等,其使得客户端装置200能够移动或与环境交互。
在一些示例中,客户端装置200上的各种传感器和装置可以是模块。根据需要,可以从客户端装置200添加或移除不同的模块。例如,在低功率情况下,机器人可具有较少的模块以减少功率使用。然而,可以根据需要添加额外的传感器。例如,为了增加机器人能够收集的数据量,可添加额外的传感器。
在一些示例中,客户端装置200可以配置为接收装置,例如,装置210,其包括处理器202、存储体204和传感器206。例如,客户端装置200可以是具有多个机械致动器(例如,可移动基部)的机器人,且机器人可以配置为接收移动电话、智能电话、平板计算机,等等,以作为机器人的“大脑”或控制部件。装置210可以视为机器人的模块。装置210可以物理地附接至机器人。例如,智能电话可以坐在机器人的“胸部”上,并形成交互式显示。装置210可以例如向机器人提供传感器、无线链路和处理能力。装置210可以允许用户从云为他或她的机器人下载新例程。例如,衣物折叠例程可以存储在云上,并且用户能够使用智能电话从云下载例程来选择该例程,并且当智能电话被放置或联接到机器人时,机器人将能够执行下载的动作。
在一些示例中,客户端装置200可以联接至移动电话或蜂窝电话,以提供附加的感测能力。蜂窝电话可以非物理地附接到机器人,而是可以无线地联接到机器人。例如,低成本的机器人可以省略到互联网的直接连接。该机器人能够经由无线技术(例如,蓝牙)连接到用户的蜂窝电话,以能够访问互连网。机器人能够访问蜂窝电话的各种传感器和通信装置。机器人可以不需要许多传感器以物理地设置在机器人上,然而,机器人能够保持相同或类似的功能。
因此,客户端装置200可以包括机械机器人特征,且可以配置为接收装置210(例如,移动电话、智能电话、平板电脑,等等),其可以向装置200提供附加的外围部件,例如,包括在装置210内的加速度计、陀螺仪、罗盘、GPS、相机、WiFi连接、触摸屏等中的任何一个。
图2B图示了机器人212的图例。在图2B中,机器人212被示出为包括臂部、腿部和头部的人的机械形式。机器人212可以配置为接收任何数量的模块或部件,例如,移动电话,其可以配置为操作机器人。在该示例中,装置(例如,机器人212)可以附接到移动电话(例如,装置210),以向机械机器人212提供功能,所述功能使得机器人212能够与云通信,以引起机器人212的操作/功能。具有到互连网的连接的其他类型的设备可以联接到机器人212,以在机器人212上提供附加功能。因此,装置210可以与机器人212分离,并且可以附接或联接到机器人212。
在一个示例中,机器人212可以是仅具有有限的机械功能的玩具,且通过将装置210连接到机器人212,玩具机器人212现在能够借助于装置210和/或云来执行多个功能。按照这种方式,机器人212(或机器人的部件)可以附接到移动电话,以将移动电话变换为连接到服务器以引起机器人的操作/功能的机器人(例如,具有腿部/臂部)。
可安装的装置210还可以配置为最大化机器人212的运行时间使用(例如,如果机器人212可以学习发生什么会使的用户关闭玩具或设定玩具,则装置210可以配置为执行功能以抵消这种事件)。
图2C图示了机器人214的另一个示例。机器人214包括机上计算系统216、显示器218、机械致动器220、以及一个或多个传感器。在一些情况下,机上计算系统216可以是笔记本电脑,其可以联接到传感器。传感器可以包括相机、红外投影仪和其他运动感测或视觉感测元件。机械致动器220可以例如包括基部、轮和电机,在电机上可以设置机上计算系统216和传感器。
图2A-2C中所示的任何机器人可以配置为根据机器人操作系统(例如,为机器人的特定功能设计的操作系统)来操作。机器人操作系统可以提供库和工具(例如,硬件抽象、装置驱动器、可视化器、消息传递,包管理、等等),以实现机器人应用。机器人操作系统的示例包括开源软件,例如,ROS(机器人操作系统)、DROS或ARCOS(高级机器人控制操作系统);专用软件,例如,来自Evolution的机器人发平台ESRP、以及MRDS(Robotics Developer Studio),且其它示例还可以包括ROSJAVA。机器人操作系统可以包括发布和订阅功能,且还可以包括控制机器人部件的功能,例如头部跟踪、基部移动(例如,速度控制、导航框架),等等。
图3图示了概念性机器人—云交互的示例。机器人(例如,图2A-2C中所描述和图示的)可以连接到电脑的网络(例如,云),且可以请求由云执行的数据或处理。在一个示例中,机器人可以包括多个传感器和机械致动器,其可以基本上提供机器人的电机控制。传感器的输出,例如,相机馈送、视觉传感器等可以提供给云,云可以处理输出以使机器人能够执行功能。云可以处理相机馈送,例如,以确定机器人的位置、执行对象识别、或指示机器人的导航路径。
图3一般性地示出了电机控制器,其中每个模块可以概念性地代表云上的计算机或节点,其使用电机控制器输入或来自机器人的数据执行处理。图3还一般性地示出了传感器,其中每个模块可以概念性地代表云上的计算机或节点,其使用传感器输入或来自机器人的数据执行处理。图3还一般性地示出了应用,其中每个模块可以概念性地代表云上的计算机或节点,其执行多个应用的特定功能,例如,导航应用、地图应用,等等。此外,图3还一般性地示出了计划,其中每个模块可以概念性地代表云上的计算机或节点,其执行用于机器人的处理,例如,一般计划或计算处理。
如图所示,任何模块可以互连和/或可以通信,以从彼此接收数据或指令,从而为机器人提供特定的输出或功能。
在一个示例中,机器人可以将数据发送到云以进行数据处理,且在另一示例中,机器人可以从云接收数据。从云接收的数据可以是多种不同的形式。接收的数据可以是机器人发送到云的数据的处理的形式。接收的数据还可以来自机器人以外的源。例如,云可以访问其他传感器、其他机器人和互联网。
图4是示例系统400,其中机器人可以与云交互,或与其他云计算装置共享信息。系统400示出了机器人402、404、406和408(例如,如概念性图形表示),其每一个联接到云410。每个机器人402、404、406和408可以与410交互,且还可以通过云410、或通过其他接入点且可能直接(例如,如机器人406和408之间所示的)彼此交互。
云410可以接收来自若干机器人的输入。来自每个机器人的数据可以被编译为较大的数据集。例如,机器人402可以拍摄对象的图片,并将图片上传到云410。云410上的对象识别程序可以配置为识别图片中的对象,并向连接到云410的所有的机器人提供关于所识别的对象的数据,以及可能关于所识别的对象的其他特性(例如,元数据),例如,位置、尺寸、重量、颜色、等等。因此,每个机器人能够知道由机器人402上传的照片中的对象的属性。
机器人402、404、406和408可以在区域内于人、其他机器人等进行任何数量的动作。在一个示例中,每个机器人402、404、406和408具有基于WiFi或另一网络的连接性,并且将数据上传/发布到云410,然后可以与任何其他机器人共享数据。按照这种方式,每个机器人402、404、406和408彼此共享经验,以实现学习的行为。例如,机器人402可能穿过路径并遇到障碍物,且可以将障碍物的位置(通过云410)通知其他机器人404、406和408。每个机器人402、404、406和408将能够访问实时的最新数据。在另一示例中,机器人404可以下载数据,所述数据指示由其他机器人402、406和408看到的图像,以帮助机器人404使用各种视图来识别对象(例如,在机器人402、406和408已经从不同的视角捕获对象的图像的情况下)。
在另一示例中,机器人408可以构建区域的地图,且机器人402可以下载地图,以具有区域的知识。类似地,机器人402可以更新由机器人408创建的地图,所述创建是使用关于区域的新信息(例如,走廊现在有箱子或其他障碍物),或使用从传感器收集的、机器人408可能没有的新信息(例如,如果机器人408没有温度传感器,则机器人402可以记录并添加温度数据到地图)。总的来说,机器人402、404、406和408可以配置为共享收集的数据,以实现更快的适应,使得每个机器人402、404、406和408可以依靠之前的机器人的学习经验。
共享和适应能力使得能够基于从机器人402、404、406和408接收的各种输入/数据来实现各种应用。在特定的示例中,可以提供物理位置的映射,例如,提供关于机器人已经在哪里的历史的数据。可以记录另一数量或类型的指示符,以便于机器人402、404、406和408的映射/导航功能(例如,墙上的擦痕标记可以是机器人可以记录,然后依赖于其以定向自身的许多线索之一)。
在一个示例中,云410可以包括、存储或提供对与对象相关的信息的数据库412的访问,且数据库412可以由所有的机器人402、404、406和408访问。数据库412可以包括识别对象的信息,以及可由机器人402、404、406和408访问以执行对象识别的对象的细节(可以与对象相关联的任何细节,质量、性质、形状、使用说明,等等)。作为示例,关于对象的使用的信息可以包括:例如,对于电话来说,如何拿起手机、如何应答电话、按钮的位置、如何拨号、等等。
此外,数据库412可以包括关于可以用于区分对象的对象信息。例如,数据库412可以包括关于对象的(例如,计算机)的一般信息,且此外,关于特定计算机的信息(例如,特定型号的型号编号、细节或技术规范,等等)。每个对象可以包括数据库412中的信息,包括对象名称、对象细节、对象区分特征,等等,或者用于可以访问的对象的元组空间。每个对象还可以例如包括有序列表中的数据库中的信息。在另外的示例中,数据库412可以包括用于在数据库412中识别对象的全局唯一标识符(GUID)(例如,使得能够在特定的对象之间进行区分),且GUID可以与描述对象的任何特性或信息相关联。因此,机器人可以配置为访问数据库412,以接收通常区分对象(例如,棒球对比计算机)的信息,以及接收可以区分特定的对象(例如,两个不同的计算机)的信息。
数据库412可以由所有的机器人通过云410访问(或替代地,由所有的机器人直接访问,而不通过云410进行通信)。数据库412从而可以成为存储在云410中的共享知识库。
因此,在一些示例中,机器人可以通过云410共享学习的行为。云410可以具有存储机器人学习的活动或行为的服务器,产生共享的行为知识库和对象交互的启发(例如,机器人“应用商店”)。具体来说,给定的机器人可以执行动作并构建区域的地图,然后机器人可以将数据上传到云410,以与所有其他机器人共享该知识。在该示例中,可以通过云410进行从一个机器人到另一个机器人的给定机器人的“意识”的传送(例如,机器人“Bob”构建地图,并且可以将“BOB”的知识下载到另一机器人上,以接收地图的知识)。
因此,在示例中,机器人402、404、406和408可以通过云410共享信息,且可以访问数据库412。
III.示例机器人—云交互
基于云的服务(例如,云服务104)可以配置为进行大规模的仿真,并向机器人系统发送指令,以执行各种任务。可以使用关于机器人系统的能力、传感器数据、以及与特定的任务相关的数据库中的信息,在宽范围的可能的输入(例如,蛮力搜索)中来仿真任务。通常,机器人系统可以预配置为执行特定的任务。然而,使用基于云的服务可以允许机器人系统学习如何执行新的任务,以及发现用于与环境进行交互的新的策略和方法。
图5是图示了根据示例实施例的方法500的流程图。说明性方法(例如,方法500)可以由云和/或机器人系统中的一个或多个部件全部或部分地执行,例如通过图1所示的系统100的一个或多个部件,通过图2A所示的客户端装置200的一个或多个部件,通过图2B所示的机器人212的一个或多个部件,通过图2C所示的机器人214的一个或多个部件,通过图3所示的概念性机器人—云交互的一个或多个部件,以及通过图4所示的系统400的一个或多个部件。然而,应当理解,在不脱离本发明的范围的情况下,示例方法(例如,方法500)可以由其他实体或实体的组合来执行(即,通过其他计算装置和/或计算装置的组合)。
如图框502所示,方法500涉及从具有一个或多个传感器的第一机器人系统接收查询,其中查询包括从一个或多个传感器获得的传感器数据、对执行任务的指令的请求、以及与第一机器人系统的配置相关联的信息。
在示例实施例中,第一机器人系统(也可以称为机器人装置)可以从机上传感器以及其他装置获取数据,例如,相机(例如,彩色相机、灰度相机和/或红外相机)、深度传感器(例如,RGB-D、激光、结构光,和/或飞行时间相机)、运动检测器(例如,惯性测量单元(IMU),和/或脚踏或轮里程计)、以及范围传感器(例如,超声波和/或红外),以及其他可能性。获取的数据可以由机上CPU处理以精炼数据,并随后将数据聚合并压缩(例如,使用增量压缩)成用于发送到基于云的服务的查询(例如,数据分组)的布置。一旦被接收,数据分组的解释可以分布在一个或多个处理器之中。然后,一个或多个处理器可以并行工作,以解释由传感器检测的数据(例如,相机、深度、和/或范围数据),并响应地将检测结果发送到中央服务器。
中央服务器可以聚合从一个或多个处理器接收的检测结果,并且将结果针对包括对象、人、声音和图像、以及其他可能性的元数据的信息的数据库(例如,数据库110)进行匹配。针对信息的数据库的匹配结果可以涉及贝叶斯概率技术,使得中央处理器可以例如向可能的对象/人分配置信度值,从而产生第一机器人系统可能在环境中与之交互的可能对象/人的分类的排序列表。分类的排序列表可以包括与可能的对象/人相关联的元数据(例如,对象的几何模型、与对象相关联的历史数据、对象的材料属性)。这样的配置可以允许第一机器人系统针对位于云服务器上的信息的数据库交叉引用来自环境的检测。
除了从机上传感器获得的数据以外,查询还可以包括对来自基于云的服务的指令的请求,其可以允许第一机器人系统基本上习得如何与环境交互(即,通过执行特定的任务)。对执行任务的指令的请求可以包括:对于对象的3D模型的请求、对于对象抓取策略的请求、对于操作手册的请求、对获得的图像的光学字符识别(OCR)的请求、以及对礼仪提示的请求、以及其他示例。
此外,查询还可以包括机器人专用数据,其可以是专用于做出请求的机器人系统(即,第一机器人系统)的配置的信息。与第一机器人系统的配置相关联的这种信息可以包括与以下相关的信息:机上传感器、机上处理器、机上电力系统、控制系统和末端执行器,以及其他。例如,末端执行器可以是夹具或工具。在夹具的情况下,末端执行器信息可以包括夹具的类型(例如,两指夹具)、夹具的型号、和/或夹具在机器人系统中的位置,以及其他可能性。在工具的情况下,末端执行器信息可以包括工具的类型和/或工具的用途(例如,外科手术),以及其他可能性。其他示例也是可能的。
如图框504所示,方法500涉及识别存储的数据,其包括由第二机器人系统之前使用的以执行任务或类似的任务的程序、以及与第二机器人系统的配置相关联的信息。
如上所述,多个机器人系统(例如,机器人402、404、406和408)可以彼此共享经验,以允许学习的行为。按照这种方式,一旦基于云的服务具有对执行任务的指令的解释的请求,基于云的服务可以识别之前由第二机器人系统使用以执行任务(或类似的任务)的程序。此外,基于云的服务可以识别与第二机器人系统的配置相关联的信息。
在一种情况下,第一机器人系统和第二机器人系统可以相同的(例如,相同的机器人配置)。在另一种情况下,第一机器人系统和第二机器人系统可以是不同的。例如,机器人系统可以在以下方面不同:所使用的末端执行器的数量、所使用的末端执行器的类型、和/或末端执行器在机器人系统配置中的位置,以及其他可能性。其他示例也是可能的。
考虑这样一种场景,其中对指令的请求涉及请求指令以抓取第一机器人系统之前没有遇到的对象。基于云的服务可以首先确定对象是什么(例如,使用匹配技术)并获得对象的几何模型、与对象相关联的历史数据、和/或对象的材料属性、以及其他。一旦确定了对象,基于云的服务可以识别存储在数据库110中的由其他机器人系统使用的一个或多个程序,以抓取所讨论的对象。
在一种情况下,基于云的服务可以首先基于机器人系统配置;的尝试识别一个或多个程序。特别地,基于云的服务可以识别具有与第一机器人系统相同的(或类似的)配置的其他机器人系统,并随后确定是否有任何被识别的机器人系统之前已经抓取了所讨论的对象。如果基于云的服务识别了之前已经抓取了所讨论的对象的机器人系统,则基于云的服务可以基于一些因素来对用于抓取对象的程序进行分类,例如,成功率和效率、以及其他。
在另一种情况下,基于云的服务可以首先尝试识别一个或多个程序,而无论机器人系统配置。例如,基于云的服务可以识别存储在数据库110中的用于抓取所讨论的对象的任何程序。随后,基于云的服务可以在执行识别的程序的机器人系统之中识别具有与第一机器人系统的配置相同的(或相似的)配置的机器人系统。请注意,其他因素和序列也可以用于识别程序。
如图框506所示,方法500涉及至少部分地基于传感器数据、由第二机器人系统使用以执行任务或相似的任务的程序、与第一机器人系统的配置相关联的信息、以及与第二机器人系统的配置相关联的信息,由一个或多个处理器生成用于第一机器人系统执行任务的指令。
基于云的服务可以配置为进行大规模的仿真,以便生成由第一机器人系统请求的指令。这些指令可以基于以下因素来生成:例如,从第一机器人系统获得的传感器数据、由第二机器人系统使用的识别的程序、第一机器人系统和第二机器人系统的配置、以及其他。请注意,指令可以生成为由第一机器人系统可读取的格式。
仅为了解释的目的,再次考虑以下情景,其中对指令的请求涉及对抓取第一机器人系统之前没有遇到的对象的指令的请求。基于云的服务可以基于各种因素来计算最佳的抓取策略。因素可以例如涉及,基于对象的材料性质的摩擦的不确定性、以及第一机器人系统的末端执行器能力。因素还可以例如涉及,基于从机上传感器接收的对象位置数据以及机器人专用控制系统数据的运动策略。其他因素也是可能的。
在一种情况下,所讨论的对象可以由基于云的服务被正确地识别(例如,在确定性的阈值内)。在这种情况下,如上文所述,基于云的服务可以识别存储在数据库110中的、由其他机器人系统使用以抓取对象的一个或多个程序。可以基于例如包括成功率和效率的因素来选择程序中的一个,使得为第一机器人系统提供成功抓取对象的最高可能性。
请注意,成功率可以由成功的尝试次数与总尝试次数的比率以及其他选项来定义。此外,请注意,效率可以基于成功完成任务的持续时间(即,更短的持续时间是更有效率的)以及其他选项来定义。
如果所选择的程序由具有与第一机器人系统的配置相同的机器人系统(即,第二机器人系统)来执行,则基于云的服务可以仅基于所选择的程序来执行指令。即是说,生成的指令可以提供完全相同的程序,这是因为机器人系统配置是相同的。然而,如果所选择的程序由具有与第一机器人系统的配置不同的机器人系统(即,第二机器人系统)来执行,则基于云的服务可以评估配置之间的差异,并且在生成指令时将差异纳入考虑。
在一个示例中,第一机器人系统可以配备有包括钻头和三指夹具的两个末端执行器。与之相反,第二机器人系统可以具有与第一机器人系统相同的配置,除了配备有包括两个三指夹具的两个末端执行器。如果第二机器人系统使用其两个末端执行器来抓取对象,则基于云的服务可以生成指令,以使第一机器人系统使用第二机器人系统所使用的类似的程序来抓取对象,同时将末端执行器之间的差异纳入考虑。特别地,基于云的服务可以进行模拟,以确定第一机器人系统可以如何使用单个三指夹具,而不是两个这样的夹具以抓取到所讨论的对象上。这样的仿真的结果可以例如确定,第一机器人系统可以使用与第二机器人系统所使用的完全相同的程序(例如,相同的运动策略),同时确定在使用三指夹具而不是两指夹具时,抓取对象所需要的不同的力。
通常,抓取对象所需要的力(F)可以使用若干因素来确定,例如:对象和手指之间的摩擦系数(μ)、夹具接触对象的指的数量(n)、对象的重量(W)、以及取决于对象相对于重力的移动方向的重力倍数因子(g)。特别地,可以通过将物体的重量(W)和重力倍数因子(g)的乘积除以摩擦系数(μ)和指的数量(n)的乘积来计算抓取对象所需的力(F)。即,F=[W*g]/[μ*n]。
因此,基于云的服务可以确定第一机器人系统遇到的情况涉及相同的摩擦系数(μ)、相同的物体重量(W)和相同的重力倍数因子(g)。然而,使用单个三指夹具而不是两个三指夹具导致接触对象的指的不同数量(n)。给定这个信息,基于云的服务可以使用计算公式来计算,当三个指接触对象而不是六个指时,抓取对象(F)所需的力。在这种情况下,当接触对象的指的数量(n)被减半时,抓取对象(F)所需的力加倍。结果,然后,基于云的服务可以基于由第二机器人系统使用的程序来生成指令,同时在末端执行器能力方面的给定差异的情况下,将抓取对象所需的力纳入考虑。
在另一示例中,机器人系统的配置之间的差异可以涉及机器人系统所配备的传感器的类型(或数量)的差异。例如,第一机器人系统可以配置有灰度相机。与之相反,第二机器人可以配备有彩色相机。在这种情况下,第一机器人系统获得的传感器数据(例如,所讨论的对象的图像数据)可以包括灰度图像数据,并且第一机器人系统可以配置为仅解释灰度图像数据。
基于云的服务可以确定相机类型的差异,且可以基于差异生产指令。特别地,基于云的服务可以确定,包括由第二机器人系统之前使用的程序的存储的数据包括彩色图像数据(例如,与由第二机器人系统获得的对象相关联的彩色图像数据)。当确定存储的数据包括含这样的彩色图像数据时,基于云的服务可以使用各种技术(目前已知的或未来开发的),将彩色图像数据转换为灰度图像,使得生成的指令可由第一机器人系统读取、并且适当地执行。
在另一种情况下,第一机器人系统可以配置由红外距离传感器。与之相反,第二机器人系统可以配备有超声波距离传感器。在这种情况下,从第一机器人系统获得的传感器数据(例如,所讨论的对象的接近度)可以包括反射的红外光数据,且第一机器人系统可以配置为仅解释这样的红外光数据。
基于云的服务可以确定范围传感器类型的差异,并且可以基于差异生成指令。特别地,基于云的服务可以确定,包括由第二机器人系统之前使用的程序的存储的数据包括超声声音数据(例如,表示在执行程序时,对象和第二机器人系统之间的(多个)距离)。当确定存储的数据包括这样的超声声音数据时,基于云的服务可以将超声声音数据转换为范围数据(例如,特定距离),然后进一步将范围数据转换为相对应的红外光数据。按照这种方式,生成的指令可由第一机器人系统读取、并且适当地执行。
在另一个示例中,机器人系统的配置之间的差异可能涉及机器人系统的移动能力的差异。例如,第一机器人系统可以配备有第一长度的机器人腿部链带(links)。与之相反,第二机器人系统可以配置由第二长度(例如,两倍于第一长度)的机器人腿部链带。在这种情况下,由于长度的差异,第一机器人系统可以需要比第二机器人系统采取更多的步骤,以覆盖相同的距离。
基于云的服务可以确定机器人腿部链带的长度的差异,并且可以基于差异生成指令。特别地,基于云的服务可以确定,包括由第二机器人系统之前使用的程序的存储的数据包括例如代表由机器人系统所采取的重新定位对象的六个步骤。当确定存储的数据包括这样的数据时,在给定第二长度是第一长度的两倍的信息的情况下,基于云的服务可以将第二机器人系统采取的步骤的数量转换为第一机器人系统需要采取的步骤的数量(例如,十二个步骤)以覆盖相同距离。按照这种方式,生成的指令可由第一机器人系统读取、并且适当地执行。其他示例也是可能的。
在一些情况下,基于云的服务可能无法在确定性的阈值内正确地识别出所讨论的对象。在这种情况下,基于云的服务可以基于对象的几何模型和/或对象的材料属性的相似性、以及其他可能性来识别类似的对象。一旦已经识别了类似的对象,可以应用上述技术,同时将识别的类似的对象和所讨论的对象之间的差异纳入考虑(例如,对象(W)的重量的差异和/或摩擦系数(μ)的差异)。
请注意,上述技术不限于对象抓取策略,并且可以在对来自机器人系统的指令的任何请求的情景中使用。此外,请注意,基于云的服务可以使用识别的程序的任何组合(即,而不是单个的识别的程序)来生成指令。
如图框508所示,方法500涉及基于生成的指令来运行仿真。
一旦已经生成执行任务的指令,基于云的服务可以向第一机器人系统发送生成的指令。此外,基于云的服务可以向第一机器人系统发送指令,包括使用生成的指令执行机上仿真的请求。特别地,基于云的服务可以请求在第一机器人系统执行任务之前运行机上仿真。按照这种方式,在验证生成的指令是适当的之前,第一机器人系统将不会执行任务。
请注意,生成的指令和命令可以同时发送,或者可以单独发送。此外,请注意,基于云的服务也可以发送对机上仿真的结果的请求。
机上仿真可以由位于第一机器人系统上的机上计算装置(例如,处理器202)运行。在示例实施方式中,机上仿真可以全部或部分地涉及生成的指令的仿真。例如,第一机器人系统可以运行机上仿真以确定(或预测)使用计算的抓取对象所需的力(F)的结果,以便抓取所讨论的对象。当完成机上仿真时,可以将机上仿真的结果生成为可由基于云的服务读取的格式。
在一些实施方式中,基于云的服务可以不向第一机器人系统发送包括使用生成的指令执行机上仿真的请求的命令。在这种情况下,基于云的服务可以进行这样的仿真(即,在第一机器人系统执行任务之前),以便验证生成的指令是适当的。当确定仿真的结果(且可选地使用下面讨论的置信度量确定)时,基于云的服务可以向第一机器人系统发送指令以执行任务。其他实施方式也是可能的。
如图框510所示,方法500涉及获得仿真的结果,并且基于结果响应地确定置信度量,所述置信度量与生成的指令允许成功执行任务的度量相关。
当接收机上仿真的结果时,基于云的服务可以确定置信度量,所述置信度量与生成的指令允许成功执行所讨论的任务的可能性的度量相关。例如,基于云的服务可以确定与成功抓取对象相关联的置信度量。可以考虑各种因素以确定置信度量。
在一个示例中,可以基于仿真结果与预期的仿真结果的比较来确定置信度量。例如,基于云的服务可以进行仿真,以确定预期的结果,并评估预期的结果和机上仿真的实际结果之间的差异(例如,比较仿真的效率和预期的效率)。在另一示例中,可以基于仿真结果与存储在数据库110中的由其他机器人系统用于执行任务或类似的任务的程序相关联的仿真结果的比较来确定置信度量(例如,比较仿真效率和程序的平均效率)。在又一示例中,可以由作为机上仿真的一部分的第一机器人系统(即,不是基于云的服务)来确定置信度量。其他示例也是可能的。
请注意,置信度量可以是评级(例如,在1-10之间,其中10指示高置信度量,1指示低置信度量),或指示符(例如,代表“高置信度”、“平均置信度”、或“低置信度”的指示符),以及其他可能性。
由图框512所示,方法500涉及,基于置信度量低于阈值,由一个或多个处理器来生成由第一机器人系统执行任务的更新的指令。
如果基于云的服务确定置信度量低于阈值度量,则基于云的服务可以生成更新的指令以执行任务。替代地,基于云的服务可以更新之前生成的指令。阈值度量可以是预定的,或可以基于例如存储在数据库110中的历史置信度度量连续地更新,以及其他可能性。
生成更新的指令可以涉及由基于云的服务的仿真(例如,从用于机器人命令的一组存储的指令中选择,和/或调整用于指令集的控制环路参数),其可能导致更高的置信度量。例如,返回参考对指令的请求涉及对抓取对象的指令的请求的场景,机上仿真的结果可以指示计算的抓取对象所需的力(F)不足以适当地抓取对象。特别地,机上仿真的结果可以指示第一机器人系统使用计算的力抓取到对象上可能导致对象滑离第一机器人系统的末端执行器并且落地。因此,基于云的服务可以生成更新的指令,其指示第一机器人系统应该使用更大的力来抓取物体。
作为一个示例,在图框512生成指令可以包括改变一组存储的指令和/或合成新的指令。例如,运动或控制策略的存储库可以包括指令和/或参数化的指令模板。在图框512,可以选择那些指令并且改变参数,和/或可以选择模板并设定参数,其中仿真结果用于比较选择和调整参数。用于新运动的指令可以通过组合来自库的多组指令(或模板)并模拟以评估适合性和总体鲁棒性(robust)来合成。也可以以任何其它合适的方式生成指令。
随后,基于云的服务可以将生成的更新的指令发送到第一机器人系统。此外,基于云的服务还可以基于生成的更新的指令发送另一个命令来执行另一个机上仿真。这样的迭代程序可以由图6的流程图600示出。请注意,在不脱离本文所公开的本发明的范围的情况下,可以去除流程图600的一些步骤,并且可以添加其他步骤。此外,请注意,流程图600的各个步骤可以以任何顺序执行,并且可以以任何方式实现为方法500的一部分。特别地,流程图600的步骤602-610示出了由基于云的服务进行的迭代程序以产生更新的指令,直到置信度量高于阈值度量。这样的迭代程序可以全部或部分地采取上面结合方法500的图框508-512讨论的重复程序的形式。
流程图600的步骤602涉及基于云的服务确定置信度量。可以如上面结合方法500的图框510所讨论的那样来执行置位度量的确定,或者可以以任何其他方式来执行。
流程图600的步骤604涉及,当确定置信度量时,基于云的服务确定置信度量是否高于阈值度量。可以如上面结合方法500的图框512所讨论的那样来执行置信度量是否高于阈值度量的确定,或者可以以任何其它方式来执行。
流程图600的步骤606涉及,当确定置信度量低于阈值度量时,基于云的服务更新之前生成的指令(或生成更新的指令)。可以如上面结合方法500的图框512所讨论的那样来执行更新的指令的生成,或者可以以任何其它方式来执行。另外,请注意,可以如上面结合方法500的图框506所讨论的那样使用任何用于生成指令的技术来执行步骤606。
流程图600的步骤608涉及,当更新生成的指令时,基于云的服务将以下发送到机器人系统(即,第一机器人系统):(i)更新的生成的指令,以及(ii)运行另一机上仿真的命令。此外,基于云的服务还可以发送对后续的机上仿真的结果的请求。可以如上面结合方法500的图框508所讨论的那样来执行发送这样的信息,或者可以以任何其它方式来执行。
流程图600的步骤610涉及基于云的服务接收随后的机上仿真的结果。可以如上面结合方法500的图框510所讨论的那样来执行接收随后的机上仿真的结果,或者可以以任何其它方式来执行。当接收结果时,基于云的服务可以再次执行流程图600的步骤602,以基于随后的机上仿真的结果确定置信度量。一旦确定了置信度量,基于云的服务可以再次执行流程图600的步骤604,以确定置信度量是否高于阈值度量。如果置信度量低于阈值度量,基于云的服务可以再次重复流程图600的步骤606-610。
涉及步骤602-610的这种迭代程序可以重复,直到置信度量高于阈值度量。替代地,基于云的服务可以进行有限次数的迭代(例如,三次迭代)。当完成有限次数的迭代时,基于云的服务向机器人系统发送消息。这样的消息可以包括这样的指示,即基于云的服务不能生成允许成功执行任务的更高可能性的指令。在这种情况下,不管如何,机器人系统可以被指导使用生成的指令(假定所生成的指令不会导致意外的结果)。附加地或替代地,基于云的服务可以向机器人系统发送对附加的信息(例如,附加的传感器数据)的请求,需要所述附加的信息以生成可能导致置信度量高于阈值度量的指令。当接收这样的附加的信息时,基于云的服务全部或部分地进行为重复方法500和/或流程图600的技术。
返回参考流程图600的步骤604。如果置信度量高于阈值度量,基于云的服务可以进行到流程图600的步骤612。步骤612涉及基于云的服务向机器人系统发送确认消息。确认消息可以指示生成的指令允许任务的成功执行。确认消息还可以包括这样的指示,机器人系统可以使用生成的指令继续执行任务。此外,步骤614涉及基于云的服务发送对与任务执行相关的报告的请求(即,一旦机器人系统执行任务)。
在一种情况下,这样的请求可以与确认消息一起发送(即,组合步骤612和614)。在另一种情况下,这样的请求可以与确认消息分开发送,并且在机器人系统执行任务之前发送。在又一种情况下,可以在机器人系统执行任务之后发送这样的请求。在又一种情况下,基于云的服务可以不发送在步骤614中指示的请求,并且该过程可以在步骤612完成时结束。其他情况也是可能的。
流程图600的步骤616涉及,当从机器人系统接收报告时,确定报告是否指示任务的成功执行或不成功执行。例如,返回对指令的请求涉及对抓取对象的指令的请求的场景,任务的成功执行可以涉及机器人系统成功地抓取到对象上。与之相反,任务的不成功执行可以例如涉及机器人系统不能成功地抓取到对象上指示。如果报告指示任务的不成功的执行,则基于云的服务可以返回到步骤606,以便基于接收的报告来更新生成的指令。例如,报告可以指示计算的力不足以成功地抓取到对象上,并且基于云的服务可以通过更新计算的力来更新生成的指令。其他示例也是可能的。
替代地,如果报告指示任务的不成功执行,则基于云的服务可以与机器人系统通信,以接收与机器人系统经历的新的环境条件相关的新的(或更新的)查询。例如,如果在尝试抓取对象时,对象的位置已经改变,则这可能是期望的。因此,可能需要新的查询,其包括对执行任务(即,考虑对象的新位置来抓取到对象上)的指令的新请求、表示机器人系统经历的新的环境条件的更新的传感器数据、和/或与机器人系统(例如,机器人臂的更新的位置)的配置相关联的更新信息,以及其他可能性。
与之相反,如果报告指示任务的成功执行,则基于云的服务可以进行到流程图600的步骤618。步骤618涉及将接收的报告和/或生成的指令存储在数据库(例如,数据库110)中。将这样的信息存储在数据库中可以允许机器人系统或其他机器人系统在将来访问信息。然后,机器人系统或其他机器人系统可以使用本文所述的技术来重复任务、和/或学习如何执行新任务、以及发现用于与环境进行交互的新策略和方法。请注意,这样的信息可以存储为可由机器人系统和/或其他客户端装置可读取的一种或多个格式。
另外,流程图600的步骤620涉及,基于云的服务向机器人系统发送存储生成的指令(例如,在存储器存储体204)的指示。存储生成的指令可以允许机器人系统更快地访问生成的指令。在机器人系统不能与基于云的服务通信的情况下,以及其他可能的情况,这可能是特别期望的。
请注意,步骤618和620可以以任何顺序发生。此外,请注意,另外,注意,步骤618和620中的一个或多个步骤可以不由基于云的服务来执行。在这种情况下,流程图600所示的过程可以在步骤616完成时结束。在另一种情况下,如果基于云的服务执行步骤618、但不执行步骤620,则流程图600所示的过程可以在步骤618完成时结束。在又一种情况下,如果基于云的服务执行步骤620但不执行步骤618,则流程图600所示的过程可以在步骤620完成时结束。在又一种情况下,如图6所示,如果基于云的服务执行步骤618和步骤620两者,则流程图600所示的过程可以在步骤618和620完成时结束。其他情况和示例也是可能的。
在示例实施方式中,基于云的服务还可以帮助机器人系统进行其他任务,例如人机交互。例如,来自一个或多个机器上传感器的数据可以由基于云的服务,以使用上面讨论的一种或多种技术进行人类识别和交互。特别地,基于云的服务可以执行以下功能:例如,面部检测、手势解释、行走习惯评估、特定身形的确定,人类语音分析。从每个传感器接收的数据可以不同地加权以执行这样的功能(例如,与其他传感器数据相比,语音数据可以被大量加权)。此外,可以聚合传感器数据,并且可以确定用于人类识别的置信度值,使得机器人系统可以正确地识别人,并且相应地交互。
在另外的方面,人类可以教导关于对象/人的机器人系统元数据,机器人系统可以通过将信息存储在数据库110中来记住它。在一个示例中,第一人可以将机器人系统“介绍”给新人。响应地,机器人系统可以向基于云的服务发送关于新人的信息(例如,面部图像、手势、行走习惯、身形信息、语音),从而创建与新人相关联的新记录。在另一示例中,人可以指向环境中的新对象,并且机器人系统可以将关于新对象的信息发送到基于云的服务,从而创建与新对象相关联的新记录。
存储在基于云的服务的数据库中的任何信息可以在未来由机器人系统(或其他机器人系统)访问,以辅助机器人系统与人和对象的交互。示例情况可能涉及与老年人交互的机器人系统(例如,人形机器人)。老年人可以向人形机器人展现相册,并且可以同时描述与相册相关联的记忆。人形机器人可以将与交互相关联的信息存储在数据库中,并在之后访问该信息,例如,在未来的交互期间(例如,与和该老年人相关的另一个人)。换言之,机器人系统可以使用存储在云中的信息,使之前存储的信息与当前的环境交互相关联。
人—机交互的另一个示例情况可能涉及,人向机器人系统询问问题,机器人系统可以响应地从基于云的服务请求信息,并提供问题的答案。其他示例也是可能的。
IV.结论
本公开不限于本申请中所述的特定实施例的方面,其旨在作为各个方面的说明。在不脱离其精神和范围的情况下,可以进行许多修改和变化,这对于本领域技术人员是显而易见的。根据前面的描述,除了本文列举的那些之外,在本公开的范围内的功能等同的方法和装置对于本领域技术人员将是显而易见的。这样的修改和变化旨在落入所附权利要求的范围内。
以上详细的描述参考附图描述了所公开的系统、装置和方法的各种特征和功能。在附图中,类似的附图标记通常标识相似的部件,除非上下文另有规定。本文所述和附图中的示例实施例不意味着限制性的。在不脱离本文提出的主题的精神或范围的情况下,可以利用其他实施例,并且可以进行其他改变。将容易地理解,如本文一般性描述和在附图中图示出的,本公开的方面可以以各种各样的不同配置来布、替换、组合、分离和设计,所有这些都被可以在本文明确地设想。
附图中所示的特定布置不应被视为限制性的。应当理解,其他实施例可以包括给定附图中示出的更多或更少的各个元件。另外,图示的元件中的一些可以组合或省略。另外,示例实施例可以包括在附图中未图示的元件。
虽然本文已经公开了各种方面和实施例,但是其他方面和实施例对于本领域技术人员将是显而易见的。本文公开的各种方面和实施例是为了说明的目的,而不意在限制,真正的范围由所附权利要求来指示。

Claims (15)

1.一种方法,包括:
从具有一个或多个传感器的第一机器人系统接收查询,其中所述查询包括从所述一个或多个传感器获得的传感器数据、对执行任务的指令的请求、以及与所述第一机器人系统的配置相关联的信息;
识别存储的数据,所述存储的数据包括之前由第二机器人系统使用以执行所述任务或类似的任务的程序、以及与所述第二机器人系统的配置相关联的信息;
至少部分地基于所述传感器数据、由所述第二机器人系统使用以执行所述任务或所述类似的任务的程序、与所述第一机器人系统的配置相关联的信息、以及与所述第二机器人系统的配置相关联的信息,由一个或多个处理器生成用于所述第一机器人系统的指令,以执行所述任务;
基于所生成的指令来运行仿真;
获得所述仿真的结果、并且基于所述结果响应地确定置信度量,所述置信度量与所生成的指令允许成功执行所述任务的度量相关;以及
基于所述置信度量低于阈值,由所述一个或多个处理器生成更新的指令,以由所述第一机器人系统来执行所述任务。
2.如权利要求1所述的方法,还包括:
确定所述置信度量高于所述阈值;以及
响应于确定所述置信度量高于所述阈值,向所述第一机器人系统发送确认消息,所述确认消息指示所生成的指令允许成功执行所述任务。
3.如权利要求1所述的方法,还包括:
确定所述置信度量低于所述阈值;以及
响应于确定所述置信度量低于所述阈值,进行迭代程序,直到所述置信度量高于所述阈值,其中所述迭代程序的迭代包括:
基于所生成的更新的指令来运行后续的仿真。
4.如权利要求3所述的方法,其中,所述迭代程序的迭代还包括:
获得所述后续的仿真的结果、并且基于所述后续的仿真的结果响应地确定后续的置信度量,所述后续的置信度量与所生成的更新的指令允许成功执行所述任务的度量相关;以及
基于所述后续的置信度量低于所述阈值,生成后续的更新的指令以执行所述任务。
5.如权利要求1所述的方法,其中,所述第一机器人系统的配置与所述第二机器人系统的配置不同。
6.如权利要求5所述的方法,其中,所述第一机器人系统的配置包括第一组末端执行器,其中所述第二机器人系统的配置包括第二组末端执行器,并且其中所述第一组末端执行器与所述第二组末端执行器至少部分地不同。
7.如权利要求6所述的方法,还包括:
确定所述第一组末端执行器和所述第二组末端执行器之间的差异,其中生成用于所述第一机器人系统以执行所述任务的指令还至少部分地基于所确定的差异。
8.如权利要求5所述的方法,其中,所述第一机器人系统的配置包括第一组传感器,其中所述第二机器人系统的配置包括第二组末端传感器,并且其中所述第一组传感器与所述第二组传感器至少部分地不同,所述方法还包括:
确定所述第一组传感器和所述第二组传感器之间的差异,其中生成用于所述第一机器人系统以执行所述任务的指令还至少部分地基于所确定的差异。
9.如权利要求5所述的方法,其中,所述第一机器人系统的配置产生第一组移动能力,其中所述第二机器人系统的配置产生第二组移动能力,并且其中所述第一组移动能力与所述第二组移动能力至少部分地不同,所述方法还包括:
确定所述第一组移动能力和所述第二组移动能力之间的差异,其中生成用于所述第一机器人系统以执行所述任务的指令还至少部分地基于所确定的差异。
10.一种非临时性计算机可读介质,在其中存储有指令,所述指令可由一个或多个处理器运行以使得计算系统执行功能,所述功能包括:
从具有多个传感器的第一机器人装置接收查询,其中所述查询包括从所述多个传感器获得的传感器数据、对执行任务的指令的请求、以及与所述第一机器人装置的配置相关联的信息;
识别存储的数据,所述存储的数据包括之前由第二机器人装置使用以执行所述任务或类似的任务的程序、以及与所述第二机器人装置的配置相关联的信息;
至少部分地基于所述传感器数据、由所述第二机器人装置使用以执行所述任务或所述类似的任务的程序、与所述第一机器人装置的配置相关联的信息、以及与所述第二机器人装置的配置相关联的信息,生成用于所述第一机器人装置的指令,以执行所述任务;
基于所生成的指令来运行仿真;
获得所述仿真的结果、并且基于所述结果响应地确定置信度量,所述置信度量与所生成的指令允许成功执行所述任务的度量相关;以及
基于所述置信度量低于阈值,生成更新的指令,以由所述第一机器人系统来执行所述任务。
11.如权利要求10所述的非临时性计算机可读介质,所述功能还包括:
确定所述置信度量高于所述阈值;
响应于确定所述置信度量高于所述阈值,向所述第一机器人装置发送确认消息,所述确认消息指示所生成的指令允许成功执行所述任务,并且在执行所述任务后,向所述第一机器人装置发送对与所述任务的执行相关的报告的请求;以及
从所述第一机器人装置接收所述报告。
12.如权利要求11所述的非临时性计算机可读介质,其中,所述功能还包括:
确定所述报告指示成功执行所述任务;以及
响应于确定所述报告指示成功执行所述任务,在与所述计算系统相关联的数据库中存储所述报告和所生成的指令。
13.如权利要求12所述的非临时性计算机可读介质,其中,所述第一机器人装置包括存储器存储体,所述功能还包括:
响应于确定所述报告指示成功执行所述任务,向所述第一机器人装置发送指示,以在所述存储器存储体处存储所生成的指令。
14.如权利要求11所述的非临时性计算机可读介质,所述功能还包括:
确定所述报告指示未成功执行所述任务;以及
响应于确定所述报告指示未成功执行所述任务,基于所述报告生成第二更新的指令,以执行所述任务。
15.一种方法,包括:
从具有一个或多个传感器的第一机器人系统接收查询,其中所述查询包括从所述一个或多个传感器获得的传感器数据、对执行环境交互的指令的请求、以及与所述第一机器人系统的配置相关联的信息;
识别存储的数据,所述存储的数据包括之前由第二机器人系统使用以执行所述环境交互的程序、以及与所述第二机器人系统的配置相关联的信息;
至少部分地基于所述传感器数据、由所述第二机器人系统使用以执行所述环境交互的程序、与所述第一机器人系统的配置相关联的信息、以及与所述第二机器人系统的配置相关联的信息,生成用于所述第一机器人系统的指令,以执行所述环境交互;
进行迭代程序,直到置信度量高于阈值,其中所述置信度量与所生成的指令允许成功执行所述环境交互的度量相关,并且其中所述迭代程序的迭代包括:
基于所生成的指令运行仿真;
获得所述仿真的结果、并且基于所述结果响应地确定所述置信度量;以及
基于所述置信度量低于所述阈值,更新所生成的指令,以由所述第一机器人系统执行所述环境交互。
CN201580036290.8A 2014-07-24 2015-07-23 生成用于机器人系统的指令以执行任务的方法和系统 Active CN106796665B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910422651.2A CN110232433B (zh) 2014-07-24 2015-07-23 生成用于机器人系统的指令以执行任务的方法和系统

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201462028389P 2014-07-24 2014-07-24
US62/028,389 2014-07-24
US14/804,621 US9802309B2 (en) 2014-07-24 2015-07-21 Methods and systems for generating instructions for a robotic system to carry out a task
US14/804,621 2015-07-21
PCT/US2015/041704 WO2016014774A1 (en) 2014-07-24 2015-07-23 Methods and systems for generating instructions for a robotic system to carry out a task

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201910422651.2A Division CN110232433B (zh) 2014-07-24 2015-07-23 生成用于机器人系统的指令以执行任务的方法和系统

Publications (2)

Publication Number Publication Date
CN106796665A true CN106796665A (zh) 2017-05-31
CN106796665B CN106796665B (zh) 2019-06-14

Family

ID=53777019

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201910422651.2A Active CN110232433B (zh) 2014-07-24 2015-07-23 生成用于机器人系统的指令以执行任务的方法和系统
CN201580036290.8A Active CN106796665B (zh) 2014-07-24 2015-07-23 生成用于机器人系统的指令以执行任务的方法和系统

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201910422651.2A Active CN110232433B (zh) 2014-07-24 2015-07-23 生成用于机器人系统的指令以执行任务的方法和系统

Country Status (5)

Country Link
US (2) US9802309B2 (zh)
EP (1) EP3172017B1 (zh)
KR (2) KR101945772B1 (zh)
CN (2) CN110232433B (zh)
WO (1) WO2016014774A1 (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107544515A (zh) * 2017-10-10 2018-01-05 苏州中德睿博智能科技有限公司 基于云服务器的多机器人建图导航系统与建图导航方法
CN109270520A (zh) * 2018-10-18 2019-01-25 四川九洲空管科技有限责任公司 基于幅度信息获取二次雷达应答目标身份代码的处理方法
WO2020114425A1 (en) * 2018-12-04 2020-06-11 Cloudminds (Shenzhen) Robotics Systems Co., Ltd. Human augmented cloud-based robotics intelligence framework and associated methods
CN111338820A (zh) * 2020-02-24 2020-06-26 北京海益同展信息科技有限公司 运行方法、客户端及存储介质
CN111338670A (zh) * 2020-02-17 2020-06-26 深圳前海达闼云端智能科技有限公司 机器人的固件更新方法、装置、存储介质和机器人
CN111630475A (zh) * 2018-10-19 2020-09-04 深圳配天智能技术研究院有限公司 控制机器人的方法、服务器、存储介质及云服务平台
CN111832311A (zh) * 2019-04-18 2020-10-27 国际商业机器公司 聊天机器人能力的自动语义分析和比较
WO2021027845A1 (zh) * 2019-08-12 2021-02-18 深圳忆海原识科技有限公司 一种类脑决策与运动控制系统
CN112437908A (zh) * 2018-05-29 2021-03-02 Abb瑞士股份有限公司 使用结构光的深度感测机器手-眼相机
CN112654468A (zh) * 2018-09-07 2021-04-13 发纳科美国公司 用于工业机器人的黄金数据
CN114536339A (zh) * 2022-03-03 2022-05-27 深圳市大族机器人有限公司 协作机器人的控制方法、装置、协作机器人和存储介质
CN115755780A (zh) * 2022-08-30 2023-03-07 中国核动力研究设计院 一种核电dcs系统设计中全局搜索方法、系统及存储介质

Families Citing this family (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10208947B2 (en) 2014-03-26 2019-02-19 Rockwell Automation Technologies, Inc. Cloud-level analytics for boiler networks
US9614963B2 (en) 2014-03-26 2017-04-04 Rockwell Automation Technologies, Inc. Cloud-based global alarm annunciation system for industrial systems
US9838476B2 (en) 2014-03-26 2017-12-05 Rockwell Automation Technologies, Inc. On-premise data collection and ingestion using industrial cloud agents
US10095202B2 (en) 2014-03-26 2018-10-09 Rockwell Automation Technologies, Inc. Multiple controllers configuration management interface for system connectivity
US9734367B1 (en) 2014-08-25 2017-08-15 Amazon Technologies, Inc. Distinguishing RFID tags using motion data
US9840007B1 (en) * 2014-08-25 2017-12-12 X Development Llc Robotic operation libraries
US10040201B2 (en) * 2015-08-31 2018-08-07 Avaya Inc. Service robot communication systems and system self-configuration
US10032137B2 (en) 2015-08-31 2018-07-24 Avaya Inc. Communication systems for multi-source robot control
US10350757B2 (en) 2015-08-31 2019-07-16 Avaya Inc. Service robot assessment and operation
US10124491B2 (en) 2015-08-31 2018-11-13 Avaya Inc. Operational parameters
KR102023149B1 (ko) * 2016-03-03 2019-11-22 구글 엘엘씨 로봇 파지를 위한 심층 기계 학습 방법 및 장치
US11072356B2 (en) 2016-06-30 2021-07-27 Transportation Ip Holdings, Llc Vehicle control system
US10814893B2 (en) 2016-03-21 2020-10-27 Ge Global Sourcing Llc Vehicle control system
US10805222B2 (en) * 2017-05-01 2020-10-13 General Electric Company Resilient network configuration for time sensitive traffic
CN105897509B (zh) * 2016-04-08 2020-04-07 上海工程技术大学 一种基于云计算的机器人软件运行及仿真系统
WO2018017612A1 (en) 2016-07-18 2018-01-25 Lael Odhner Training robotic manipulators
US10259117B2 (en) * 2016-08-02 2019-04-16 At&T Intellectual Property I, L.P. On-demand robot virtualization
EP3484674B1 (en) 2016-08-17 2021-07-07 Siemens Aktiengesellschaft Method and system for preserving privacy for cloud-based manufacturing analysis services
US10764255B2 (en) * 2016-09-21 2020-09-01 Rockwell Automation Technologies, Inc. Secure command execution from a cloud monitoring system to a remote cloud agent
JP2018067100A (ja) * 2016-10-18 2018-04-26 株式会社日立製作所 ロボット対話システム
EP3536467B1 (en) * 2016-11-07 2022-07-20 Soinn Inc. Action transfer device, action transfer method, and non-temporary computer readable medium having action transfer program stored thereon
US10723018B2 (en) * 2016-11-28 2020-07-28 Brain Corporation Systems and methods for remote operating and/or monitoring of a robot
US11460861B2 (en) 2017-02-16 2022-10-04 Indiana University Research And Technology Corporation Cloud based robotic control systems and methods
DE102017103986A1 (de) * 2017-02-27 2018-08-30 Vorwerk & Co. Interholding Gmbh Verfahren zum Betrieb eines sich selbsttätig fortbewegenden Roboters
US10646994B2 (en) * 2017-04-25 2020-05-12 At&T Intellectual Property I, L.P. Robot virtualization leveraging Geo analytics and augmented reality
US11327473B2 (en) 2017-07-11 2022-05-10 Rockwell Automation Technologies, Inc. Dynamically reconfigurable data collection agent for fracking pump asset
CN107471213B (zh) * 2017-08-03 2020-06-19 大陆智源科技(北京)有限公司 一种机器人模拟系统
US10482063B2 (en) 2017-08-14 2019-11-19 Rockwell Automation Technologies, Inc. Modular control manifest generator for cloud automation
US11740624B2 (en) * 2017-08-17 2023-08-29 Sri International Advanced control system with multiple control paradigms
JP2019042856A (ja) * 2017-08-31 2019-03-22 川崎重工業株式会社 ロボット及びロボットの組立性確認方法
US10416660B2 (en) 2017-08-31 2019-09-17 Rockwell Automation Technologies, Inc. Discrete manufacturing hybrid cloud solution architecture
US11253998B2 (en) * 2017-10-04 2022-02-22 Telefonaktiebolaget Lm Ericsson (Publ) Method and arrangement for determination of a trajectory for a robot device in a cloud
EP3476545A1 (en) * 2017-10-27 2019-05-01 Creaholic SA Method for operating a computer-based inventory of hardware modules of a robotic system
SE544035C2 (en) 2018-04-04 2021-11-16 Husqvarna Ab Improved maintenance for a robotic working tool
EP3808007A1 (en) * 2018-06-12 2021-04-21 Telefonaktiebolaget Lm Ericsson (Publ) Technique for robotic device control
US11597596B1 (en) * 2018-07-13 2023-03-07 Veena Technologies, Inc. System and method of providing an elevator system for mobile robots
CN112470320A (zh) 2018-07-26 2021-03-09 三井化学株式会社 电池用非水电解液及锂二次电池
US11625806B2 (en) * 2019-01-23 2023-04-11 Qualcomm Incorporated Methods and apparatus for standardized APIs for split rendering
EP3738723A1 (de) * 2019-05-17 2020-11-18 Siemens Aktiengesellschaft Verfahren, computer-programm-produkt und robotersteuerung zum kontaktbasierten lokalisieren von bei der manipulation durch roboter bewegbaren objekten sowie roboter
US20220193904A1 (en) * 2019-06-12 2022-06-23 Telefonaktiebolaget Lm Ericsson (Publ) Technique for Determining Control Information to be Wirelessly Transmitted to a Robotic Device
CN112182169A (zh) * 2019-07-01 2021-01-05 北京邮电大学 基于用户属性的社会工程学机器人模拟方法和装置
US11654552B2 (en) * 2019-07-29 2023-05-23 TruPhysics GmbH Backup control based continuous training of robots
US11931902B2 (en) 2019-10-25 2024-03-19 Dexterity, Inc. Robotic system simulation engine
CN111025981A (zh) * 2019-12-19 2020-04-17 华南理工大学 一种基于单片机的物联网掌上电子相册
US11999066B2 (en) 2020-08-04 2024-06-04 Artificial, Inc. Robotics calibration in a lab environment
KR102442064B1 (ko) * 2020-11-30 2022-09-08 네이버랩스 주식회사 서비스 어플리케이션과 연계하여 서비스를 제공하는 로봇을 제어하는 방법 및 클라우드 서버
US20220203547A1 (en) * 2020-12-31 2022-06-30 Plus One Robotics, Inc. System and method for improving automated robotic picking via pick planning and interventional assistance
KR20230015145A (ko) 2021-07-22 2023-01-31 엘지전자 주식회사 에지 서버 및 클라우드 서버를 포함하는 이종 로봇 시스템 및 그의 제어 방법
KR20230029333A (ko) * 2021-08-24 2023-03-03 주식회사 아이온커뮤니케이션즈 클라우드 로봇 제어 개발을 위한 시뮬레이션 시스템 및 그 방법
IT202200014449A1 (it) * 2022-07-08 2024-01-08 Telecom Italia Spa Metodo e sistema per migliorare le capacita' di un robot
CN117798914B (zh) * 2023-12-29 2024-08-02 深圳市小全科技文化有限公司 仿生表情机器人通信方法、装置、介质及计算机设备

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1487871A (zh) * 2001-10-22 2004-04-07 索尼公司 机器人装置及其控制方法
CN1877475A (zh) * 2005-06-09 2006-12-13 索尼株式会社 网络系统、移动体装置及其控制方法、以及计算机程序
CN101413806A (zh) * 2008-11-07 2009-04-22 湖南大学 一种实时数据融合的移动机器人栅格地图创建方法
US20100010968A1 (en) * 2008-07-10 2010-01-14 Redlich Ron M System and method to identify, classify and monetize information as an intangible asset and a production model based thereon
CN101953172A (zh) * 2008-02-13 2011-01-19 塞格瑞德公司 分布式多机器人系统
US8380652B1 (en) * 2011-05-06 2013-02-19 Google Inc. Methods and systems for autonomous robotic decision making
CN103079657A (zh) * 2010-07-02 2013-05-01 奥尔德巴伦机器人公司 类人博弈机器人、使用所述机器人的方法和系统
US8639644B1 (en) * 2011-05-06 2014-01-28 Google Inc. Shared robot knowledge base for use with cloud computing system

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100351789C (zh) * 2003-03-28 2007-11-28 索尼株式会社 信息提供设备、方法和信息提供系统
JP4621073B2 (ja) 2005-05-23 2011-01-26 本田技研工業株式会社 ロボット制御装置
JP3946753B2 (ja) * 2005-07-25 2007-07-18 ファナック株式会社 ロボットプログラム評価・修正方法及びロボットプログラム評価・修正装置
US8214079B2 (en) 2007-03-30 2012-07-03 Sungkyunkwan University Foundation For Corporate Collaboration Central information processing system and method for service robot having layered information structure according to recognition and reasoning level
JP5606927B2 (ja) 2008-01-28 2014-10-15 シーグリッド コーポレーション サービスロボットによって収集された時空間情報のリパーパシングを行うための方法
CN101973031B (zh) 2010-08-24 2013-07-24 中国科学院深圳先进技术研究院 云机器人系统及实现方法
TW201227190A (en) 2010-12-28 2012-07-01 Hon Hai Prec Ind Co Ltd System and method for controlling robots via cloud computing
US8447863B1 (en) 2011-05-06 2013-05-21 Google Inc. Systems and methods for object recognition
US8380349B1 (en) * 2011-05-06 2013-02-19 Google Inc. Methods and systems for providing instructions to a robotic device
US20130085602A1 (en) * 2011-10-04 2013-04-04 Hei Tao Fung Office Robot System
US8386079B1 (en) 2011-10-28 2013-02-26 Google Inc. Systems and methods for determining semantic information associated with objects
KR101545146B1 (ko) * 2013-11-28 2015-08-20 한국과학기술정보연구원 클라우드 스토리지 기반 작업 수행 시스템 및 방법

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1487871A (zh) * 2001-10-22 2004-04-07 索尼公司 机器人装置及其控制方法
CN1877475A (zh) * 2005-06-09 2006-12-13 索尼株式会社 网络系统、移动体装置及其控制方法、以及计算机程序
CN101953172A (zh) * 2008-02-13 2011-01-19 塞格瑞德公司 分布式多机器人系统
US20100010968A1 (en) * 2008-07-10 2010-01-14 Redlich Ron M System and method to identify, classify and monetize information as an intangible asset and a production model based thereon
CN101413806A (zh) * 2008-11-07 2009-04-22 湖南大学 一种实时数据融合的移动机器人栅格地图创建方法
CN103079657A (zh) * 2010-07-02 2013-05-01 奥尔德巴伦机器人公司 类人博弈机器人、使用所述机器人的方法和系统
US8380652B1 (en) * 2011-05-06 2013-02-19 Google Inc. Methods and systems for autonomous robotic decision making
US8639644B1 (en) * 2011-05-06 2014-01-28 Google Inc. Shared robot knowledge base for use with cloud computing system

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107544515A (zh) * 2017-10-10 2018-01-05 苏州中德睿博智能科技有限公司 基于云服务器的多机器人建图导航系统与建图导航方法
CN112437908A (zh) * 2018-05-29 2021-03-02 Abb瑞士股份有限公司 使用结构光的深度感测机器手-眼相机
CN112654468A (zh) * 2018-09-07 2021-04-13 发纳科美国公司 用于工业机器人的黄金数据
CN109270520A (zh) * 2018-10-18 2019-01-25 四川九洲空管科技有限责任公司 基于幅度信息获取二次雷达应答目标身份代码的处理方法
CN109270520B (zh) * 2018-10-18 2020-05-19 四川九洲空管科技有限责任公司 基于幅度信息获取二次雷达应答目标身份代码的处理方法
CN111630475A (zh) * 2018-10-19 2020-09-04 深圳配天智能技术研究院有限公司 控制机器人的方法、服务器、存储介质及云服务平台
CN111630475B (zh) * 2018-10-19 2024-02-27 深圳配天机器人技术有限公司 控制机器人的方法、服务器、存储介质及云服务平台
WO2020114425A1 (en) * 2018-12-04 2020-06-11 Cloudminds (Shenzhen) Robotics Systems Co., Ltd. Human augmented cloud-based robotics intelligence framework and associated methods
CN111432989B (zh) * 2018-12-04 2023-07-07 达闼机器人股份有限公司 人工增强基于云的机器人智能框架及相关方法
CN111432989A (zh) * 2018-12-04 2020-07-17 深圳前海达闼云端智能科技有限公司 人工增强基于云的机器人智能框架及相关方法
US11584020B2 (en) 2018-12-04 2023-02-21 Cloudminds Robotics Co., Ltd. Human augmented cloud-based robotics intelligence framework and associated methods
CN111832311A (zh) * 2019-04-18 2020-10-27 国际商业机器公司 聊天机器人能力的自动语义分析和比较
WO2021027845A1 (zh) * 2019-08-12 2021-02-18 深圳忆海原识科技有限公司 一种类脑决策与运动控制系统
GB2605018A (en) * 2019-08-12 2022-09-21 Neurocean Tech Inc Brain-like decision and motion control system
JP2022542716A (ja) * 2019-08-12 2022-10-06 深▲セン▼▲憶▼▲海▼原▲識▼科技有限公司 脳型知能意思決定と運動制御システム
JP7443492B2 (ja) 2019-08-12 2024-03-05 深▲セン▼▲憶▼▲海▼原▲識▼科技有限公司 脳型知能意思決定と運動制御システム
CN111338670A (zh) * 2020-02-17 2020-06-26 深圳前海达闼云端智能科技有限公司 机器人的固件更新方法、装置、存储介质和机器人
CN111338670B (zh) * 2020-02-17 2022-11-22 达闼机器人股份有限公司 机器人的固件更新方法、装置、存储介质和机器人
CN111338820A (zh) * 2020-02-24 2020-06-26 北京海益同展信息科技有限公司 运行方法、客户端及存储介质
CN111338820B (zh) * 2020-02-24 2024-04-05 京东科技信息技术有限公司 运行方法、客户端及存储介质
CN114536339A (zh) * 2022-03-03 2022-05-27 深圳市大族机器人有限公司 协作机器人的控制方法、装置、协作机器人和存储介质
CN114536339B (zh) * 2022-03-03 2024-05-31 深圳市大族机器人有限公司 协作机器人的控制方法、装置、协作机器人和存储介质
CN115755780A (zh) * 2022-08-30 2023-03-07 中国核动力研究设计院 一种核电dcs系统设计中全局搜索方法、系统及存储介质

Also Published As

Publication number Publication date
US9802309B2 (en) 2017-10-31
KR20170015377A (ko) 2017-02-08
CN110232433A (zh) 2019-09-13
EP3172017B1 (en) 2018-12-12
US20180056505A1 (en) 2018-03-01
US10507577B2 (en) 2019-12-17
US20160023351A1 (en) 2016-01-28
KR20190014586A (ko) 2019-02-12
CN110232433B (zh) 2023-08-01
EP3172017A1 (en) 2017-05-31
WO2016014774A1 (en) 2016-01-28
KR101945772B1 (ko) 2019-02-11
CN106796665B (zh) 2019-06-14
KR102044665B1 (ko) 2019-11-13

Similar Documents

Publication Publication Date Title
CN106796665B (zh) 生成用于机器人系统的指令以执行任务的方法和系统
JP7525603B2 (ja) 位置特定サービスおよび共有場所ベースのコンテンツを伴うクロスリアリティシステム
US10981272B1 (en) Robot grasp learning
US11790619B2 (en) Cross reality system with accurate shared maps
JP7504212B2 (ja) Wifi/gpsベースのマップマージを伴うクロスリアリティシステム
US8386079B1 (en) Systems and methods for determining semantic information associated with objects
JP2023501952A (ja) 持続座標フレームについての品質情報を伴うクロスリアリティシステム
JP2023515524A (ja) 高速位置特定を伴うクロスリアリティシステム
JP2022551733A (ja) 位置特定サービスを伴うクロスリアリティシステム
JP2023514206A (ja) 大規模環境のためのクロスリアリティシステム
JP2022551735A (ja) 無線フィンガプリントを用いたクロスリアリティシステム
JP2023514208A (ja) マルチ分解能フレーム記述子を使用したマップ処理を伴うクロスリアリティシステム
CN109804411A (zh) 用于同时定位和映射的系统和方法
CN105051755A (zh) 用于姿势识别的部位和状态检测
US8525836B1 (en) Systems and methods for representing information associated with objects in an area
JP7526169B2 (ja) クロスリアリティシステム
US11557099B2 (en) Cross reality system with buffering for localization accuracy
CN112527104A (zh) 确定参数确定方法、装置、设备及存储介质
JP2024150590A (ja) 位置特定サービスおよび共有場所ベースのコンテンツを伴うクロスリアリティシステム
WO2023168335A1 (en) Temporal decoupling in image-based localization at scale
DeMarco Real-time computer vision processing on a wearable system
Choudhary ​ AUTO RENEWAL OF DOMAIN NAMES​

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