CN117177842A - 用于多用途机器人的系统、设备和方法 - Google Patents
用于多用途机器人的系统、设备和方法 Download PDFInfo
- Publication number
- CN117177842A CN117177842A CN202280029391.2A CN202280029391A CN117177842A CN 117177842 A CN117177842 A CN 117177842A CN 202280029391 A CN202280029391 A CN 202280029391A CN 117177842 A CN117177842 A CN 117177842A
- Authority
- CN
- China
- Prior art keywords
- reusable
- robot
- processor
- primitive
- work
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 241
- 238000004088 simulation Methods 0.000 claims abstract description 151
- 238000012549 training Methods 0.000 claims abstract description 61
- 239000012636 effector Substances 0.000 claims abstract description 18
- 230000000977 initiatory effect Effects 0.000 claims description 34
- 230000009471 action Effects 0.000 claims description 31
- 210000003811 finger Anatomy 0.000 claims description 24
- 238000004590 computer program Methods 0.000 claims description 23
- 230000003287 optical effect Effects 0.000 claims description 23
- 230000008569 process Effects 0.000 claims description 23
- 210000003813 thumb Anatomy 0.000 claims description 15
- 230000000704 physical effect Effects 0.000 claims description 11
- 238000007670 refining Methods 0.000 claims description 9
- 230000003278 mimic effect Effects 0.000 claims description 7
- 238000004140 cleaning Methods 0.000 description 24
- 230000006870 function Effects 0.000 description 14
- 238000004891 communication Methods 0.000 description 9
- 230000008878 coupling Effects 0.000 description 9
- 238000010168 coupling process Methods 0.000 description 9
- 238000005859 coupling reaction Methods 0.000 description 9
- 210000004247 hand Anatomy 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 8
- 230000000694 effects Effects 0.000 description 7
- 239000007921 spray Substances 0.000 description 7
- 230000008859 change Effects 0.000 description 6
- 230000004044 response Effects 0.000 description 6
- 238000013473 artificial intelligence Methods 0.000 description 4
- 239000000203 mixture Substances 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- 230000002730 additional effect Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 230000007613 environmental effect Effects 0.000 description 3
- 239000004744 fabric Substances 0.000 description 3
- 238000001914 filtration Methods 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 235000012054 meals Nutrition 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000001755 vocal effect Effects 0.000 description 2
- CIWBSHSKHKDKBQ-JLAZNSOCSA-N Ascorbic acid Chemical compound OC[C@H](O)[C@H]1OC(=O)C(O)=C1O CIWBSHSKHKDKBQ-JLAZNSOCSA-N 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000010391 action planning Effects 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000003708 edge detection Methods 0.000 description 1
- 239000008157 edible vegetable oil Substances 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000012530 fluid Substances 0.000 description 1
- 238000009472 formulation Methods 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 239000008266 hair spray Substances 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 210000002414 leg Anatomy 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000000116 mitigating effect Effects 0.000 description 1
- 230000000877 morphologic effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000003973 paint Substances 0.000 description 1
- 238000010422 painting Methods 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 238000005507 spraying Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
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/1661—Programme controls characterised by programming, planning systems for manipulators characterised by task planning, object-oriented languages
-
- 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
- B25J13/00—Controls for manipulators
- B25J13/08—Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J15/00—Gripping heads and other end effectors
- B25J15/0009—Gripping heads and other end effectors comprising multi-articulated fingers, e.g. resembling a human hand
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J19/00—Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
- B25J19/02—Sensing devices
-
- 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/1602—Programme controls characterised by the control system, structure, architecture
- B25J9/161—Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
-
- 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/1612—Programme controls characterised by the hand, wrist, grip 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/1671—Programme 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
-
- 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/1679—Programme controls characterised by the tasks executed
- B25J9/1689—Teleoperation
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39244—Generic motion control operations, primitive skills each for special task
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40102—Tasks are classified in types of unit motions
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40395—Compose movement with primitive movement segments from database
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Orthopedic Medicine & Surgery (AREA)
- Automation & Control Theory (AREA)
- Artificial Intelligence (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Human Computer Interaction (AREA)
- Manipulator (AREA)
Abstract
描述了用于训练和操作(半)自主机器人以完成多个不同工作目标的系统、设备和方法。机器人控制系统存储可重复使用的工作基元库,每个可重复使用的工作基元对应于机器人操作以自主地执行的相应基本子任务或子动作。分析工作目标以确定可重复使用的工作基元的序列(即,组合和/或排列),其当由机器人执行时,将完成工作目标。机器人执行可重复使用的工作基元的序列来完成工作目标。可重复使用的工作基元可以包括一个或更多个可重复使用的抓取基元,该一个或更多个可重复使用的抓取基元使得机器人的末端执行器能够抓取对象。真实物理机器人的模拟实例可以在模拟环境中被训练以开发控制指令,该控制指令一旦被上传到真实物理机器人,则使得这样的真实物理机器人能够自主地执行可重复使用的工作基元。
Description
技术领域
本系统、设备和方法总体上涉及多用途机器人,并且特别地涉及能够至少半自主地完成多个不同工作目标的机器人。
背景
相关技术的描述
机器人是可以被采用来执行工作的机器。机器人可能有各种不同的形状因子(包括人形形状因子)。人形机器人可以由遥操作系统操作,通过遥操作系统使得机器人模仿人类操作员或驾驶员的物理动作;然而,这种遥操作系统通常需要非常精细和复杂的接口,接口包括由驾驶员佩戴或以其他方式指向驾驶员的精细传感器和设备,因此需要驾驶员将其全部注意力投入到机器人的遥操作中,并限制了该技术的整体可及性。
机器人可以被训练或以其他方式编程以半自主或完全自主地操作。训练机器人通常涉及使得机器人在现实世界中重复执行物理任务,这可能在机器人甚至可以被部署以在现场执行有用的工作之前对机器人的部件造成显著的磨损。
简要概述
一种机器人的操作方法(其中机器人包括至少一个处理器和通信地耦合到至少一个处理器的非暂时性处理器可读存储介质,该非暂时性处理器可读存储介质存储可重复使用的工作基元库和处理器可执行指令,该处理器可执行指令当由至少一个处理器执行时,使得机器人自主执行可重复使用的工作基元库中的可重复使用的工作基元)可以概括为包括:启动第一工作目标;启动第一工作流以完成第一工作目标,第一工作流包括从可重复使用的工作基元库中选择的第一组可重复使用的工作基元;以及执行第一工作流,其中,执行第一工作流包括执行第一组可重复使用的工作基元。方法还可以包括:启动与第一工作目标不同的第二工作目标;启动第二工作流以完成第二工作目标,第二工作流包括从可重复使用的工作基元库中选择的第二组可重复使用的工作基元,其中第二工作流不同于第一工作流,并且至少一个共有的可重复使用的工作基元被包括在第一工作流和第二工作流两者中;以及执行第二工作流,其中,执行第二工作流包括执行第二组可重复使用的工作基元。方法还可以包括:启动与第一工作目标和第二工作目标两者都不同的至少一个附加的工作目标;启动至少一个附加的工作流以完成至少一个附加的工作目标,至少一个附加的工作流包括从可重复使用的工作基元库中选择的至少一组附加的可重复使用的工作基元,其中至少一个附加的工作流不同于第一工作流和第二工作流两者,并且其中至少一个共有的可重复使用的工作基元被包括在第一工作流、第二工作流和至少一个附加的工作流中;以及执行至少一个附加的工作流,其中执行至少一个附加的工作流包括执行至少一组附加的可重复使用的工作基元。
机器人可以包括通信地耦合到至少一个处理器的电信接口,并且启动第一工作目标可以包括经由电信接口接收与第一工作目标相关的指令和/或启动第一工作流以完成第一工作目标可以包括经由电信接口接收第一工作流。启动第一工作目标可以包括由机器人自主识别第一工作目标。启动第一工作流以完成第一工作目标可以包括由机器人自主识别第一组可重复使用的工作基元。
机器人可以至少包括通信地耦合到至少一个处理器的第一物理可致动部件,并且可重复使用的工作基元库可以包括可由第一物理可致动部件执行的一组可重复使用的工作基元。启动第一工作流以完成第一工作目标可以包括启动第一组可重复使用的工作基元,该第一组可重复使用的工作基元包括来自可由第一物理可致动部件执行的该组可重复使用的工作基元中的至少一个可重复使用的工作基元。执行第一工作流可以包括由第一物理可致动部件执行来自可由第一物理可致动部件执行的该组可重复使用的工作基元中的至少一个可重复使用的工作基元。第一物理可致动部件可以操作以抓取对象,并且可由第一物理可致动部件执行的该组可重复使用的工作基元可以包括可由第一物理可致动部件执行的一组可重复使用的抓取基元。启动包括来自可由第一物理可致动部件执行的该组可重复使用的工作基元中的至少一个可重复使用的工作基元的第一组可重复使用的工作基元可以包括启动包括至少一个可重复使用的抓取基元的第一组可重复使用的工作基元。由第一物理可致动部件执行来自可由第一物理可致动部件执行的该组可重复使用的工作基元中的至少一个可重复使用的工作基元可以包括由第一物理可致动部件执行至少一个可重复使用的抓取基元。
启动第一工作流以完成第一工作目标可以包括启动来自可重复使用的工作基元库中的可重复使用的工作基元的第一组合的第一排列。执行第一组可重复使用的工作基元可以包括由至少一个处理器执行存储在非暂时性处理器可读存储介质中的处理器可执行指令,以使得机器人自主执行第一组可重复使用的工作基元。
机器人可以概括为包括:主体;机械地耦合到主体的至少一个物理可致动部件;通信地耦合到至少一个物理可致动部件的至少一个处理器;以及通信地耦合到至少一个处理器的至少一个非暂时性处理器可读存储介质,至少一个非暂时性处理器可读存储介质存储可重复使用的工作基元库和处理器可执行指令,该处理器可执行指令当由至少一个处理器执行时,使得机器人:启动第一工作目标;启动第一工作流以完成第一工作目标,第一工作流包括从可重复使用的工作基元库中选择的第一组可重复使用的工作基元;以及执行第一工作流,其中,执行第一工作流包括执行第一组可重复使用的工作基元。当由至少一个处理器执行时,处理器可执行指令可以进一步使得机器人:启动不同于第一工作目标的第二工作目标;启动第二工作流以完成第二工作目标,第二工作流包括从可重复使用的工作基元库中选择的第二组可重复使用的工作基元,其中第二工作流不同于第一工作流,并且至少一个共有的可重复使用的工作基元被包括在第一工作流和第二工作流两者中;以及执行第二工作流,其中,执行第二工作流包括执行第二组可重复使用的工作基元。机器人还可以包括通信地耦合到至少一个处理器的电信接口,以接收来自由以下项组成的组中的至少一组指令:与第一工作目标相关的指令和与第一工作流相关的指令。非暂时性处理器可读存储介质还可以存储处理器可执行指令,该处理器可执行指令当由至少一个处理器执行时,使得机器人自主识别第一工作流以完成第一工作目标。
可重复使用的工作基元库可以包括可由至少一个物理可致动部件执行的一组可重复使用的工作基元,并且处理器可执行指令(该处理器可执行指令当由至少一个处理器执行时,使得机器人执行第一组可重复使用的工作基元)可以使得至少一个物理可致动部件执行至少一个可重复使用的工作基元。至少一个物理可致动部件可以包括操作来抓取对象的末端执行器(end effector),并且可由至少一个物理可致动部件执行的该组可重复使用的工作基元可以包括可由末端执行器执行的一组可重复使用的抓取基元。处理器可执行指令(该处理器可执行指令当由至少一个处理器执行时,使得至少一个物理可致动部件执行至少一个可重复使用的工作基元)可以使得末端执行器执行至少一个抓取基元。
计算机程序产品可以概括为包括:可重复使用的工作基元库;以及处理器可执行指令和/或数据,当计算机程序产品存储在机器人系统的非暂时性处理器可读存储介质中并由机器人系统的至少一个处理器(该至少一个处理器通信地耦合到非暂时性处理器可读存储介质)执行时,该处理器可执行指令和/或数据使得机器人系统:启动第一工作目标;启动第一工作流以完成第一工作目标,第一工作流包括从可重复使用的工作基元库中选择的第一组可重复使用的工作基元;以及执行第一工作流,其中,执行第一工作流包括执行第一组可重复使用的工作基元。计算机程序产品还可以包括:处理器可执行指令和/或数据,当计算机程序产品存储在机器人系统的非暂时性处理器可读存储介质中并由机器人系统的至少一个处理器执行时,该处理器可执行指令和/或数据使得机器人系统:启动不同于第一工作目标的第二工作目标;启动第二工作流以完成第二工作目标,第二工作流包括从可重复使用的工作基元库中选择的第二组可重复使用的工作基元,其中第二工作流不同于第一工作流,并且至少一个共有的可重复使用的工作基元被包括在第一工作流和第二工作流两者中;以及执行第二工作流,其中,执行第二工作流包括执行第二组可重复使用的工作基元。计算机程序产品还可以包括处理器可执行指令和/或数据,当计算机程序产品存储在机器人系统的非暂时性处理器可读存储介质中并由机器人系统的至少一个处理器执行时,该处理器可执行指令和/或数据使得机器人系统自主地识别第一工作流以完成第一工作目标。
描述了一种机器人抓取对象的操作方法。执行该方法的机器人可以概括为包括:具有多个手指和可相对的拇指的机器人手;操作以控制机器人手的致动的至少一个处理器;通信地耦合到至少一个处理器的至少一个传感器;以及通信地耦合到至少一个处理器的非暂时性处理器可读存储介质,该非暂时性处理器可读存储介质存储可重复使用的抓取基元库和处理器可执行指令,该处理器可执行指令当由至少一个处理器执行时,使得机器人手自主地执行可重复使用的抓取基元库中的可重复使用的抓取基元。该方法可以概括为包括:通过至少一个传感器收集关于对象的数据;通过至少一个处理器分析数据以确定对象的几何结构;通过至少一个处理器,至少部分地基于对象的几何结构来从可重复使用的抓取基元库中选择特定的可重复使用的抓取基元;以及由机器人手执行特定的可重复使用的抓取基元以抓取对象。由机器人手执行特定的可重复使用的抓取基元以抓取对象可以包括由至少一个处理器执行处理器可执行指令,该处理器可执行指令使得机器人手自主执行特定的可重复使用的抓取基元以抓取对象。
至少一个传感器可以包括至少一个光学传感器。通过至少一个传感器收集关于对象的数据可以包括通过至少一个光学传感器收集关于对象的光学数据。通过至少一个处理器分析数据以确定对象的几何结构可以包括通过至少一个处理器分析光学数据以确定对象的几何结构。
通过至少一个处理器至少部分地基于对象的几何结构来从可重复使用的抓取基元库中选择特定的可重复使用的抓取基元可以包括通过至少一个处理器选择相对于可重复使用的抓取基元库中的所有其他可重复使用的抓取基元最适合对象的几何结构的特定的可重复使用的抓取基元。通过至少一个处理器选择最适合对象的几何结构的特定的可重复使用的抓取基元可以包括通过至少一个处理器选择特定的可重复使用的抓取基元,该特定的可重复使用的抓取基元采用机器人手的多个手指和可相对的拇指的构造,该构造相对于可重复使用的抓取基元库中的所有其他可重复使用的抓取基元最适应对象的几何结构。
通过至少一个处理器选择最适合对象的几何结构的特定的可重复使用的抓取基元可以包括通过至少一个处理器模拟机器人手利用可重复使用的抓取基元库中的每个可重复使用的抓取基元抓取对象,以确定可重复使用的抓取基元库中的哪个特定的可重复使用的抓取基元相对于可重复使用的抓取基元库中的所有其他抓取基元最适合对象的几何结构。
方法还可以包括通过至少一个处理器分析关于对象的附加数据,以确定对象的至少一个附加参数。在这种情况下,通过至少一个处理器至少部分地基于对象的几何结构来从可重复使用的抓取基元库中选择特定的可重复使用的抓取基元可以包括通过至少一个处理器至少部分地基于对象的几何结构和对象的至少一个附加参数两者来从可重复使用的抓取基元库中选择特定的可重复使用的抓取基元。该方法还可以包括通过至少一个传感器收集关于对象的附加数据,其中关于对象的附加数据是从由以下项组成的组中选择的:对象的硬度、对象的刚性、对象的标识(identity)、对象的功能和对象的质量。机器人还可以包括通信地耦合到至少一个处理器的至少一个接收器,并且该方法可以包括由接收器接收关于对象的附加数据。
非暂时性处理器可读存储介质还可以存储关于将要由机器人执行的工作目标的数据,该工作目标涉及抓取对象。在这种情况下,通过至少一个处理器至少部分地基于对象的几何结构来从可重复使用的抓取基元库中选择特定的可重复使用的抓取基元可以包括通过至少一个处理器至少部分地基于对象的几何结构和关于将要由机器人执行的工作目标的数据两者来从可重复使用的抓取基元库中选择特定的可重复使用的抓取基元。
机器人可以概括为包括:主体;机械地耦合到主体的机器人手,该机器人手具有多个手指和可相对的拇指;操作以控制机器人手的致动的至少一个处理器;通信地耦合到至少一个处理器的至少一个传感器;以及通信地耦合到至少一个处理器的非暂时性处理器可读存储介质,该非暂时性处理器可读存储介质存储可重复使用的抓取基元库和处理器可执行指令,该处理器可执行指令当由至少一个处理器执行时,使得机器人:收集关于对象的数据;分析数据以确定对象的几何结构;至少部分地基于对象的几何结构,来从可重复使用的抓取基元库中选择特定的可重复使用的抓取基元;并执行特定的可重复使用的抓取基元以抓取对象。当由至少一个处理器执行时使得机器人执行特定的可重复使用的抓取基元以抓取对象的处理器可执行指令可以使得机器人手自主执行特定的可重复使用的抓取基元以抓取对象。至少一个传感器可以包括至少一个光学传感器,并且当由至少一个处理器执行时使得机器人收集关于对象的数据的处理器可执行指令可以使得至少一个光学传感器收集关于对象的光学数据。
当由至少一个处理器执行时使得机器人至少部分地基于对象的几何结构来从可重复使用的抓取基元库中选择特定的可重复使用的抓取基元的处理器可执行指令可以使得机器人选择相对于可重复使用的抓取基元库中的所有其他可重复使用的抓取基元最适合对象的几何结构的特定的可重复使用的抓取基元。当由至少一个处理器执行时使得机器人选择最适合对象的几何结构的特定的可重复使用的抓取基元的处理器可执行指令可以使得机器人选择特定的可重复使用的抓取基元,该特定的可重复使用的抓取基元采用机器人手的多个手指和可相对的拇指的构造,该构造相对于可重复使用的抓取基元库中的所有其他可重复使用的抓取基元最适应对象的几何结构。
当由至少一个处理器执行时使得机器人至少部分地基于对象的几何结构来从可重复使用的抓取基元库中选择特定的可重复使用的抓取基元的处理器可执行指令可以使得机器人模拟机器人手利用可重复使用的抓取基元库中的每个可重复使用的抓取基元来抓取对象,以确定可重复使用的抓取基元库中的哪个特定的可重复使用的抓取基元相对于可重复使用的抓取基元库中的所有其它抓取基元最适合对象的几何结构。
非暂时性处理器可读存储介质还可以存储处理器可执行指令,该处理器可执行指令当由至少一个处理器执行时,使得机器人分析关于对象的附加数据以确定对象的至少一个附加参数。在这种情况下,当由至少一个处理器执行时使得机器人至少部分地基于对象的几何结构来从可重复使用的抓取基元库中选择特定的可重复使用的抓取基元的处理器可执行指令可以使得机器人至少部分地基于对象的几何结构和对象的至少一个附加参数两者来从可重复使用的抓取基元库中选择特定的可重复使用的抓取基元。非暂时性处理器可读存储介质还可以存储处理器可执行指令,该处理器可执行指令当由至少一个处理器执行时,使得机器人收集关于对象的附加数据,其中关于对象的附加数据是从由以下项组成的组中选择的:对象的硬度、对象的刚性、对象的标识、对象的功能和对象的质量。机器人还可以包括通信地耦合到至少一个处理器的至少一个接收器,并且非暂时性处理器可读存储介质还可以存储处理器可执行指令,该处理器可执行指令当由至少一个处理器执行时,使得机器人接收关于对象的附加数据。
非暂时性处理器可读存储介质还可以存储关于将要由机器人执行的工作目标的数据,该工作目标涉及抓取对象。在这种情况下,当由至少一个处理器执行时使得机器人至少部分地基于对象的几何结构来从可重复使用的抓取基元库中选择特定的可重复使用的抓取基元的处理器可执行指令可以使得机器人至少部分地基于对象的几何结构和关于将要由机器人执行的工作目标的数据两者来从可重复使用的抓取基元库中选择特定的可重复使用的抓取基元。
一种初始化机器人以完成大量工作目标的计算机实现的方法可以概括为包括:定义每个可由机器人执行的可重复使用的工作基元库,其中来自可重复使用的工作基元库的可重复使用的工作基元的相应组合和排列由机器人启动和执行,以便完成相应的工作目标;以及训练机器人以自主执行可重复使用的工作基元库中的每个可重复使用的工作基元。
训练机器人以自主执行可重复使用的工作基元库中的每个可重复使用的工作基元可以包括在模拟环境中训练机器人以自主执行可重复使用的工作基元库中的每个可重复使用的工作基元。在模拟环境中训练机器人以自主执行可重复使用的工作基元库中的每个可重复使用的工作基元可以包括:在模拟环境中生成机器人的第一模拟实例;重复执行处理器可执行指令,以使得机器人的第一模拟实例执行可重复使用的工作基元库中的第一可重复使用的工作基元;以及基于重复执行处理器可执行指令以使得机器人的第一模拟实例执行第一可重复使用的工作基元的至少一个结果,来细化使得机器人的第一模拟实例执行第一可重复使用的工作基元的处理器可执行指令。在模拟环境中训练机器人以自主执行可重复使用的工作基元库中的每个可重复使用的工作基元还可以包括:在模拟环境中生成机器人的至少一个附加模拟实例;重复执行处理器可执行指令,以使得机器人的至少一个附加模拟实例执行可重复使用的工作基元库中的第一可重复使用的工作基元;以及基于重复执行处理器可执行指令以使得机器人的第一模拟实例和机器人的至少一个附加模拟实例执行第一可重复使用的工作基元的至少一个结果,来细化使得机器人的第一模拟实例和机器人的至少一个附加模拟实例两者执行第一可重复使用的工作基元的处理器可执行指令。在一些实施方式中,在模拟环境中训练机器人以自主执行可重复使用的工作基元库中的每个可重复使用的工作基元可以包括:重复执行处理器可执行指令,以使得机器人的第一模拟实例执行可重复使用的工作基元库中的至少一个附加可重复使用的工作基元;以及基于重复执行处理器可执行指令以使得机器人的第一模拟实例执行至少一个附加可重复使用的工作基元的至少一个结果,来细化使得机器人的第一模拟实例执行至少一个附加可重复使用的工作基元的处理器可执行指令。
训练机器人以自主执行可重复使用的工作基元库中的每个可重复使用的工作基元可以包括:接收使得机器人执行可重复使用的工作基元库中的第一可重复使用的工作基元的遥操作指令;执行遥操作指令,以使得机器人执行可重复使用的工作基元库中的第一可重复使用的工作基元;以及生成处理器可执行指令,该处理器可执行指令使得机器人重放遥操作指令,该遥操作指令使得机器人执行可重复使用的工作基元库中的第一可重复使用的工作基元。接收使得机器人执行可重复使用的工作基元库中的第一可重复使用的工作基元的遥操作指令可以包括接收低级遥操作指令,该低级遥操作指令使得机器人模仿由真实遥操作驾驶员执行的真实物理动作。接收使得机器人执行可重复使用的工作基元库中的第一可重复使用的工作基元的遥操作指令可以包括接收高级遥操作指令,该高级遥操作指令使得机器人执行从图形用户接口选择的动作。
训练机器人以自主执行可重复使用的工作基元库中的每个可重复使用的工作基元还可以包括在模拟环境中生成机器人的模拟实例。在这种情况下:接收使得机器人执行可重复使用的工作基元库中的第一可重复使用的工作基元的遥操作指令可以包括接收使得机器人的模拟实例在模拟环境中执行第一可重复使用的工作基元的遥操作指令;执行遥操作指令以使得机器人执行可重复使用的工作基元库中的第一可重复使用的工作基元可以包括执行遥操作指令以使得机器人的模拟实例在模拟环境中执行第一可重复使用的工作基元;并且生成使得机器人重放使得机器人执行可重复使用的工作基元库中的第一可重复使用的工作基元的遥操作指令的处理器可执行指令可以包括生成处理器可执行指令,该处理器可执行指令使得机器人的模拟实例重放遥操作指令,该遥操作指令使得机器人的模拟实例在模拟环境中执行第一可重复使用的工作基元。接收使得机器人的模拟实例在模拟环境中执行第一可重复使用的工作基元的遥操作指令可以包括接收低级遥操作指令,该低级遥操作指令使得机器人的模拟实例模仿由真实遥操作驾驶员执行的真实物理动作。接收使得机器人的模拟实例在模拟环境中执行第一可重复使用的工作基元的遥操作指令可以包括接收高级遥操作指令,该高级遥操作指令使得机器人的模拟实例执行从图形用户接口选择的动作。
在一些实施方式中,接收使得机器人执行可重复使用的工作基元库中的第一可重复使用的工作基元的遥操作指令可以包括接收第一组遥操作指令和接收第二组遥操作指令,该第一组遥操作指令使得机器人执行可重复使用的工作基元库中的第一可重复使用的工作基元的第一实例,该第二组遥操作指令使得机器人执行可重复使用的工作基元库中的第一可重复使用的工作基元的第二实例。执行遥操作指令以使得机器人执行可重复使用的工作基元库中的第一可重复使用的工作基元可以包括执行第一组遥操作指令以使得机器人执行可重复使用的工作基元库中的第一可重复使用的工作基元的第一实例,和执行第二组遥操作指令以使得机器人执行可重复使用的工作基元库中的第一可重复使用的工作基元的第二实例。生成使得机器人重放使得机器人执行可重复使用的工作基元库中的第一可重复使用的工作基元的遥操作指令的处理器可执行指令可以包括:评估执行第一组遥操作指令以使得机器人执行可重复使用的工作基元库中的第一可重复使用的工作基元的第一实例和执行第二组遥操作指令以使得机器人执行可重复使用的工作基元库中的第一可重复使用的工作基元的第二实例的相应结果,以确定第一组遥操作指令和第二组遥操作指令中的哪一个产生更好的结果;以及生成处理器可执行指令,该处理器可执行指令使得机器人重放第一组遥操作指令和第二组遥操作指令中的产生更好的结果的任何一个。生成使得机器人重放使得机器人执行可重复使用的工作基元库中的第一可重复使用的工作基元的遥操作指令的处理器可执行指令可以包括将第一组遥操作指令中的至少一个元素和第二组遥操作指令中的至少一个元素组合在处理器可执行指令中,该处理器可执行指令使得机器人重放遥操作指令,该遥操指令使得机器人执行可重复使用的工作基元库中的第一可重复使用的工作基元。
训练机器人以自主执行可重复使用的工作基元库中的每个可重复使用的工作基元可以包括生成处理器可执行指令,该处理器可执行指令当由机器人的至少一个处理器执行时,使得机器人自主执行可重复使用的工作基元库中的每个可重复使用的工作基元,并且该方法还可以包括将处理器可执行指令传送到机器人的非暂时性处理器可读存储介质。
机器人可以概括为包括:主体;机械耦合到主体的至少一个物理可致动部件;通信地耦合到至少一个物理可致动部件的至少一个处理器;以及通信地耦合到至少一个处理器的至少一个非暂时性处理器可读存储介质,至少一个非暂时性处理器可读存储介质存储可重复使用的工作基元库和处理器可执行指令,该处理器可执行指令当由至少一个处理器执行时,使得机器人选择性地和自主地执行可重复使用的工作基元库中的每个可重复使用的工作基元,处理器可执行指令由过程训练,该过程包括:在模拟环境中生成机器人的第一模拟实例;重复执行处理器可执行指令,以使得机器人的第一模拟实例执行可重复使用的工作基元库中的第一可重复使用的工作基元;基于重复执行处理器可执行指令以使得机器人的第一模拟实例执行第一可重复使用的工作基元的至少一个结果,来细化使得机器人的第一模拟实例执行第一可重复使用的工作基元的处理器可执行指令;以及将处理器可执行指令传送到机器人的非暂时性处理器可读存储介质。训练处理器可执行指令的过程还可以包括:在模拟环境中生成机器人的至少一个附加模拟实例;重复执行处理器可执行指令,以使得机器人的至少一个附加模拟实例执行可重复使用的工作基元库中的第一可重复使用的工作基元;以及基于重复执行处理器可执行指令以使得机器人的第一模拟实例和机器人的至少一个附加模拟实例执行第一可重复使用的工作基元的至少一个结果,来细化使得机器人的第一模拟实例和机器人的至少一个附加模拟实例两者执行第一可重复使用的工作基元的处理器可执行指令。
计算机程序产品可以概括为包括:可重复使用的工作基元库;以及处理器可执行指令和/或数据,当计算机程序产品存储在机器人系统的非暂时性处理器可读存储介质中并由机器人系统的至少一个处理器执行(该至少一个处理器通信地耦合到非暂时性处理器可读存储介质)时,该处理器可执行指令和/或数据使得机器人系统选择性地和自主地执行可重复使用的工作基元库中的每个可重复使用的工作基元,处理器可执行指令由过程训练,该过程包括:在模拟环境中生成机器人的第一模拟实例;重复执行处理器可执行指令,以使得机器人的第一模拟实例执行可重复使用的工作基元库中的第一可重复使用的工作基元;基于重复执行处理器可执行指令以使得机器人的第一模拟实例执行第一可重复使用的工作基元的至少一个结果,来细化使得机器人的第一模拟实例执行第一可重复使用的工作基元的处理器可执行指令;以及将处理器可执行指令传送到机器人的非暂时性处理器可读存储介质。训练处理器可执行指令的过程还可以包括:在模拟环境中生成机器人的至少一个附加模拟实例;重复执行处理器可执行指令,以使得机器人的至少一个附加模拟实例执行可重复使用的工作基元库中的第一可重复使用的工作基元;以及基于重复执行处理器可执行指令以使得机器人的第一模拟实例和机器人的至少一个附加模拟实例执行第一可重复使用的工作基元的至少一个结果,来细化使得机器人的第一模拟实例和机器人的至少一个附加模拟实例两者执行第一可重复使用的工作基元的处理器可执行指令。
若干附图视图的简要描述
附图中描绘的各种元素和动作是为了说明的目的而提供的,以支持详细的描述。除非特定的上下文另有要求,否则所示出的元素和动作的大小、形状和相对位置不一定按比例显示,并且不一定旨在传达任何信息或限制。一般来说,相同的附图标记用于标识相似的元素或动作。
图1是示出根据本系统、设备和方法的机器人的示例性操作方法的流程图。
图2是示出根据本系统、设备和方法的机器人的另一个示例性操作方法的流程图。
图3是示出根据本系统、设备和方法的机器人的另一个示例性操作方法的流程图。
图4是示出根据本系统、设备和方法的一组示例性的可重复使用的抓取基元的说明性图。
图5是示出根据本系统、设备和方法的机器人抓取对象的示例性操作方法的流程图。
图6是示出根据本系统、设备和方法的初始化机器人以完成大量工作目标的示例性计算机实现的方法的流程图。
图7是示出根据本系统、设备和方法的初始化机器人以完成大量工作目标的另一个示例性计算机实现的方法的流程图。
图8是示出根据本系统、方法和设备的示例性模拟环境的说明性图,在模拟环境中机器人通过模拟进行训练以执行可重复使用的工作基元。
图9是示出根据本系统、设备和方法的初始化机器人以完成大量工作目标的另一个示例性计算机实现的方法的流程图。
图10是示例性机器人系统的说明性图,该机器人系统包括贯穿本系统、方法和设备描述的各种特征和部件。
详细描述
以下描述阐述了具体细节,以便说明和提供对本系统、设备和方法的各种实施方式和实施例的理解。本领域技术人员将理解,在可替代的实施方式和实施例中可以省略或修改本文描述的一些具体细节,并且本文描述的各种实施方式和实施例可以彼此组合和/或与其他方法、部件、材料等组合,以便产生另外的实施方式和实施例。
在一些情况下,与计算机系统和数据处理相关联的众所周知的结构和/或过程没有被详细示出或提供,以便避免不必要地使实施方式和实施例的描述复杂化或模糊。
除非具体的上下文另有要求,否则贯穿本说明书和所附权利要求,术语“包括(comprise)”及其变体(例如“包括(comprises)”和“包括(comprising)”)以开放、包容的意义使用,以意指“包括但不限于(including,but not limited to)。”
除非具体的上下文另有要求,否则贯穿本说明书和所附权利要求,单数形式“一(a)”、“一个(an)”和“该(the)”包括复数所指物。例如,对“一个实施例(an embodiment)”和“该实施例(the embodiment)”的提及分别包括“实施例(embodiments)”和“该实施例(theembodiments)”,并且对“一个实施方式(an implementation)”和“该实施方式(theimplementation)”的提及分别包括“实施方式(implementations)”和“该实施方式(theimplementations)”。同样,除非具体的上下文另有明确规定,否则术语“或”通常在其最广泛的意义上被采用以意指“和/或”。
本公开的标题和摘要仅为方便而提供,而不旨在也不应被解释为说明本系统、设备和方法的范围或含义。
通用机器人能够完成多个不同的工作目标。如贯穿本说明书和所附权利要求所使用的,术语“工作目标”是指具有指定的目标和可确定的结果的特定任务、工作、分配或应用,通常(尽管不一定)是为了促进一些经济上有价值的工作。工作目标存在于商业、研发、商业行动和个人活动的许多方面。示例性工作目标包括但不限于:清洁位置(例如,浴室)或对象(例如,浴室镜子)、准备膳食、装载/卸载存储容器(例如,卡车)、盘点库存、收集一个或更多个样品、进行一个或更多个测量、建造或组装对象、破坏或拆卸对象、传送物品、收货对象和/或数据等等。本文描述的各种实施方式提供了用于初始化、配置、训练、操作和/或部署机器人以至少半自主地完成多个不同工作目标的系统、设备和方法。
根据本系统、设备和方法,工作目标被解构或分解成包括一组“工作基元”的“工作流”,其中工作目标的成功完成涉及执行工作流中的每个工作基元。根据具体的实施方式,工作目标的完成可以通过以下项实现(即,工作流可以包括以下项):i)按顺序或连续地执行相应的一组工作基元;ii)并行地执行相应的一组工作基元;或者iii)以适合工作目标和/或执行工作目标的机器人的连续和并行的任意组合(例如,按顺序重叠)执行相应的一组工作基元。因此,在一些实施方式中,工作基元可以被解释为较低级的活动、步骤或子任务,这些活动、步骤或子任务作为工作流来实施或执行,以便完成较高级的工作目标。
有利的是,根据本系统、设备和方法,可以定义“可重复使用的”工作基元库。如果工作基元可以在完成多个不同的工作目标时被通用地调用、执行、采用或应用,则该工作基元是可重复使用的。例如,可重复使用的工作基元是多个不同工作目标的相应工作流所共有的工作基元。在一些实施方式中,可重复使用的工作基元可以包括在调用工作基元时或在调用工作基元之前定义的至少一个变量。例如,“拾取*对象*”可以是可重复使用的工作基元,其中“拾取”的过程可以一般地至少半自主地执行,以促进多个不同的工作目标,并且可以基于所追求的具体工作目标来定义要拾取的*对象*。
如前所述,本文描述的各种实施方式提供了使机器人能够至少半自主地完成多个不同工作目标的系统、设备和方法。除非具体的上下文另有要求,否则术语“自主地”贯穿本说明书和所附权利要求使用,以意指“不受另一方控制”,而术语“半自主地”用于意指“至少部分自主地”。换句话说,贯穿本说明书和所附权利要求,术语“半自主地”意指“由另一方有限控制”,除非具体的上下文另有要求。半自主机器人的示例是这样的半自主机器人,其可以独立和/或自动执行和控制其自身的一些低级功能(例如其移动性和抓取功能),但是依赖于对高级指令的一些外部控制(例如做什么和/或如何做)。
根据本系统、设备和方法,可以定义、识别、开发或构建可重复使用的工作基元库,使得跨多个不同工作目标的任何给定工作目标可以通过执行相应的工作流来完成,该工作流包括从可重复使用的工作基元库中选择的可重复使用的工作基元的特定组合和/或排列。一旦已经建立了这样的可重复使用的工作基元库,就可以训练一个或更多个机器人以自主地或自动地执行可重复使用的工作基元库中的每个单独的可重复使用的工作基元,而不必包括以下的上下文:i)被训练的特定的可重复使用的工作基元是其一部分的特定工作流,和/或ii)在特定工作流中可以在被训练的特定的可重复使用的工作基元之前或之后的任何其他可重复使用的工作基元。以这种方式,半自主机器人可以操作以自主地或自动地执行可重复使用的工作基元库中的每个单独的可重复使用的工作基元,并且当涉及决定执行哪个(哪些)可重复使用的工作基元和/或以什么顺序执行时,只需要来自另一方(例如,来自操作员、用户或驾驶员)的指令、指示或引导。换句话说,操作员、用户或驾驶员可以向半自主机器人提供由可重复使用的工作基元组成的工作流,并且半自主机器人可以根据工作流自主地或自动地执行可重复使用的工作基元以完成工作目标。例如,半自主人形机器人可以操作以在被指示向左看时自主地向左看,在被指示打开其右端执行器时自主地打开其右端执行器,等等,而不依赖于第三方对这样的功能的详细的低级控制。一旦给出了关于工作流的指令,这样的半自主人形机器人可以自主地完成工作目标,该工作流详细说明了它必须执行以及以什么顺序执行哪些可重复使用的工作基元,以便完成工作目标。此外,根据本系统、设备和方法,如果机器人被训练或以其他方式配置为分析工作目标并通过将工作目标解构为来自机器人操作以自主执行的可重复使用的工作基元库中的一组可重复使用的工作基元来独立定义相应的工作流本身,则机器人可以完全自主地操作。
在机器人的上下文中,可重复使用的工作基元可以对应于机器人可操作以(例如自主地或自动地)执行并且机器人可以调用或执行以便实现某事的基本低级功能。人形机器人的可重复使用的工作基元的示例包括但不限于:向上看、向下看、向左看、向右看、移动右臂、移动左臂、关闭右端执行器、打开右端执行器、关闭左端执行器、打开左端执行器、向前移动、向左转、向右转、向后移动,等等;然而,本领域技术人员将理解:i)用于人形机器人的示例性可重复使用的工作基元的前述列表绝不是详尽的;ii)本系统、设备和方法不以任何方式限制于具有人形形状因子的机器人;以及iii)任何可重复使用的工作基元库的完整组成取决于为其构建可重复使用的工作基元库的具体机器人的设计和功能。
机器人可以操作以至少部分地基于其硬件和软件配置来执行任意数量的高级功能。例如,具有腿或轮子的机器人可以操作来移动,具有夹持器的机器人可以操作来拾取东西,并且具有腿和夹持器的机器人可以操作来移动对象。任何这样的高级功能的执行通常需要多个低级功能的受控执行。例如,移动机器人必须对许多不同的低级功能进行控制,以便可控地移动(包括对支配功能参数(例如速度、轨迹、平衡等)的移动致动器的控制(例如,驱动其腿或轮子))。根据本系统、设备和方法,机器人操作来执行的高级功能被解构或分解成一组基本成分(component)或组分(constituent),其贯穿本说明书和所附权利要求被称为“工作基元”。除非具体的上下文另有要求,否则工作基元可以被解释为构建较高级的机器人功能的构建块。
如稍后将更详细讨论的,在一些实施方式中,训练机器人以自主执行可重复使用的工作基元可以在模拟环境中完成。一旦机器人已经被训练以自主执行可重复使用的工作基元库,则远程驾驶员对机器人的遥操作可以被抽象到可重复使用的工作基元的级别;即,通过遥操作系统控制机器人的远程操作员或驾驶员可以通过简单地指示机器人执行哪个(哪些)可重复使用的工作基元以及在一些实施方式中以什么顺序执行它们来这样做,并且机器人可以具有足够的自主性或自动化(例如由上述训练产生)以基于来自驾驶员的这样的有限的控制指令执行完整的工作目标。
如前所述,“清洁浴室镜子”是工作目标的说明性示例,该工作目标可以被解构为一组工作基元以实现目标,并且其结果是可确定的。在这种情况下,目标是干净的浴室镜子,并且完成工作目标的一组示例性工作基元(或工作流)如下:
工作基元索引 工作基元
1 定位清洁溶液
2 抓取清洁溶液
3 定位镜子
4 将清洁溶液对准镜子
5 将清洁溶液分配到镜子上
6 定位清洁布
7 抓取清洁布
8 将清洁布延伸通过镜子的整个表面
9 返回就绪状态
本领域技术人员将理解,包括九个工作基元的上述示例性工作流被用作工作流的说明性示例,该工作流可以被部署来完成清洁浴室镜子的工作目标;然而,根据本系统、设备和方法,每个工作基元的精确定义和组成以及为完成工作目标而选择/执行的工作基元的具体组合和/或排列(即,工作流的具体构造)可以在不同的实施方式中变化。例如,在一些实施方式中,上述工作基元3、4和5(即,定位镜子,将清洁溶液对准镜子,以及将清洁溶液分配到镜子上)可以全部组合成一个较高级的工作基元,作为“在镜子上喷洒清洁溶液”,而在其他实施方式中,这些相同的工作基元可以被分解成附加的较低级的工作基元,如例如:
定位镜子
识别镜子的边界
将清洁溶液对准镜子边界内的第一位置
挤压清洁溶液
将清洁溶液对准镜子边界内的第二位置
挤压清洁溶液
等等
基于上述示例和描述,本领域技术人员将理解,工作基元的粒度可以在本系统、设备和方法的不同实施方式中变化。此外,根据本系统、设备和方法,工作基元在以下意义上有利地是“可重复使用的”:每个工作基元可以在执行一个以上的总体工作目标时被采用、调用、应用或“重复使用”。例如,虽然清洁浴室镜子可以涉及工作基元“抓取清洁溶液”,但其他工作目标也可以使用“抓取清洁溶液”工作基元,诸如例如“清洁厕所”、“清洁窗户”和/或“清洁地板”。在一些实施方式中,工作基元可以被抽象以变得更加通用。例如,“抓取清洁溶液”可以抽象为“抓取喷雾瓶”或“抓取*对象1*”,其中*对象1*变量被定义为“*对象1*=喷雾瓶”,而“定位镜子”可以抽象为“定位需要喷洒的对象”或简单地“定位*对象2*”,其中“*对象2*=镜子”。在这样的情况下,“抓取喷雾瓶”工作基元可以用于不涉及清洁的任务,例如“粉刷墙壁”(其中喷雾瓶=喷漆)、“设计发型”(其中喷雾瓶=发胶)或“准备炒饭(stir-fry meal)”(其中喷雾瓶=食用油喷雾)。
图1是示出根据本系统、设备和方法的机器人的示例性操作方法100的流程图。一般来说,贯穿本说明书和所附权利要求,机器人的操作方法是其中至少一些(如果不是全部)各种动作由机器人执行的方法。例如,机器人的操作方法的某些动作可以由通信地耦合到机器人的非暂时性处理器可读存储介质的机器人的至少一个处理器或处理单元(以下称为“处理器”)来执行,并且在一些实施方式中,机器人的操作方法的某些动作可以由通信地耦合到至少一个处理器的机器人的外围部件来执行,其例如为一个或更多个物理可致动部件(例如,臂、腿、末端执行器、夹持器、手)、一个或更多个传感器(例如,光学传感器、音频传感器、触感传感器(tactile sensor)、触觉传感器(haptic sensor))、移动系统(例如,轮子、腿)、通信和网络硬件(例如,接收器、发射器、收发器)等等。机器人的非暂时性处理器可读存储介质可以存储数据(包括例如可重复使用的工作基元库)和/或处理器可执行指令,该处理器可执行指令当由至少一个处理器执行时,使得机器人执行方法和/或使得至少一个处理器执行由至少一个处理器执行的方法的那些动作。机器人可以经由通信地耦合到机器人的至少一个处理器的通信和网络硬件与远程系统和/或远程非暂时性处理器可读存储介质进行通信。因此,除非具体的上下文另有要求,否则对机器人的非暂时性处理器可读存储介质以及存储在非暂时性处理器可读存储介质中的数据和/或处理器可执行指令的提及不旨在关于非暂时性处理器可读存储介质相对于机器人的至少一个处理器和机器人硬件的其余部分的物理位置进行限制。换句话说,机器人的非暂时性处理器可读存储介质可以包括定位于机器人上的非暂时性处理器可读存储介质和/或远离机器人定位的非暂时性处理器可读存储介质,除非具体的上下文另有要求。
返回图1,方法100包括三个动作101、102和103,尽管本领域技术人员将理解,在替代的实施方式中,可以省略某些动作和/或可以添加附加动作。本领域技术人员还将理解,所示出的动作顺序仅出于示例性目的被示出,并且可以在替代的实施方式中改变。
在101,机器人启动第一工作目标。在一些实施方式中,机器人可以响应于接收来自另一方的指令(例如来自远程或本地控制器或操作员的口头指令)来启动第一工作目标。在一些实施方式中,机器人可以包括通信地耦合到至少一个处理器的电信接口,并且在101由机器人启动第一工作目标可以包括由机器人的电信接口(例如,从远程操作员或遥操作系统)接收与第一工作目标相关的指令。这样的指令可以包括第一工作目标的定义、规定第一工作目标应该如何/何时/在哪里完成的参数和/或关于如何执行第一工作目标的指示。在其他实施方式中,在101由机器人启动第一工作目标可以包括机器人自身自主识别第一工作目标。在这样的实施方式中,机器人的非暂时性处理器可读存储介质可以存储数据、模型、策略、范例、算法、框架、架构和/或处理器可执行指令(统称为“人工智能”),其当由机器人的至少一个处理器执行时,使得机器人自主识别第一工作目标。人工智能可以基于一系列不同的参数和/或标准自主地识别第一工作目标,这些参数和/或标准包括但不限于:传感器数据、环境因素、内部参数、观察结果和/或与其他系统、机器人、设备或人的通信。
在102,机器人启动第一工作流以完成在101启动的第一工作目标。由机器人启动第一工作流可以包括识别或定义第一组可重复使用的工作基元或可重复使用的工作基元的第一组合,该第一组可重复使用的工作基元或可重复使用的工作基元的第一组合当由机器人执行时,将完成第一工作目标。由机器人启动第一工作流还可以包括将第一组可重复使用的工作基元或可重复使用的工作基元的第一组合排序或以其他方式布置成可重复使用的工作基元的第一组合的第一排列。如前所述,在一些实施方式中,机器人的非暂时性处理器可读存储介质可以存储可重复使用的工作基元库,并且在这样的实施方式中,由机器人在102启动的第一工作流可以包括从存储在机器人的非暂时性处理器可读存储介质中的可重复使用的工作基元库中选择的第一组可重复使用的工作基元或可重复使用的工作基元的第一组合或由该第一组可重复使用的工作基元或可重复使用的工作基元的第一组合组成。
当机器人包括通信地耦合到至少一个处理器的电信接口时,由机器人在102启动第一工作流可以包括由机器人的电信接口(例如,从远程操作员或遥操作系统)接收第一工作流或与其相关的指令。这样的指令可以包括用于完成第一工作目标的第一工作流的定义(包括例如一组可重复使用的工作基元或可重复使用的工作基元的组合,以及可选地,该组可重复使用的工作基元或可重复使用的工作基元的组合的排列)。在其他实施方式中,由机器人在102启动第一工作流可以包括机器人自身自主识别构成第一工作流的第一组可重复使用的工作基元、可重复使用的工作基元的组合和/或排列。在这样的实施方式中,机器人的非暂时性处理器可读存储介质可以存储人工智能,该人工智能当由机器人的至少一个处理器执行时,使得机器人自主识别第一工作流。
在103,机器人执行在102启动的第一工作流。通常,在103执行第一工作流时,机器人执行在102启动第一工作流时从可重复使用的工作基元库中选择的第一组可重复使用的工作基元。如前所述,在一些实施方式中,机器人可以被训练、配置或以其他方式可操作,以基本上自主地或自动地执行可重复使用的工作基元库中的每个可重复使用的工作基元。例如,机器人的非暂时性处理器可读存储介质可以存储相应的处理器可执行指令集,当由机器人的至少一个处理器执行时,每个处理器可执行指令集使得机器人自主地执行工作基元库中的可重复使用的工作基元中的相应一个。因此,当机器人在103执行第一工作流时,机器人可以通过执行处理器可执行指令集来基本上自主地或自动地这样做,该处理器可执行指令集使得机器人或使得机器人能够自主地执行对应于第一工作流的第一组可重复使用的工作基元中的特定的可重复使用的工作基元。为了说明的目的,现在描述方法100的示例性实施方式。
作为示例,机器人可以包括或访问非暂时性处理器可读存储介质,该非暂时性处理器可读存储介质存储:i)五个可重复使用的工作基元库:A、B、C、D和E;以及ii)五个相应的处理器可执行指令集inst(A)、inst(B)、inst(C)、inst(D)和inst(E),当由机器人的至少一个处理器执行时,每个处理器可执行指令集使得机器人自主地执行第一可重复使用的工作基元中的相应一个。在方法100的101,机器人启动第一工作目标(自主地启动或在接收到如前所述的指令时启动)。在方法100的102,机器人启动第一工作流以完成第一工作目标(自主地或在接收到如前所述的指令时启动)。第一工作流包括来自可重复使用的工作基元库的以第一顺序排列的第一组可重复使用的工作基元或由该第一组可重复使用的工作基元组成。在这个示例中,第一工作流由可重复使用的工作基元B、C和D组成,该可重复使用的工作基元B、C和D布置为:
C->B->D
在103,机器人自主地执行第一工作流。也就是说,机器人的至少一个处理器执行处理器可执行指令inst(C)以使得机器人自主地执行可重复使用的工作基元C,然后机器人的至少一个处理器执行处理器可执行指令inst(B)以使得机器人自主地执行可重复使用的工作基元B,然后机器人的至少一个处理器执行处理器可执行指令inst(D)以使得机器人自主地执行可重复使用工作基元D。以这种方式,机器人完成工作目标:如果在102机器人依赖于接收指令以便定义第一工作流,则是半自主地完成工作目标,或者如果在102机器人可操作以自主地定义第一工作流,则是完全自主地完成工作目标。
有利地,根据本系统、设备和方法,由机器人存储或访问的可重复使用的工作基元库可以包括使机器人能够完成大量不同工作目标所必需的所有通用活动、步骤或子任务或由该所有通用活动、步骤或子任务组成。以这种方式,本系统、设备和方法可以实现或至少近似通用机器人,该通用机器人能够在广泛的不同行业中完成广泛的不同工作目标。
继续上面的示例,五个可重复使用的工作基元的示例性库可以例如包括:
A:测量环境数据
B:移动到*位置_x*
C:拾取*对象_i*
D:放下*对象_j*
E:条形码扫描*对象_k*
并且第一工作目标可以表述为:“将绿色盒子移动到储藏室”。因此,当机器人执行第一工作流C->B->D时,机器人:执行inst(C),其中*对象_i*=“绿色盒子”,其使得机器人自主地(即,没有来自另一方的另外的控制或指令)拾取绿色盒子;执行inst(B),其中*位置_x*=“储藏室”,其使得机器人自主地将绿色盒子运送到储藏室;并执行inst(D),其中*对象_j*=“绿色盒子”,其使得机器人自主地将绿色盒子放下在储藏室中。以这种方式,机器人通过执行工作流C->B->D来完成第一工作目标。
使用同一个五个可重复使用的工作基元A、B、C、D和E的库,机器人可以完成第二工作目标。例如,第二工作目标可以表述为:“盘点储藏室中的物品”。如前所述,第二工作目标可以由机器人自主地或者响应于从某种形式的控制器或操作员接收到与第二工作目标相关的指令来初始化(根据方法100的动作101)。控制器/操作员可以包括远程遥操作员、至少半自主的遥操作系统、或与机器人共同定位的控制实体(例如,另一机器人或人)。与机器人共同定位的控制实体可以向机器人提供机器人操作来检测和处理的口头指令。
在启动第二工作目标时,机器人可以启动第二工作流以完成第二工作目标。以与第一工作流类似的方式,第二工作流还包括来自五个可重复使用的工作基元A、B、C、D和E的库的一组可重复使用的工作基元或由该一组可重复使用的工作基元组成;然而,第二工作流不同于第一工作流,因为第二工作流包括来自五个可重复使用的工作基元A、B、C、D和E的库的不同的第二组可重复使用的工作基元(例如,组合和/或排列)。如前所述,第二工作流可以由机器人自主地或响应于从某种形式的控制器或操作员接收到定义第二工作流的指令来初始化(根据方法100的动作102)。
在此示例中,第二工作流由可重复使用的工作基元B、C、D、E组成,该可重复使用的工作基元B、C、D、E布置为:
B->重复:[C->E->D]
根据本系统、设备和方法,至少一个可重复使用的工作基元可以在多个工作流中是共有的。在本示例中,可重复使用的工作基元B、C和D通常都包括在用于完成第一工作目标的第一工作流和用于完成第二工作目标的第二工作流两者中。
示例性的第二工作流包括“重复:[C->E->D]”;因此,为了完成第二工作目标,机器人必须对储藏室中的所有物品重复第二工作流的基元C->E->D。因此,当机器人执行第二工作流B->重复:[C->E->D](根据方法100的动作103)时,机器人执行inst(B),其中*位置_x*=“储藏室”,其使得机器人自主地(即,没有来自另一方的另外的控制或指令)前往储藏室,然后机器人启动循环,其中机器人对储藏室中的所有物品执行基元C->E->D。也就是说,在到达储藏室时,机器人:执行inst(C),其中*对象_i*=“第一物品”,其使得机器人自主地拾取储藏室中的第一物品;执行inst(E),其中*对象_k*=“第一物品”,其使得机器人自主地对第一物品进行条形码扫描;并执行inst(D),其中*对象_j*=“第一物品”,其使得机器人放下第一物品。然后,机器人对储藏室中的每个物品连续地(即,对第二物品、对第三物品等)重复基元C->E->D,直到机器人已经拾取、扫描条形码并放下储藏室中的每个物品。以这种方式,机器人通过执行工作流B->重复:[C->E->D]来完成第二工作目标。
使用同一个五个可重复使用的工作基元A、B、C、D和E的库,机器人可以完成至少一个附加的工作目标。例如,机器人可以记录各种站点或路径点处的环境参数(重复:[B->A])和/或在零售店结账顾客购买的商品(重复:[C->E->D])。这些以及许多其他工作目标都可以由机器人通过执行相应的工作流来至少半自主地完成,该相应的工作流包括来自五个可重复使用的工作基元A、B、C、D和E的示例性库的可重复使用的工作基元的各种组合和/或排列或由该可重复使用的工作基元的各种组合和/或排列组成。然而,本领域技术人员将理解,可重复使用的工作基元库可以由任意数量和形式的可重复使用的工作基元组成,并且本文描述的五个可重复使用的工作基元A、B、C、D和E的库仅作为示例用于说明的目的。通常,可重复使用的工作基元库中的可重复使用的工作基元越多,机器人可以操作来半自主地完成的不同工作目标就越多;然而,在一些实施方式中,有限数量的可重复使用的工作基元(例如,在10的数量级,例如10、20、30、40、50、60、70、80、90;或者在100的数量级,例如100、200等)可能足以使机器人能够完成感兴趣的工作目标的重要部分(例如,全部)。
上面描述的示例在图2中示出,其中机器人采用固定的可重复使用的工作基元库来完成多个不同的工作目标。图2是示出根据本系统、设备和方法的机器人的示例性操作方法200的流程图。方法200包括三个子方法100、210和250以及六个所示的动作101、102、103、201、202和203,尽管本领域技术人员将理解,在替代的实施方式中,可以省略某些动作和/或可以添加附加动作。本领域技术人员还将理解,所示出的动作顺序仅出于示例性目的被示出,并且可以在替代的实施方式中改变。
方法200包括操作机器人以完成来自图1中的第一工作目标的方法100(作为子方法100)。也就是说,方法200包括来自图1的方法100的动作101、102和103,由此机器人启动第一工作目标(101),启动第一工作流以完成第一工作目标(102),并执行第一工作流(103),所有这些基本上都如针对图1的方法100所述。如前所述,第一工作流包括来自存储在机器人中或由机器人以其他方式访问的可重复使用的工作基元库的可重复使用的工作基元的特定组合和/或排列或由该可重复使用的工作基元的特定组合和/或排列组成。根据方法100,机器人的可重复使用的工作基元库中的可重复使用的工作基元中的各种可重复使用的工作基元足以使机器人能够完成第一工作目标。在子方法210中,机器人的可重复使用的工作基元库中的可重复使用的工作基元中的各种可重复使用的工作基元被机器人使用和/或重复使用以经由动作201、202和203(统称为子方法210)完成第二工作目标,并且类似地,机器人的可重复使用的工作基元库中的可重复使用的工作基元中的各种可重复使用的工作基元被机器人使用和/或重复使用以在子方法250处完成至少一个附加的工作目标。
具体地,在子方法210的201,机器人启动不同于在子方法100的101启动的第一工作目标的第二工作目标。类似于如针对动作101所描述的,在201,第二工作目标可以由机器人自主地或者响应于指令而启动,该指令通过各种不同通信手段(包括口头地、通过电信系统无线地、通过系留的通信线路数字地等等)中的任何一种从另一方(例如,控制器、驾驶员或操作员)接收。
在子方法210的202,机器人启动第二工作流以完成在201启动的第二工作目标。由于第二工作目标不同于第一工作目标,所以第二工作流可以不同于第一工作流。类似于如针对动作102所描述的,在202,由机器人启动第二工作流可以包括识别或定义第二组可重复使用的工作基元或可重复使用的工作基元的第二组合(当由机器人执行时,其将完成第二工作目标),并且还可以包括(如果适用的话)将第二组可重复使用的工作基元或可重复使用的工作基元的第二组合排序或以其他方式布置成可重复使用的工作基元的第二组合的第二排列。根据本系统、设备和方法,在202从同一个可重复使用的工作基元库中选择用于完成第二工作目标的第二组可重复使用的工作基元或可重复使用的工作基元的第二组合,在102从该同一库中选择用于完成第一工作目标的第一组可重复使用的工作基元或可重复使用的工作基元的第一组合。在一些实施方式中,至少一个共有的可重复使用的工作基元可以包括在102启动的第一工作流和在202启动的第二工作流两者中。换句话说,在一些实施方式中,来自在102启动的第一工作流的至少一个可重复使用的工作基元在202启动的第二工作流中被重复使用。
类似于动作102,在202,机器人可以自主地或者响应于通过各种不同通信手段(包括口头地、通过电信系统无线地、通过系留的通信线路数字地等等)中的任何一种从另一方(例如,控制器、驾驶员或操作员)接收到指令来启动第二工作流。
在子方法210的203,机器人执行在202启动的第二工作流。通常,在203执行第二工作流时,机器人执行在202启动第二工作流时从可重复使用的工作基元库中选择的第二组可重复使用的工作基元,其包括(如果适用的话)至少一个共有的可重复使用的工作基元,该至少一个共有的可重复使用的工作基元包括在第一工作流(在102启动并在103执行)和第二工作流(在202启动并在203执行)两者中。如前所述,在一些实施方式中,机器人可以被训练、配置或以其他方式可操作,以基本上自主地或自动地执行可重复使用的工作基元库中的每个可重复使用的工作基元。因此,当机器人在203执行第二工作流时,机器人可以通过执行处理器可执行指令来基本上自主地或自动地这样做,该处理器可执行指令使得机器人或使机器人能够自主地执行对应于第二工作流的第二组可重复使用的工作基元中的特定的可重复使用的工作基元。在102启动的第一工作流和在202启动的第二工作流两者都包括至少一个共有的可重复使用的工作基元的实施方式中,在103执行第一工作流和在203执行第二工作流可能两者都包括由机器人的至少一个处理器执行处理器可执行指令的至少相同部分,该相同部分使得机器人执行在第一工作流和第二工作流两者中的至少一个共有的可重复使用的工作基元。
根据本系统、设备和方法,机器人的可重复使用的工作基元库中的可重复使用的工作基元中的各种可重复使用的工作基元可以被机器人进一步使用和/或重复使用,以完成至少一个附加的工作目标。为此,方法200包括子方法100(其中机器人启动并执行第一组可重复使用的工作基元以完成第一工作目标)、子方法210(其中机器人启动并执行第二组可重复使用的工作基元以完成不同于第一工作目标的第二工作目标)、以及子方法250(细节未示出以减少混乱,但通常类似于子方法100的动作101、102和103以及子方法210的动作201、202和203),其中机器人启动并执行至少一组附加的可重复使用的工作基元以完成不同于第一工作目标和第二工作目标两者的至少一个附加的工作目标。在子方法100、210和250中的每一个子方法中,使用相同的可重复使用的工作基元库来部署同一个机器人;然而,因为第一工作目标、第二工作目标和至少一个附加的工作目标都彼此不同,所以由机器人启动以完成工作目标的相应工作流(即,分别是第一工作流、第二工作流和至少一个附加的工作流)可以都彼此不同。根据本系统、设备和方法,机器人的工作基元库中的工作基元是可重复使用的,使得以下任何一个或全部为真:i)包括在用于完成第一工作目标的第一工作流中的至少一个工作基元也包括在用于完成第二工作目标的第二工作流中(即,与第二工作流共有或在第二工作流中“重复使用”);ii)包括在用于完成第二工作目标的第二工作流中的至少一个工作基元也包括在用于完成至少一个附加的工作目标的至少一个附加的工作流中(即,与至少一个附加的工作流共有或在至少一个附加的工作流中“重复使用”);iii)包括在用于完成至少一个附加的工作目标的至少一个附加的工作流中的至少一个工作基元也包括在用于完成第一工作目标的第一工作流中(即,与第一工作流共有或在第一工作流中重复使用);和/或iv)包括在用于完成第一工作目标的第一工作流中的至少一个工作基元也包括在用于完成第二工作目标的第二工作流和用于完成至少一个附加的工作目标的至少一个附加的工作流两者中(即,与该第二工作流和至少一个附加的工作流两者共有或在该第二工作流和至少一个附加的工作流两者中重复使用)。在后一种情况下,至少一个可重复使用的工作基元包括在所有的第一工作流、第二工作流和至少一个附加的工作流中(即,与所有的第一工作流、第二工作流和至少一个附加的工作流共有或在所有的第一工作流、第二工作流和至少一个附加的工作流中重复使用)。
机器人可以有各种不同的形式,并且包括各种不同的部件。机器人可以包括主体或底盘,该主体或底盘包括、容纳、承载或以其他方式机械地耦合到如前所述的至少一个处理器,该至少一个处理器通信地耦合到至少一个非暂时性处理器可读存储介质。有利地,机器人还可以包括至少一个物理可致动部件,该至少一个物理可致动部件机械地耦合到主体并通信地耦合到至少一个处理器,该至少一个物理可致动部件可操作以可控地移动并实现机器人和/或机器人的环境中、上或对机器人和/或机器人的环境的改变。贯穿本说明书和所附权利要求,术语“物理可致动部件”是指机器人的真实物理部分,其可控地致动(例如,由机器人,或由机器人的操作员、控制器或驾驶员进行可控致动)从而以涉及运动(包括但不限于平移和/或旋转)的某种物理方式改变。物理可致动部件的非限制性示例包括:臂、末端执行器、夹持器、手、手指、腿、可延伸和/或可移动的支撑结构(例如颈部或吊杆,以及轮子)。
根据本系统、设备和方法,当机器人包括至少第一物理可致动部件时,存储在机器人(例如,机器人的至少一个非暂时性处理器可读存储介质)中或由机器人以其他方式访问的可重复使用的工作基元库可以包括可由至少第一物理可致动部件执行的一组可重复使用的工作基元。也就是说,机器人的可重复使用的工作基元库可以包括特定的可重复使用的工作基元,这些特定的可重复使用的工作基元中的每一个可由至少第一物理可致动部件执行。
一些工作目标的完成可以有利地部署机器人的第一物理可致动部件,例如以便实现对机器人和/或其环境的改变。在这种情况下,当机器人根据方法100的动作102和/或方法200的(子方法210)的动作202启动工作流以完成工作目标时,机器人可以启动第一组可重复使用的工作基元,该第一组可重复使用的工作基元包括来自可由第一物理可致动部件执行的该组可重复使用的工作基元中的至少一个可重复使用的工作基元。当机器人执行工作流时,机器人执行或实施来自可由第一物理可致动部件执行的该组可重复使用的工作基元中的至少一个可重复使用的工作基元,其导致第一物理可致动部件致动以某种审慎的方式实现对机器人或机器人的环境的改变,该方式的特征在于可由第一物理可致动部件执行的至少一个可重复使用的工作基元。在图3中示出了上述的具体示例,针对上述的具体示例,至少一个物理可致动部件是或包括操作为抓取对象的部件(例如末端执行器),例如夹持器或手。
图3是示出根据本系统、设备和方法的机器人的示例性操作方法300的流程图。为了执行方法300,机器人包括操作来抓取对象的至少第一物理可致动部件,并且机器人的可重复使用的工作基元库包括可由至少第一物理可致动部件执行的一组可重复使用的抓取基元,该至少第一物理可致动部件操作来抓取对象。方法300包括三个动作301、302和303,尽管本领域技术人员将理解,在替代的实施方式中,可以省略某些动作和/或可以添加附加动作。本领域技术人员还将理解,所示出的动作顺序仅出于示例性目的被示出,并且可以在替代的实施方式中改变。
方法300基本上类似于方法100,具有附加的细节,即将由机器人完成的第一工作目标具体包括抓取对象。因此,在方法300的301,机器人(以类似于针对方法100的动作101所描述的方式的方式)启动涉及抓取对象的第一工作目标。作为非限制性示例,第一工作目标可以涉及拾取对象、移动对象、拉动对象、扭转或旋转对象、抓住对象(例如工具或仪器)、和/或以其他方式操纵对象。
在302,机器人(以类似于针对方法100的动作102所描述的方式的方式)启动第一工作流以完成第一工作目标。根据本系统、设备和方法,在方法300的示例中,第一工作流包括来自机器人的可用的可重复使用的工作基元库中的至少一个可重复使用的抓取基元,该至少一个可重复使用的抓取基元将由操作以抓取对象的第一物理可致动部件执行。贯穿本说明书,术语“抓取基元”是指操作来抓取对象的物理可致动部件所采用的特定配置,以便以特定方式抓取对象。例如,当操作来抓取对象的物理可致动部件是或包括具有多个手指和拇指的手(即,人手的类似物)时,当抓取对象时,不同的抓取基元可以对应于手指和拇指的不同排列或构造。操作来抓取对象的这样的手状物理可致动部件可能最适合于以不同的方式抓取不同的对象,这取决于对象的预期用途和/或对象的特性(例如,形状、尺寸、几何结构、刚性、易碎性)以及其他方面。可以实现抓取的某些“不同方式”可以对应于相应的抓取基元,在图4中描绘了各种非限制性示例。
图4是示出根据本系统、设备和方法的一组示例性的可重复使用的抓取基元400的说明性图。对于一组示例性的可重复使用的抓取基元400,操作来抓取对象的物理可致动部件是具有四个手指和可相对的拇指的机器人手(非常像人手),并且抓取基元对应于不同的手构造,这些手构造各自分别适合以不同的方式进行抓取。然而,本领域技术人员将理解,本文的教导可以适用于替代的实施方式中,其中操作来抓取对象的手状物理可致动部件包括不同数量的手指,例如两个手指、三个手指、五个手指、六个手指等等。
在图4中,抓取基元400被分解为两个高级类别:“力量”和“精确度”,其中“力量”抓取基元提供非常适合于例如抓取坚固刚性对象或期望高度安全抓住的应用中的有力抓握,而“精确度”抓取基元提供非常适合于例如抓取精细柔软对象或期望高度操纵抓住的应用中的轻柔抓握。基于被抓取的对象的几何结构(例如,棱柱或圆形)和手的手指和拇指的构造/布置(例如,重缠绕、轻缠绕、圆盘、球体、4个手指、1个手指),力量和精确度抓取基元类别各自被进一步分解成子类别。以这种方式,根据本系统、设备和方法,一组示例性的可重复使用的抓取基元400包括八个独特的抓取基元,这些抓取基元可以由操作以抓取对象的手状物理可致动部件自主部署。然而,本领域技术人员将理解,图4中的一组示例性的八个可重复使用的抓取基元400被提供以仅用于说明目的,并且在实践中,一组可重复使用的抓取基元可以包括任意数量的抓取基元和抓取基元的组合或由任意数量的抓取基元和抓取基元的组合组成,这取决于具体的实施方式,其包括:图4中所示出的八个可重复使用的抓取基元400的子集,单独地或与图4中未示出的至少一个附加的可重复使用的抓取基元组合;图4中所示出的全部八个可重复使用的抓取基元400加上图4中未示出的至少一个附加的可重复使用的抓取基元;或者一组完全不同的可重复使用的抓取基元,它不包括图4所示出的八个可重复使用的抓取基元400中的任何一个。此外,在不同的实施方式中,一组可重复使用的抓取基元可能遵循不同于图4所描绘的组织结构的组织结构,或者一组可重复使用的抓取基元可能根本不遵循组织结构。
返回图3的方法300,在303,机器人(以类似于针对方法100的动作103所描述的方式的方式)执行在302启动的第一工作流。在303执行第一工作流时,操作来抓取对象的第一物理可致动部件执行或实施至少一个可重复使用的抓取基元,从而以非常适合于对象或工作目标的特定方式(例如,重缠绕或1个手指)抓取对象。在303执行或实施第一工作流完成第一工作目标。
图5是示出根据本系统、设备和方法的机器人抓取对象的示例性操作方法500的流程图。为了执行方法500,机器人包括具有多个手指和可相对的拇指的机器人手、操作来控制机器人手的致动的至少一个处理器、通信地耦合到至少一个处理器的至少一个传感器、以及通信地耦合到至少一个处理器的非暂时性处理器可读存储介质。非暂时性处理器可读存储介质存储可重复使用的抓取基元库和处理器可执行指令,该处理器可执行指令当由至少一个处理器执行时,使得机器人手自主地执行可重复使用的抓取基元库中的可重复使用的抓取基元。方法500包括四个动作501、502、503和504,以及一个子动作531,尽管本领域技术人员将理解,在替代的实施方式中,可以省略某些动作和/或子动作,和/或可以添加附加动作和/或子动作。本领域技术人员还将理解,所示出的动作和/或子动作的顺序仅出于示例性目的被示出,并且可以在替代的实施方式中改变。
在501,至少一个传感器收集关于对象的数据。在一些实施方式中,至少一个传感器可以包括至少一个光学传感器(例如至少一个相机),并且在501,至少一个光学传感器可以收集关于对象的光学数据(例如至少一个图像)。在一些实施方式中,至少一个传感器可以包括至少一个触觉或触感传感器,并且在501,至少一个触觉或触感传感器可以收集关于对象的触觉或触感数据。部署在501的一些传感器系统可以包括信号发射器,例如LiDAR系统或基于例如射频的其他扫描仪系统。
在502,由至少一个处理器分析在501由至少一个传感器收集的数据,以确定对象的几何结构。当在501采用的至少一个传感器包括至少一个光学传感器时,本领域技术人员将理解,在502执行的分析可以采用广泛的机器视觉和/或数字图像处理技术中的任何一种,包括但不限于:拼接/配准;滤波(例如形态学滤波);阈值化;像素计数;分割;边缘检测;颜色分析;斑点检测和提取;神经网络/深度学习/机器学习处理;包括模板匹配的模式识别;和/或测量/计量。
在503,至少一个处理器至少部分地基于在502确定的对象的几何结构,来从可重复使用的抓取基元库中选择特定的可重复使用的抓取基元。在一些实施方式中,至少一个处理器选择的特定的可重复使用的抓取基元可以是或包括处理器确定的相对于(或相比于)可重复使用的抓取基元库中的所有其他可重复使用的抓取基元最适合(或将最适合)对象的几何结构的特定的可重复使用的抓取基元。作为示例,“最适合”对象的几何结构的特定的可重复使用的抓取基元可以是特定的可重复使用的抓取基元,该特定的可重复使用的抓取基元采用机器人手的多个手指和可相对的拇指的构造,该构造相对于可重复使用的抓取基元库中的所有其他可重复使用的抓取基元,最适应或匹配对象的几何结构。
在一些实施方式中,为了在503选择特定的可重复使用的抓取基元,至少一个处理器可以对机器人手利用可重复使用的抓取基元库中的每个可重复使用的抓取基元来抓取对象(给定在502确定的对象的几何结构)进行模拟或建模,以确定可重复使用的抓取基元库中的哪个特定的可重复使用的抓取基元相对于可重复使用的抓取基元库中的其他抓取基元最适合对象的几何结构。模拟/建模过程可以包括基于可重复使用的抓取基元适合、适应或匹配对象的几何结构的程度和/或抓取被实现或将要实现的可靠程度,来向可重复使用的抓取基元库中的每个可重复使用的抓取基元分配相应的分数。在采用这样的评分系统的实施方式中,至少一个处理器可以返回或选择具有最高分数的可重复使用的抓取基元作为相对于可重复使用的抓取基元库中的所有其他可重复使用的抓取基元最适合对象的几何结构的特定的可重复使用的抓取基元。在一些实施方式中,至少一个处理器可以最初(即,在建模或模拟用机器人手抓取对象之前)过滤掉一些可重复使用的抓取基元,这些可重复使用的抓取基元基于对象的特性或需要抓取对象的任务(例如(诸如)优选力量抓取还是棱柱形抓取)而不太可能提供良好的适合。例如,参考图4,如果已知对象是固体和沉重的,并且(在502)对象的几何结构被确定为长的和圆柱形的,则至少一个处理器可以过滤可重复使用的抓取基元,使得仅对应于“棱柱形”和“力量”抓取的可重复使用的抓取基元被建模和/或模拟。
在一些实施方式中,可以不采用建模和/或模拟,并且在503,至少一个处理器可以纯粹基于类似于上述的推论或消除过滤过程来选择特定的可重复使用的抓取基元。也就是说,再次返回图4,如果已知对象是轻的且易碎的,并且(在502)对象的几何结构被确定为球形,则至少一个处理器可以基于这些特性相应地过滤可重复使用的抓取基元库,以在503选择“精确度->圆形->球形”可重复使用的抓取基元。
在504,机器人手执行由至少一个处理器在503选择的特定的可重复使用的抓取基元,以便抓取对象。在一些实施方式中,机器人手可以由至少一个处理器控制,并且在504,至少一个处理器可以执行处理器可执行指令,该处理器可执行指令使得机器人手自主地执行特定的可重复使用的抓取基元来抓取对象。
如在一些前述示例中所示,在一些实施方式中,在503,至少一个处理器可以基于在502确定的对象的几何结构和对象的至少一个附加参数(例如,诸如对象是沉重的还是轻的,或者对象是坚固的/耐用的还是易碎的/脆的,等等)两者,来从可重复使用的抓取基元库中选择特定的可重复使用的抓取基元。因此,在方法500的一些实施方式中,至少一个处理器可以分析关于对象的附加数据,以确定对象的至少一个附加参数。这样的附加数据可以由至少一个传感器收集(即,使用在501收集关于对象的数据的相同传感器,或者使用相同或不同传感器类型的不同传感器),或者从外部源(例如,从机器人的驾驶员或其他操作员)传送/传输到机器人。例如,机器人可以包括通信地耦合到至少一个处理器的至少一个接收器,该至少一个接收器可以接收关于对象的附加数据等等。根据具体的实施方式,关于对象的附加数据可能有各种不同的形式。作为示例,关于对象的附加数据可以单独或以任意组合包括以下任何一项:对象的硬度、对象的刚性、对象的标识、对象的功能和/或对象的质量。
作为工作流的一部分,机器人可以操作来执行方法500(即,抓取对象)。也就是说,抓取对象的动作或行动可以对应于由机器人执行的一个或更多个可重复使用的工作基元,作为推进工作目标的工作流的一部分。根据本系统、设备和方法,在一些实施方式中,由机器人在503选择的特定的可重复使用的抓取基元可以至少部分地取决于机器人为了推进工作目标而将对抓取的对象做什么或受机器人为了推进工作目标而将对抓取的对象做什么的影响。例如,如果机器人将需要摆动对象或将其用作工具,则机器人可以采用“力量”抓取基元来确保对象的安全抓取,而如果机器人将需要拾取和放置对象,则机器人可以采用“精确度”抓取基元来确保对象的精确放置。因此,在方法500的一些实施方式中,动作503可以包括子动作531。在531,机器人(例如,机器人的至少一个处理器)至少部分地基于在502确定的对象的几何结构和关于机器人要执行的工作目标的信息两者,来从可重复使用的抓取基元库中选择特定的可重复使用的抓取基元。关于将由机器人执行的工作目标的信息可以作为数据存储在机器人的非暂时性处理器可读存储介质中,并且当在503选择可重复使用的抓取基元时由至少一个处理器访问。关于将由机器人执行的工作目标的数据可以通过各种不同的方式到达或抵达机器人的非暂时性处理器可读存储介质,该各种不同的方式包括但不限于:经由从机器人的驾驶员或操作员接收的指令或命令(例如,由机器人的至少一个接收器接收);经由从机器人的驾驶员或操作员本地接收的指令或命令(例如,由机器人的麦克风或输入终端本地接收);和/或经由通过机器人的人工智能执行的自主动作规划和/或推理。
根据本系统、方法和设备,机器人可以自主地执行可重复使用的抓取基元库中的每个可重复使用的抓取基元。更一般地,机器人可以自主地执行可重复使用的工作基元库中的每个可重复使用的工作基元。这样的自主性可以通过训练或学习过程来开发或实现,该训练或学习过程涉及使得机器人重复执行可重复使用的抓取/工作基元以进行多次迭代。本领域技术人员将已经熟悉以下概念:通过操作机器人重放实现工作目标的完整指令集(即,操作机器人重放整个工作流)来训练机器人以完成工作目标;然而,根据本系统、方法和设备,这种操作机器人重放对应于整个工作流的完整指令集的传统方法是不期望的具体和限制性的。被训练来自主地执行整个工作流的机器人是高度专业化的机器人,该机器人只可以自主地完成对应于该工作流的工作目标。即使工作目标的条件、环境或规格发生微小改变,这样的高度专业化的机器人也不能够自主地完成工作目标。相反,本系统、方法和设备描述了自主的“通用”机器人,其中这样的通用性至少部分地产生于每个机器人的以下能力:自主地执行单独的工作基元(而不仅仅是完整的工作流)以及跨对应于广泛的不同工作目标的大量不同工作流“重复使用”这样的工作基元。因此,训练机器人以自主地执行可重复使用的工作基元不同于训练机器人以自主地执行整个工作流,并且有利地产生了实现多用途机器人应用的通用性。换句话说,训练机器人以自主地执行可重复使用的工作基元,而不是训练机器人以自主地执行完整的工作流,从而在其多功能性、通用性和实用范围方面改进了机器人的功能。
图6是示出根据本系统、设备和方法的初始化机器人以完成大量工作目标的示例性计算机实现的方法600的流程图。方法600包括两个主要动作601和602,并且动作602包括两个子动作621和622,尽管本领域技术人员将理解,在替代的实施方式中,可以省略某些动作/子动作和/或可以添加附加动作/子动作。本领域技术人员还将理解,所示出的动作/子动作的顺序仅出于示例性目的被示出,并且可以在替代的实施方式中改变。方法600是计算机实现的方法,该计算机实现的方法可以由一个或更多个计算机系统来执行,该一个或更多个计算机系统包括常规计算硬件(例如与至少一个非暂时性处理器可读存储介质通信耦合的至少一个处理器和各种其他众所周知的部件,例如系统总线、输入/输出外围设备、网络硬件等)以及存储在非暂时性处理器可读存储介质中的常规软件和固件(例如BIOS、各种驱动程序、操作系统等)。根据本系统、方法和设备,至少一个非暂时性处理器可读存储介质还可以存储数据和/或处理器可执行指令(例如,计算机程序产品),其当由通信地耦合到至少一个非暂时性处理器可读存储介质的至少一个处理器执行时,使得计算机系统执行计算机实现的方法600。
在601,定义可重复使用的工作基元库。每个可重复使用的工作基元可由机器人执行,其中来自可重复使用的工作基元库的可重复使用的工作基元的相应组合和排列由机器人启动和执行,以便完成相应的工作流以推进相应的工作目标。
在602,训练机器人以自主地执行可重复使用的工作基元库中的每个可重复使用的工作基元。训练机器人以自主地执行可重复使用的工作基元库中的每个可重复使用的工作基元可以包括,对于可重复使用的工作基元库中的每个相应的可重复使用的工作基元,操作机器人以重复地执行可重复使用的工作基元,而不进行任何考虑、或允许或适应在任何工作流中可能在该可重复使用的工作基元之前或之后的任何其他可重复使用的工作基元。换句话说,虽然训练机器人以自主地重放整个工作流的传统技术涉及操作机器人以执行一系列指令,每个指令逐次地依赖于先前的和随后的指令,以便完成工作目标,但在本系统、方法和设备中,机器人被训练以通过以下方式自主地重放单独的可重复使用的工作基元:对于每个单独的可重复使用的工作基元,执行一组独立的指令,该指令不依赖于先前的或随后的指令,并且自身不完成工作目标。在602训练机器人的这个过程在图6中示出为子动作621和622。
在621,在602训练机器人可以包括生成处理器可执行指令,该处理器可执行指令当由机器人的至少一个处理器执行时,使得机器人选择性地和自主地执行可重复使用的工作基元库中的每个可重复使用的工作基元。生成处理器可执行指令可以包括迭代过程,其中,对于每个可重复使用的工作基元,机器人被重复地操作以执行和重新执行可重复使用的工作基元,并且在这样做时,使得机器人以最大的成功(例如,以最少的错误、以最少的时间量、以最大的准确度或精确度,或者通过任何其他类似的成功度量)执行可重复使用的工作基元的那些动作和控制参数(例如,致动定时、力和扭矩水平等)可以被编码为处理器可执行指令,该处理器可执行指令当由机器人重新执行时,使得机器人选择性地和自主地重新执行可重复使用的工作基元。
在622,在621生成的处理器可执行指令被传送到机器人的非暂时性处理器可读存储介质。换句话说,在622,在621生成的处理器可执行指令被“加载到”机器人中,以由机器人调用和回放,从而使得机器人自主地执行可重复使用的工作基元。
如前所述,根据本系统、方法和设备,训练机器人以自主地执行可重复使用的工作基元可以在模拟环境中完成。例如,在602训练机器人可以包括在模拟环境中训练机器人以自主地执行可重复使用的工作基元库中的每个可重复使用的工作基元,如图7所示。
图7是示出根据本系统、设备和方法的初始化机器人以完成大量工作目标的示例性计算机实现的方法700的流程图。方法700包括两个主要动作701和702,并且动作702包括三个子动作721、722和723,尽管本领域技术人员将理解,在替代的实施方式中,可以省略某些动作/子动作和/或可以添加附加动作/子动作。本领域技术人员还将理解,所示出的动作/子动作的顺序仅出于示例性目的被示出,并且可以在替代的实施方式中改变。方法700是计算机实现的方法,该计算机实现的方法可以由一个或更多个计算机系统来执行,该一个或更多个计算机系统包括常规计算硬件(例如与至少一个非暂时性处理器可读存储介质通信耦合的至少一个处理器和各种其他众所周知的部件,例如系统总线、输入/输出外围设备、网络硬件等)以及存储在非暂时性处理器可读存储介质中的常规软件和固件(例如BIOS、各种驱动程序、操作系统等)。根据本系统、方法和设备,至少一个非暂时性处理器可读存储介质还可以存储数据和/或处理器可执行指令(例如,计算机程序产品),其当由通信地耦合到至少一个非暂时性处理器可读存储介质的至少一个处理器执行时,使得计算机系统执行计算机实现的方法700。
在701,类似于来自方法600的动作601来定义可重复使用的工作基元库。每个可重复使用的工作基元可由机器人执行。
在702,在模拟环境中训练机器人以自主地执行可重复使用的工作基元库中的每个可重复使用的工作基元。贯穿本说明书和所附权利要求,术语“模拟”(如在“模拟环境”中、“模拟实例”等)用于指物理对应物的虚拟或数字副本或模仿。因此,“模拟环境”是物理环境的虚拟或数字表示,该表示编码在存储在至少一个非暂时性处理器可读存储介质中的处理器可执行指令和/或数据中,并由执行这样的处理器可执行指令和/或数据的至少一个处理器实现。处理器可执行指令和/或数据可以对表征空间(并且如果适用的话,包含在其中的任何对象)的尺寸(例如,空间参数)、几何结构和其他参数(例如,物理常数,诸如由于重力引起的加速度、光速等)进行编码。模拟环境可能表示或可能不表示已知的真实世界环境。为了与用户交互(interface),模拟环境可以显示在屏幕或监视器上,但是在本系统、方法和设备的所有实施方式中不一定需要模拟环境的这样的视觉表现。在一些实施方式中,在模拟环境中训练机器人可以包括在模拟环境中训练机器人的一个或更多个模拟。为此,动作702包括子动作721、722和723。
在721(这是在702在模拟环境中训练机器人的一部分),在模拟环境中生成机器人的第一模拟实例。机器人的模拟实例可以包括机器人的虚拟或数字表示,该虚拟或数字表示编码在存储在至少一个非暂时性处理器可读存储介质中的处理器可执行指令和/或数据中,并由执行这样的处理器可执行指令和/或数据的至少一个处理器实现。处理器可执行指令和/或数据可以对表征真实世界的物理机器人以及(如果适用的话)它如何移动的尺寸(例如,空间参数)、几何结构和其他参数(例如,自由度、材料特性、质量等)进行编码。为了与用户交互,机器人的模拟实例可以显示在屏幕或监视器上,但是在本系统、方法和设备的所有实施方式中不一定需要机器人的模拟实例的这样的视觉表现。
在722(其是在702在模拟环境中训练机器人的一部分),处理器可执行指令被(由至少一个处理器)重复地执行以使得机器人的第一模拟实例执行可重复使用的工作基元库中的第一可重复使用的工作基元。
在723(其是在702在模拟环境中训练机器人的一部分),基于重复地执行处理器可执行指令以使得机器人的第一模拟实例在722执行第一可重复使用的工作基元的至少一个结果来细化在722重复地执行的处理器可执行指令。例如,在722重复地执行的处理器可执行指令可以在723被细化,以调节一个或更多个参数(例如,致动的定时或在致动之间的定时、致动的力或精确度、目标值或阈值、感觉触发器等),这些参数支配机器人的第一模拟实例如何执行第一可重复使用的工作基元,以改进或再现在722执行处理器可执行指令的结果。如果执行处理器可执行指令以使得机器人的第一模拟实例在722执行第一可重复使用的工作基元的第一次迭代产生了在某些方面有缺陷的结果(例如,第一可重复使用的工作基元执行得太慢、准确度或精确度不足、太快、准确度或精确度过高或与预期结果不一致),则指令可以在723被细化,然后在722被重复(即,进行第二次迭代)以确认实现了更期望的结果。
在一些实施方式中,方法700可以针对可重复使用的工作基元库中的任意数量的附加的可重复使用的工作基元继续。子动作722和723可以针对可重复使用的工作基元库中的每个可重复使用的工作基元而重复。例如,可以重复地执行(即,在722执行)附加的处理器可执行指令以使得机器人的第一模拟实例执行可重复使用的工作基元库中的至少一个附加的可重复使用的工作基元,并且可以基于重复地执行处理器可执行指令以使得机器人的第一模拟实例执行至少一个附加的可重复使用的工作基元的至少一个结果来细化(即,在723细化)使得机器人的第一模拟实例执行至少一个附加的可重复使用的工作基元的处理器可执行指令。
根据本系统、方法和设备,训练机器人以自主地执行可重复使用的工作基元可以在真实物理世界中使用真实物理机器人来完成,或者它可以在模拟世界中使用机器人的模拟实例来完成。在任一情况下,相同或基本相似的处理器可执行指令可以用于控制或支配真实/模拟机器人的动作。在模拟环境中训练机器人的模拟实例(相对于在真实物理环境中训练真实物理机器人)的优点是,这样做不会对真实物理机器人的物理硬件施加任何磨损。如上所述,训练过程可以涉及使得机器人重复地执行训练的可重复使用的工作基元,这可能导致对机器人硬件的显著磨损,并且在机器人甚至能够被部署来完成有意义的工作之前减少机器人的功能寿命。此外,在训练的早期阶段,机器人可能如此不擅长执行可重复使用的工作基元,以至于其早期尝试这样做可能对其自身或其周围环境造成损害。例如,机器人可能导致其自身摔倒或与其环境中的对象碰撞。在模拟环境中训练机器人的模拟实例避免了对真实物理机器人的这样的风险。
在模拟环境中训练机器人的模拟实例的另一个优点是可以通过并行化来加速训练过程。在一些实施方式中,任意数量的机器人的附加的模拟实例可以在模拟环境中生成,并与机器人的第一模拟实例一起并行训练。例如,方法700的一些实施方式还可以包括在模拟环境中生成机器人的至少一个附加的模拟实例,并重复地执行处理器可执行指令,以使得机器人的至少一个附加的模拟实例与机器人的第一模拟实例一起或并行(或独立于机器人的第一模拟实例)执行可重复使用的工作基元库中的第一可重复使用的工作基元。可以基于重复地执行处理器可执行指令以使得机器人的第一模拟实例和机器人的至少一个附加的模拟实例执行第一可重复使用的工作基元的至少一个结果来细化使得机器人的第一模拟实例和机器人的至少一个附加的模拟实例两者执行第一可重复使用的工作基元的处理器可执行指令。在一些实施方式中,处理器可执行指令的单个共有的实例可以由机器人的两个/所有模拟实例执行,并基于跨机器人的所有模拟实例的结果进行细化(例如,机器人的每个模拟实例可以被操作以在进行一些受控变化的情况执行相同可重复使用的工作基元,以便各自抓取相应的不同对象);在其他实施方式中,机器人的每个模拟实例可以执行处理器可执行指令的相应实例,并且处理器可执行指令的每个相应实例可以基于用机器人的相应模拟实例实现的结果来细化。在该后一种情况下,可以在细化过程之后比较处理器可执行指令的相应实例,并且可以选择处理器可执行指令的全局最佳实例。
模拟训练具有另一个优点,即,它可以在扩展的时间段内连续进行而没有中断(即,没有停顿或休息)。
图8是示出根据本系统、方法和设备的示例性模拟环境800的说明性图,在模拟环境800中机器人通过模拟被训练以执行可重复使用的工作基元。模拟环境800包括具有平坦地面801的简单空间,并且不基于任何真实世界空间。真实世界机器人的多个模拟实例存在于模拟环境800中,其中只有示例性的第一模拟实例810在图8中被调用以减少混乱。机器人810的每个模拟实例重复地执行特定的可重复使用的抓取基元,以便抓取相应的对象820(只有一个示例性对象820在图8中被调用以减少混乱)。根据本系统、方法和设备,机器人810的模拟实例各自被训练以自主地执行可重复使用的工作基元而不是完整的工作流,并且与用真实的物理机器人硬件这样做相比,在多个模拟实例上并行化这样的训练可以极大地加快训练过程,而同时减轻对真实世界的物理部件或对象的任何损坏或磨损。根据模拟的质量,用于控制机器人810的模拟实例的操作并被训练以优化可重复使用的工作基元的自主执行的相同或基本相似的处理器可执行指令可以从模拟中移植并加载到真实的物理机器人中。换句话说,假设机器人810的模拟实例和模拟环境800充分表示真实世界的物理类似物,则通过在模拟环境800中训练模拟实例810开发的相同或基本相似的处理器可执行指令可以部署在真实物理世界中的真实物理机器人中,以使这样的真实物理机器人能够自主地执行可重复使用的工作基元。
本文描述的训练过程采用处理器可执行指令,该处理器可执行指令当执行时,使得机器人或机器人的任意数量的模拟实例执行可重复使用的工作基元。根据本系统、方法和设备,这样的处理器可执行指令可以源自遥操作系统和/或由遥操作系统生成。
图9是示出根据本系统、设备和方法的初始化机器人以完成大量工作目标的示例性计算机实现的方法900的流程图。方法900包括两个主要动作601和602,并且动作602包括三个子动作921、922和923,尽管本领域技术人员将理解,在替代的实施方式中,可以省略某些动作/子动作和/或可以添加附加动作/子动作。本领域技术人员还将理解,所示出的动作/子动作的顺序仅出于示例性目的被示出,并且可以在替代的实施方式中改变。方法900的动作601和602基本上类似于方法600的动作602和602。方法900是计算机实现的方法,该计算机实现的方法可以由一个或更多个计算机系统来执行,该一个或更多个计算机系统包括常规计算硬件(例如与至少一个非暂时性处理器可读存储介质通信耦合的至少一个处理器和各种其他众所周知的部件,例如系统总线、输入/输出外围设备、网络硬件等)以及存储在非暂时性处理器可读存储介质中的常规软件和固件(例如BIOS、各种驱动程序、操作系统等)。根据本系统、方法和设备,至少一个非暂时性处理器可读存储介质还可以存储数据和/或处理器可执行指令(例如,计算机程序产品),其当由通信地耦合到至少一个非暂时性处理器可读存储介质的至少一个处理器执行时,使得计算机系统执行计算机实现的方法900。
在601,以与如方法600的细节中所述的类似的方式来定义可重复使用的工作基元库。
在602,训练机器人来以与如方法600的细节中所述的类似的方式自主地执行可重复使用的工作基元库中的每个可重复使用的工作基元;然而,在方法900中,动作602包括子动作921、922和923。在方法900的一些实施方式中,动作602可以仅使用一个或更多个真实物理机器人来执行,而在方法900的其他实施方式中,动作602可以使用真实物理机器人的任意数量的模拟实例来执行。
在921(其是在602训练机器人的一部分),接收遥操作指令,该遥操作指令使得机器人(的模拟实例)执行可重复使用的工作基元库中的第一可重复使用的工作基元。遥操作指令可以从遥操作系统接收,稍后描述其进一步的示例性细节。当使用真实物理机器人执行动作602时,在921,真实物理机器人可以接收遥操作指令。当使用真实物理机器人的任意数量的模拟实例来执行动作602时,在921,可以由运行模拟的计算机系统接收遥操作指令。
在922(其是在602训练机器人的一部分),执行遥操作指令以使得机器人(的模拟实例)执行第一可重复使用的工作基元。当使用真实物理机器人执行动作602时,在922,可以由真实物理机器人执行遥操作指令。当使用真实物理机器人的任意数量的模拟实例来执行动作602时,在922,可以由运行模拟的计算机系统执行遥操作指令。
在923(其是在602训练机器人的一部分),生成处理器可执行指令。处理器可执行指令使得机器人(的模拟实例)重放遥操作指令,该遥操作指令使得机器人(的模拟实例)执行第一可重复使用的工作基元。换句话说,处理器可执行指令可以表示遥操作指令的可执行副本,其当由机器人(的模拟实例)执行时,使得机器人(的模拟实例)重放遥操作指令,并自主地执行第一可重复使用的工作基元,而无需遥操作指令本身(即,无需接收提供如何执行第一可重复使用的工作基元的细节的附加遥操作指令)。当使用真实物理机器人执行动作602时,在923生成的处理器可执行指令可以由机器人调用或执行,以在需要时自主地执行第一可重复使用的工作基元。当使用真实物理机器人的任意数量的模拟实例来执行动作602时,处理器可执行指令可以被传送到真实物理机器人或加载到真实物理机器人中(例如,作为计算机程序产品),并由机器人执行,以使得机器人在需要时执行第一可重复使用的工作基元。
根据本系统、方法和设备,方法900的动作602的子动作921、922和923可以针对可重复使用的工作基元库中的每个相应的可重复使用的工作基元重复。
在一些实施方式中,遥操作指令可以包括使得机器人(的模拟实例)执行可重复使用的工作基元库中的第一可重复使用的工作基元的第一实例的第一组遥操作指令和使得机器人(的模拟实例)执行可重复使用的工作基元库中的第一可重复使用的工作基元的第二实例的第二组遥操作指令,其中第一组遥操作指令和第二组遥操作指令在某些方面彼此不同,使得第一可重复使用的工作基元的第一实例和第一可重复使用的工作基元的第二实例也在某些方面不同。第一组遥操作指令和第二组遥操作指令之间的差异,以及第一可重复使用的工作基元的第一实例和第一可重复使用的工作基元的第二实例之间的结果差异允许进行比较,以及允许使得机器人(的模拟实例)执行第一可重复使用的工作基元的遥操作指令的有利制定将被识别和进一步开发。例如,在方法900的一些实施方式中,执行第一组遥操作指令以使得机器人执行第一可重复使用的工作基元的第一实例和执行第二组遥操作指令以使得机器人执行第一可重复使用的工作基元的第二实例的相应结果可以被评估(例如,比较),以根据某种成功度量来确定第一组遥操作指令和第二组遥操作指令中的哪一个产生更好的结果。“更好的结果”可以包括具有更少错误、更准确或精确、使用更小的力量、执行更快、执行具有更大的美学吸引力和/或根据任何其他成功度量是有利的结果。当识别产生更好结果的一组特定的遥操作指令(即,在第一组和第二组遥操作指令和/或评估的任何其他组的遥操作指令中的一组特定的遥操作指令)时,在923生成的处理器可执行指令可以有利地被设计成使得机器人(的模拟实例)重放产生更好结果的任何遥操作指令。
在方法900的一些实施方式中,第一组遥操作指令的至少一个元素和第二组遥操作指令的至少一个元素可以组合在923生成的处理器可执行指令中。也就是说,在923生成的处理器可执行指令可以包括第一组遥操作指令的有利元素和第二组遥操作指令的有利元素的组合。
遥操作系统以及因此从遥操作系统接收的遥操作指令可以采取各种不同的形式。在一些实施方式中,遥操作系统可以包括传感器,该传感器检测由驾驶机器人(的模拟实例)的真实物理实体(例如人类用户)执行的真实物理动作,并且遥操作指令可以使得机器人(的模拟实例)模仿由这样的真实遥操作驾驶员执行的真实物理动作。因为驾驶员的动作和机器人(的模拟实例)的动作之间的低级抽象,所以使得机器人(的模拟实例)模仿由真实遥操作驾驶员执行的真实物理动作的遥操作系统在本文被称为“低级”遥操作系统。因此,由低级遥操作系统提供的遥操作指令在本文被称为“低级”遥操作指令。
在一些实施方式中,遥操作系统可以包括图形用户接口或GUI,该图形用户接口或GUI向用户或驾驶员呈现一组候选动作,并且遥操作指令可以使得机器人(的模拟实例)执行从GUI中选择的动作。这样的基于GUI的遥操作系统在驾驶员的动作和机器人(的模拟实例)的动作之间提供更高级的抽象,并且在本文被称为“高级”遥操作系统。因此,由高级遥操作系统提供的遥操作指令在本文被称为“高级”遥操作系统。
在一些实施方式中,使得机器人(的模拟实例)执行第一可重复使用的工作基元的第一组低级遥操作指令可以在训练过程(例如,方法600、方法700和/或方法900)的初始迭代中使用,以生成使得机器人(的模拟实例)自主地执行第一可重复使用的工作基元的第一组处理器可执行指令,并且训练过程的后续迭代可以利用高级遥操作指令来进一步细化使得机器人(的模拟实例)自主地执行第一可重复使用的工作基元的处理器可执行指令。
图10是示例性机器人系统1000的说明性图,该示例性机器人系统1000包括贯穿本系统、方法和设备描述的各种特征和部件。机器人系统1000包括机器人主体1001,该机器人主体1001具有机械地耦合到主体1001的第一物理可致动部件1002a和第二物理可致动部件1002b。在所示的实施方式中,第一物理可致动部件1002a和第二物理可致动部件1002b各自对应于相应的机器人手,尽管本领域技术人员将理解,在替代的实施方式中,物理可致动部件可以采取(take on)其他形式(例如臂或腿、非手状末端执行器(例如切割器或吸管)或者对机器人旨在执行的特定应用有用的任何其他形式)。机器人手1002a模仿人手,并且包括多个手指1021a、1022a、1023a和1024a以及可相对的拇指1025a。机器人手1002b类似于机器人手1002a的镜像,同时没有为机器人手1002b标记相应的细节以减少混乱。机器人手1002a和1002b可以通过各种不同的方式进行物理致动(包括机电致动、电缆驱动致动、基于磁流变流体的致动和/或液压致动)。可以被采用以物理致动机器人手1002a和1002b的致动技术的一些示例性细节描述在序列号为17/491,577的美国专利申请和2021年5月21日提交并且标题为“Systems,Devices,And Methods For A Hydraulic Robotic Arm”的序列号为63/191,732的美国临时专利申请中,这两者通过引用以其整体并入本文。
机器人主体1001还包括至少一个传感器1003,该至少一个传感器1003检测和/或收集关于机器人系统1000的环境和/或环境中的对象的数据。在所示的实施方式中,传感器1003对应于包括相机、麦克风和初始测量单元的传感器系统,初始测量单元本身包括三个正交加速度计、磁力计和罗盘。
出于说明的目的,图10包括根据本系统、方法和设备的由机器人主体1001携带或在机器人主体1001内携带的某些示例性部件的细节。这样的部件包括至少一个处理器1030和通信地耦合到处理器1030的至少一个非暂时性处理器可读存储介质或“存储器”1040。存储器1040存储可重复使用的工作基元库1041(根据实施方式,其可以包括或可以不包括用于机器人手1002a和/或1002b中的一者或两者的可重复使用的抓取基元库)和处理器可执行指令1042,该处理器可执行指令1042当由处理器1030执行时,使得机器人主体1001(包括诸如机器人手1002a和/或1002b中的一者或两者的适用的可致动部件)选择性地和自主地执行可重复使用的工作基元库1041中的可重复使用的工作基元。根据具体的实施方式,处理器可执行指令1042还可以包括处理器可执行指令(例如,计算机程序产品),其使得机器人系统执行本文描述的方法100、200、300和/或500中的任何一个或全部和/或方法700和/或900的相关动作。
处理器1030还通信地耦合到无线收发器1050,机器人主体1001经由无线收发器1050与示例性遥操作系统1070发送和接收无线通信信号1060。为此,遥操作系统1070还包括无线收发器1071。
为了说明的目的,遥操作系统1070包括低级遥操作接口1080和高级遥操作接口1090两者。低级遥操作接口1080包括传感器系统1081和处理系统1083,传感器系统1081检测由人类驾驶员1082执行的真实物理动作,处理系统1083将这样的真实物理动作转换成低级遥操作指令,该低级遥操作指令当由处理器1030执行时,使得机器人主体1001(和任何适用的可致动部件,例如手1002a和/或1002b)模仿由驾驶员1082执行的物理动作。在一些实施方式中,传感器系统1081可以包括通常在虚拟现实游戏领域中采用的许多感测部件,例如触觉手套、佩戴在驾驶员1082的身体上的基于加速度计的传感器、以及使驾驶员1082能够看到由机器人主体1001的传感器1003收集的光学数据的VR头戴式装置。高级遥操作接口1090包括在该示例性实施方式中显示在平板计算机上的简单GUI。高级遥操作接口1090的GUI提供一组按钮,每个按钮对应于可由机器人主体1001(和适用的可致动部件,例如手1002a和/或1002b)执行的相应动作。由高级遥操作接口1090的用户/驾驶员通过GUI选择的动作被转换成高级遥操作指令,该高级遥操作指令当由处理器1030执行时,使得机器人主体1001(以及任何适用的可致动部件,例如手1002a和/或1002b)执行所选择的动作。
根据本系统、设备和方法,可以训练多用途机器人以自主地执行有限数量的可重复使用的工作基元,以便自主地执行大量任务。这样的多用途机器人可以包括通信地耦合到至少一个机载处理器的机载非暂时性处理器可读存储介质。非暂时性处理器可读存储介质可以存储数据和/或处理器可执行指令,其可以包括机器人能够自主地执行的可重复使用的基元库。在操作中,机器人的至少一个处理器可以执行数据和/或处理器可执行指令,以使得机器人分析任务并从存储的工作基元库中识别特定序列的工作基元,其当由机器人执行时,将导致任务目标的完成。
在一些实施方式中,本文描述的机器人可以采用以下项的教导中的任何一种:序列号为16/940,566(公开号为US 2021-0031383 A1)的美国专利申请、序列号为17/023,929(公开号为US 2021-0090201 A1)的美国专利申请、序列号为17/061,187(公开号为US2021-0122035 A1)的美国专利申请、序列号为17/098,716(公开号为US 2021-0146553 A1)的美国专利申请、序列号为17/111,789(公开号为US 2021-0170607 A1)的美国专利申请、序列号为17/158,244(公开号为US 2021-0234997 A1)的美国专利申请、序列号63/001,755(公开号为US 2021-0307170 A1)的美国临时专利申请和/或序列号为63/057,461的美国临时专利申请、以及序列号为63/151,044的美国临时专利申请、序列号为63/173,670的美国临时专利申请、序列号为63/184,268的美国临时专利申请、序列号为63/213,385的美国临时专利申请、序列号为63/232,694的美国临时专利申请、序列号为63/253,591的美国临时专利申请、序列号为63/293,968的美国临时专利申请、序列号为63/293,973的美国临时专利申请和/或序列号为63/278,817的美国临时专利申请,它们中的每一个通过引用以其整体并入本文。
贯穿本说明书和所附权利要求,术语“通信的”(如在“通信耦合(communicativecoupling)”中和在诸如“通信耦合(communicatively coupled)”的变体中)通常用于指用于传输和/或交换信息的任何工程布置。例如,通信耦合可以通过各种不同的介质和/或通信路径的形式来实现,其包括但不限于:导电路径(例如,导电线、导电迹线)、磁路径(例如,磁介质)、无线信号传输(例如,射频天线)和/或光学路径(例如,光纤)。示例性通信耦合包括但不限于:电耦合、磁耦合、射频耦合和/或光学耦合。
贯穿本说明书和所附权利要求,经常使用不定式动词形式。示例包括但不限于:“以编码(to encode)”、“以提供(to provide)”、“以存储(to store)”等等。除非具体的上下文另有要求,否则这样的不定式动词形式是以开放的、包容的意义使用的,即作为“以至少编码(to,at least,encode)”、“以至少提供(to,at least,provide)”、“以至少存储(to,at least,store)”等等。
本说明书(包括附图和摘要)不旨在是对本系统、设备和方法的所有实施方式和实施例的详尽的或限制性描述。本领域技术人员将理解,可以在不脱离本公开的精神和范围的情况下修改所提供的各种描述和附图。特别地,本文的教导不旨在被所提供的计算机系统和计算环境的说明性示例所限制或限制于该说明性示例。
本说明书以框图、示意图、流程图和示例的形式提供了各种实施方式和实施例。本领域技术人员将理解,这样的框图、示意图、流程图或示例中的任何功能和/或操作可以由广泛的硬件、软件和/或固件单独地和/或共同地实现。例如,本文全部或部分公开的各种实施例可以等效地在以下项中的一项或更多项中实现:专用集成电路(即,ASIC);标准集成电路;由任意数量的计算机执行的计算机程序(例如,在任意数量的计算机系统上运行的程序);由任意数量的控制器(例如,微控制器)执行的程序;和/或由任意数量的处理器(例如,微处理器、中央处理单元、图形处理单元)执行的程序、以及固件和前述的任何组合。
贯穿本说明书和所附权利要求,“存储器”或“存储介质”是处理器可读介质,该处理器可读介质是包含或存储处理器数据、数据对象、逻辑、指令和/或程序的电子、磁、光学、电磁、红外、半导体或其他物理设备或装置。当数据、数据对象、逻辑、指令和/或程序被实现为软件并存储在存储器或存储介质中时,它们可以被存储在任何合适的处理器可读介质中,以供任何合适的处理器相关指令执行系统、装置或设备使用,其例如为基于计算机的系统、包含处理器的系统或能够从存储器或存储介质中获取数据、数据对象、逻辑、指令和/或程序并对其和/或响应于其执行各种动作或操作(即,处理步骤)的其他系统。因此,“非暂时性处理器可读存储介质”可以是任何元件,该任何元件存储数据、数据对象、逻辑、指令和/或程序,以供指令执行系统、装置和/或设备使用或与指令执行系统、装置和/或设备结合使用。作为具体的非限制性示例,处理器可读介质可以是:便携式计算机软盘(磁、紧凑型闪存卡、安全数字等)、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM、EEPROM或闪存)、便携式光盘只读存储器(CDROM)、数字磁带和/或任何其他非暂时性介质。
本公开的权利要求随附。本公开旨在支持、实现和说明权利要求,但不旨在将权利要求的范围限制到任何具体的实施方式或实施例。一般来说,权利要求应该被解释为包括所有可能的实施方式和实施例连同这些权利要求有权享有的等同物的全部范围。
Claims (59)
1.一种机器人的操作方法,其中,所述机器人包括至少一个处理器和通信地耦合到所述至少一个处理器的非暂时性处理器可读存储介质,所述非暂时性处理器可读存储介质存储可重复使用的工作基元库和处理器可执行指令,所述处理器可执行指令当由所述至少一个处理器执行时,使得所述机器人自主地执行所述可重复使用的工作基元库中的所述可重复使用的工作基元,所述方法包括:
启动第一工作目标;
启动第一工作流以完成所述第一工作目标,所述第一工作流包括从所述可重复使用的工作基元库中选择的第一组可重复使用的工作基元;和
执行所述第一工作流,其中,执行所述第一工作流包括执行所述第一组可重复使用的工作基元。
2.根据权利要求1所述的方法,还包括:
启动不同于所述第一工作目标的第二工作目标;
启动第二工作流以完成所述第二工作目标,所述第二工作流包括从所述可重复使用的工作基元库中选择的第二组可重复使用的工作基元,其中,所述第二工作流不同于所述第一工作流,并且至少一个共有的可重复使用的工作基元被包括在所述第一工作流和所述第二工作流两者中;和
执行所述第二工作流,其中,执行所述第二工作流包括执行所述第二组可重复使用的工作基元。
3.根据权利要求2所述的方法,还包括:
启动不同于所述第一工作目标和所述第二工作目标两者的至少一个附加工作目标;
启动至少一个附加工作流以完成所述至少一个附加工作目标,所述至少一个附加工作流包括从所述可重复使用的工作基元库中选择的至少一组附加可重复使用的工作基元,其中,所述至少一个附加工作流不同于所述第一工作流和所述第二工作流两者,并且其中,至少一个共有的可重复使用的工作基元包括在所有的所述第一工作流、所述第二工作流和所述至少一个附加工作流中;和
执行所述至少一个附加工作流,其中,执行所述至少一个附加工作流包括执行所述至少一组附加可重复使用的工作基元。
4.根据权利要求1所述的方法,其中,所述机器人包括通信地耦合到所述至少一个处理器的电信接口,并且其中,启动第一工作目标包括经由所述电信接口接收与所述第一工作目标相关的指令。
5.根据权利要求1所述的方法,其中,启动第一工作目标包括由所述机器人自主地识别所述第一工作目标。
6.根据权利要求1所述的方法,其中,所述机器人包括通信地耦合到所述至少一个处理器的电信接口,并且其中,启动第一工作流以完成所述第一工作目标包括经由所述电信接口接收所述第一工作流。
7.根据权利要求1所述的方法,其中,启动第一工作流以完成所述第一工作目标包括由所述机器人自主地识别所述第一组可重复使用的工作基元。
8.根据权利要求1所述的方法,其中,所述机器人包括通信地耦合到所述至少一个处理器的至少第一物理可致动部件,并且所述可重复使用的工作基元库包括能够由所述第一物理可致动部件执行的一组可重复使用的工作基元,并且其中:
启动第一工作流以完成所述第一工作目标包括启动第一组可重复使用的工作基元,所述第一组可重复使用的工作基元包括来自能够由所述第一物理可致动部件执行的所述一组可重复使用的工作基元中的至少一个可重复使用的工作基元;和
执行所述第一工作流包括由所述第一物理可致动部件执行来自能够由所述第一物理可致动部件执行的所述一组可重复使用的工作基元中的所述至少一个可重复使用的工作基元。
9.根据权利要求8所述的方法,其中,所述第一物理可致动部件操作以抓取对象,并且能够由所述第一物理可致动部件执行的所述一组可重复使用的工作基元包括能够由所述第一物理可致动部件执行的一组可重复使用的抓取基元,并且其中:
启动包括来自能够由所述第一物理可致动部件执行的所述一组可重复使用的工作基元中的至少一个可重复使用的工作基元的第一组可重复使用的工作基元包括启动包括至少一个可重复使用的抓取基元的第一组可重复使用的工作基元;和
由所述第一物理可致动部件执行来自能够由所述第一物理可致动部件执行的所述一组可重复使用的工作基元中的所述至少一个可重复使用的工作基元包括由所述第一物理可致动部件执行所述至少一个可重复使用的抓取基元。
10.根据权利要求1所述的方法,其中,启动第一工作流以完成所述第一工作目标包括启动来自所述可重复使用的工作基元库中的可重复使用的工作基元的第一组合的第一排列。
11.根据权利要求1所述的方法,其中,执行所述第一组可重复使用的工作基元包括由所述至少一个处理器执行存储在所述非暂时性处理器可读存储介质中的所述处理器可执行指令,以使得所述机器人自主地执行所述第一组可重复使用的工作基元。
12.一种机器人,包括:
主体;
机械地耦合到所述主体的至少一个物理可致动部件;
通信地耦合到所述至少一个物理可致动部件的至少一个处理器;和
通信地耦合到所述至少一个处理器的至少一个非暂时性处理器可读存储介质,所述至少一个非暂时性处理器可读存储介质存储可重复使用的工作基元库和处理器可执行指令,所述处理器可执行指令当由至少一个处理器执行时,使得所述机器人:
启动第一工作目标;
启动第一工作流以完成所述第一工作目标,所述第一工作流包括从所述可重复使用的工作基元库中选择的第一组可重复使用的工作基元;和
执行所述第一工作流,其中,执行所述第一工作流包括执行所述第一组可重复使用的工作基元。
13.根据权利要求12所述的机器人,其中,所述处理器可执行指令当由所述至少一个处理器执行时,还使得所述机器人:
启动不同于所述第一工作目标的第二工作目标;
启动第二工作流以完成所述第二工作目标,所述第二工作流包括从所述可重复使用的工作基元库中选择的第二组可重复使用的工作基元,其中,所述第二工作流不同于所述第一工作流,并且至少一个共有的可重复使用的工作基元包括在所述第一工作流和所述第二工作流两者中;和
执行所述第二工作流,其中,执行所述第二工作流包括执行所述第二组可重复使用的工作基元。
14.根据权利要求12所述的机器人,还包括电信接口,所述电信接口通信地耦合到所述至少一个处理器,以接收来自由以下项组成的组中的至少一组指令:与所述第一工作目标相关的指令和与所述第一工作流相关的指令。
15.根据权利要求12所述的机器人,其中,所述非暂时性处理器可读存储介质还存储处理器可执行指令,所述处理器可执行指令当由所述至少一个处理器执行时,使得所述机器人自主地识别所述第一工作流以完成所述第一工作目标。
16.根据权利要求12所述的机器人,其中,所述可重复使用的工作基元库包括能够由所述至少一个物理可致动部件执行的一组可重复使用的工作基元,并且其中,当由所述至少一个处理器执行时使得所述机器人执行所述第一组可重复使用的工作基元的所述处理器可执行指令使得所述至少一个物理可致动部件执行至少一个可重复使用的工作基元。
17.根据权利要求16所述的机器人,其中,所述至少一个物理可致动部件包括操作来抓取对象的末端执行器,并且能够由所述至少一个物理可致动部件执行的所述一组可重复使用的工作基元包括能够由所述末端执行器执行的一组可重复使用的抓取基元,并且其中,当由所述至少一个处理器执行时使得所述至少一个物理可致动部件执行至少一个可重复使用的工作基元的所述处理器可执行指令使得所述末端执行器执行至少一个抓取基元。
18.一种计算机程序产品,包括:
可重复使用的工作基元库;和
处理器可执行指令和/或数据,当所述计算机程序产品存储在机器人系统的非暂时性处理器可读存储介质中并由所述机器人系统的至少一个处理器执行时,所述至少一个处理器通信地耦合到所述非暂时性处理器可读存储介质,所述处理器可执行指令和/或数据使得所述机器人系统:
启动第一工作目标;
启动第一工作流以完成所述第一工作目标,所述第一工作流包括从所述可重复使用的工作基元库中选择的第一组可重复使用的工作基元;和
执行所述第一工作流,其中,执行所述第一工作流包括执行所述第一组可重复使用的工作基元。
19.根据权利要求18所述的计算机程序产品,还包括:
处理器可执行指令和/或数据,当所述计算机程序产品存储在所述机器人系统的所述非暂时性处理器可读存储介质中并由所述机器人系统的至少一个处理器执行时,所述处理器可执行指令和/或数据使得所述机器人系统:
启动不同于所述第一工作目标的第二工作目标;
启动第二工作流以完成所述第二工作目标,所述第二工作流包括从所述可重复使用的工作基元库中选择的第二组可重复使用的工作基元,其中,所述第二工作流不同于所述第一工作流,并且至少一个共有的可重复使用的工作基元包括在所述第一工作流和所述第二工作流两者中;和
执行所述第二工作流,其中,执行所述第二工作流包括执行所述第二组可重复使用的工作基元。
20.根据权利要求18所述的计算机程序产品,还包括:
处理器可执行指令和/或数据,当所述计算机程序产品存储在所述机器人系统的所述非暂时性处理器可读存储介质中并由所述机器人系统的至少一个处理器执行时,所述处理器可执行指令和/或数据使得所述机器人系统自主地识别所述第一工作流以完成所述第一工作目标。
21.一种机器人抓取对象的操作方法,其中,所述机器人包括:
具有多个手指和可相对的拇指的机器人手;
操作以控制所述机器人手的致动的至少一个处理器;
通信地耦合到所述至少一个处理器的至少一个传感器;和
通信地耦合到所述至少一个处理器的非暂时性处理器可读存储介质,所述非暂时性处理器可读存储介质存储可重复使用的抓取基元库和处理器可执行指令,所述处理器可执行指令当由所述至少一个处理器执行时,使得所述机器人手自主地执行所述可重复使用的抓取基元库中的可重复使用的抓取基元,所述方法包括:
通过所述至少一个传感器收集关于所述对象的数据;
通过所述至少一个处理器分析所述数据以确定所述对象的几何结构;
通过所述至少一个处理器至少部分地基于所述对象的几何结构来从所述可重复使用的抓取基元库中选择特定的可重复使用的抓取基元;和
通过所述机器人手执行所述特定的可重复使用的抓取基元以抓取所述对象。
22.根据权利要求21所述的方法,其中,通过所述机器人手执行所述特定的可重复使用的抓取基元以抓取所述对象包括通过所述至少一个处理器执行处理器可执行指令,所述处理器可执行指令使得所述机器人手自主地执行所述特定的可重复使用的抓取基元以抓取所述对象。
23.根据权利要求21所述的方法,其中,所述至少一个传感器包括至少一个光学传感器,并且其中:
通过所述至少一个传感器收集关于所述对象的数据包括通过所述至少一个光学传感器收集关于所述对象的光学数据;和
通过所述至少一个处理器分析所述数据以确定所述对象的几何结构包括由所述至少一个处理器分析所述光学数据以确定所述对象的几何结构。
24.根据权利要求21所述的方法,其中,通过所述至少一个处理器至少部分地基于所述对象的几何结构来从所述可重复使用的抓取基元库中选择特定的可重复使用的抓取基元包括通过所述至少一个处理器选择相对于所述可重复使用的抓取基元库中的所有其他可重复使用的抓取基元最适合所述对象的几何结构的所述特定的可重复使用的抓取基元。
25.根据权利要求24所述的方法,其中,通过所述至少一个处理器选择最适合所述对象的几何结构的所述特定的可重复使用的抓取基元包括通过所述至少一个处理器选择所述特定的可重复使用的抓取基元,所述特定的可重复使用的抓取基元采用所述机器人手的所述多个手指和所述可相对的拇指的构造,所述构造相对于所述可重复使用的抓取基元库中的所有其他可重复使用的抓取基元最适应所述对象的几何结构。
26.根据权利要求21所述的方法,其中,通过所述至少一个处理器选择最适合所述对象的几何结构的所述特定的可重复使用的抓取基元包括通过所述至少一个处理器模拟所述机器人手利用所述可重复使用的抓取基元库中的每个可重复使用的抓取基元抓取所述对象,以确定所述可重复使用的抓取基元库中的哪个特定的可重复使用的抓取基元相对于所述可重复使用的抓取基元库中的所有其他抓取基元最适合所述对象的几何结构。
27.根据权利要求21所述的方法,还包括:
通过所述至少一个处理器分析关于所述对象的附加数据以确定所述对象的至少一个附加参数,其中,通过所述至少一个处理器至少部分地基于所述对象的几何结构来从所述可重复使用的抓取基元库中选择特定的可重复使用的抓取基元包括通过所述至少一个处理器至少部分地基于所述对象的几何结构和所述对象的所述至少一个附加参数两者来从所述可重复使用的抓取基元库中选择所述特定的可重复使用的抓取基元。
28.根据权利要求27所述的方法,还包括:
通过所述至少一个传感器收集关于所述对象的所述附加数据,并且其中,关于所述对象的所述附加数据是从由以下项组成的组中选择的:所述对象的硬度、所述对象的刚性、所述对象的标识、所述对象的功能和所述对象的质量。
29.根据权利要求27所述的方法,其中,所述机器人还包括通信地耦合到所述至少一个处理器的至少一个接收器,并且其中,所述方法还包括:
由所述接收器接收关于所述对象的所述附加数据。
30.根据权利要求21所述的方法,其中,所述非暂时性处理器可读存储介质还存储关于将由所述机器人执行的工作目标的数据,所述工作目标涉及抓取所述对象,并且其中,通过所述至少一个处理器至少部分地基于所述对象的几何结构来从所述可重复使用的抓取基元库中选择特定的可重复使用的抓取基元包括通过所述至少一个处理器至少部分地基于所述对象的几何结构和关于将由所述机器人执行的所述工作目标的所述数据两者来从所述可重复使用的抓取基元库中选择所述特定的可重复使用的抓取基元。
31.一种机器人,包括:
主体;
机械地耦合到所述主体的机器人手,所述机器人手具有多个手指和可相对的拇指;
操作以控制所述机器人手的致动的至少一个处理器;
通信地耦合到所述至少一个处理器的至少一个传感器;和
通信地耦合到所述至少一个处理器的非暂时性处理器可读存储介质,所述非暂时性处理器可读存储介质存储可重复使用的抓取基元库和处理器可执行指令,所述处理器可执行指令当由所述至少一个处理器执行时,使得所述机器人:
收集关于所述对象的数据;
分析所述数据以确定所述对象的几何结构;
至少部分地基于所述对象的几何结构,来从所述可重复使用的抓取基元库中选择特定的可重复使用的抓取基元;和
执行所述特定的可重复使用的抓取基元来抓取所述对象。
32.根据权利要求31所述的机器人,其中,当由所述至少一个处理器执行时使得所述机器人执行所述特定的可重复使用的抓取基元以抓取所述对象的所述处理器可执行指令使得所述机器人手自主地执行所述特定的可重复使用的抓取基元以抓取所述对象。
33.根据权利要求31所述的机器人,其中,所述至少一个传感器包括至少一个光学传感器,并且其中,当由所述至少一个处理器执行时使得使所述机器人收集关于所述对象的数据的所述处理器可执行指令使得所述至少一个光学传感器收集关于所述对象的光学数据。
34.根据权利要求31所述的机器人,其中,当由所述至少一个处理器执行时使得所述机器人至少部分地基于所述对象的几何结构来从所述可重复使用的抓取基元库中选择特定的可重复使用的抓取基元的所述处理器可执行指令使得所述机器人选择所述特定的可重复使用的抓取基元,所述特定的可重复使用的抓取基元相对于所述可重复使用的抓取基元库中的所有其他可重复使用的抓取基元最适合所述对象的几何结构。
35.根据权利要求34所述的机器人,其中,当由所述至少一个处理器执行时使得所述机器人选择最适合所述对象的几何结构的所述特定的可重复使用的抓取基元的所述处理器可执行指令使得所述机器人选择所述特定的可重复使用的抓取基元,所述特定的可重复使用的抓取基元采用所述机器人手的所述多个手指和所述可相对的拇指的构造,所述构造相对于所述可重复使用的抓取基元库中的所有其他可重复使用的抓取基元最适应所述对象的几何结构。
36.根据权利要求31所述的机器人,其中,当由所述至少一个处理器执行时使得所述机器人至少部分地基于所述对象的几何结构来从所述可重复使用的抓取基元库中选择特定的可重复使用的抓取基元的所述处理器可执行指令使得所述机器人模拟所述机器人手利用所述可重复使用的抓取基元库中的每个可重复使用的抓取基元抓取所述对象,以确定所述可重复使用的抓取基元库中的哪个特定的可重复使用的抓取基元相对于所述可重复使用的抓取基元库中的所有其他抓取基元最适合所述对象的几何结构。
37.根据权利要求31所述的机器人,其中,所述非暂时性处理器可读存储介质还存储处理器可执行指令,所述处理器可执行指令当由所述至少一个处理器执行时,使得所述机器人分析关于所述对象的附加数据以确定所述对象的至少一个附加参数,并且其中,当由所述至少一个处理器执行时使得所述机器人至少部分地基于所述对象的几何结构来从所述可重复使用的抓取基元库中选择特定的可重复使用的抓取基元的所述处理器可执行指令使得所述机器人至少部分地基于所述对象的几何结构和所述对象的所述至少一个附加参数两者来从所述可重复使用的抓取基元库中选择特定的可重复使用的抓取基元。
38.根据权利要求37所述的机器人,其中,所述非暂时性处理器可读存储介质还存储处理器可执行指令,所述处理器可执行指令当由所述至少一个处理器执行时,使得所述机器人收集关于所述对象的所述附加数据,并且其中,关于所述对象的所述附加数据是从由以下项组成的组中选择的:所述对象的硬度、所述对象的刚性、所述对象的标识、所述对象的功能和所述对象的质量。
39.根据权利要求37所述的机器人,还包括:
通信地耦合到所述至少一个处理器的至少一个接收器,并且其中,所述非暂时性处理器可读存储介质还存储处理器可执行指令,所述处理器可执行指令当由所述至少一个处理器执行时,使得所述机器人接收关于所述对象的所述附加数据。
40.根据权利要求31所述的机器人,其中,所述非暂时性处理器可读存储介质还存储关于将由所述机器人执行的工作目标的数据,所述工作目标涉及抓取所述对象,并且其中,当由所述至少一个处理器执行时使得所述机器人至少部分地基于所述对象的几何结构来从所述可重复使用的抓取基元库中选择特定的可重复使用的抓取基元的所述处理器可执行指令,使得所述机器人至少部分地基于所述对象的几何结构和关于将由所述机器人执行的所述工作目标的所述数据两者来从所述可重复使用的抓取基元库中选择所述特定的可重复使用的抓取基元。
41.一种初始化机器人以完成大量工作目标的计算机实现的方法,所述方法包括:
定义可重复使用的工作基元库,每个可重复使用的工作基元能够由所述机器人执行,其中,来自所述可重复使用的工作基元库的可重复使用的工作基元的相应组合和排列由所述机器人启动和执行,以便完成相应的工作目标;和
训练所述机器人以自主地执行所述可重复使用的工作基元库中的每个可重复使用的工作基元。
42.根据权利要求41所述的方法,其中,训练所述机器人以自主地执行所述可重复使用的工作基元库中的每个可重复使用的工作基元包括在模拟环境中训练所述机器人以自主地执行所述可重复使用的工作基元库中的每个可重复使用的工作基元。
43.根据权利要求42所述的方法,其中,在模拟环境中训练所述机器人以自主地执行所述可重复使用的工作基元库中的每个可重复使用的工作基元包括:
在所述模拟环境中生成所述机器人的第一模拟实例;
重复地执行处理器可执行指令,以使得所述机器人的所述第一模拟实例执行所述可重复使用的工作基元库中的第一可重复使用的工作基元;和
基于重复地执行所述处理器可执行指令以使得所述机器人的所述第一模拟实例执行所述第一可重复使用的工作基元的至少一个结果来细化使得所述机器人的所述第一模拟实例执行所述第一可重复使用的工作基元的所述处理器可执行指令。
44.根据权利要求43所述的方法,其中,在模拟环境中训练所述机器人以自主地执行所述可重复使用的工作基元库中的每个可重复使用的工作基元还包括:
在所述模拟环境中生成所述机器人的至少一个附加模拟实例;
重复地执行处理器可执行指令,以使得所述机器人的所述至少一个附加模拟实例执行所述可重复使用的工作基元库中的所述第一可重复使用的工作基元;和
基于重复地执行所述处理器可执行指令以使得所述机器人的所述第一模拟实例和所述机器人的所述至少一个附加模拟实例执行所述第一可重复使用的工作基元的至少一个结果来细化使得所述机器人的所述第一模拟实例和所述机器人的所述至少一个附加模拟实例两者执行所述第一可重复使用的工作基元的所述处理器可执行指令。
45.根据权利要求43所述的方法,其中,在模拟环境中训练所述机器人以自主地执行所述可重复使用的工作基元库中的每个可重复使用的工作基元还包括:
重复地执行处理器可执行指令,以使得所述机器人的所述第一模拟实例执行所述可重复使用的工作基元库中的至少一个附加的可重复使用的工作基元;和
基于重复地执行所述处理器可执行指令以使得所述机器人的所述第一模拟实例执行所述至少一个附加的可重复使用的工作基元的至少一个结果来细化使得所述机器人的所述第一模拟实例执行所述至少一个附加的可重复使用的工作基元的所述处理器可执行指令。
46.根据权利要求41所述的方法,其中,训练所述机器人以自主地执行所述可重复使用的工作基元库中的每个可重复使用的工作基元包括:
接收遥操作指令,所述遥操作指令使得所述机器人执行所述可重复使用的工作基元库中的第一可重复使用的工作基元;
执行所述遥操作指令,以使得所述机器人执行所述可重复使用的工作基元库中的所述第一可重复使用的工作基元;和
生成处理器可执行指令,所述处理器可执行指令使得所述机器人重放所述遥操作指令,所述遥操作指令使得所述机器人执行所述可重复使用的工作基元库中的所述第一可重复使用的工作基元。
47.根据权利要求46所述的方法,其中,接收使得所述机器人执行所述可重复使用的工作基元库中的第一可重复使用的工作基元的遥操作指令包括接收低级遥操作指令,所述低级遥操作指令使得所述机器人模仿由真实遥操作驾驶员执行的真实物理动作。
48.根据权利要求46所述的方法,其中,接收使得所述机器人执行所述可重复使用的工作基元库中的第一可重复使用的工作基元的遥操作指令包括接收高级遥操作指令,所述高级遥操作指令使得所述机器人执行从图形用户接口中选择的动作。
49.根据权利要求46所述的方法,其中,训练所述机器人以自主地执行所述可重复使用的工作基元库中的每个可重复使用的工作基元还包括在模拟环境中生成所述机器人的模拟实例,并且其中:
接收使得所述机器人执行所述可重复使用的工作基元库中的第一可重复使用的工作基元的遥操作指令包括接收使得所述机器人的所述模拟实例在所述模拟环境中执行所述第一可重复使用的工作基元的遥操作指令;
执行所述遥操作指令以使得所述机器人执行所述可重复使用的工作基元库中的所述第一可重复使用的工作基元包括执行所述遥操作指令以使得所述机器人的所述模拟实例在所述模拟环境中执行所述第一可重复使用的工作基元;和
生成使得所述机器人重放使得所述机器人执行所述可重复使用的工作基元库中的所述第一可重复使用的工作基元的所述遥操作指令的处理器可执行指令包括生成使得所述机器人的所述模拟实例重放使得所述机器人的所述模拟实例在所述模拟环境中执行所述第一可重复使用的工作基元的所述遥操作指令的处理器可执行指令。
50.根据权利要求49所述的方法,其中,接收使得所述机器人的所述模拟实例在所述模拟环境中执行所述第一可重复使用的工作基元的遥操作指令包括接收低级遥操作指令,所述低级遥操作指令使得所述机器人的所述模拟实例模仿由真实遥操作驾驶员执行的真实物理动作。
51.根据权利要求49所述的方法,其中,接收使得所述机器人的所述模拟实例在所述模拟环境中执行所述第一可重复使用的工作基元的遥操作指令包括接收高级遥操作指令,所述高级遥操作指令使得所述机器人的所述模拟实例执行从图形用户接口中选择的动作。
52.根据权利要求46所述的方法,其中:
接收使得所述机器人执行所述可重复使用的工作基元库中的第一可重复使用的工作基元的遥操作指令包括接收使得所述机器人执行所述可重复使用的工作基元库中的所述第一可重复使用的工作基元的第一实例的第一组遥操作指令以及接收使得所述机器人执行所述可重复使用的工作基元库中的所述第一可重复使用的工作基元的第二实例的第二组遥操作指令;和
执行所述遥操作指令以使得所述机器人执行所述可重复使用的工作基元库中的所述第一可重复使用的工作基元包括执行所述第一组遥操作指令以使得所述机器人执行所述可重复使用的工作基元库中的所述第一可重复使用的工作基元的所述第一实例以及执行所述第二组遥操作指令以使得所述机器人执行所述可重复使用的工作基元库中的所述第一可重复使用的工作基元的所述第二实例。
53.根据权利要求52所述的方法,其中,生成使得所述机器人重放使得所述机器人执行所述可重复使用的工作基元库中的所述第一可重复使用的工作基元的所述遥操作指令的处理器可执行指令包括:
评估执行所述第一组遥操作指令以使得所述机器人执行所述可重复使用的工作基元库中的所述第一可重复使用的工作基元的所述第一实例和执行所述第二组遥操作指令以使得所述机器人执行所述可重复使用的工作基元库中的所述第一可重复使用的工作基元的所述第二实例的相应结果,以确定所述第一组遥操作指令和所述第二组遥操作指令中的哪一个产生更好的结果;和
生成处理器可执行指令,所述处理器可执行指令使得所述机器人重放所述第一组遥操作指令和所述第二组遥操作指令中的产生所述更好的结果的任何一个。
54.根据权利要求52所述的方法,其中,生成使得所述机器人重放使得所述机器人执行所述可重复使用的工作基元库中的所述第一可重复使用的工作基元的所述遥操作指令的处理器可执行指令包括将所述第一组遥操作指令中的至少一个元素和所述第二组遥操作指令中的至少一个元素组合在所述处理器可执行指令中,所述处理器可执行指令使得所述机器人重放使得所述机器人执行所述可重复使用的工作基元库中的所述第一可重复使用的工作基元的所述遥操作指令。
55.根据权利要求41所述的方法,其中,训练所述机器人以自主地执行所述可重复使用的工作基元库中的每个可重复使用的工作基元包括生成处理器可执行指令,所述处理器可执行指令当由所述机器人的至少一个处理器执行时,使得所述机器人自主地执行所述可重复使用的工作基元库中的每个可重复使用的工作基元,并且所述方法还包括:
将所述处理器可执行指令传送到所述机器人的非暂时性处理器可读存储介质。
56.一种机器人,包括:
主体;
机械地耦合到所述主体的至少一个物理可致动部件;
通信地耦合到所述至少一个物理可致动部件的至少一个处理器;和
通信地耦合到所述至少一个处理器的至少一个非暂时性处理器可读存储介质,所述至少一个非暂时性处理器可读存储介质存储可重复使用的工作基元库和处理器可执行指令,所述处理器可执行指令当由至少一个处理器执行时,使得所述机器人选择性地和自主地执行所述可重复使用的工作基元库中的每个可重复使用的工作基元,所述处理器可执行指令由过程训练,所述过程包括:
在模拟环境中生成所述机器人的第一模拟实例;
重复地执行处理器可执行指令,以使得所述机器人的所述第一模拟实例执行所述可重复使用的工作基元库中的第一可重复使用的工作基元;
基于重复地执行所述处理器可执行指令以使得所述机器人的所述第一模拟实例执行所述第一可重复使用的工作基元的至少一个结果来细化使得所述机器人的所述第一模拟实例执行所述第一可重复使用的工作基元的所述处理器可执行指令;和
将所述处理器可执行指令传送到所述机器人的所述非暂时性处理器可读存储介质。
57.根据权利要求56所述的机器人,其中,训练所述处理器可执行指令的所述过程还包括:
在所述模拟环境中生成所述机器人的至少一个附加模拟实例;
重复地执行处理器可执行指令,以使得所述机器人的所述至少一个附加模拟实例执行所述可重复使用的工作基元库中的所述第一可重复使用的工作基元;和
基于重复地执行所述处理器可执行指令以使得所述机器人的所述第一模拟实例和所述机器人的所述至少一个附加模拟实例执行所述第一可重复使用的工作基元的至少一个结果来细化使得所述机器人的所述第一模拟实例和所述机器人的所述至少一个附加模拟实例两者执行所述第一可重复使用的工作基元的所述处理器可执行指令。
58.一种计算机程序产品,包括:
可重复使用的工作基元库;和
处理器可执行指令和/或数据,当所述计算机程序产品存储在机器人系统的非暂时性处理器可读存储介质中并由所述机器人系统的至少一个处理器执行时,所述至少一个处理器通信地耦合到所述非暂时性处理器可读存储介质,所述处理器可执行指令和/或数据使得所述机器人系统选择性地和自主地执行所述可重复使用的工作基元库中的每个可重复使用的工作基元,所述处理器可执行指令由过程训练,所述过程包括:
在模拟环境中生成所述机器人的第一模拟实例;
重复地执行处理器可执行指令,以使得所述机器人的所述第一模拟实例执行所述可重复使用的工作基元库中的第一可重复使用的工作基元;
基于重复地执行所述处理器可执行指令以使得所述机器人的所述第一模拟实例执行所述第一可重复使用的工作基元的至少一个结果来细化使得所述机器人的所述第一模拟实例执行所述第一可重复使用的工作基元的所述处理器可执行指令;和
将所述处理器可执行指令传送到所述机器人的所述非暂时性处理器可读存储介质。
59.根据权利要求58所述的计算机程序产品,其中,训练所述处理器可执行指令的所述过程还包括:
在所述模拟环境中生成所述机器人的至少一个附加模拟实例;
重复地执行处理器可执行指令,以使得所述机器人的所述至少一个附加模拟实例执行所述可重复使用的工作基元库中的所述第一可重复使用的工作基元;和
基于重复地执行所述处理器可执行指令以使得所述机器人的所述第一模拟实例和所述机器人的所述至少一个附加模拟实例执行所述第一可重复使用的工作基元的至少一个结果来细化使得所述机器人的所述第一模拟实例和所述机器人的所述至少一个附加模拟实例两者执行所述第一可重复使用的工作基元的所述处理器可执行指令。
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202163151044P | 2021-02-18 | 2021-02-18 | |
US63/151,044 | 2021-02-18 | ||
US202163232694P | 2021-08-13 | 2021-08-13 | |
US63/232,694 | 2021-08-13 | ||
US17/566,589 US11938634B2 (en) | 2021-02-18 | 2021-12-30 | Systems, devices, and methods for multi-purpose robots |
US17/566,589 | 2021-12-30 | ||
PCT/CA2022/050229 WO2022174344A1 (en) | 2021-02-18 | 2022-02-17 | Systems, devices, and methods for multi-purpose robots |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117177842A true CN117177842A (zh) | 2023-12-05 |
Family
ID=82800966
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280029391.2A Pending CN117177842A (zh) | 2021-02-18 | 2022-02-17 | 用于多用途机器人的系统、设备和方法 |
Country Status (8)
Country | Link |
---|---|
US (4) | US11938634B2 (zh) |
JP (1) | JP2024507237A (zh) |
KR (1) | KR102669120B1 (zh) |
CN (1) | CN117177842A (zh) |
CA (3) | CA3149261A1 (zh) |
DE (1) | DE112022001108T5 (zh) |
GB (1) | GB2611912A (zh) |
WO (1) | WO2022174344A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210229281A1 (en) * | 2021-03-26 | 2021-07-29 | Venkat Natarajan | Collaborative multi-robot tasks using action primitives |
WO2024065045A1 (en) * | 2022-09-27 | 2024-04-04 | Sanctuary Cognitive Systems Corporation | Systems, methods, and computer program products for automating tasks for robots |
US11707852B1 (en) | 2022-11-04 | 2023-07-25 | Agility Robotics, Inc. | Grippers for robotic manipulation of objects and related technology |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104137051A (zh) * | 2012-02-21 | 2014-11-05 | 亚马逊技术有限公司 | 用于材料处理设施中的产品自动拾取的系统和方法 |
CN107139177A (zh) * | 2017-07-03 | 2017-09-08 | 北京康力优蓝机器人科技有限公司 | 一种具备抓取功能的机器人智能末端执行器及控制系统 |
CN108349083A (zh) * | 2015-11-13 | 2018-07-31 | 伯克希尔格雷股份有限公司 | 用于提供各种物体的分拣的分拣系统和方法 |
CN108972494A (zh) * | 2018-06-22 | 2018-12-11 | 华南理工大学 | 一种仿人机械手抓取控制系统及其数据处理方法 |
CN109074513A (zh) * | 2016-03-03 | 2018-12-21 | 谷歌有限责任公司 | 用于机器人抓握的深度机器学习方法和装置 |
CN109997108A (zh) * | 2016-07-18 | 2019-07-09 | L·奥德纳 | 训练机器人操作臂 |
CN111438704A (zh) * | 2018-12-18 | 2020-07-24 | 西门子股份公司 | 任务特定的机器人抓握系统和方法 |
CN111844101A (zh) * | 2020-07-31 | 2020-10-30 | 中国科学技术大学 | 一种多指灵巧手分拣规划方法 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4302920A (en) * | 1979-11-21 | 1981-12-01 | Lantech Inc. | Film web drive stretch wrapping apparatus and process |
US9486918B1 (en) * | 2013-03-13 | 2016-11-08 | Hrl Laboratories, Llc | System and method for quick scripting of tasks for autonomous robotic manipulation |
US9720396B2 (en) | 2014-05-23 | 2017-08-01 | Fisher-Rosemount Systems, Inc. | Methods and apparatus to configure process control systems based on generic process system libraries |
US9403273B2 (en) | 2014-05-23 | 2016-08-02 | GM Global Technology Operations LLC | Rapid robotic imitation learning of force-torque tasks |
SG10201809399VA (en) | 2014-06-12 | 2018-11-29 | Play I Inc | System and method for reinforcing programming education through robotic feedback |
US9880553B1 (en) * | 2015-04-28 | 2018-01-30 | Hrl Laboratories, Llc | System and method for robot supervisory control with an augmented reality user interface |
US9707680B1 (en) * | 2015-05-28 | 2017-07-18 | X Development Llc | Suggesting, selecting, and applying task-level movement parameters to implementation of robot motion primitives |
SG11201804933SA (en) * | 2015-12-16 | 2018-07-30 | Mbl Ltd | Robotic kitchen including a robot, a storage arrangement and containers therefor |
US11292133B2 (en) | 2018-09-28 | 2022-04-05 | Intel Corporation | Methods and apparatus to train interdependent autonomous machines |
KR20200071814A (ko) * | 2018-11-30 | 2020-06-22 | 한국과학기술연구원 | 인간-로봇 상호작용을 위한 인터랙션 시스템 및 방법 |
US11345030B2 (en) | 2019-05-28 | 2022-05-31 | Intel Corporation | Methods and apparatus for complex assembly via autonomous robots using reinforcement learning action primitives |
US11691270B2 (en) | 2019-07-31 | 2023-07-04 | Sanctuary Cognitive Systems Corporation | Mechanism with three degrees-of-freedom (DOF) output to provide independent control over roll, pitch, and yaw of output structure |
US11461867B2 (en) | 2019-09-19 | 2022-10-04 | Sanctuary Cognitive Systems Corporation | Visual interface and communications techniques for use with robots |
US20210122035A1 (en) | 2019-10-29 | 2021-04-29 | Sanctuary Cognitive Systems Corporation | Machine vision parsing of three-dimensional environments employing neural networks |
US11639004B2 (en) | 2019-11-18 | 2023-05-02 | Sanctuary Cognitive Systems Corporation | Mechanical hand, useful in robotics |
US11865703B2 (en) | 2019-12-05 | 2024-01-09 | Sanctuary Cognitive Systems Corporation | Flexible mechanical joint |
US11812126B2 (en) | 2020-01-27 | 2023-11-07 | Sanctuary Cognitive Systems Corporation | Eye cartridge |
US20210307170A1 (en) | 2020-03-30 | 2021-09-30 | Sanctuary Cognitive Systems Corporation | Sensory array for use with artificial skin and artificial skin with sensory array, useful in robotics |
US11724396B2 (en) * | 2020-04-23 | 2023-08-15 | Flexiv Ltd. | Goal-oriented control of a robotic arm |
US20210229281A1 (en) | 2021-03-26 | 2021-07-29 | Venkat Natarajan | Collaborative multi-robot tasks using action primitives |
-
2021
- 2021-12-30 US US17/566,589 patent/US11938634B2/en active Active
- 2021-12-30 US US17/566,595 patent/US11717963B2/en active Active
- 2021-12-30 US US17/566,601 patent/US11787049B2/en active Active
-
2022
- 2022-02-17 CA CA3149261A patent/CA3149261A1/en active Pending
- 2022-02-17 GB GB2219839.4A patent/GB2611912A/en active Pending
- 2022-02-17 CN CN202280029391.2A patent/CN117177842A/zh active Pending
- 2022-02-17 DE DE112022001108.4T patent/DE112022001108T5/de active Pending
- 2022-02-17 CA CA3149277A patent/CA3149277A1/en active Pending
- 2022-02-17 CA CA3151300A patent/CA3151300A1/en active Pending
- 2022-02-17 KR KR1020237031920A patent/KR102669120B1/ko active IP Right Grant
- 2022-02-17 JP JP2023550281A patent/JP2024507237A/ja active Pending
- 2022-02-17 WO PCT/CA2022/050229 patent/WO2022174344A1/en active Application Filing
-
2023
- 2023-06-07 US US18/206,741 patent/US20230311316A1/en active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104137051A (zh) * | 2012-02-21 | 2014-11-05 | 亚马逊技术有限公司 | 用于材料处理设施中的产品自动拾取的系统和方法 |
US20150057793A1 (en) * | 2012-02-21 | 2015-02-26 | Amazon Technologies, Inc. | System and method for automatic picking of products in a materials handling facility |
CN108349083A (zh) * | 2015-11-13 | 2018-07-31 | 伯克希尔格雷股份有限公司 | 用于提供各种物体的分拣的分拣系统和方法 |
CN109074513A (zh) * | 2016-03-03 | 2018-12-21 | 谷歌有限责任公司 | 用于机器人抓握的深度机器学习方法和装置 |
CN109997108A (zh) * | 2016-07-18 | 2019-07-09 | L·奥德纳 | 训练机器人操作臂 |
CN107139177A (zh) * | 2017-07-03 | 2017-09-08 | 北京康力优蓝机器人科技有限公司 | 一种具备抓取功能的机器人智能末端执行器及控制系统 |
CN108972494A (zh) * | 2018-06-22 | 2018-12-11 | 华南理工大学 | 一种仿人机械手抓取控制系统及其数据处理方法 |
CN111438704A (zh) * | 2018-12-18 | 2020-07-24 | 西门子股份公司 | 任务特定的机器人抓握系统和方法 |
CN111844101A (zh) * | 2020-07-31 | 2020-10-30 | 中国科学技术大学 | 一种多指灵巧手分拣规划方法 |
Also Published As
Publication number | Publication date |
---|---|
JP2024507237A (ja) | 2024-02-16 |
US20230311316A1 (en) | 2023-10-05 |
US11787049B2 (en) | 2023-10-17 |
KR20230151526A (ko) | 2023-11-01 |
US20220258341A1 (en) | 2022-08-18 |
CA3149277A1 (en) | 2022-08-18 |
CA3149261A1 (en) | 2022-08-18 |
DE112022001108T5 (de) | 2024-01-18 |
WO2022174344A1 (en) | 2022-08-25 |
CA3151300A1 (en) | 2022-08-18 |
GB202219839D0 (en) | 2023-02-15 |
US20220258340A1 (en) | 2022-08-18 |
US11717963B2 (en) | 2023-08-08 |
US20220258342A1 (en) | 2022-08-18 |
GB2611912A (en) | 2023-04-19 |
KR102669120B1 (ko) | 2024-05-29 |
US11938634B2 (en) | 2024-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102669120B1 (ko) | 다목적 로봇에 대한 시스템, 장치 및 방법 | |
JP7198831B2 (ja) | オンデマンド遠隔操作を備えた自律ロボット | |
KR102023149B1 (ko) | 로봇 파지를 위한 심층 기계 학습 방법 및 장치 | |
JP2019529135A (ja) | ロボット操作のための深層強化学習 | |
JP2019508273A (ja) | ロボットの把持のための深層機械学習方法および装置 | |
Liarokapis et al. | Deriving dexterous, in-hand manipulation primitives for adaptive robot hands | |
Pedersen et al. | Gesture-based extraction of robot skill parameters for intuitive robot programming | |
US20230053753A1 (en) | Multi-purpose robots and computer program products, and methods for operating the same | |
KR20240090691A (ko) | 다목적 로봇에 대한 시스템, 장치 및 방법 | |
US20230381957A1 (en) | Multi-purpose robots and computer program products, and methods for operating the same | |
US20230381958A1 (en) | Multi-purpose robots and computer program products, and methods for operating the same | |
US20240100704A1 (en) | Systems, methods, and computer program products for automating tasks | |
Nambiar et al. | Automation of unstructured production environment by applying reinforcement learning | |
Vallin et al. | Enabling Cobots to Automatically Identify and Grasp Household Objects | |
Memmesheimer et al. | Robotic Imitation by Markerless Visual Observation and Semantic Associations | |
Sundaralingam | Kinematic Planning and Dynamics Inference for In-Hand Manipulation | |
CN114952836A (zh) | 多指手机器人抓取方法、装置与机器人系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |