用于自动生成用于控制机器的行为树程序的方法与流程

专利2024-12-22  64

用于自动生成用于控制机器的行为树程序的方法
1.本公开涉及用于例如在工业自动化系统中自动生成用于控制机器的行为树程序(behavior tree program)的计算机实现的方法以及被配置为执行该方法的辅助装置。
2.在各种技术领域中,存在对控制机器或机器的系统的需要。例如,在工业自动化环境(context)中,自主机器变得越来越重要。在加工和制造工业中做出持续的努力,以基于配备有作用于车间的模块化和自主机器的工厂,高效地实现批量的一个生产。同时,模块化并且特别是自主的机器难以,编程和协调。
3.在结构化(structured)文本的情况下,针对可编程逻辑控制器(简称plc)的iec 61131标准的编程语言遵循命令式编程范式。它们将具体(concrete)机器的行为定义为具有明确决策点的严格(rigid)序列。在功能框图的情况下,模拟逻辑电路。这非常适合于经典工厂,在经典工厂中,期望精确定义的重复移动,反应依赖于简单的、通常为二进制的传感器输入,并且机器具有有限数量的状态,比如例如运行、空闲、关闭等。
4.行为树是强大的编程范式,用于克服经典plc编程方法的局限性。行为树以模块化的方式描述有限任务集之间的切换。它们的优势(strength)源于它们创建由简单任务组成的非常复杂的任务而不用担心简单任务如何实现的能力。任务描述单个行为步骤,几个任务被组合为合成(composition),其定义单个任务应该以什么次序和在什么条件下被执行。行为树与分层状态机呈现一些相似之处,其中主要区别在于行为的主要构建块是任务而不是状态。它易于人类理解,使行为树较不易出错。表达行为树和行为树程序贯穿本文档用作同义词。
5.如今,行为树由自动化工程师手动创建并输入到机器或机器的系统的控制器。虽然行为树比经典plc编程语言更容易处理,但它们仍然需要对自动化工程师进行一些量的培训。
6.因此,本发明的一个目的是支持自动化工程师生成行为树。
7.这些目的由独立权利要求的主题来解决。在从属权利要求中提议了有利的实施例。
8.根据第一方面,提议了一种用于自动生成用于控制机器的行为树程序的计算机实现的方法,所述方法包括以下步骤:-将由用户输入的机器命令的序列从用户接口传输到控制器,-当在控制所述机器的控制器中执行机器命令时,在用户接口中从控制器接收监督数据,-观察和复制在控制器和用户接口之间传输的机器命令和监督数据,-在日志记录单元中存储机器命令和监督数据,-通过统计推理从存储的机器命令和监督数据中生成导出的行为树程序,以及-将生成的行为树程序发送到控制器单元以控制所述机器。
9.由用户输入机器命令来控制机器。机器命令在控制器中执行,并调用执行机器的动作或机器的组件的动作的一个或几个广泛的封闭程序段。机器命令根据例如iec 61131标准的编程语言来结构化。不是对行为树进行编程,而是基于用户与机器的交互自动生成
行为树。用户对机器的操作的意图(其不是明确可用的)不是直接询问用户而是通过对用户行为的观察、预测和外推(extrapolation)来收集的。统计推理是使用数据分析来推理出潜在概率的分布的属性的过程。使用统计推理来导出行为树的结构。应用于统计推理的方法可以是例如关联规则挖掘、先验算法或用于序列模式挖掘的方法。机器命令经由通信协议(例如opc ua、profinet)在用户接口和控制器之间的通信连接中传输。
10.根据本发明的实施例,机器命令激活机器中的机器行为、功能或操作状态。
11.机器命令在从描述完整动作的高级到包括动作的非常精确和详细的组件的低级的不同细节的级别上定义机器行为、功能或操作状态。这允许考虑机器命令的子结构的详细分析,并且使得能够预测接近用户的预期的机器操作的行为树的结构。在本说明书中,表达“机器命令”和“高级机器命令”被用作同义词。
12.根据本发明的实施例,监督数据包括当由执行高级机器命令的控制器控制时机器的状态信息和/或传感器数据。
13.状态信息包括机器命令和/或由机器命令激活的动作的执行是被成功执行还是失败的信息。状态信息还包括由机器或机器的组件中的传感器收集的传感器数据值,其提供关于机器的状况或所执行的自动化过程的状况的信息。可以独立于机器命令的执行来提供监督数据。因此,状态信息提供了关于机器的操作的全面概述。
14.根据本发明的实施例,行为树的至少一个任务从推理单元处的至少一个机器命令中导出。
15.任务提供行为树的基本组件,并且当被执行时执行机器的动作。推理单元提供行为树的基本组件,并且因此从头开始生成行为树,即,无需行为树的编程元素的任何输入。
16.根据本发明的实施例,通过分析以下各项来推理出行为树的结构:-哪些导出的任务以彼此的时间关系来执行,-监督数据的返回值,-关于任务的执行的任务的参数设置,-监督数据值和监督数据值的变化与任务执行、任务取消和任务参数化的同现(co-occurrence)。
17.推理单元通过所描述的分析步骤导出行为树的进一步的结构,尤其是定义关于执行任务的条件和顺序的规则的合成和装饰器(decorator)。尤其是通过分析监督数据值和监督数据值的变化与任务执行、任务取消和任务参数化的同现来推理出装饰器。同现意味着分析哪些监督数据值或值机会与一个或几个任务的执行或一个或几个任务的取消或任务的参数设置同时发生或时间上相关地发生。
18.根据本发明的实施例,通过分析成功执行的任务和失败的任务的序列以及序列中每对任务的转移概率,推理出组合行为树的几个任务的合成。
19.根据本发明的实施例,推理单元向用户接口提供针对要由用户输入的进一步的机器命令的建议。
20.这支持用户将机器操作自动化。用户需要较少的机器的机器命令编程的知识。推理单元的建议可以被检查和审阅,并且可以被用于连续训练推理单元。
21.根据本发明的实施例,推理单元向用户接口提供针对要由用户输入的进一步的行为树结构元素的建议。
22.行为树的结构包括至少结构元素,该结构元素包括行为树组件的合成。行为树组件例如是任务、合成和装饰器。该建议辅助用户改进对行为树的编程,并提高所得到的行为树的质量。
23.根据本发明的实施例,推理单元包括语义模型,该语义模型提供关于与具体机器操作场景相关的任务的序列、任务的条件和序列中每对任务的转移概率中的至少一个的领域知识。
24.语义模型包括与具体机器操作场景相关的行为树组件的集合,其中行为树组件定义了典型的任务的序列和任务应在其下被执行的条件。语义模型可以提供关于可能失败的任务以及在这种情况下哪些回退(fallback)解决方案是可能的信息。这加速了新操作场景的行为树的生成以及操作场景的变型的生成。它进一步允许推理单元提供广泛的建议。
25.根据本发明的实施例,推理单元基于关于进一步的预期机器操作的假设,向用户接口提供针对行为树结构元素的推荐,以验证或修改该推荐。
26.这为推理单元提供了接收用户的即时反馈以及行为树程序与由用户预期的机器操作的早期对准的可能性。
27.根据本发明的实施例,所生成的行为树程序从推理单元被提供给控制器,用于控制机器。
28.所生成的行为树程序可以直接从推理单元被提供给控制器,或者所生成的行为树程序可以从推理单元被传递到用户接口,当接收到用户的确认时,用户接口将其从用户接口转发到控制器。直接提供允许行为树的快速实现。经由用户接口的间接提供允许用户批准、校正或禁止实现,即控制器中自动生成行为树的执行。
29.根据第二方面,提议了一种用于辅助生成针对机器的行为树程序的辅助系统,包括编程接口、观察器单元、日志记录单元和推理单元,其中-接口单元被配置成将由用户输入的机器命令的序列从用户接口传输到控制器,并且在控制所述机器的控制器中执行机器命令时从控制器接收监督数据,-观察器单元被配置成观察和复制在控制器和用户接口之间传输的机器命令和监督数据,-日志记录单元被配置成存储机器命令和监督数据,-推理单元被配置成通过统计推理从存储的机器命令和监督数据生成导出的行为树程序,并且在控制器单元处发送生成的行为树程序以操作所述机器。
30.根据本发明的实施例,用户接口包括图形用户接口,所述图形用户接口被配置成向用户显示监督数据、建议或推荐,和/或输入机器命令的序列或对用户的建议和/或推荐的反馈。
31.这提供了用户和控制器之间的灵活通信。
32.根据本发明的实施例,日志记录单元被配置为知识库。
33.知识库是用于存储由提供专家系统的计算机系统使用的复杂的结构化和非结构化信息的技术。知识库表示事实和关于那些事实进行推论(reason)的方式,以推断新的事实或突出不一致之处。优选地,知识库被结构化为知识图。
34.根据第三方面,提议了一种可直接加载到数字计算机的内部存储器中的计算机程序产品,包括当所述产品在所述数字计算机上运行时用于执行根据前述权利要求之一所述
的步骤的软件代码部分。
35.在下文中,将更详细地并且参考附图描述本公开的实施例。
36.图1示意性地图示了用于相应地对机器进行编程的经典编程系统。
37.图2示意性地图示了根据本公开的实施例的生成用于控制机器的行为树的辅助系统。
38.图3示意性地图示了根据本公开的实施例的行为树的结构元素的推理。
39.图4a-b示意性地图示了根据本公开的实施例推理出行为树的合成。
40.图5a-c示意性地图示了根据本公开的实施例推理出行为树的装饰器。
41.图6示意性地图示了根据本公开的实施例的生成的行为树程序。
42.图7示出了用于示意性地图示根据本公开的实施例的方法的流程图。
43.注意,在实施例的以下详细描述中,附图仅是示意性的,并且所图示的元件不一定按比例示出。而是,附图旨在说明组件的功能和协作。这里,要理解,功能块、设备、组件或其他物理或功能元件的任何连接或耦合也可以通过间接连接或耦合(例如经由一个或多个中间元件)来实现。元件或组件的连接或耦合可以例如通过基于有线的连接、无线连接和/或基于有线的连接和无线连接的组合来实现。功能块可以由专用硬件、由安装在可编程硬件上的固件和/或软件、和/或由专用硬件和固件或软件的组合来实现。
44.图1示意性地图示了用于例如在经典的自动化工业中对机器14进行编程的编程系统10。
45.编程系统包括操作接口11、编程接口12自动化、控制器13和机器14。机器14可以是制造中的任何种类的机器,例如,自动化单元、工厂单元、生产线、加工线、装配线或自主引导车辆(简称agv)、机器人以及其他。
46.编程接口12是用户16(例如自动化工程师)和控制器13之间的接口。自动化工程师使用编程接口12来定义自动化程序15。自动化程序15可以根据能够控制机器的任何种类的编程语言来结构化。针对可编程逻辑控制器(简称plc)的iec 61131标准的结构化文本编程语言的编程语言的示例,比如step7,包括接触计划(contact plan)kop、功能计划(function plan)fub和graph7。编程接口12将自动化程序15传输到控制器13。自动化程序15在控制器13上执行。控制器13可以是自动化系统、个人计算机、边缘设备、plc或任何其他种类的逻辑机器。在机器的操作期间,用户16(例如机器操作员)使用操作接口11来监视和控制机器14。
47.图2图示了根据本公开的实施例的生成用于控制机器24的行为树程序28的辅助系统20。机器24可以是制造中的任何种类的机器,例如自动化单元、工厂单元、生产线、加工线、装配线或自主引导车辆(简称agv)、机器人以及其他,比如机器14。控制器单元23通过执行行为树程序28来控制机器24。辅助系统20辅助针对机器24生成行为树程序,该辅助系统20包括编程接口21、观察器单元25、日志记录单元26和推理单元27。
48.用户接口21是用户22(例如机器操作员或自动化工程师)和控制器单元23之间的接口。用户接口21被配置为图形用户接口、显示器、键盘、鼠标、控制单元以及诸如此类。用户接口21被配置成接收来自作为机器操作员的角色中的用户的输入,即在机器的操作期间输入机器命令。在辅助系统20的训练阶段期间,尤其是推理单元27的训练阶段期间,用户22通过将机器命令输入到用户接口21中来控制机器24。机器命令,尤其是高级机器命令,定义
生产步骤、运输步骤、材料流、材料处理、材料加工、装配步骤等等。
49.用户22使用用户接口21来监视和控制机器。为了控制机器,例如传送带,用户输入第一机器命令,当在控制器处执行时,该第一机器命令指示机器将块放在传送带上。通过第二机器命令,用户22启动传送带。通过第三机器命令,当块碰到光障(light barrier)时,用户22使传送带停止。
50.观察器单元25截取(intercept)用户接口21和控制器单元23之间的通信连接29上的通信。观察器单元25收集输入到用户接口21的所有用户机器命令,所述命令旨在用于控制器单元23。观察器单元25是用于理解用户意图的支持工具。观察器单元25收集用户22的交互和反馈,即,来自机器或来自机器的组件的监督数据,所述机器的组件例如被配置为传送带的机器的传感器和光障,其中在运输物体时执行若干活动。
51.日志记录单元26存储通信,即在用户接口21和控制器单元23之间的连接上观察和复制的机器命令和监督数据。日志记录单元26可以是数据库、列表、文件、知识图、知识库或类似物。日志记录单元26是中央存储系统,并且包含用户22输入到用户接口21以导出用于控制器单元23的自动化程序的所有相关信息。
52.推理单元27从日志记录单元26中的信息导出行为树。推理单元27从至少一个机器命令导出行为树的至少一个任务。行为树中的任务通常对应于机器命令。推理单元27包括统计推理功能,也称为统计推理引擎,其从存储的机器命令和监督数据中学习哪些任务通常并行或顺序执行,在哪些条件下针对任务的通常参数设置是什么,哪些任务通常跟随某些其他任务、事件(例如,接近度警报)或条件(例如,光障中断)应用于统计推理的方法可以是例如关联规则挖掘、先验算法或用于序列模式挖掘的方法。
53.在这样做时,可以学习前提条件、回退场景以及典型的任务的序列,以及任务、提供几个任务的逻辑互连的合成,比如序列合成或回退合成。推理单元27向用户接口21发送建议,以辅助用户22将操作自动化。
54.图3中示出了在推理单元27中执行的统计推理的示例。辅助系统20观察并存储两个日志文件l1、l2,其包含已经执行的机器命令的序列。基于机器命令,任务t11、

、t15、t21、

、t26被导出。日志文件l1、l2进一步包括针对每个任务t11、

、t15、t21、

、t26的成功状态和变量的状态。在图3中,任务t11、t14、t15、t21-t23、t25、t26已经成功完成,任务t12、t13、t24已经失败。基于该信息,由推理单元27推理出成功和失败的转移概率tp。推理单元27现在可以向用户22提供针对序列合成和回退合成的建议s,用户22可以确认或拒绝那些建议。
55.图4a示出了任务t31、

、t33的序列30。任务以高转移概率执行,参见两个任务之间的箭头上方指示的值。任务t31、

、t33的序列30是在成功的任务执行的情况下被推理为序列合成的候选者。
56.在失败任务后以高概率跟随的任务是回退合成的候选者。图4b示出了任务t41、

、t45的这样的回退合成40。任务42(其是成功执行的任务)以高转移概率跟随任务t41。
57.装饰器的标识也可以通过日志文件的分析来支持。装饰器被附着到(attached to)合成或者任务,并且定义行为树中的分支或者甚至单个节点是否可以被执行。装饰器还可以修改装饰的任务或合成的成功或失败状态。
58.在图5a中,任务t51之后是任务t52或任务t53。任务的序列t51-t52-t53的概率与变量a的值相关,序列t51-t53的概率与变量b的值相关。那意味着变量a和b是“如果(if)”装饰器的候选者。
59.可以通过推理对于失败任务特定变量的值是否改变来标识“保护(guard)”装饰器的候选者。在图5b中的示例中,任务t56失败,并且变量a的值已经改变。变量a是“保护”装饰器的候选者。
60.如果特定变量的值在新任务开始的同时变化,那么可以通过观察来标识“等待”装饰器的候选者。图5c中的示例示出了与任务t54与t55之间的转移相关的变量a的值变化。
61.图6示出了由辅助系统20自动生成的行为树程序50。行为树50控制该系统移动到光障,参见51。行为树组件52表示“序列”合成。行为树组件53表示“等待light-barrier=假”,行为树组件54表示“《 》停止”,组件55表示“等待sensor_2=真”,并且组件56表示“《 》向右”。生成的程序了解到:
‑ꢀ
sensor_2触发传送带的启动(等待传感器2的值变化)-light_barrier使传送带停止(等待light_barrier的值变化)。
62.推理单元27可以包括提供领域知识的语义模型。例如,它提供信息“任务只能以一定的安全级别执行,机械臂的拾取仅在90%的情况下是成功的,并且因此

回退’是必要的”。语义模型可以提供关于可能失败的任务以及哪些回退解决方案是可能的信息。推理单元27可以基于假设向用户22做出推荐。用户22可以验证或校正假设。每当推理单元27在创建行为树程序时不确定某事时,可以请求用户输入,例如并行任务、回退、前提条件、等待条件、循环、if-else语句、停止条件。
63.给用户的示例问题是“我们注意到任务a通常在光障被中断后执行。你想把这个保存为前提条件吗”辅助系统20被配置成执行用于自动生成用于控制机器24的行为树程序的计算机实现的方法,如图7中示意性所示。
64.在第一步骤s1中,由用户22在用户接口21处输入的机器命令的序列被传输到控制器单元23。当在控制器单元23中执行机器命令时,在用户接口21中从控制器单元23接收监督数据,参见步骤s2。机器命令和监督数据在用户接口21和控制器单元23之间的通信连接上传递,例如经由根据opv ua、profinet以及诸如此类的协议消息传递。机器命令激活机器24中的机器行为、功能或操作状态。监督数据包括当由执行机器命令的控制器控制时机器的状态信息和/或传感器数据。
65.在控制器23和用户接口21之间的通信连接处观察和复制机器命令和监督数据,参见步骤s3。随后在步骤s4中,机器命令和监督数据被存储在日志记录单元26中。
66.在步骤s5中,通过机器学习,尤其是通过统计干扰,从存储的机器命令和监督数据中导出行为树程序。行为树的至少一个任务从推理单元27处的至少一个机器命令中导出。通过分析以下各项来推理出行为树的结构和组件(即合成和装饰器):哪些导出的任务以彼此的时间关系来执行,监督数据的返回值,关于任务的执行的任务的参数设置,监督数据值和监督数据值的变化与任务执行、任务取消和任务参数化的同现。推理单元27向用户接口21提供针对要由用户输入的进一步的机器命令的建议。
67.推理单元27向用户接口21提供针对进一步的机器命令的建议,所述建议又可以被
用户接受和输入。也可以忽略所述建议,和/或可以输入不同的机器命令或行为任务结构元素,即任务、合成或装饰器。推理单元27基于关于进一步的预期机器操作的假设,向用户接口21提供针对行为树结构元素的推荐,以验证或修改该推荐。最后,所生成的行为树程序被发送到控制器单元23以控制机器24,参见步骤s6。
68.要理解,对示例的以上描述旨在是说明性的,并且所图示的概念易于进行各种修改。例如,所图示的概念可以被应用于监视各种类型的机器或机器系统以及可以在机器或机器系统上监视的各种类型的数据,并且可以以各种方式利用细化的标签信息。

技术特征:
1.一种用于自动生成用于控制机器(24)的行为树程序(28)的计算机实现的方法,所述方法包括以下步骤:-将由用户输入的机器命令的序列从用户接口(21)传输(s1)到控制器(23),-当在控制所述机器(24)的控制器(23)中执行机器命令时,在用户接口(21)中从控制器(23)接收(s2)监督数据,-观察和复制(s3)在控制器(23)和用户接口(21)之间传输的机器命令和监督数据,-在日志记录单元(26)中存储(s4)机器命令和监督数据,-通过统计干扰从存储的机器命令和监督数据中生成(s5)导出的行为树程序,以及-将生成的行为树程序发送(s6)到控制器单元(23)以控制所述机器。2.根据权利要求1所述的计算机实现的方法,其中所述机器命令激活机器(24)中的机器行为、功能或操作状态。3.根据权利要求1所述的计算机实现的方法,其中,监督数据包括当由执行机器命令的控制器控制时机器(24)的状态信息和/或传感器数据。4.根据前述权利要求中的任一项所述的计算机实现的方法,其中,行为树程序(28)的至少一个任务从推理单元(27)处的至少一个机器命令中导出。5.根据权利要求4所述的计算机实现的方法,其中,通过分析以下各项来推理出行为树程序(28)的结构:-哪些导出的任务以彼此的时间关系来执行,-监督数据的返回值,-关于任务的执行的任务的参数设置,-监督数据值和监督数据值的变化与任务执行、任务取消和任务参数化的同现。6.根据权利要求5所述的计算机实现的方法,其中,通过分析成功执行的任务和失败的任务的序列以及序列中每对任务的转移概率,来推理出组合行为树程序的几个任务的合成。7.根据权利要求4-6中的任一项所述的计算机实现的方法,其中,推理单元(27)向用户接口(21)提供针对要由用户(22)输入的进一步的机器命令的建议。8.根据权利要求4-6中的任一项所述的计算机实现的方法,其中,推理单元(27)向用户接口(21)提供针对要由用户(22)输入的进一步的行为树结构元素的建议。9.根据前述权利要求中的任一项所述的计算机实现的方法,其中,推理单元(27)包括语义模型,所述语义模型提供关于与具体机器操作场景相关的任务的序列、任务的条件和序列中每对任务的转移概率中的至少一个的领域知识。10.根据前述权利要求中的任一项所述的计算机实现的方法,其中,推理单元(27)基于关于进一步的预期机器操作的假设,向用户接口(21)提供针对行为树结构元素的推荐,以验证或修改所述推荐。11.根据前述权利要求中的任一项所述的计算机实现的方法,其中,生成的行为树程序(28)从推理单元(27)被提供给控制器(23),以用于控制所述机器(24)。12.用于辅助生成针对机器(24)的行为树程序的辅助系统,包括编程接口(21)、观察器单元(25)、日志记录单元(26)和推理单元(27),其中-接口单元(21)被配置成将由用户输入的机器命令的序列从用户接口(21)传输到控制
器(23),并且在控制所述机器(24)的控制器中执行机器命令时从控制器(23)接收监督数据,-观察器单元(25)被配置成观察和复制在控制器(23)和用户接口(21)之间传输的机器命令和监督数据,-日志记录单元(26)被配置成存储机器命令和监督数据,-推理单元(27)被配置成通过统计干扰从存储的机器命令和监督数据生成导出的行为树程序(28),并且在控制器单元(23)处发送生成的行为树程序(28)以操作所述机器(24)。13.根据权利要求12所述的辅助系统,其中,用户接口(21)包括图形用户接口,所述图形用户接口被配置成向用户(22)显示监督数据、建议或推荐,和/或输入机器命令的序列或对用户(22)的建议和/或推荐的反馈。14.根据权利要求12或13所述的辅助系统,其中,所述日志记录单元(26)被配置为知识图或知识库。15.一种可直接加载到数字计算机的内部存储器中的计算机程序产品,包括当所述产品在所述数字计算机上运行时用于执行根据前述权利要求1-11之一的步骤的软件代码部分。

技术总结
用于自动生成用于控制机器的行为树程序的方法。一种用于自动生成用于控制机器(24)的行为树程序的计算机实现的方法,所述方法包括以下步骤:-将由用户输入的机器命令的序列从用户接口(21)传输到控制器(23),-当在控制所述机器(24)的控制器(23)中执行机器命令时,在用户接口(21)中从控制器(23)接收监督数据,-观察和复制在控制器(23)和用户接口(21)之间传输的机器命令和监督数据,-在日志记录单元(26)中存储机器命令和监督数据,-通过统计推理从存储的机器命令和监督数据中生成导出的行为树程序,以及-将生成的行为树程序发送到控制器单元(23)以控制所述机器。控制器单元(23)以控制所述机器。控制器单元(23)以控制所述机器。


技术研发人员:A
受保护的技术使用者:西门子股份公司
技术研发日:2022.04.29
技术公布日:2022/11/1
转载请注明原文地址: https://tieba.8miu.com/read-11074.html

最新回复(0)