怎么黑进网站后台,网站一直百度上搜不到是怎么回事,企业平台是什么意思,怎么做服务器网站下载链接顾名思义#xff0c;行为树是描述事物#xff08;人#xff0c;动物#xff0c;机器人#xff0c;虚拟角色等等#xff09;行为的树形结构。游戏行业使用行为树为角色行为建模。现在行为树建模技术正在向其它领域渗透#xff0c;比如工业产线编排#xff0c;机器人控制… 顾名思义行为树是描述事物人动物机器人虚拟角色等等行为的树形结构。游戏行业使用行为树为角色行为建模。现在行为树建模技术正在向其它领域渗透比如工业产线编排机器人控制。 另一方面从一些自动化厂商的技术发展趋势可以看出开放自动化正朝着从底层编程建模技术逐步上移采用更高级的领域语言和高层建模技术逐步走向基于自然语言的编程与建模的目标。 行为树和有限自动机是两种主要的行为建模方式。 行为树由三类预定义的节点node构建的树它们分别是 根root工作流workflow和执行节点。用它们来描述“某些”行为。节点的返回是成功Success失败Failure 和运行Running 设想你感觉饿了准备去烹饪一个肉或者订购一份外卖。我们可以用下面的行为树来描述 也许你并不知道SELECTOR 和 SEQUENCE的含义但是你大致了解行为树描述的行为模型的意义。只有一个节点会成功做成一份肉或者点了一份外卖。
节点类型
(动作/任务/叶)Action/Task/Leaf nodes
叶节点分为两类
动作: 完成某类动作例如开门 条件: 检测某类条件
复合节点Composite nodes
复合节点是有多个子节点Child)的节点主要包括下列三种
顺序Sequence
顺序节点包含多个子节点一旦执行将顺序执行子节点。其中一个子节点执行错误便返回失败。
for child in children:status child.run()if status RUNNING or status FAILURE:return statusreturn SUCCESS 选择器Selector 选择器节点具有多个子节点一旦执行它执行所有节点直到某一个成功否则便失败。你可能看出来它正好与顺序节点相反。
for child in children:status child.run()if status RUNNING or status SUCCESS:return statusreturn FAILURE 修饰器节点Decorator
修饰器只有一个子节点它大多数用于实用节点utility Nodes例如 Repeater: 无限制执行或者执行一段时间子节点。Inverter: 子节点的结果取反AlwaysSucceed: 失败变成成功.UntilFail: 运行直到出错 其它的复合节点包括
并行执行随机执行
黑板Blackboard 几乎在大多数情况下某个节点需要与其它的节点对话行为树具有数据存储的能力它们被称为黑板或者数据脉络blackboard, data context比如一个节点发现最近的敌人而另一个节点袭击它。它们之间要交换敌人的方位信息 行为树的应用
游戏对话AI机器人
行为树在工业软件中的应用 在制造业中人们使用行为树为工作流程建模。例如将制造行业的标准工单SOP-Standard Operation Procedure转换成为行为树模型。构建了行为树模型之后工业软件能够将行为树转换成为执行程序每个节点对应与一个功能块function block。从而实现工作流自动化和低代码。 搜索Github 可以找到许多Python和C 的行为树库。也有专门支持ROS 的机器人行为树库。
行为树与功能块相结合 开放自动化领域中的功能块是一种模块化技术将完成某个单一功能的程序段封装成功能块并且提供规范的功能块接口。功能块适合图形化编程。显然使用功能块实现行为树是有效的方法。能够方便地将行为树图模型转换成为功能块图网络。 模型和代码的分层架构 结束语 行为树作为一种行为建模方式在工制造业的基于标准工单的作业流控制机器人AGV 等场合具有广阔的市场应用。 不过也应该指出行为树和有限状态机一样它是一种建模方法并不是一个技术标准。在具体应用中有灵活的应用方法。行为树模型和其它建模方法相结合能够成为高层建模方法例如OPCUA 和IEC61499 基于事件功能块信息模型。进一步地随着chatGPT 大语言模型的行业应用的普及能够与基于自然语言的领域语言DSL 相结合。促进建模技术向更高层有高效的方式的应用。 俗话说“基础不牢地动山摇”。当我们研究和学习新技术和创新思想时候基础技术需要掌握的。与此同时也要借鉴其它行业的成功经验这样才能够到达“它山之石可以攻玉”的境界。