机器控制装置的制作方法

文档序号:29076287发布日期:2022-03-01 22:50阅读:111来源:国知局
机器控制装置的制作方法

1.不同的实施例共同地涉及机器控制装置。


背景技术:

2.用于像机器人那样的机器的控制设备可以通过所谓的强化学习、英文reinforcement learning(rl)来被训练,用于实施特定任务、例如在生产过程中实施特定任务。对任务的实施通常包括选择针对状态序列的每个状态的行动,也就是说可以被视为顺序决策问题。根据通过所选择的行动来实现的状态、尤其是最终状态,每个行动都得到一定回报(英文return),该回报例如根据该行动是否允许到达对其来说给予奖励(例如对于实现该任务的目标来说)的最终状态而得出。
3.然而,包含对神经网络的训练的强化学习、尤其是“深度”强化学习的执行为了能够在可接受的时间内被执行而需要大量的计算资源,这些计算资源无法由典型的机器控制设备(例如工业pc)来提供。然而,用具有足够的计算能力的机器控制设备来替换这种机器控制设备(例如由于存在的成本)不符合希望。
4.因此,如下做法是值得期望的,这些做法能够在不更换现有的机器控制设备(例如设施计算机)的情况下实现强化学习。


技术实现要素:

5.按照一个实施方式,提供了一种机器控制装置,该机器控制装置具有第一数据处理设备,该第一数据处理设备具有第一中央处理单元,该第一中央处理单元被设立为实现控制代理,该控制代理被设立为选择针对机器的控制行动。第一数据处理设备还具有至该机器的控制接口,该控制接口被设立为向该机器传送用于实施所选择的控制行动的控制指令并且从该机器接收过程和环境数据(例如传感器数据),这些过程和环境数据包含关于该机器的状态和/或该机器的环境的状态信息。该机器控制装置还具有第二数据处理设备,该第二数据处理设备具有用于与第一数据处理设备进行通信的数据通信接口,其中该数据通信接口被设立为从第一数据处理设备接收这些状态信息。第二数据处理设备具有第二中央处理单元,该第二中央处理单元被设立为实现控制代理的副本。第二数据处理设备附加地具有一个或多个图形处理器和/或一个或多个张量处理器,其中第二中央处理单元被设立为:借助于所述一个或多个图形处理器和/或所述一个或多个张量处理器在使用这些状态信息的情况下通过强化学习来确定控制代理的副本的更新。第二数据处理设备被设立为将该更新传送给第一数据处理设备,而且第一数据处理设备被设立为根据所确定的更新来对由该第一数据处理设备实现的控制代理进行更新。
6.上述机器控制装置能够将强化学习(reinforcement learning)应用于真实世界中的过程并且能够自动且连续地改善对这些过程的控制。该机器控制装置不需要更改控制设备(第一数据处理设备),如该控制设备例如在生产车间中被提供的那样,因为在保持该控制设备的情况下可以用性能更卓越的第二数据处理设备来进行补充。仅需要实现(用于
数据通信接口的)通信网络、例如本地(可能是无线的)网络,以便提供在这两个数据处理设备之间的通信。因此,如果存在现有的机器的控制设备可以与附加的处理资源进行通信、也就是说相对应的连通性能够将rl任务(控制和训练)分发到不同设备上的可能性,则按照上述机器控制装置的做法可以被应用于这些现有的机器。
7.因此,按照上述机器控制装置的做法允许继续使用现有的机器(例如机器人)并且允许对这些现有的机器的升级,使得这些现有的机器基于rl连续地自动地学习,而无需更改这些现有的机器。这节约了成本和花费并且促进了可持续性。
8.上述机器控制装置尤其能够实现所谓的在线学习。这表示实时学习,其中控制设备可以直接访问受控系统的状态信息流并且可以对这些状态信息进行处理。通常在其中受控系统的不确定因素不能足够精确地在仿真环境中被建模的应用中,需要这种在线学习。
9.由提供状态信息和更新控制代理构成的循环可以在不妨碍或停止受控过程的情况下不间断地进行。
10.在下文说明不同的实施例。
11.实施例1是上述机器控制装置。
12.实施例2是根据实施例1所述的机器控制装置,其中该控制代理和该控制代理的副本分别借助于一个或多个神经网络来被实现,并且对强化学习的执行具有对所述一个或多个神经网络的训练。
13.尤其是对神经网络的训练需要大量的计算资源,并且能够通过将控制和训练分发到两个数据处理设备上来被实现。
14.实施例3是根据实施例2所述的机器控制装置,其中对该控制代理的副本的更新是对该控制代理的副本的权重的更新,并且第二数据处理设备被设立为将被更新的权重传送给第一数据处理设备。
15.对这些权重的传送能够实现对控制代理的简单更新,该更新可以快速被执行,使得控制不需要被中断。
16.实施例4是根据实施例1至3中任一项所述的机器控制装置,该机器控制装置具有状态信息缓冲器,该状态信息缓冲器被设立为收集这些状态信息,而且其中第二中央处理单元被设立为:如果所收集的状态信息的量已经达到了阈值,则在使用这些所收集的状态信息的情况下确定该控制代理的副本的更新。
17.因此,第一数据处理设备可以连续地传送状态信息,并且如果对于适当的训练循环来说存在足够的数据(例如一定数目的部分训练数据集(小批量(mini-batches)),则第二数据处理设备可以执行该适当的训练循环。
18.实施例5是一种用于控制机器的方法,该方法具有:通过由第一数据处理设备所实现的控制代理,选择针对机器的控制行动;通过所述第一数据处理设备将用于实施所选择的控制行动的控制指令传送给所述机器;通过所述第一数据处理设备,从所述机器接收过程和环境数据,所述过程和环境数据包含关于所述机器的状态和/或所述机器的环境的状态信息;将所述状态信息从所述第一数据处理设备传送给第二数据处理设备;其中所述第二数据处理设备实现所述控制代理的副本;借助于一个或多个图形处理器和/或一个或多个张量处理器,在使用所述状态信息的情况下确定所述控制代理的副本的更新;将所述更新从所述第二数据处理设备传送给所述第一数据处理设备;而且根据所确定的更新来对由
所述第一数据处理设备所实现的控制代理进行更新。
19.实施例6是一种计算机程序,其具有程序指令,当这些程序指令由一个或多个处理器来实施时,这些程序指令使所述一个或多个处理器执行根据实施例5所述的方法。
20.实施例7是一种计算机可读存储介质,在其上存储有程序指令,当这些程序指令由一个或多个处理器来实施时,这些程序指令使所述一个或多个处理器执行根据实施例5所述的方法。
21.结合该机器控制装置所描述的实施例类似地适用于用于控制机器的方法。
附图说明
22.本发明的实施例在附图中被示出并且在下文详细地予以阐述。在附图中,相同的附图标记在多个视图中各处通常都涉及相同的部分。这些附图不一定比例正确,其中重点反而通常在于呈现本发明的原理。
23.图1示出了机器人设备。
24.图2示出了按照一个实施方式的机器控制装置。
25.图3示出了按照另一实施方式的机器控制装置。
26.图4示出了按照一个实施方式的用于控制机器的方法。
具体实施方式
27.不同的实施方式、尤其是下文描述的实施例可以借助于一个或多个电路来被实现。在一个实施方式中,“电路”可以被理解为任何类型的逻辑实现实体,该逻辑实现实体可以是硬件、软件、固件或它们的组合。因而,在一个实施方式中,“电路”可以是硬接线逻辑电路或可编程逻辑电路,诸如可编程处理器、例如微处理器。“电路”也可以是由处理器实现或实施的软件、例如任何类型的计算机程序。根据一个替选的实施方式,相应的功能的任何其它类型的实现方案都可以被理解为“电路”,这些相应的功能在下文更详细地予以描述。
28.图1示出了机器人设备100。
29.机器人设备100具有机器人101,例如用于操作或安装工件或者一个或多个其它对象114的工业机器人臂。机器人101具有操纵器102、103、104和基座(例如托座)105,该基座承载这些操纵器102、103、104。术语“操纵器”涉及机器人101的可移动部分,对这些可移动部分的操纵能够实现与环境的物理交互,例如用于执行任务。为了控制该机器人,机器人设备100包含(机器人)控制设备106,该(机器人)控制设备被配置为使得该(机器人)控制设备根据控制程序来实现与周围环境(英文environment)的交互。操纵器102、103、104的最后一个链节104(离托座105最远)也被称为末端执行器(endeffektor)104,并且可包含一个或多个工具,如焊炬、抓具、喷漆装置等等。
30.其它操纵器102、103(更靠近基座105)可形成定位设备,使得在其端部具有末端执行器104的机器人101与末端执行器104一起被提供。机器人101是机械臂,该机械臂可以完成与人类手臂类似的功能(可能利用在其端部处的工具)。
31.机器人101可包含链节元件107、108、109,这些链节元件使操纵器102、103、104彼此连接并且与托座105连接。链节元件107、108、109可具有一个或多个链节,所述一个或多个链节中的每个链节都可以实现所属的操纵器相对于彼此的旋转运动(也就是说转动运
动)和/或平移运动(也就是说位移)。操纵器102、103、104的运动可以借助于执行机构(aktor)来引起,这些执行机构由控制设备106来控制。
32.术语“执行机构”可以被理解成如下组件,该组件被设立为使得该组件响应于操控来影响机制或过程。该执行机构可以将由控制设备106输出的命令(所谓的激活)转化成机械运动。该执行机构、例如机电转换器可以被配置为使得该执行机构响应于该操控将电能转换成机械能。
33.机器人101可具有传感器113(例如一个或多个摄像机、位置传感器等等),这些传感器被设立为:确定机器人和一个或多个被操纵的对象114(也就是说环境,英文environment)的状态,如该状态从对执行机构的操控和机器人的所产生的运动中得出的那样。
34.在当前示例中,控制设备106具有存储器111和一个或多个处理器110,该存储器存储程序代码和数据,处理器110依据这些程序代码和数据来控制机器人101。根据不同的实施方式,控制设备106控制由控制装置所实现的控制代理112的机器人101,该控制代理又实现控制方针。
35.生成控制方针的途径是强化学习,英文reinforcement learning(rl)。强化学习的特点在于试错(trial-and-error)搜索和延迟奖励。不同于需要标签(英文labels)来进行训练的神经网络的监督学习,rl使用试错机制,以便学习将状态分配给行动,使得被称为回报(英文return)的强化信号被最大化。通过试错,在rl的情况下尝试找出引起更高奖励的行动,其方式是对这些行动进行试验。行动的选择不仅影响当前状态的奖励,而且影响所有即将到来的状态的奖励。深度强化学习(deep reinforcement learning,drl)是指使用监督学习,以便对可以估计回报或者可以将状态直接映射到行动的神经网络进行训练。
36.对复杂性足够的ki(人工智能)模型的训练需要数据处理设备,所述数据处理设备具有“强”数据处理组件,如图形处理器(英文graphics processing units,gpus)或者张量处理器(英文tensor processing units,tpus)。例如在用于在生产过程中控制机器人101的生产车间中的被用作机器控制设备106的数据处理设备、例如工业pc(ipc),通常并不具有在这个意义上来说“强的”数据处理组件。
37.通常,通过离线训练来解决在例如在生产车间中的只能实施(但是不能训练)ki模型的“弱”数据处理组件与为了训练这种ki模型所需的“强”数据处理组件之间的差异。也就是说,在生产车间中(或者在使用机器人或者一般来说机器的其它地点)收集到了大量训练数据之后,ki模型利用这些数据在位于另一地点(因而称为“offline(离线)”)的“强”数据处理设备(也就是说具有强数据处理组件的数据处理设备)上被训练,直至ki模型的性能令人满意为止。接着,该ki模型在“弱”数据处理设备(也就是说没有强数据处理组件的数据处理设备)上例如在生产车间中被使用并且在运行时在较长的时间段跨度上被使用。
38.然而,该方案不能应用于典型的rl方法。学习控制真实世界中的过程或者改善对真实世界中的过程的控制的rl代理需要来自该过程的不断的反馈。该反馈以过程状态序列和与之相关联的奖励为形式向rl代理显示该rl代理的操作的结果。
39.按照不同的实施方式,该问题通过特定的数据处理基础设施来被解决,该数据处理基础设施提供了将rl代理复制带控制代理和训练代理中并且提供在这两个代理之间的动态交互。
40.图2示出了按照一个实施方式的机器控制装置200。
41.机器控制装置200具有弱数据处理设备201,该弱数据处理设备例如实现softsps 204(也就是说以软件为形式的存储器可编程控制器)并且包括pc,如工业pc、嵌入式pc或者盒式pc(box-pc)。因此,该弱数据处理设备201仅具有中央处理单元(cpu),但是没有适合于训练ki模型的协处理器,也就是说没有可以比cpu更快地实施对ki模型的训练(例如对rl代理的训练)的协处理器。弱数据处理设备201例如对应于控制设备106。
42.机器控制装置200还具有强数据处理设备202,也就是说具有一个或多个协处理器的数据处理设备,所述一个或多个协处理器相对于弱数据处理设备201的cpu而言(而且必要时也相对于强数据处理设备202的cpu而言)可以更快地执行对ki模型的训练。所述一个或多个协处理器例如是一个或多个图形处理器或者一个或多个张量处理器。
43.弱数据处理设备201将控制指令发送给机器人203。每个控制指令(该控制指令可包含针对一个或多个执行机构的控制信号)通过行动来给出,该行动针对环境的当前状态(机器人加上被操纵的对象、工作区等等)由rl控制代理205来选择,该rl控制代理由弱数据处理设备201来实现。反过来,弱数据处理设备201从机器人203获得信息(也就是说过程和环境数据,例如传感器数据),这些信息说明了环境的接下来到达的状态。这些信息在下文也被称作状态信息。
44.强数据处理设备202实现rl训练代理206。弱数据处理设备201和强数据处理设备202经由通信接口来连接,其中在该示例中在强数据处理设备202的一侧,从弱数据处理设备201到强数据处理设备202的通信方向由输入端通信接口组件207来实现,并且从强数据处理设备201到弱数据处理设备202的通信方向由输出端通信接口组件208来实现。
45.这些通信接口组件207、208中的每个通信接口组件都例如借助于umc(universal machine connector(通用机器连接器))来被实现。这是一种可以将不同类型的数据源与不同类型的数据接收器(datensenke)连接的设备。在图2的示例中,实现第一通信接口组件207的第一umc将作为数据源的softsps 204与作为数据接收器的强数据处理设备202的存储器209连接,并且实现第二通信接口组件208的第二umc将作为数据源的存储器209与作为数据接收器的softsps 204连接。
46.存储器209尤其是存储状态信息(也就是关于环境的状态的数据),也就是说实现针对状态信息的缓冲器或数据库,这些状态信息由弱数据处理设备201提供给强数据处理设备202。
47.强数据处理设备202的训练控制单元210监控在存储器209中的状态信息(尤其是还未被考虑用于训练rl训练代理206的状态信息的集合)。如果这些状态信息满足一定条件(例如还未被考虑用于训练rl训练代理206的状态信息的量超过阈值),则训练控制单元210在使用这些状态信息(尤其是到目前为止(也就是说在先前的训练遍历中)未被rl训练代理206考虑用于该训练的状态信息)的情况下开始rl训练代理的训练遍历。在该训练之后,rl训练代理提供rl代理的参数,并且训练控制单元210将这些参数存储在存储器209中。第二通信接口组件208将这些参数提供给softsps 204,该softsps利用这些参数来对rl控制代理205进行更新。
48.由rl控制代理和rl训练代理来实现并且由训练控制单元来训练的rl代理可以是任意的rl模型,诸如actor-critic(演员-评论家)模型。在这种情况下,这些参数是实现
actor的神经网络的权重和实现critic的神经网络的权重。
49.输入端通信接口组件207例如可以监控存在于弱数据处理设备201上的状态信息,而且当这些状态信息发生变化时调用这些状态信息并且将这些状态信息传输到存储器209。输出端通信接口组件208可以监控在存储器209中的rl代理参数,并且当这些rl代理参数发生变化(也就是说被训练控制单元210更新)时被传输(转发)给弱数据处理设备201。
50.因此,按照不同的实施例,弱数据处理设备201和强数据处理设备202借助于用于处理状态信息的缓冲器来动态地连接。
51.rl控制代理例如通过rl代理的编译版本来被形成。rl训练代理例如通过rl代理的原始代码来被形成。在actor-critic模型的情况下,rl控制代理例如当其必须确定所要实施的行动时只包含rl代理的actor部分。rl训练代理不仅实现actor而且实现critic。
52.因此,按照不同的实施方式,使用具有相同知识水平的两个rl代理。这些rl代理中的一个rl代理(由控制代理205实现)负责对机器人203的持续控制,而另一个rl代理(由rl训练代理来实现)被训练控制单元210用于(通过强化学习)进行该训练。
53.两个rl代理205、206同时(同步)运行。在rl控制代理205(例如针对制造过程)控制该机器人期间,训练控制单元210对其rl代理的版本进行训练,以便改善该控制的性能。状态信息被持续传输给存储器209。训练控制单元210从该缓冲器中提取训练数据集(批量)并且针对每个集执行rl训练代理的训练遍历。一旦训练遍历结束,所得到的(经训练的)rl代理的参数就被转移到rl控制代理并且被实现,使得可以在不中断的情况下执行该控制。
54.从rl代理的角度看是响应于控制行动而发生变化的环境(environment)或受控系统的受控(例如制造)过程具有当前状态。rl控制代理205读取该状态并且按照由该rl控制代理实现的控制方针(policy)来生成用于控制机器人201(并且借此控制该过程)的行动。响应于该行动,环境到达新状态。被rl控制代理205应用的控制方针通过该rl控制代理的参数来被确定(例如实现actor的神经网络的权重)。
55.输入端通信接口组件207收集关于状态的信息并且将这些信息存储在存储器209中。如果在存储器209中存在关于所说明的数目的新(也就是说尚未被用于训练流程的)状态的信息,则训练控制单元210提取关于这些状态的信息并且在使用这些信息的情况下对rl训练代理206进行训练,以便改善该rl训练代理的控制性能。
56.例如当满足一定的性能标准(或者已执行了一定数目的训练迭代)时,训练控制单元210结束训练遍历,读取rl代理的新的、从该训练遍历中得到的版本的参数,并且将这些参数写入存储器209。替选地,训练控制单元210也可以将这些参数直接传输给弱数据处理设备201。
57.rl控制代理205在运行时更新其参数并且利用被更新的参数来继续该控制。以这种方式,rl控制代理205继承了由rl训练代理206实现的经改善的性能。
58.通过重复地执行该训练过程(收集状态信息、执行训练遍历、更新rl控制代理),该控制的性能连续并且自动化地被改善。
59.例如针对新的过程(对其来说尚不存在控制),可以设计传统的标准控制设备。rl代理通过该标准控制设备来被初始化并且被用于该控制以及对控制性能的改善。通常,可以通过rl代理来改善现有的控制。
60.在下文中,以用于将上述做法应用于actor-critic模型的伪代码来说明算法
(“algorithmus 1(算法1)”),其中针对actor附加地设置靶标actor(target-actor)并且针对critic附加地设置靶标critic(target-critic)。使用如下符号::空集m:训练迭代(也就是说训练遍历)的总数j:在训练遍历中actor和critic的更新的总数n:在部分训练数据集(小批量(mini-batch))中状态转变的数目d:actor网络更新靶标网络(靶标actor和靶标critic)的频率:actor的初始参数(控制代理和训练代理):critic(训练代理)的初始参数:在用参数来进行rl训练期间训练代理的actor:在用参数来进行rl训练期间训练代理的critic:在用参数来进行rl训练期间训练代理的靶标actor:在用参数来进行rl训练期间训练代理的靶标criticyi:行动价值目标
概况来说,按照不同的实施方式,提供了如在图3中示出的机器控制装置。
61.图3示出了按照一个实施方式的机器控制装置300。
62.机器控制装置300具有第一数据处理设备301,该第一数据处理设备具有第一中央处理单元(cpu)302,该第一中央处理单元被设立为实现控制代理,该控制代理被设立为选择针对机器303的控制行动。
63.第一数据处理设备301还具有至该机器303的控制接口304,该控制接口被设立为向该机器303传送用于实施所选择的控制行动的控制指令并且从该机器303接收过程和环境数据(例如传感器数据),这些过程和环境数据包含关于该机器的状态和/或该机器的环境的状态信息。
64.机器控制装置300还具有第二数据处理设备305,该第二数据处理设备具有用于与第一数据处理设备301进行通信的数据通信接口306,其中该数据通信接口306被设立为从第一数据处理设备301接收这些状态信息;第二数据处理设备305具有第二中央处理单元307,该第二中央处理单元被设立为
实现控制代理的副本。
65.第二数据处理设备307附加地具有一个或多个图形处理器308和/或一个或多个张量处理器309。
66.第二中央处理单元(cpu)307被设立为:借助于所述一个或多个图形处理器308和/或所述一个或多个张量处理器309在使用这些状态信息的情况下通过强化学习来确定控制代理的副本的更新。
67.第二数据处理设备305被设立为:(例如借助于数据通信接口306)将该更新传送给第一数据处理设备。
68.第一数据处理设备301被设立为:根据所确定的更新来对由该第一数据处理设备所实现的控制代理进行更新(并且将该控制代理用于对机器303的进一步控制)。
69.换言之,对被第一数据处理设备用于控制机器的控制代理的训练由第二数据处理设备来执行,该第二数据处理设备与第一数据处理设备相比包含用于执行强化学习的附加的计算资源。
70.该机器控制装置可以被用于对任何过程的控制,这些过程通过状态序列来被表示并且通过行动序列来被控制。该机器控制装置例如处理具有其通过传感器信号获得的状态向量的时间序列,并且使用该时间序列,以便计算针对物理系统的控制信号。例如,该机器控制装置控制机器,其中机器可以被理解成任何(具有其运动被控制的机械部分的)物理系统,如机器人、车辆、家用电器、电动工具、生产机器、私人助理或门禁系统。
71.第一数据处理设备和第二数据处理设备可以彼此分开地(例如彼此分开几米、例如超过10m、20m、50m或100m)布置,例如布置在工厂的不同房间中,例如布置在生产车间(第一数据处理设备)或工厂设施的服务器机房(第二数据处理设备)中。这两个数据处理设备之间的距离最终只受限于数据通信速度。只要连接允许这两个数据处理设备能够足够快地彼此进行通信,这些数据处理设备就也可以彼此离得非常远,例如第二数据处理设备位于与第一数据处理设备不同的国家的中央计算中心中。因此,实施方式并不限于“单一工厂解决方案”。
72.图形处理器可以被理解成计算机等等的专门从事图形计算并且针对图像计算被优化的(协)处理器。张量处理器可以被理解成协处理器,该协处理器专门从事在机器学习的框架内对数据的处理、尤其是在人工神经网络中对数据的处理(并且针对此被优化)。
73.图4示出了按照一个实施方式的用于控制机器的方法。
74.该方法具有如下步骤:在401中,通过由第一数据处理设备所实现的控制代理,选择针对机器的控制行动;在402中,通过第一数据处理设备将用于实施所选择的控制行动的控制指令传送给该机器;在403中,通过第一数据处理设备,从该机器接收过程和环境数据,这些过程和环境数据包含关于该机器的状态和/或该机器的环境的状态信息;在404中,将这些状态信息从第一数据处理设备传送给第二数据处理设备,其中第二数据处理设备实现该控制代理的副本;在405中,借助于一个或多个图形处理器和/或一个或多个张量处理器,在使用这
些状态信息的情况下确定该控制代理的副本的更新;在406中,将该更新从第二数据处理设备传送给第一数据处理设备;而且在407中,根据所确定的更新来对由第一数据处理设备所实现的控制代理进行更新。
75.按照一个实施方式,该方法是计算机实现的。
76.尽管本发明主要是在参考特定实施方式的情况下被展示和描述的,但是本领域技术人员应该理解:可以在不脱离本发明的如通过随后的权利要求书限定的精神和范围的情况下关于其设计方案和细节进行大量更改。因而,本发明的范围通过随附的权利要求书来被确定,而且意图涵盖落入权利要求书的字面含义或等效范围的全部更改。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1