标签:应用 链接 之间 优点 静态 div 工作流 开发人员 控制流
该C++库提供了一个创建行为树的框架。它被设计为一个灵活,易用且快速的库。
尽管我们的主要用例是机器人技术,但您也可以使用该库来为游戏构建AI,或用于替换应用程序中的有限状态机。
与其它实现相比,BehaviorTree.CPP具有许多有趣的功能:
行为树(BT)是一种用于组织自主智能体(例如机器人或计算机游戏中的虚拟实体)中不同任务之间进行切换的方式。
BT是一种创建模块化与响应式复杂系统的非常有效的方法。这些特性在许多应用中至关重要,使得BT的应用范围从计算机游戏编程扩展到AI和机器人技术的许多分支。
如果您已经熟悉有限状态机(FSM),则可以轻松掌握大多数概念,但是您会发现BT具有更强的表达力和推理能力。
与FSM相比,行为树的主要优点是:
许多软件系统(例如机器人技术)本质上是复杂的。
管理复杂性,异构性和可伸缩性的常用方法是使用基于组件的软件工程的概念 。
任何现有的用于机器人技术的中间件都非正式地或正式地采用了这种方法,例如ROS,YARP和 SmartSoft等。
一个"好的"软件架构应具有以下特征:
如果我们从一开始就没有记住这些概念,那么我们将创建与特定应用程序高度耦合而不是可重用的软件模块/组件。
通常,对协同的关注与计算混杂在一起。换句话说,人们着手解决协同行为中的问题并局部做出决定。
业务逻辑"散布"在许多地方,开发人员很难对此进行推理并调试控制流中的错误。
为了实现关注点的强分离,最好将业务逻辑集中在一个地方。
有限状态机是专门为了实现这一目标而创建的,但是近年来,行为树得到了普及,尤其是在游戏行业。
标签:应用 链接 之间 优点 静态 div 工作流 开发人员 控制流
原文地址:https://www.cnblogs.com/xGonZh10n/p/12844060.html