CN116126293A - 用于工业机器人代码推荐的装置和方法 - Google Patents
用于工业机器人代码推荐的装置和方法 Download PDFInfo
- Publication number
- CN116126293A CN116126293A CN202211238679.9A CN202211238679A CN116126293A CN 116126293 A CN116126293 A CN 116126293A CN 202211238679 A CN202211238679 A CN 202211238679A CN 116126293 A CN116126293 A CN 116126293A
- Authority
- CN
- China
- Prior art keywords
- circuit
- action
- instructions
- data
- encoded
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
- G06F8/24—Object-oriented
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
- B25J9/163—Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1661—Programme controls characterised by programming, planning systems for manipulators characterised by task planning, object-oriented languages
-
- 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
- G05B13/00—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
- G05B13/02—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
- G05B13/0265—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion
- G05B13/027—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion using neural networks only
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
- G06F8/316—Aspect-oriented programming techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- General Health & Medical Sciences (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Automation & Control Theory (AREA)
- Probability & Statistics with Applications (AREA)
- Manipulator (AREA)
- Stored Programmes (AREA)
Abstract
本公开涉及用于工业机器人代码推荐的装置和方法,公开了用于工业机器人代码推荐的方法、装置、系统和制品。公开的示例包括一种装置,该装置包括:至少一个存储器;装置中的指令;以及处理器电路,用于执行所述指令以至少:为工业机器人生成至少一个动作提议;基于编码的场景信息对该至少一个动作提议进行排名;基于编码的场景信息、任务数据和环境数据为该至少一个动作提议生成参数;并且基于该至少一个动作提议生成动作序列。
Description
技术领域
本公开概括而言涉及工业机器人编程,更具体而言,涉及用于工业机器人代码推荐的装置和方法。
背景技术
近年来,制造商越来越依赖工业机器人解决方案。工业机器人可以执行重复的、危险的和疲劳的任务,高效地产生一致的结果。虽然与传统的制造方法相比工业机器人提供了许多优势,但其必须被编程来完成期望的任务。
发明内容
本公开的一个方面提供了一种装置。该装置包括:至少一个存储器;装置中的指令;以及处理器电路,用于执行指令以至少:为工业机器人生成至少一个动作提议;基于编码的场景信息对至少一个动作提议进行排名;基于编码的场景信息、任务数据和环境数据为至少一个动作提议生成参数;并且基于至少一个动作提议生成动作序列。
本公开的另一方面提供了一种计算机可读介质。该计算机可读介质包括指令。这些指令当被执行时,使得处理器电路至少:为工业机器人生成至少一个动作提议;基于编码的场景信息对至少一个动作提议进行排名;基于编码的场景信息、任务数据和环境数据为至少一个动作提议生成参数;并且基于至少一个动作提议生成动作序列。
本公开的另一方面提供了一种方法。该方法包括:通过利用处理器电路执行指令,来为工业机器人生成至少一个动作提议;通过利用处理器电路执行指令,来基于编码的场景信息对至少一个动作提议进行排名;通过利用处理器电路执行指令,来基于编码的场景信息、任务数据和环境数据为至少一个动作提议生成参数;并且通过利用处理器电路执行指令,来基于至少一个动作提议生成动作序列。
附图说明
图1是包括工业机器人和代码推荐电路的工业环境的图示。
图2是图1的代码推荐电路的示例实现方式的框图。
图3是图2的自然语言编码器电路的示例实现方式的框图。
图4是图2的动作推荐电路和参数推荐电路的示例实现方式的框图。
图5的流程图代表了可被示例处理器电路执行来实现工业机器人代码推荐的示例机器可读指令。
图6的流程图代表了可被示例处理器电路执行来训练人工智能电路的示例机器可读指令。
图7的流程图代表了可被示例处理器电路执行来生成动作推荐的示例机器可读指令。
图8的流程图代表了可被示例处理器电路执行来生成参数推荐的示例机器可读指令。
图9的流程图代表了可被示例处理器电路执行来对任务数据编码的示例机器可读指令。
图10的流程图代表了可被示例处理器电路执行来对环境数据编码的示例机器可读指令。
图11是示例处理平台的框图,该处理平台包括处理器电路,该处理器电路被构造来执行图5-图10的示例机器可读指令以实现图1-图4的代码推荐电路。
图12是图11的处理器电路的示例实现方式的框图。
图13是图11的处理器电路的另一示例实现方式的框图。
图14是用来分发软件(例如,与图5-图10的示例机器可读指令相对应的软件)的示例软件分发平台的框图。
附图不是按比例的。相反,在附图中可放大层或区域的厚度。虽然附图中示出了具有清晰线条和边界的层和区域,但这些线条和/或边界中的一些或者全部可能是理想化的。在现实中,边界和/或线条可能是难以察觉的,混合的,和/或不规则的。一般而言,相同的标号将在各幅图和伴随的书面描述的各处被用于指代相同或相似的部件。如本文所使用的,除非另有说明,否则术语“上方”描述了两个部分相对于地球的关系。如果第二部分有至少一部分在地球和第一部分之间,那么第一部分就在第二部分上方。同样,如本文所使用的,当第一部分比第二部分更靠近地球时,第一部分就在第二部分“下方”。如上所述,第一部分可以在以下情况中的一种或多种情况下在第二部分的上方或下方:其间有其他部分,其间没有其他部分,第一部分和第二部分接触,或者第一部分和第二部分没有直接接触彼此。如本专利中所使用的,叙述任何部件(例如,层、膜、区、区域或板)以任何方式在另一部件上(例如,定位在其上、位于其上、被布置在其上、或者被形成在其上,等等),表明所提及的部件或者与另一部件接触,或者所提及的部件在另一部件上方,有一个或多个中间部件位于其间。如本文所使用的,对连接的提及(例如,附接、耦合、连接、接合)可包括由该对连接的提及所提及的元素之间的中间构件和/或这些元素之间的相对运动,除非另有指示。因此,对连接的提及不一定推理出两个元素是直接连接的和/或彼此之间有固定关系。如本文所使用的,叙述任何部件与另一部件“接触”,被定义为意指在这两个部件之间没有中间部件。
除非另有具体声明,否则本文使用诸如“第一”、“第二”、“第三”之类的描述语,而不输入或以其他方式指示出任何优先级、物理顺序、在列表中的排列和/或以任何方式排序的含义,而只是用作标签和/或任意名称来区分元素,以便易于理解所公开的示例。在一些示例中,描述语“第一”在详细描述中可用于提及某一元素,而同一元素在权利要求中可以用不同的描述语来提及,例如“第二”或“第三”。在这种情况下,应当理解,这种描述语仅仅用于明确地标识那些元素,这些元素例如可能在其他情况下共享同一名称。如本文所使用的,“大致”和“大约”指的是由于制造容差和/或其他现实世界不完美而可能不确切的尺寸。如本文所使用的,“基本上实时”指的是以近乎瞬时的方式发生,承认现实世界中可能存在计算时间、传输等等方面的延迟。从而,除非另有指明,否则“基本上实时”指的是实时+/-1秒。如本文所使用的,短语“与……通信”——包括其变体——涵盖了直接通信和/或通过一个或多个中间组件进行的间接通信,而不要求直接物理(例如,有线)通信和/或不断的通信,而是还包括按周期性间隔、排定的间隔、非周期性间隔和/或一次性事件的选择性通信。如本文所使用的,“处理器电路”被定义为包括(i)一个或多个专用电气电路,其被构造为执行(一个或多个)特定的操作,并且包括一个或多个基于半导体的逻辑器件(例如,由一个或多个晶体管实现的电气硬件),和/或(ii)一个或多个通用的基于半导体的电气电路,其被用指令编程以执行特定操作,并且包括一个或多个基于半导体的逻辑器件(例如,由一个或多个晶体管实现的电气硬件)。处理器电路的示例包括编程的微处理器、可实例化指令的现场可编程门阵列(Field Programmable Gate Array,FPGA)、中央处理器单元(CentralProcessor Unit,CPU)、图形处理器单元(Graphics Processor Unit,GPU)、数字信号处理器(Digital Signal Processor,DSP)、XPU、或者微控制器和集成电路,例如专用集成电路(Application Specific Integrated Circuit,ASIC)。例如,XPU可以由异构计算系统实现,该计算系统包括多种类型的处理器电路(例如,一个或多个FPGA、一个或多个CPU、一个或多个GPU、一个或多个DSP,等等,和/或这些的组合)以及(一个或多个)应用编程接口(application programming interface,API),这些API可以将(一个或多个)计算任务指派给该多种类型的处理电路中最适于执行该(一个或多个)计算任务的任何一个(或多个)。
具体实施方式
工业机器人通过执行重复的、危险的和疲劳的任务来提高工业环境中的效率。工业机器人的常见任务包括有效载荷处理、切割、喷涂和密封。例如,工业机器人可以处理沉重的有效载荷,减少对工人的体力要求。工业机器人还可以处理危险的任务,比如切割,将工人从潜在的危险切割元素(例如,激光和水射流)中解放出来。一些工业机器人可以喷射挥发性溶剂,减少工人暴露于挥发性溶剂。工业机器人可以以有控制且一致方式施加密封剂和胶水。在其他系统中,工业机器人还可以进行焊接、修剪、抛光,等等。
与传统的制造方法相比,工业机器人提供了许多优势。当与传统方法相比时,工业机器人可以提高生产力,减少产品损坏,提高制造精度,并且改善系统灵活性。这样的优势带来了航空航天、医疗保健、电子、制药、仓储和其他行业中对工业机器人技术的强烈兴趣。
虽然工业机器人为各行业提供了优势,但向工业环境引入机器人可能是昂贵且具有挑战性的。一个主要困难是,工业机器人要求编码指令才能运作。编码指令为工业机器人提供分步指令,并且在工人和机器人机器之间提供了接口。当前,为工业机器人生成代码是耗时的、困难的、而且往往是低效的过程。例如,代码可能是由专门的工业机器人程序员花大代价开发的。然而,可能需要针对工业环境中的微小差异对同样的代码进行多次调整。
一些当前的工业机器人编程方法定义了动作和命令的序列,称为动作序列。动作序列可能要求密集的用户参数化。例如,这种方法可能是基于经由拖放放置和路线选择的图标-组合(icon-composition)类比的。虽然拖放式机器人编程经常比传统的、低级别的机器人编程更高效,但拖放式编程仍然涉及专门的领域培训。此外,需要手动指定非常详细的微不足道的动作是很耗时的,而且经常导致错误。
机器人动作是产生特定结果的行为、例程和/或过程。机器人动作可以被依次组合,以生成动作序列。在一些示例中,通过调整动作参数来进一步完善动作序列。动作参数包括动作和/或动作序列的可变组分。一般而言,动作序列是具有关联的参数的动作,这些动作可以被执行以完成期望的任务。
任务可以与环境(例如,仓库)相关联。任务还可以与场景相关联,该场景对与环境相关联的组件施加了特定的约束。例如,环境可包括仓库,该仓库包括装载托盘和传送带。与仓库环境相关联的场景可包括环境的特定单元中的工业机器人,将物体a、b和c运输到位置x、y和z。
先前的工业机器人编程接口提供了不同的方法来生成动作序列。先前的解决方案可包括监督控制和数据获取图、基于块的图,等等。然而,先前的解决方案并没有提供稳健的自动完成能力来改善动作序列和参数生成。
先前的工业机器人编程接口和语言要求专家知识和繁琐的手动输入,这造成了低生产力。先前的工业机器人编程解决方案缺乏稳健的感知系统来在编程时建议新的动作。此外,先前的系统并不以对环境的自然语言描述为基础来建议动作。先前的单词建议或代码完成的一般方法并不是为了利用来自工业环境的环境、场景和任务数据而设计的。
本文公开了示例工业机器人代码推荐系统。示例系统包括动作推荐电路和参数推荐电路,该电路利用程序员意图进行机器人动作序列编程。示例系统生成动作序列并且向机器人提供动作序列以解决任务。在一些示例中,情境化代码自动完成引擎生成动作序列建议。在一些示例中,情境化代码自动完成引擎是在经工业工人验证的正确和/或成功程序的现有代码库上训练的。
本文描述的示例系统提高了机器人程序员生产力,并且减少了对机器人编程的领域知识的依赖。当前不可能实现自动化的任务(例如,高混合、低容量、按订单生产,等等)从本文描述的示例系统中受益。其他益处包括增大了可委托给机器人系统的任务的数目。
图1是包括工业机器人和代码推荐电路的工业环境的图示。图1包括示例工业机器人代码推荐系统100、示例代码推荐电路102、示例工业机器人104、示例用户106、示例第一传感器108a、示例第二传感器108b、示例第三传感器108c、以及示例工业环境110。
示例工业机器人代码推荐系统100从至少三个来源收集信息:(1)通过高水平的任务描述和情境信息的程序员意图,(2)传感器数据,以及(3)已知程序的注释代码库。示例系统100从要执行的任务的自然语言描述中提取程序员意图。示例系统100部分地基于对环境的自然语言描述来提取情境信息。此外,传感器(例如,示例传感器108a-108c)向示例系统100提供数据。示例系统100基于这些数据提取和/或生成场景信息。已知程序的代码库被用描述这些程序所针对的任务和环境的自然语言注释来增强。
示例代码推荐电路102从任务描述、环境数据、场景数据和增强的代码库生成动作序列程序。示例代码推荐电路102基于对任务和环境的自然语言描述,为动作序列生成动作推荐。示例代码推荐电路102还与感知系统(例如,示例传感器108a-108c)对接,以编码场景的状态,从而基于编码的场景数据对动作推荐进行排名。
示例代码推荐电路102还基于任务、环境和场景数据生成参数推荐。关于代码推荐电路102的进一步细节将在下面联系图2-图10进行描述。
示例工业机器人代码推荐系统100与示例工业环境110相关联。示例工业环境110是工业制造仓库,它包括示例用户106、示例传感器108a-108c、示例工业机器人104以及示例代码推荐电路102。示例工业环境110是制造仓库,有工人与代码推荐电路102交互以控制工业机器人104。
示例代码推荐电路102接收来自示例第一传感器108a、示例第二传感器108b和示例第三传感器108c的输入。示例传感器108a-108c是图像传感器,这些图像传感器被用于捕捉工业环境110的照片和/或图像。在一些示例中,示例传感器108a-108c可以转而是任何其他类型的传感器和/或传感器的组合,例如本体感受传感器、可见光成像传感器、红外传感器、超声波传感器、温度传感器、音频传感器、压力传感器、力传感器、加速度计、接近传感器、超声波传感器,等等。在一些示例中,传感器108a-108c可以被称为感知系统和/或被包括在更大的感知系统中。在一些示例中,传感器108a-108c可以从工业环境110捕捉数据。
示例工业机器人104是用于制造的机器人。示例工业机器人104是可编程的,并且可以执行由示例代码推荐电路102提供的动作序列。示例工业机器人104可以操纵具有六个自由度(6DoF)的物体。然而,在一些示例中,代码推荐电路可以与任何其他类型的机器人(例如,具有较少自由度的机器人)对接。在一些示例中,代码推荐电路102可以为多于一个工业机器人生成动作推荐。在这样的示例中,额外的管理电路可以与代码推荐电路102相关联。
示例工业环境110包括用户106、传感器108a-108c、工业机器人104和代码推荐电路102。然而,在一些示例中,制造环境可能不包括用户106、传感器108a-108c、工业机器人104和/或代码推荐电路102的全部。例如,代码推荐电路102可以被安置在外部服务器中或者云计算环境中。在一些示例中,用户106可能不是工厂工人,而可能是外部安全操作员、程序员、工厂经理,等等,并且位于工业环境110的外部。
图2是图1的代码推荐电路102的示例实现方式的框图。代码推荐电路102包括示例动作推荐电路202、示例参数推荐电路204、示例场景编码器206、示例自然语言编码器208、示例任务描述编码器210、示例环境编码器212、示例数据库管理电路214、示例增强代码数据库216、以及示例通信总线218。
动作推荐电路202包括生成性人工智能(artificial intelligence,AI)模型,该模型基于任务、环境和场景的表示来提议动作。示例动作推荐电路202是部分基于存储在增强代码数据库216中的增强代码来训练的。在训练时,场景感知一般是不可获得的,因此,生成性AI模型不考虑当前场景状态和物体来告知其提议。然而,动作推荐电路202仍然可以通过在运行时使用当前场景表示作为排名系统来准确地预测输出。这样的排名系统通过减少似是而非的动作来提高准确性。
排名系统可以基于前提条件。示例动作可能有在执行该示例动作之前要完成的前提条件。例如,抓握动作可能与在示例场景中存在和可用的物体相关联。通过分析示例场景,不满足前提条件的动作可以被降低关联的优先级。额外地,或者替代地,不具有关联的前提条件的动作可以被完全丢弃。额外地,或者替代地,虽然能够满足前提条件,但是当场景数据使得提议的动作不可能发生时(例如,由于其他物体阻挡了抓握,操纵是困难的),示例提议动作可以被降低关联的优先级。在一些示例中,提议排名以优先级降序被输出。
在一些示例中,生成模型体系结构能够为单个输入生成多个输出。多个输出可以由提议排名电路进行排名,以推荐多个输出的子集。
动作推荐电路202通过在生成模型的最后一层的排名操作之后显示排名最靠前的动作来生成多个输出。在图2的示例中,该排名操作是SoftMax操作。额外地或者替代地,可以使用诸如掉落(dropout)、集总方法之类的方法来对预测进行排名。在一些示例中,生成对抗网络(generative adversarial network,GAN)或者贝叶斯神经网络从学习的概率分布中生成样本。GAN和贝叶斯神经网络可能以增大计算开销为代价产生改善的结果。
在运行时,动作推荐电路202基于编码的任务和环境描述、初始动作序列(可以是空的)和来自传感器数据的场景状态表示来执行动作推荐。在一些示例中,提议被用户(例如,图1的用户106)接受或者拒绝。动作推荐系统202的输出是动作的序列。该输出被传输到参数推荐电路204。额外地,或者替代地,动作序列输出可以被传递到动作序列存储器,该存储器包括初始动作序列和输出,用于输入到生成模型的后续预测。
参数推荐电路204生成建议动作的参数。参数推荐电路204使用场景感知作为训练阶段的一部分。在运行时,场景感知(例如,场景表示)被用作第二生成模型的输入。第二生成模型可以基于与动作推荐电路202的生成模型类似的人工智能(AI)电路。
示例参数推荐电路204在不同的动作和/或动作序列间生成非均一数目的参数。此外,在一些示例中,单个参数可能具有不同的含义,这取决于动作、任务和/或场景数据。然而,在图2的示例中,可能的动作类型的数目相对较少(例如,几十个)。因此,参数推荐电路204包括专门用于为特定动作预测动作参数的按动作模型。例如,可能有三个动作(例如,移动、推、拉)。在这样的示例中,参数推荐电路204可以为每个特定动作包括一生成模型(例如,三个不同的生成模型)。然后,基于任务、环境、场景和先前的动作类型,参数推荐电路可以使用特定的生成模型。
因此,参数推荐电路204为每个动作训练了生成模型。传感器输入可以用于通过运行包含多个动作的示例任务来训练每个动作的特定生成模型。在这样的示例中,参数推荐电路204学习传感器输入和动作参数之间的关系。
在一些示例中,示例参数推荐电路204的输出被发送到用户(例如,图1的用户106)。然后,这样的输出可以由用户在执行额外的参数推荐之前进行微调。
图2的示例自然语言编码器208包括任务描述编码器210和环境编码器212。任务描述编码器210接收自然语言输入(例如,来自图1的示例用户106)并且提取特征,这些特征被馈送到声学模型中(例如,用于工业机器人的专用声学模型)。然后,声学模型的输出被馈送到语言模型中,该语言模型输出自然语言输入(例如,口头查询)的文本转录。在一些示例中,任务描述编码器210和环境编码器212遵循类似的编码过程。
在示例自然语言编码器208中,环境编码器212处理来自传感器108a-108c的顺序数据,生成编码的环境数据。编码的环境数据可以基于空间-时间兴趣点,或者通过应用二维卷积神经网络(convolutional neural network,CNN)特征提取器(例如,AlexNet)与三维CNN特征提取器(例如,C3D)相结合。来自2D CNN和3D CNN网络的输出特征可以被提供给递归神经网络(recurrent neural network,RNN)模型,例如长短期记忆(long short-termmemory,LSTM)或者在描述处理中保留动作序列的时间方面的变换器模型。示例输出可包括对当前环境的文本描述。在一些示例中,输出是以窗口方式生成的,其速率以每秒帧数来描述。
编码的任务和环境数据可以被表达为向量或者字嵌入。示例编码方法包括自然语言查询的语义提升,在图1的工业机器人104的情境内解析查询。在图2的示例中,应用语义关联模型(例如,word2vec)来定义向量嵌入维度。在一些示例中,应用定制规范描述语言(specification description language,SDL)或者场景标记语言(scenario markuplanguage,SML)来描述结构化意图。这种语言可以允许对实体、实体在图1的工业环境110中的属性和/或可能的动作进行规范。
场景编码器206提供场景的表示,供动作推荐电路和/或参数推荐电路使用。在这样的示例中,可以使用多模式的接触和非接触传感器。传感器(例如,传感器108a-108c)也可以被对齐和同步,以提供场景的时间和空间一致的符号表示。
例如,工业机器人104可以被安装在运输物体的传送带前面。在这种场景中,机器人和传送带基于传感器数据提供关于其状态的信息。此外,如果场景物体的几何形状和/或其他特性是已知的,则可能只有物体(例如,由传送带移动的物体)的类型、位置和方向仍然未知。传感器108a-108c于是可以收集数据(例如,相机传感器收集数据),并且将数据发送到与示例场景编码器206、示例任务描述编码器210和/或示例环境编码器212相关联的物体识别电路。物体识别电路可以执行6DoF姿态识别/注册。通过这种方式,用对示例场景中的物体的描述来增强了传感器数据。描述输出可以采取阵列的形式([object_id,位置(x,y,z),方向(x,y,z,w),线速度(v)])。因此,代码推荐电路102可以取得传感器数据并且生成数据,以促进动作和参数推荐。
数据库管理电路214控制增强代码数据库216,从增强代码数据库216加载和存储数据。此外,数据库管理电路214可以从连接到通信总线218的其他元件发送和/或接收信息。
增强代码数据库216包括用人类对任务和环境情境的描述来增强的代码,动作序列程序是为该任务和环境情境编写的。在一些示例中,数据注释是基于程序中的注解的。在一些示例中,预先存在的注解被改换用途用于增强。随着代码推荐电路进行操作,输出动作序列和/或程序可以由人类操作者进行验证。然后,这样的程序可以被纳入到增强代码数据库216中,来为训练提供额外的数据。
示例通信总线218连接了推荐电路202、参数推荐电路204、场景编码器206、自然语言编码器208、任务描述编码器210、环境编码器212、数据库管理电路214以及增强代码数据库216。
图3是图2的自然语言编码器208的示例实现方式的框图。自然语言编码器208包括任务描述编码器210和环境编码器212。任务描述编码器210还包括示例特征提取电路302、示例声学模型电路304、示例语言模型电路306、以及示例意图提取电路308。示例电路302-308连接到通信总线218。如联系图2所述,任务描述编码器210接受自然语言输入,向特征提取电路302提供输入。提取的特征被传输到声学模型电路304,以生成声学模型输出。声学模型输出被馈送到语言模型电路306。最后,任何和/或所有这些输出被馈送到意图提取电路308,该电路生成编码的意图输出,并且经由通信总线218传达该输出。
示例环境编码器212包括示例二维(2D)CNN电路310、示例三维(3D)CNN电路312、以及示例LSTM电路314。如联系图2所述,环境编码器212处理来自传感器108a-108c的顺序数据,生成编码的环境数据。示例环境编码器212从2D CNN电路310和3D CNN电路312两者向LSTM电路314提供中间输出。然后,中间输出可以通过一系列LSTM层、之后是任何额外的层(例如,SoftMax层)被处理,然后经由通信总线218被传输。
图4是图2的动作推荐电路102和图2的参数推荐电路204的示例实现方式的框图。动作推荐电路202包括示例动作生成电路402、示例提议排名生成电路404、示例动作序列电路406、以及示例动作验证电路408。联系图2描述的示例动作推荐电路202通过至少一个生成模型生成动作。然后,生成的动作(例如,提议的动作)被传输到提议排名生成电路404。提议排名生成电路404进行排名,并且将排名的结果呈现给动作验证电路408。在一些示例中,动作验证电路408确定要将哪个动作发送到参数推荐电路204。参数推荐电路204可以基于编码的场景数据对提议进行排名。在一些示例中,动作验证电路408生成要被传输给用户(例如,图1的用户106)的指示。在这样的示例中,用户然后可以接受或者拒绝该推荐。
示例动作序列电路406可包括动作序列存储器。动作序列存储器可以存储先前的动作和/或要提供给动作生成电路402的生成模型的初始动作序列。示例动作生成电路402、示例提议排名生成电路404、示例动作序列电路406和/或示例动作验证电路408可以各自通过通信总线218连接。
示例参数推荐电路204包括示例参数生成电路410、示例动作序列接收电路412、示例微调电路414、以及示例参数验证电路416。示例参数生成电路410包括至少一个生成模型,该生成模型取得动作序列、编码的环境数据、编码的任务数据和编码的场景数据。在示例参数推荐电路204中,动作序列由动作序列接收电路412接收。动作序列可包括先前的和建议的动作。参数生成电路410的输出可以被传递给参数验证电路416。参数验证电路416可以允许用户(例如,图1的用户106)接受或者拒绝至少一个提议的参数。接受的参数被传输到微调电路414,它可以自动微调参数。在一些示例中,用户(例如,图1的用户106)可以在输出被传输到通信总线218之前对参数进行微调。
虽然在图2-图4中图示了实现图1的示例代码推荐电路102的示例方式,但图2-图4中所示的元件、过程和/或设备中的一个或多个可被组合、划分、重安排、省略、消除和/或以任何其他方式来实现。另外,示例动作推荐电路202、示例参数推荐电路204、示例场景编码器206、示例自然语言编码器208、示例任务描述编码器210、示例环境编码器212、示例数据库管理电路214、示例增强代码数据库216、示例通信总线218、示例特征提取电路302、示例声学模型电路304、示例语言模型电路306、示例意图提取电路308、示例2D CNN电路310、示例3D CNN电路312、示例LSTM电路314、示例动作生成电路402、示例提议排名生成电路404、示例动作序列电路406、示例动作验证电路408、示例参数生成电路410、示例动作序列接收电路412、示例微调电路414、示例参数验证电路416,和/或更概括而言,图1的示例代码推荐电路102,可以通过硬件、软件、固件和/或硬件、软件和/或固件的任意组合来实现。从而,例如,示例动作推荐电路202、示例参数推荐电路204、示例场景编码器206、示例自然语言编码器208、示例任务描述编码器210、示例环境编码器212、示例数据库管理电路214、示例增强代码数据库216、示例通信总线218、示例特征提取电路302、示例声学模型电路304、示例语言模型电路306、示例意图提取电路308、示例2D CNN电路310、示例3D CNN电路312、示例LSTM电路314、示例动作生成电路402、示例提议排名生成电路404、示例动作序列电路406、示例动作验证电路408、示例参数生成电路410、示例动作序列接收电路412、示例微调电路414、示例参数验证电路416和/或更概括而言图1的示例代码推荐电路102中的任何一者,可以由处理器电路、(一个或多个)模拟电路、(一个或多个)数字电路、(一个或多个)逻辑电路、(一个或多个)可编程处理器、(一个或多个)可编程微控制器、(一个或多个)图形处理单元(GPU)、(一个或多个)数字信号处理器(DSP)、(一个或多个)专用集成电路(ASIC)、(一个或多个)可编程逻辑器件(programmable logic device,PLD)和/或(一个或多个)现场可编程逻辑器件(field programmable logic device,FPLD)(例如现场可编程门阵列(FPGA))来实现。当读到本专利的任何装置或系统权利要求覆盖纯软件和/或固件实现方式时,示例动作推荐电路202、示例参数推荐电路204、示例场景编码器206、示例自然语言编码器208、示例任务描述编码器210、示例环境编码器212、示例数据库管理电路214、示例增强代码数据库216、示例通信总线218、示例特征提取电路302、示例声学模型电路304、示例语言模型电路306、示例意图提取电路308、示例2D CNN电路310、示例3D CNN电路312、示例LSTM电路314、示例动作生成电路402、示例提议排名生成电路404、示例动作序列电路406、示例动作验证电路408、示例参数生成电路410、示例动作序列接收电路412、示例微调电路414和/或示例参数验证电路416中的至少一者在此被明确定义为包括包含该软件和/或固件的非暂态计算机可读存储设备或存储盘,例如存储器、数字多功能盘(digital versatile disk,DVD)、致密盘(compact disk,CD)、蓝光盘,等等。此外,图1的示例代码推荐电路102可包括除了图2-图4中所示的那些以外或者取代图2-图4中所示的那些的一个或多个元件、过程和/或设备,和/或可包括多于一个图示的元件、过程和设备中的任何一者或所有。
在图5-图10中示出了代表用于实现图1的代码推荐电路102的示例硬件逻辑电路、机器可读指令、硬件实现状态机和/或其任意组合的流程图。机器可读指令可以是供处理器电路执行的一个或多个可执行程序或者可执行程序的(一个或多个)部分,所述处理器电路例如是下文联系图11论述的示例处理器平台1100中所示的处理器电路1112和/或下文联系图12和/或图13论述的示例处理器电路。该程序可以体现在存储于一个或多个非暂态计算机可读存储介质上的软件中,所述介质例如是CD、软盘、硬盘驱动器(hard disk drive,HDD)、DVD、蓝光盘、易失性存储器(例如,任何类型的随机访问存储器(Random AccessMemory,RAM),等等)或者非易失性存储器(例如,FLASH存储器、HDD,等等),介质与位于一个或多个硬件设备中的处理器电路相关联,但整个程序和/或其一部分可以替代地由除了处理器电路以外的一个或多个硬件设备执行和/或体现在固件或专用硬件中。机器可读指令可以分布在多个硬件设备上和/或由两个或更多个硬件设备(例如,服务器和客户端硬件设备)执行。例如,客户端硬件设备可以由端点客户端硬件设备(例如,与用户相关联的硬件设备)或中间客户端硬件设备(例如,可促进服务器和端点客户端硬件设备之间的通信的无线电接入网络(radio access network,RAN)网关)实现。类似地,非暂态计算机可读存储介质可包括位于一个或多个硬件设备中的一个或多个介质。另外,虽然是参考图5-图10中所示的流程图来描述示例程序的,但可替代地使用实现示例代码推荐电路102的许多其他方法。例如,块的执行顺序可被改变,和/或描述的块中的一些可被改变、消除或者组合。额外地或者替代地,任何或所有块可由被构造为执行相应的操作而不执行软件或固件的一个或多个硬件电路(例如,处理器电路、分立的和/或集成的模拟和/或数字电路、FPGA、ASIC、比较器、运算放大器(op-amp)、逻辑电路,等等)来实现。处理器电路可以分布在不同的网络位置中和/或在单个机器中的一个或多个硬件设备(例如,单核处理器(例如,单核中央处理器单元(CPU))、多核处理器(例如,多核CPU),等等)、分布在服务器机架的多个服务器上的多个处理器、分布在一个或多个服务器机架上的多个处理器、位于同一封装中(例如,同一集成电路(IC)封装或者两个或更多个单独的外壳中,等等)的CPU和/或FPGA的本地。
可以以压缩格式、加密格式、分段格式、编译格式、可执行格式、打包格式等等中的一种或多种格式来存储本文描述的机器可读指令。本文描述的机器可读指令可被存储为可被利用来创建、制造和/或产生机器可执行指令的数据或数据结构(例如,存储为指令的部分、代码、代码的表示,等等)。例如,机器可读指令可被分段并被存储在位于网络或者网络集合的相同或不同位置的一个或多个存储设备和/或计算设备(例如,服务器)上(例如,在云中、在边缘设备中,等等)。机器可读指令可要求安装、修改、改编、更新、组合、补充、配置、解密、解压缩、解包、分发、重指派、编译等等中的一个或多个,以便使得它们可被计算设备和/或其他机器直接可读、可解释和/或可执行。例如,机器可读指令可被存储为多个部分,这些部分被单独压缩、加密和/或存储在分开的计算设备上,其中这些部分当被解密、解压缩和/或组合时,形成实现可一起形成例如本文所述那种的程序的一个或多个操作的一组机器可执行指令。
在另一示例中,机器可读指令可被以如下状态存储:在该状态中,它们可被处理器电路读取,但要求添加库(例如,动态链接库(dynamic link library,DLL))、软件开发套件(software development kit,SDK)、应用编程接口(application programminginterface,API)等等,以便在特定的计算设备或其他设备上执行这些机器可读指令。在另一示例中,在机器可读指令和/或相应的(一个或多个)程序可被全部或部分执行之前,机器可读指令可能需要被配置(例如,存储设置、输入数据、记录网络地址,等等)。从而,本文使用的机器可读介质可包括机器可读指令和/或(一个或多个)程序,无论这些机器可读指令和/或(一个或多个)程序在被存储时或以其他方式在静止或在途时的特定格式或状态如何。
本文描述的机器可读指令可以由任何过去、当前或者未来的指令语言、脚本语言、编程语言等等来表示。例如,可以利用以下语言中的任何一种来表示机器可读指令:C、C++、Java、C#、Perl、Python、JavaScript、超本文标记语言(HyperText Markup Language,HTML)、结构化查询语言(Structured Query Language,SQL)、Swift,等等。
如上所述,可利用存储在一个或多个非暂态计算机和/或机器可读介质上的可执行指令(例如,计算机和/或机器可读指令)来实现图5-图10的示例操作,所述介质例如是光存储设备、磁存储设备、HDD、闪存、只读存储器(read-only memory,ROM)、CD、DVD、缓存、任何类型的RAM、寄存器、和/或其中信息可被存储任何持续时间(例如,存储较长时间段、永久存储、用于简短实例、用于临时缓冲、和/或用于信息的缓存)的任何其他存储设备或存储盘。如本文所使用的,术语非暂态计算机可读介质和非暂态计算机可读存储介质被明确定义为包括任何类型的计算机可读存储设备和/或存储盘,并且排除传播信号和排除传输介质。
“包括”和“包含”(以及其所有形式和时态)在本文中被用作开端式术语。从而,每当权利要求采用任何形式的“包括”或“包含”(例如,包括、包含、具有,等等)作为前序部分或者在任何种类的权利要求记载中使用时,要理解,额外的元素、术语等等可存在,而不落在相应权利要求或记载的范围之外。如本文所使用的,当短语“至少”在例如权利要求的前序部分中被用作过渡术语时,它是开端的,与术语“包括”和“包含”是开端的方式一样。术语“和/或”当例如被以比如A、B和/或C这样的形式使用时,指的是A、B、C的任意组合或子集,例如(1)单独A,(2)单独B,(3)单独C,(4)A与B,(5)A与C,(6)B与C,或者(7)A与B以及与C。就本文在描述结构、组件、项目、C和/或事物的上下文中使用的而言,短语“A和B中的至少一者”打算指包括以下各项中的任何一者的实现方式:(1)至少一个A,(2)至少一个B,或者(3)至少一个A和至少一个B。类似地,就本文在描述结构、组件、项目、物体和/或事物的上下文中使用的而言,短语“A或B中的至少一者”打算指包括以下各项中的任何一者的实现方式:(1)至少一个A,(2)至少一个B,或者(3)至少一个A和至少一个B。就本文在描述过程、指令、动作、活动和/或步骤的执行或运行的上下文中使用的而言,短语“A和B中的至少一者”打算指包括以下各项中的任何一者的实现方式:(1)至少一个A,(2)至少一个B,或者(3)至少一个A和至少一个B。类似地,就本文在描述过程、指令、动作、活动和/或步骤的执行或运行的上下文中使用的而言,短语“A或B中的至少一者”打算指包括以下各项中的任何一者的实现方式:(1)至少一个A,(2)至少一个B,或者(3)至少一个A和至少一个B。
如本文所使用的,单数指代(例如,“一”、“第一”、“第二”,等等)并不排除多数。如本文所使用的,术语“一”或“一个”物体指的是一个或多个该物体。术语“一”、“一个或多个”和“至少一个”在本文中是可互换使用的。此外,虽然是单独列出的,但多个手段、元素或方法动作可由例如同一实体或物体来实现。此外,虽然个体特征可被包括在不同的示例或权利要求中,但它们可能可被组合,并且包括在不同的示例或权利要求中并不暗示着特征的组合是不可行的和/或不是有利的。
图5的流程图代表了可由处理器电路执行和/或实例化来实现工业机器人代码推荐的示例机器可读指令和/或示例操作500。图5的机器可读指令和/或操作500开始于块502,在该块,图1-图4的代码推荐电路102被训练。图1-图4的代码推荐电路102包括至少两个生成模型,它们在块502处被额外地训练。图2的示例动作推荐电路202是部分基于存储在图2的增强代码数据库216中的增强代码来训练的。在训练时,场景感知一般是不可用的,因此图2的动作推荐电路202的生成性AI模型在训练时不考虑当前的场景信息。图2的参数推荐电路204额外地训练(一个或多个)第二生成模型(例如,每个动作一个模型)。通过执行包含多个动作的示例任务,传感器输入可以用于训练动作特定的生成模型。此外,图2的参数推荐电路204在块502处学习传感器输入和动作参数之间的关系。联系图6描述对块504的操作的进一步描述。
图5的机器可读指令和/或操作500在块504处继续,在该处,图2的经训练的动作推荐电路202生成动作推荐。联系图7描述对块504的操作的进一步描述。在块506,也经过训练的参数推荐电路204生成参数推荐。联系图8描述对块506的操作的进一步描述。
在块506,示例数据库管理电路214和/或动作推荐电路202确定动作推荐是否已完成。在一些示例中,该确定可以基于来自用户(例如,图1的用户106)的指示。如果动作推荐已完成,则程序结束。然而,如果指示了更多的动作推荐,则程序控制转到块504,在那里生成额外的动作推荐。
图6的流程图代表了可由处理器电路执行和/或实例化来训练人工智能电路的示例机器可读指令和/或示例操作502的流程图。图5的机器可读指令和/或操作502开始于块600和602,在这些块,图2的任务描述编码器210和图2的环境编码器212进行操作。在块600,任务描述编码器210将任务数据编码为自然语言。基本上并行地,在块602,图2的环境编码器212将环境数据编码为自然语言。将分别联系图9和图10进一步详细描述块600和602的操作。
在块604,图2的动作推荐电路202和/或图2的参数推荐电路204收集先前的动作数据。接下来,在块606,图2的动作推荐电路202基于编码的任务、编码的环境和先前的动作数据生成动作提议。在一些示例中,生成模型体系结构能够为单个输入生成多个输出。多个输出可以由提议排名电路进行排名,以推荐多个输出的子集。图2的动作推荐电路202通过在生成模型的最后一层的排名操作(例如,SoftMax)之后显示排名最靠前的动作来生成多个输出。在一些示例中,生成对抗网络(GAN)或者贝叶斯神经网络从学习的概率分布中生成样本。
在块606,图2的动作推荐电路202和/或图2的参数推荐电路204基于编码的任务、编码的环境和先前的动作数据生成动作提议。块606处的动作提议要被与预期的下一个动作进行比较。在块608,图2的动作推荐电路202和/或图2的参数推荐电路204计算动作提议和真正的下一个动作之间的损失。例如,如果动作提议与来自图2的增强代码数据库216的下一个动作非常不同,则损失值可能相对较高。
在块610,图2的动作推荐电路202和/或图2的参数推荐电路204(代码推荐电路102的)调整以生成与来自增强代码数据库的预期数据(例如,下一个操作)更相似的未来动作推荐。例如,该调整可以通过改变图2的动作推荐电路202和/或图2的参数推荐电路204的生成模型的层的权重和偏置来进行。在一些示例中,示例调整是基于随机梯度下降和反向传播的。
图7的流程图代表了可由处理器电路执行和/或实例化来生成动作推荐的示例机器可读指令和/或示例操作504的流程图。图5的机器可读指令和/或操作502开始于块700和702,在这些块,图2的任务描述编码器210和图2的环境编码器212进行操作。在块700,图2的任务描述编码器210将任务数据编码为自然语言。基本上并行地,在块702,图2的环境编码器212将环境数据编码为自然语言。将分别联系图9和图10进一步详细描述块700和702的操作。
在块704,图2的示例动作推荐电路202和/或图2的数据库管理电路214收集动作序列数据。接下来,在块706,图2的动作推荐电路202基于编码的任务、编码的环境和动作序列数据生成动作提议。在一些示例中,生成模型体系结构能够为单个输入生成多个输出。在一些示例中,生成对抗网络(GAN)或者贝叶斯神经网络从学习的概率分布中生成样本。
在块708,图4的提议排名生成电路404基于编码的场景信息对提议进行排名。在块710,由图4的提议排名生成电路404建议排名最靠前的提议。在块712,图4的动作验证电路408确定块710处建议的提议是否被接受。如果是,则指令504结束。如果块712处的提议没有被接受,则在块708处再次对动作提议进行排名之前,建议的动作提议可以被去掉排名和/或丢弃。
图8的流程图代表了可由处理器电路执行和/或实例化来生成参数推荐的示例机器可读指令和/或示例操作504的流程图。图5的机器可读指令和/或操作506开始于块800和802,在这些块,图2的任务描述编码器210和图2的环境编码器212进行操作。在块800,图2的任务描述编码器210将任务数据编码为自然语言。基本上并行地,在块802,图2的环境编码器212将环境数据编码为自然语言。将分别联系图9和图10进一步详细描述块800和802的操作。
在块804,图2的示例参数推荐电路204和/或图2的数据库管理电路214收集动作序列数据。接下来,在块806,图2的参数推荐电路204基于编码的场景、编码的环境、编码的任务和动作序列数据生成参数提议。图2的参数推荐电路204包括专门用于预测特定动作的动作参数的按动作模型。在一些示例中,图2的参数推荐电路204可包括每个特定动作的生成模型。
在块808,图4的示例参数生成电路410建议参数。该建议可以基于参数的排序。在块808,由图4的参数生成电路404建议(一个或多个)排名最靠前的提议。在块810,图4的参数验证电路416确定块808处建议的提议是否被接受。如果未被接受,则程序继续到块812,在该块,图4的动作序列接收电路412和/或图4的参数验证电路416在块806处生成额外的提议之前向图4的参数生成电路410提供决策数据。
如果块810处的提议被接受,则在块814处由图4的微调电路414微调被接受的参数。在一些示例中,用户(例如,图1的用户106)可以在输出之前对参数进行微调。微调可以通过允许用户对建议的参数的输出执行更改来改善图1的工业代码推荐系统100的准确度和精度。
图9的流程图代表了可由处理器电路执行和/或实例化来将任务数据编码为自然语言的示例机器可读指令和/或示例操作600、700和/或800。图6-图8的机器可读指令和/或操作600、700和/或800开始于块900,在该块,图3的特征提取电路302从原始输入中提取特征。在块902,图3的声学模型电路304生成声学模型。然后,在块904,图3的语言模型电路306生成语言模型,然后在块906处,图3的意图提取电路308提取意图并转录输出。
图10的流程图代表了可由处理器电路执行和/或实例化来将任务数据编码为自然语言的示例机器可读指令和/或示例操作602、702和/或802。图6-图8的机器可读指令和/或操作602、702和/或802开始于块1000和1002,在这些块,图3的2D CNN电路310和图3的3DCNN电路312基本上并行地提取特征。在块1004,RNN模型(例如,图3的LSTM电路314)接收提取的特征。最后,在块1006,图2的环境编码器212生成情境的文本描述。
图11是示例处理器平台1100的框图,该处理器平台被构造来执行和/或实例化图5-图10的机器可读指令和/或操作以实现图1-图5的代码推荐电路。处理器平台1100可以例如是服务器、个人计算机、工作站、自学习机器(例如,神经网络)、移动设备(例如,蜂窝电话、智能电话、诸如iPadTM之类的平板设备)、个人数字助理(personal digital assistant,PDA)、耳机(例如,增强现实(augmented reality,AR)耳机、虚拟现实(virtual reality,VR)耳机,等等)或其他可穿戴设备、或者任何其他类型的计算设备。
图示示例的处理器平台1100包括处理器电路1112。图示示例的处理器电路1112是硬件。例如,处理器电路1112可由来自任何期望的家族或制造商的一个或多个集成电路、逻辑电路、FPGA、微处理器、CPU、GPU、DSP和/或微控制器来实现。处理器电路1112可以由一个或多个基于半导体(例如,基于硅)的器件来实现。在这个示例中,处理器电路1112实现了示例代码推荐电路102、示例动作推荐电路202、示例参数推荐电路204、示例场景编码器206、示例自然语言编码器208、示例任务描述编码器210、示例环境编码器212、示例数据库管理电路214、示例增强代码数据库216、示例通信总线218、示例特征提取电路302、示例声学模型电路304、示例语言模型电路306、示例意图提取电路308、示例2DCNN电路310、示例3D CNN电路312、示例LSTM电路314、示例动作生成电路402、示例提议排名生成电路404、示例动作序列电路406、示例动作验证电路408、示例参数生成电路410、示例动作序列接收电路412、示例微调电路414、和/或示例参数验证电路416。
图示示例的处理器电路1112包括本地存储器1113(例如,缓存、寄存器,等等)。图示示例的处理器电路1112通过总线1118与包括易失性存储器1114和非易失性存储器1116的主存储器进行通信。易失性存储器1114可由同步动态随机访问存储器(SynchronousDynamic Random Access Memory,SDRAM)、动态随机访问存储器(Dynamic Random AccessMemory,DRAM)、动态随机访问存储器(Dynamic Random AccessMemory,)和/或任何其他类型的RAM设备实现。非易失性存储器1116可以由闪存和/或任何其他期望类型的存储器设备实现。对图示示例的主存储器1114、1116的访问受存储器控制器1117控制。
图示示例的处理器平台1100还包括接口电路1120。接口电路1120可根据任何类型的接口标准由硬件实现,例如以太网接口、通用串行总线(universal serial bus,USB)接口、接口、近场通信(near field communication,NFC)接口、PCI接口和/或PCIe接口。
在图示示例中,一个或多个输入设备1122连接到接口电路1120。(一个或多个)输入设备1122允许用户向处理器电路1112中输入数据和/或命令。(一个或多个)输入设备1122可由例如音频传感器、麦克风、相机(静态或视频)、键盘、按钮、鼠标、触摸屏、触控板、轨迹球、isopoint设备和/或语音识别系统实现。
一个或多个输出设备1124也连接到图示示例的接口电路1120。输出设备1124可以例如由显示设备(例如,发光二极管(light emitting diode,LED)、有机发光二极管(organic light emitting diode,OLED)、液晶显示器(liquid crystal display,LCD)、阴极射线管(cathode ray tube,CRT)显示器、就地切换(in-place switching,IPS)显示器、触摸屏等等)、触觉输出设备、打印机和/或扬声器来实现。图示示例的接口电路1120从而通常包括图形驱动器卡、图形驱动器芯片和/或图形处理器电路,比如GPU。
图示示例的接口电路1120还包括通信设备,例如发送器、接收器、收发器、调制解调器、住宅网关、无线接入点和/或网络接口,来促进通过网络1126与外部机器(例如,任何种类的计算设备)的数据交换。通信可通过例如以太网连接、数字订户线(digitalsubscriber line,DSL)连接、电话线连接、同轴线缆系统、卫星系统、直线对传式无线系统、蜂窝电话系统、光学连接等等进行。
图示示例的处理器平台1100还包括一个或多个大容量存储设备1128来存储软件和/或数据。这种大容量存储设备1128的示例包括磁存储设备、光存储设备、软盘驱动器、HDD、CD、蓝光盘驱动器、独立盘冗余阵列(redundant array of independent disk,RAID)系统、固态存储设备(比如闪存设备)、以及DVD驱动器。
可由图5-图10的机器可读指令实现的机器可执行指令1132可被存储在大容量存储设备1128中、易失性存储器1114中、非易失性存储器1116中、和/或诸如CD或DVD之类的可移除非暂态计算机可读存储介质上。
图12是图11的处理器电路1112的示例实现方式的框图。在这个示例中,图11的处理器电路1112由微处理器1200实现。例如,微处理器1200可以实现多核硬件电路,例如CPU、DSP、GPU、XPU,等等。虽然它可包括任意数目的示例核心1202(例如,1个核心),但此示例的微处理器1200是包括N个核心的多核半导体设备。微处理器1200的核心1202可以独立操作,或者可以合作来执行机器可读指令。例如,与固件程序、嵌入式软件程序或软件程序相对应的机器代码可被核心1202之一执行,或者可被核心1202中的多个核心在相同或不同时间执行。在一些示例中,与固件程序、嵌入式软件程序或软件程序相对应的机器代码被分割成线程并且被核心1202中的两个或更多个并行执行。该软件程序可以对应于图5-图10的流程图所表示的机器可读指令和/或操作的一部分或全部。
核心1202可以通过示例总线1204进行通信。在一些示例中,总线1204可以实现通信总线,以实现与核心1202中的一个(或多个)相关联的通信。例如,总线1204可以实现集成电路间(Inter-Integrated Circuit,I2C)总线、串行外围接口(Serial PeripheralInterface,SPI)总线、PCI总线或者PCIe总线中的至少一者。额外地或者替代地,总线1204可以实现任何其他类型的计算或电气总线。核心1202可以通过示例接口电路1206从一个或多个外部设备获得数据、指令和/或信号。核心1202可以通过接口电路1206向一个或多个外部设备输出数据、指令和/或信号。虽然此示例的核心1202包括示例本地存储器1220(例如,可被分割成L1数据缓存和L1指令缓存的第1级(L1)缓存),但微处理器1200也包括可由核心共享的示例共享存储器1210(例如,第2级(L2缓存)),用于高速访问数据和/或指令。可以通过向共享存储器1210写入和/或从共享存储器1210读取来传送(例如,共享)数据和/或指令。每个核心1202的本地存储器1220和共享存储器1210可以是包括多级缓存存储器和主存储器(例如,图11的主存储器1114、1116)的存储设备的层次体系的一部分。通常,该层次体系中的较高级别的存储器与较低级别的存储器相比表现出更低的访问时间并且具有更小的存储容量。缓存层次体系的各种级别的变化由缓存一致性策略来管理(例如,协调)。
每个核心1202可被称为CPU、DSP、GPU,等等,或者任何其他类型的硬件电路。每个核心1202包括控制单元电路1214、算术和逻辑(arithmetic and logic,AL)电路(有时称为ALU)1216、多个寄存器1218、L1缓存1220、以及示例总线1222。其他结构也可以存在。例如,每个核心1202可包括向量单元电路、单指令多数据(single instruction multiple data,SIMD)单元电路、加载/存储单元(load/store unit,LSU)电路、分支/跳跃单元电路、浮点单元(floating-point unit,FPU)电路,等等。控制单元电路1214包括基于半导体的电路,其被构造为控制(例如,协调)相应核心1202内的数据移动。AL电路1216包括基于半导体的电路,其被构造为对相应核心1202内的数据执行一个或多个数学和/或逻辑操作。一些示例的AL电路1216执行基于整数的操作。在其他示例中,AL电路1216也执行浮点操作。在另外一些示例中,AL电路1216可包括执行基于整数的操作的第一AL电路和执行浮点操作的第二AL电路。在一些示例中,AL电路1216可被称为算术逻辑单元(Arithmetic Logic Unit,ALU)。寄存器1218是基于半导体的结构,用来存储数据和/或指令,例如由相应核心1202的AL电路1216执行的一个或多个操作的结果。例如,寄存器1218可包括(一个或多个)向量寄存器、(一个或多个)SIMD寄存器、(一个或多个)通用寄存器、(一个或多个)标志寄存器、(一个或多个)片段寄存器、(一个或多个)机器专用寄存器、(一个或多个)指令指针寄存器、(一个或多个)控制寄存器、(一个或多个)调试寄存器、(一个或多个)存储器管理寄存器、(一个或多个)机器检查寄存器,等等。寄存器1218可以如图12所示被安排为库组(bank)。可替代地,寄存器1218可以按任何其他安排、格式或结构被组织,包括分布在整个核心1202中以缩短访问时间。总线1220可以实现I2C总线、SPI总线、PCI总线或PCIe总线中的至少一者。
每个核心1202和/或更概括而言微处理器1200可包括作为以上所示出和描述的附加和/或替代的结构。例如,可以存在一个或多个时钟电路、一个或多个电力供应源、一个或多个电力门、一个或多个缓存归属代理(cache home agent,CHA)、一个或多个聚合/通用网挡(converged/common mesh stop,CMS)、一个或多个移位器(例如,(一个或多个)桶形移位器)和/或其他电路。微处理器1200是半导体设备,它被制造为包括许多相互连接的晶体管,以在一个或多个封装中包含的一个或多个集成电路(IC)中实现上述的结构。处理器电路可包括一个或多个加速器和/或与一个或多个加速器合作。在一些示例中,加速器由逻辑电路实现,以比通用处理器更快速和/或高效地执行某些任务。加速器的示例包括ASIC和FPGA,例如本文论述的那些。GPU或其他可编程设备也可以是加速器。加速器可以在处理器电路的板上,在与处理器电路相同的芯片封装中,和/或在与处理器电路分开的一个或多个封装中。
图13是图11的处理器电路1112的另一示例实现方式的框图。在这个示例中,处理器电路1112由FPGA电路1300实现。例如,FPGA电路1300可用于例如执行否则可通过图12的示例微处理器1200执行相应的机器可读指令而执行的操作。然而,一旦被配置,FPGA电路1300就用硬件来实例化机器可读指令,从而,执行操作的速度经常比执行相应软件的通用微处理器的执行速度更快。
更具体而言,与上文描述的图12的微处理器1200(它是通用设备,可以被编程来执行图5-图10的流程图所表示的机器可读指令的一部分或全部,但其互连和逻辑电路一旦被制造出来就固定了)相比,图13的示例的FPGA电路1300包括互连和逻辑电路,这些互连和逻辑电路可以在制造之后以不同方式被配置和/或互连,以实例化例如由图5-图10的流程图表示的机器可读指令的一部分或全部。具体地,FPGA 1300可以被认为是逻辑门、互连和开关的阵列。开关可以被编程以改变逻辑门被互连所互连的方式,有效地形成一个或多个专用的逻辑电路(除非和直到FPGA电路1300被重编程为止)。配置的逻辑电路使得逻辑门能够以不同方式合作,以对输入电路接收的数据执行不同的操作。这些操作可以对应于图5-图10的流程图所表示的软件的一部分或全部。因此,FPGA电路1300可被构造为有效地将图5-图10的流程图的机器可读指令的一部分或全部实例化为专用逻辑电路,来以类似于ASIC的专用方式执行与这些软件指令相对应的操作。因此,FPGA电路1300执行与图13的机器可读指令的一部分或全部相对应的操作的速度可以比通用微处理器执行这些指令的速度更快。
在图13的示例中,FPGA电路1300被构造为由最终用户通过硬件描述语言(hardware description language,HDL)(例如Verilog)进行编程(和/或一次或多次重编程)。图13的FPGA电路1300包括示例输入/输出(I/O)电路1302,以从示例配置电路1304和/或外部硬件(例如,外部硬件电路)1306获得和/或向其输出数据。例如,配置电路1304可以实现接口电路,该接口电路可以获得机器可读指令,以配置FPGA电路1300,或者其(一个或多个)部分。在一些这样的示例中,配置电路1304可以从用户、机器(例如,可以实现人工智能/机器学习(Artificial Intelligence/Machine Learning,AI/ML)模型以生成指令的硬件电路(例如,编程的或专用的电路))等等获得机器可读指令。在一些示例中,外部硬件1306可以实现图12的微处理器1200。FPGA电路1300还包括示例逻辑门电路1308的阵列、多个示例可配置互连1310、以及示例存储电路1312。逻辑门电路1308和互连1310可被配置为实例化与图5-图10的机器可读指令中的至少一些相对应的一个或多个操作,和/或其他期望操作。图13中所示的逻辑门电路1308是按组或按块制造的。每个块包括基于半导体的电气结构,这些电气结构可被配置成逻辑电路。在一些示例中,电气结构包括为逻辑电路提供基本构建块的逻辑门(例如,与门、或门、或非门,等等)。在每个逻辑门电路1308内存在可电控的开关(例如,晶体管),以便能够配置电气结构和/或逻辑门,来形成电路以执行期望的操作。逻辑门电路1308可包括其他电气结构,例如查找表(look-up table,LUT)、寄存器(例如,触发器或锁存器)、多路复用器,等等。
图示示例的互连1310是导电通路、迹线、通孔之类的,它们可包括可电控开关(例如,晶体管),这些开关的状态可通过编程(例如,使用HDL指令语言)被改变,以激活或停用一个或多个逻辑门电路1308之间的一个或多个连接,来编程期望的逻辑电路。
图示示例的存储电路1312被构造为存储由相应逻辑门执行的一个或多个操作的(一个或多个)结果。存储电路1312可以由寄存器之类的实现。在图示示例中,存储电路1312分布在逻辑门电路1308之间,以促进访问并且提高执行速度。
图13的示例FPGA电路1300还包括示例专用操作电路1314。在这个示例中,专用操作电路1314包括专用电路1316,该专用电路可被调用来实现常用功能,以避免需要在现场对这些功能进行编程。这种专用电路1316的示例包括存储器(例如,DRAM)控制器电路、PCIe控制器电路、时钟电路、收发器电路、存储器、以及乘法器-累加器电路。其他类型的专用电路也可存在。在一些示例中,FPGA电路1300还可包括示例通用可编程电路1318,例如示例CPU 1320和/或示例DSP 1322。其他通用可编程电路1318可以额外地或者替代地存在,例如GPU、XPU,等等,它们可被编程以执行其他操作。
虽然图12和图13图示了图11的处理器电路1112的两个示例实现方式,但也设想了许多其他途径。例如,如上所述,现代FPGA电路可包括板载CPU,例如图12的一个或多个示例CPU 1220。因此,图11的处理器电路1112可以额外地通过组合图12的示例微处理器1200和图13的示例FPGA电路1300来实现。在一些这样的混合示例中,由图5-图10的流程图表示的机器可读指令的第一部分可以由图12的一个或多个核心1202执行,并且由图5-图10的流程图表示的机器可读指令的第二部分可以由图13的FPGA电路1300执行。
在一些示例中,图11的处理器电路1112可以在一个或多个封装中。例如,图12的处理器电路1200和/或图13的FPGA电路1300可以在一个或多个封装中。在一些示例中,XPU可以由图11的处理器电路1112实现,该处理器电路可以在一个或多个封装中。例如,XPU可包括在一个封装中的CPU、在另一个封装中的DSP、在又一个封装中的GPU、以及在再一个封装中的FPGA。
图14中图示了框图,该框图图示了示例软件分发平台1405,用来将诸如图11的示例机器可读指令1132之类的软件分发到由第三方拥有和/或操作的硬件设备。示例软件分发平台1405可由能够存储软件并且将其传输到其他计算设备的任何计算机服务器、数据设施、云服务等等实现。第三方可以是拥有和/或操作该软件分发平台1405的实体的客户。例如,拥有和/或操作软件分发平台1405的实体可以是软件(例如图11的示例机器可读指令1132)的开发者、销售者和/或许可人。第三方可以是购买和/或许可该软件以供使用和/或再销售和/或分许可的消费者、用户、零售商、OEM,等等。在图示示例中,软件分发平台1405包括一个或多个服务器和一个或多个存储设备。存储设备存储机器可读指令1132,这些指令可对应于如上所述的图5-图10的示例机器可读指令。示例软件分发平台1405的一个或多个服务器与网络1410通信,该网络可对应于互联网和/或上述的示例网络中的任何一者中的任何一个或多个。在一些示例中,作为商业交易的一部分,一个或多个服务器响应将软件传输给请求方的请求。对软件的交付、销售和/或许可的支付可由软件分发平台的一个或多个服务器处理和/或由第三方支付实体来处理。这些服务器使得购买者和/或许可人能够从软件分发平台1405下载机器可读指令1132。例如,可与图11的示例机器可读指令11相对应的软件可被下载到示例处理器平台400,该平台将执行机器可读指令1132以实现示例工业机器人代码推荐系统100。在一些示例中,软件分发平台1405的一个或多个服务器周期性地提供、传输和/或强制更新软件(例如,图11的示例机器可读指令1132),以确保改进、补丁、更新等等被分发并且在最终用户设备处被应用于软件。
从上述内容将会明白,已公开了生成工业机器人代码推荐的示例系统、方法、装置和制品。所公开的系统、方法、装置和制品通过允许程序员描述程序员所描述的(例如,存储此项目),提高了使用计算设备的效率。本文描述的示例系统提高了机器人程序员生产力,并且减少了对机器人编程领域知识的依赖。当前不可能实现自动化的任务(例如,高混合、低容量、按订单生产,等等)从本文描述的示例系统中受益。其他益处包括增大了可委托给机器人系统的任务的数目。所公开的系统、方法、装置和制品因此针对诸如计算机或其他电子和/或机械设备之类的机器的操作的一个或多个改进。
本文公开了用于生成工业机器人代码推荐的示例方法、装置、系统和制品。另外的示例及其组合包括以下示例:
示例1包括一种装置,其包括至少一个存储器,所述装置中的指令,以及处理器电路,用于执行所述指令以至少为工业机器人生成至少一个动作提议,基于编码的场景信息对所述至少一个动作提议进行排名,基于所述编码的场景信息、任务数据和环境数据为所述至少一个动作提议生成参数,并且基于所述至少一个动作提议生成动作序列。
示例2包括如先前示例中的任一者所述的装置,其中,所述处理器电路执行所述指令以基于第一生成性人工智能模型生成所述至少一个动作提议,并且基于第二生成性人工智能模型为所述至少一个动作提议生成参数,所述第二生成性人工智能模型包括所述编码的场景信息、所述任务数据以及所述环境数据。
示例3包括如先前示例中的任一者所述的装置,其中,所述处理器电路执行所述指令以基于编码的任务、编码的环境和先前的动作数据来训练第一生成性人工智能模型和第二生成性人工智能模型。
示例4包括如先前示例中的任一者所述的装置,其中,所述处理器电路通过执行所述指令以进行以下操作来对所述任务数据编码:从自然语言输入中提取特征,生成声学模型,生成语言模型,并且基于所述语言模型的输出从所述特征提取意图。
示例5包括如先前示例中的任一者所述的装置,其中,所述处理器电路通过执行所述指令以进行以下操作来对所述任务数据编码:基于二维卷积神经网络(CNN)提取空间特征,基于三维CNN提取时间特征,将所述空间特征和所述时间特征提供给递归神经网络(RNN),并且基于所述RNN的输出从所述空间特征和所述时间特征提取意图。
示例6包括如先前示例中的任一者所述的装置,其中,所述任务数据和所述编码的场景信息包括来自增强代码数据库的代码。
示例7包括如先前示例中的任一者所述的装置,其中,所述处理器电路执行所述指令以通过以下各项中的至少一项来捕捉所述环境数据:所述工业机器人的本体感受传感器、可见光成像传感器、红外传感器、超声波传感器、以及压力传感器。
示例8包括一种计算机可读介质,该介质包括指令,所述指令当被执行时,使得处理器电路至少为工业机器人生成至少一个动作提议,基于编码的场景信息对所述至少一个动作提议进行排名,基于所述编码的场景信息、任务数据和环境数据为所述至少一个动作提议生成参数,并且基于所述至少一个动作提议生成动作序列。
示例9包括如先前示例中的任一者所述的计算机可读介质,其中,所述指令当被执行时,使得所述处理器电路基于第一生成性人工智能模型生成所述至少一个动作提议,并且基于第二生成性人工智能模型为所述至少一个动作提议生成参数,所述第二生成性人工智能模型包括所述编码的场景信息、所述任务数据以及所述环境数据。
示例10包括如先前示例中的任一者所述的计算机可读介质,其中,所述指令当被执行时,使得所述处理器电路基于编码的任务、编码的环境和先前的动作数据来训练第一生成性人工智能模型和第二生成性人工智能模型。
示例11包括如先前示例中的任一者所述的计算机可读介质,其中,所述指令当被执行时,使得所述处理器电路从自然语言输入中提取特征,生成声学模型,生成语言模型,并且基于所述语言模型的输出从所述特征提取意图。
示例12包括如先前示例中的任一者所述的计算机可读介质,其中,所述指令当被执行时,使得所述处理器电路基于二维卷积神经网络(CNN)提取空间特征,基于三维CNN提取时间特征,将所述空间特征和所述时间特征提供给递归神经网络(RNN),并且基于所述RNN的输出从所述空间特征和所述时间特征提取意图。
示例13包括如先前示例中的任一者所述的计算机可读介质,其中,所述任务数据和所述编码的场景信息包括来自增强代码数据库的代码。
示例14包括如先前示例中的任一者所述的计算机可读介质,其中,所述指令当被执行时,使得所述处理器电路通过以下各项中的至少一项来捕捉所述环境数据:所述工业机器人的本体感受传感器、可见光成像传感器、红外传感器、超声波传感器、以及压力传感器。
在示例8至示例14中的任一者中,示例计算机可读存储介质可以是非暂态计算机可读介质。
示例15包括一种方法,该方法包括通过利用处理器电路执行指令,来为工业机器人生成至少一个动作提议,通过利用所述处理器电路执行指令,来基于编码的场景信息对所述至少一个动作提议进行排名,通过利用所述处理器电路执行指令,来基于所述编码的场景信息、任务数据和环境数据为所述至少一个动作提议生成参数,并且通过利用所述处理器电路执行指令,来基于所述至少一个动作提议生成动作序列。
示例16包括如先前示例中的任一者所述的方法,还包括基于第一生成性人工智能模型生成所述至少一个动作提议,并且基于第二生成性人工智能模型为所述至少一个动作提议生成参数,所述第二生成性人工智能模型包括所述编码的场景信息、所述任务数据以及所述环境数据。
示例17包括如先前示例中的任一者所述的方法,还包括基于编码的任务、编码的环境和先前的动作数据来训练第一生成性人工智能模型和第二生成性人工智能模型。
示例18包括如先前示例中的任一者所述的方法,还包括从自然语言输入中提取特征,生成声学模型,生成语言模型,并且基于所述语言模型的输出从所述特征提取意图。
示例19包括如先前示例中的任一者所述的方法,还包括基于二维卷积神经网络(CNN)提取空间特征,基于三维CNN提取时间特征,将所述空间特征和所述时间特征提供给递归神经网络(RNN),并且基于所述RNN的输出从所述空间特征和所述时间特征提取意图。
示例20包括如先前示例中的任一者所述的方法,其中,所述任务数据和所述编码的场景信息包括来自增强代码数据库的代码。
示例21包括如先前示例中的任一者所述的方法,还包括通过以下各项中的至少一项来捕捉所述环境数据:所述工业机器人的本体感受传感器、可见光成像传感器、红外传感器、超声波传感器、以及压力传感器。
虽然本文公开了某些示例系统、方法、装置和制品,但本专利的覆盖范围不限于此。相反,本专利覆盖了公平地落在本专利的权利要求的范围内的所有系统、方法、装置和制品。
特此通过引用将所附权利要求并入到该“具体实施方式”部分中,其中每个权利要求独立作为本公开的一个单独实施例。
Claims (21)
1.一种装置,包括:
至少一个存储器;
所述装置中的指令;以及
处理器电路,用于执行所述指令以至少:
为工业机器人生成至少一个动作提议;
基于编码的场景信息对所述至少一个动作提议进行排名;
基于所述编码的场景信息、任务数据和环境数据为所述至少一个动作提议生成参数;并且
基于所述至少一个动作提议生成动作序列。
2.如权利要求1所述的装置,其中,所述处理器电路执行所述指令以:
基于第一生成性人工智能模型生成所述至少一个动作提议;并且
基于第二生成性人工智能模型为所述至少一个动作提议生成参数,所述第二生成性人工智能模型包括所述编码的场景信息、所述任务数据以及所述环境数据。
3.如权利要求1所述的装置,其中,所述处理器电路执行所述指令以基于编码的任务、编码的环境和先前的动作数据来训练第一生成性人工智能模型和第二生成性人工智能模型。
4.如权利要求1所述的装置,其中,所述处理器电路通过执行所述指令以进行以下操作来对所述任务数据编码:
从自然语言输入中提取特征;
生成声学模型;
生成语言模型;并且
基于所述语言模型的输出从所述特征提取意图。
5.如权利要求1到4中任一项所述的装置,其中,所述处理器电路通过执行所述指令以进行以下操作来对所述任务数据编码:
基于二维卷积神经网络(CNN)提取空间特征;
基于三维CNN提取时间特征;
将所述空间特征和所述时间特征提供给递归神经网络(RNN);并且
基于所述RNN的输出从所述空间特征和所述时间特征提取意图。
6.如权利要求1到4中任一项所述的装置,其中,所述任务数据和所述编码的场景信息包括来自增强代码数据库的代码。
7.如权利要求1到4中任一项所述的装置,其中,所述处理器电路执行所述指令以通过以下各项中的至少一项来捕捉所述环境数据:所述工业机器人的本体感受传感器、可见光成像传感器、红外传感器、超声波传感器、以及压力传感器。
8.一种计算机可读介质,包括指令,所述指令当被执行时,使得处理器电路至少:
为工业机器人生成至少一个动作提议;
基于编码的场景信息对所述至少一个动作提议进行排名;
基于所述编码的场景信息、任务数据和环境数据为所述至少一个动作提议生成参数;并且
基于所述至少一个动作提议生成动作序列。
9.如权利要求8所述的计算机可读介质,其中,所述指令当被执行时,使得所述处理器电路:
基于第一生成性人工智能模型生成所述至少一个动作提议;并且
基于第二生成性人工智能模型为所述至少一个动作提议生成参数,所述第二生成性人工智能模型包括所述编码的场景信息、所述任务数据以及所述环境数据。
10.如权利要求8所述的计算机可读介质,其中,所述指令当被执行时,使得所述处理器电路基于编码的任务、编码的环境和先前的动作数据来训练第一生成性人工智能模型和第二生成性人工智能模型。
11.如权利要求8所述的计算机可读介质,其中,所述指令当被执行时,使得所述处理器电路:
从自然语言输入中提取特征;
生成声学模型;
生成语言模型;并且
基于所述语言模型的输出从所述特征提取意图。
12.如权利要求8到11中任一项所述的计算机可读介质,其中,所述指令当被执行时,使得所述处理器电路:
基于二维卷积神经网络(CNN)提取空间特征;
基于三维CNN提取时间特征;
将所述空间特征和所述时间特征提供给递归神经网络(RNN);并且
基于所述RNN的输出从所述空间特征和所述时间特征提取意图。
13.如权利要求8到11中任一项所述的计算机可读介质,其中,所述任务数据和所述编码的场景信息包括来自增强代码数据库的代码。
14.如权利要求8到11中任一项所述的计算机可读介质,其中,所述指令当被执行时,使得所述处理器电路通过以下各项中的至少一项来捕捉所述环境数据:所述工业机器人的本体感受传感器、可见光成像传感器、红外传感器、超声波传感器、以及压力传感器。
15.一种方法,包括:
通过利用处理器电路执行指令,来为工业机器人生成至少一个动作提议;
通过利用所述处理器电路执行指令,来基于编码的场景信息对所述至少一个动作提议进行排名;
通过利用所述处理器电路执行指令,来基于所述编码的场景信息、任务数据和环境数据为所述至少一个动作提议生成参数;并且
通过利用所述处理器电路执行指令,来基于所述至少一个动作提议生成动作序列。
16.如权利要求15所述的方法,还包括:
基于第一生成性人工智能模型生成所述至少一个动作提议;并且
基于第二生成性人工智能模型为所述至少一个动作提议生成参数,所述第二生成性人工智能模型包括所述编码的场景信息、所述任务数据以及所述环境数据。
17.如权利要求15所述的方法,还包括基于编码的任务、编码的环境和先前的动作数据来训练第一生成性人工智能模型和第二生成性人工智能模型。
18.如权利要求15所述的方法,还包括:
从自然语言输入中提取特征;
生成声学模型;
生成语言模型;并且
基于所述语言模型的输出从所述特征提取意图。
19.如权利要求15到18中任一项所述的方法,还包括:
基于二维卷积神经网络(CNN)提取空间特征;
基于三维CNN提取时间特征;
将所述空间特征和所述时间特征提供给递归神经网络(RNN);并且
基于所述RNN的输出从所述空间特征和所述时间特征提取意图。
20.如权利要求15到18中任一项所述的方法,其中,所述任务数据和所述编码的场景信息包括来自增强代码数据库的代码。
21.如权利要求15到18中任一项所述的方法,还包括通过以下各项中的至少一项来捕捉所述环境数据:所述工业机器人的本体感受传感器、可见光成像传感器、红外传感器、超声波传感器、以及压力传感器。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/525,785 US20220274251A1 (en) | 2021-11-12 | 2021-11-12 | Apparatus and methods for industrial robot code recommendation |
US17/525,785 | 2021-11-12 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116126293A true CN116126293A (zh) | 2023-05-16 |
Family
ID=83007450
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211238679.9A Pending CN116126293A (zh) | 2021-11-12 | 2022-10-11 | 用于工业机器人代码推荐的装置和方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20220274251A1 (zh) |
CN (1) | CN116126293A (zh) |
DE (1) | DE102022126604A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116619384A (zh) * | 2023-07-03 | 2023-08-22 | 武昌首义学院 | 一种智能机器人远程管理系统 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11931894B1 (en) * | 2023-01-30 | 2024-03-19 | Sanctuary Cognitive Systems Corporation | Robot systems, methods, control modules, and computer program products that leverage large language models |
Family Cites Families (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9186793B1 (en) * | 2012-08-31 | 2015-11-17 | Brain Corporation | Apparatus and methods for controlling attention of a robot |
CN107851216B (zh) * | 2015-09-11 | 2022-03-08 | 谷歌有限责任公司 | 一种用于选择待由与环境进行交互的强化学习代理执行的动作的方法 |
WO2017151759A1 (en) * | 2016-03-01 | 2017-09-08 | The United States Of America, As Represented By The Secretary, Department Of Health And Human Services | Category discovery and image auto-annotation via looped pseudo-task optimization |
CN109155004A (zh) * | 2016-05-20 | 2019-01-04 | 渊慧科技有限公司 | 用于强化学习代理的无模型控制 |
US10453074B2 (en) * | 2016-07-08 | 2019-10-22 | Asapp, Inc. | Automatically suggesting resources for responding to a request |
US10606898B2 (en) * | 2017-04-19 | 2020-03-31 | Brown University | Interpreting human-robot instructions |
CN107423398B (zh) * | 2017-07-26 | 2023-04-18 | 腾讯科技(上海)有限公司 | 交互方法、装置、存储介质和计算机设备 |
US10963737B2 (en) * | 2017-08-01 | 2021-03-30 | Retina-Al Health, Inc. | Systems and methods using weighted-ensemble supervised-learning for automatic detection of ophthalmic disease from images |
US11562287B2 (en) * | 2017-10-27 | 2023-01-24 | Salesforce.Com, Inc. | Hierarchical and interpretable skill acquisition in multi-task reinforcement learning |
US11625604B2 (en) * | 2017-10-27 | 2023-04-11 | Deepmind Technologies Limited | Reinforcement learning using distributed prioritized replay |
US10304208B1 (en) * | 2018-02-12 | 2019-05-28 | Avodah Labs, Inc. | Automated gesture identification using neural networks |
US10489639B2 (en) * | 2018-02-12 | 2019-11-26 | Avodah Labs, Inc. | Automated sign language translation and communication using multiple input and output modalities |
US10878296B2 (en) * | 2018-04-12 | 2020-12-29 | Discovery Communications, Llc | Feature extraction and machine learning for automated metadata analysis |
US10846593B2 (en) * | 2018-04-27 | 2020-11-24 | Qualcomm Technologies Inc. | System and method for siamese instance search tracker with a recurrent neural network |
US10452947B1 (en) * | 2018-06-08 | 2019-10-22 | Microsoft Technology Licensing, Llc | Object recognition using depth and multi-spectral camera |
US10685236B2 (en) * | 2018-07-05 | 2020-06-16 | Adobe Inc. | Multi-model techniques to generate video metadata |
KR20200013152A (ko) * | 2018-07-18 | 2020-02-06 | 삼성전자주식회사 | 이전에 대화를 수집한 결과를 기반으로 인공 지능 서비스를 제공하는 전자 장치 및 방법 |
EP3871156A2 (en) * | 2018-10-24 | 2021-09-01 | HRL Laboratories, LLC | Autonomous system including a continually learning world model and related methods |
US11715012B2 (en) * | 2018-11-16 | 2023-08-01 | Uatc, Llc | Feature compression and localization for autonomous devices |
JP7195343B2 (ja) * | 2018-11-21 | 2022-12-23 | グーグル エルエルシー | 自動化アシスタントを介して実行されるように要求された一連のアクションの実行の編成 |
US11627165B2 (en) * | 2019-01-24 | 2023-04-11 | Deepmind Technologies Limited | Multi-agent reinforcement learning with matchmaking policies |
US11729406B2 (en) * | 2019-03-21 | 2023-08-15 | Qualcomm Incorporated | Video compression using deep generative models |
US20210019642A1 (en) * | 2019-07-17 | 2021-01-21 | Wingman AI Agents Limited | System for voice communication with ai agents in an environment |
KR20210047173A (ko) * | 2019-10-21 | 2021-04-29 | 엘지전자 주식회사 | 오인식된 단어를 바로잡아 음성을 인식하는 인공 지능 장치 및 그 방법 |
KR20220134619A (ko) * | 2020-02-06 | 2022-10-05 | 딥마인드 테크놀로지스 리미티드 | 부트스트랩된 잠재 예측을 사용한 에이전트 제어를 위한 학습 환경 표현 |
US20210256313A1 (en) * | 2020-02-19 | 2021-08-19 | Google Llc | Learning policies using sparse and underspecified rewards |
US11966673B2 (en) * | 2020-03-13 | 2024-04-23 | Nvidia Corporation | Sensor simulation and learning sensor models with generative machine learning methods |
US11625646B2 (en) * | 2020-04-06 | 2023-04-11 | Huawei Cloud Computing Technologies Co., Ltd. | Method, system, and medium for identifying human behavior in a digital video using convolutional neural networks |
US20210334474A1 (en) * | 2020-04-28 | 2021-10-28 | Leela Al, Inc. | Natural Language System and Methods |
CA3126245A1 (en) * | 2020-07-29 | 2022-01-29 | Uatc, Llc | Compression of machine-learned models by vector quantization |
US20220371622A1 (en) * | 2021-05-21 | 2022-11-24 | Honda Motor Co., Ltd. | System and method for completing joint risk localization and reasoning in driving scenarios |
US20230061411A1 (en) * | 2021-08-24 | 2023-03-02 | Deepmind Technologies Limited | Autoregressively generating sequences of data elements defining actions to be performed by an agent |
-
2021
- 2021-11-12 US US17/525,785 patent/US20220274251A1/en active Pending
-
2022
- 2022-10-11 CN CN202211238679.9A patent/CN116126293A/zh active Pending
- 2022-10-12 DE DE102022126604.4A patent/DE102022126604A1/de active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116619384A (zh) * | 2023-07-03 | 2023-08-22 | 武昌首义学院 | 一种智能机器人远程管理系统 |
Also Published As
Publication number | Publication date |
---|---|
US20220274251A1 (en) | 2022-09-01 |
DE102022126604A1 (de) | 2023-05-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11099918B2 (en) | Accelerating algorithms and applications on FPGAs | |
US11615284B2 (en) | Efficient transferring of human experiences to robots and other autonomous machines | |
CN116126293A (zh) | 用于工业机器人代码推荐的装置和方法 | |
US20230113271A1 (en) | Methods and apparatus to perform dense prediction using transformer blocks | |
US20240118992A1 (en) | Systems, apparatus, and methods to debug accelerator hardware | |
CN111966361B (zh) | 用于确定待部署模型的方法、装置、设备及其存储介质 | |
US20220012579A1 (en) | Neural network accelerator system for improving semantic image segmentation | |
KR20210021263A (ko) | 작업부하의 정적 매핑의 비순차적 파이프라이닝된 실행을 가능하게 하기 위한 방법들 및 장치 | |
US20210319319A1 (en) | Methods and apparatus to implement parallel architectures for neural network classifiers | |
US20220222030A1 (en) | Methods and apparatus to improve screen sharing based on identification of irrelevant video frames from interactive context | |
US20220301097A1 (en) | Methods and apparatus to implement dual-attention vision transformers for interactive image segmentation | |
US20220114495A1 (en) | Apparatus, articles of manufacture, and methods for composable machine learning compute nodes | |
CN116382884A (zh) | 生成要被卸载到加速器电路的命令列表的方法和装置 | |
Schmidt et al. | Reinforcement learning methods based on GPU accelerated industrial control hardware | |
CN117616428A (zh) | 用于在资源受约束的图像识别应用中执行并行双批自蒸馏的方法和装置 | |
US20230244525A1 (en) | Methods and apparatus for an xpu-aware dynamic compute scheduling framework | |
US20240233379A1 (en) | Methods and apparatus to enhance action segmentation model with causal explanation capability | |
WO2024108382A1 (en) | Methods and apparatus to perform many-to-one feature distillation in neural networks | |
EP4109344A1 (en) | Methods, systems, articles of manufacture and apparatus to improve algorithmic solver performance | |
US11774977B1 (en) | Systems, apparatus, and methods for optimization of autonomous vehicle workloads | |
US20220011400A1 (en) | Methods and apparatus to adjust time difference of arrival distance values used for source localization | |
US20240126520A1 (en) | Methods and apparatus to compile portable code for specific hardware | |
US20240214694A1 (en) | Epipolar scan line neural processor arrays for four-dimensional event detection and identification | |
EP4134821A1 (en) | Apparatus, articles of manufacture, and methods for composable machine learning compute nodes | |
US12032541B2 (en) | Methods and apparatus to improve data quality for artificial intelligence |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |