Loading

行为树的优缺点

优点

模块化

BT的每个子树都可以是一个模块。模块化系统可以设计、应用、测试和重用一个模块。分而治之的模块化系统会随着系统的复杂度增加而变得更加有益。

分层组织

BT包含多个级别的决策。在不同层次上的设计和分析结构能实现迭代细化和计划拓展。

可重用代码

BT的所有子树只需要返回“运行“、”成功“和”失败“,这使得一个子树在任意子树都是可重用的。

反应性

BT的反应性表现为每Tick对树进行闭环遍历 。

可读性

可读性可以降低开发和调试的成本。由于BT的树结构和模块化,使得BT具有可读性

表达能力

BT至少有四种表达方式:有限状态机、包容体系结构、远程反应程序、决策树。

适用于分析

BT可以从这几个特性进行定性和定量分析:安全性,避免不可逆的不良行为;鲁棒性,适用于很大的操作范围;效率性,完成时间的意义上;可行性,成功概率的意义上;可组合性,分析子任务的组合是否保留了属性。

适用于自动综合

BT适用于任务规划或机器学习技术自动合成任务或策略的动作排序。

缺点

BT引擎应用复杂

单线程顺序编程会使BT引擎的应用变得复杂。

检查所有的条件需要很大的代价

BT需要检查几个条件来执行闭环任务。在某些应用中需要付出很大的代价。

有时前馈执行效果足够好

机器人在结构化的环境中工作时,可以在空间和时间上预测机器人的状态,此时BT与更简单的架构相比没有任何优势。

BT与FSM不同

BT与FSM相比更容易理解,但在设计解决方案时需要新的思维方式,BT的执行并不关注状态,而是关注条件,并且切换不是事件驱动而是时钟驱动的。

BT工具不成熟

开发BT的软件在软件数量和成熟度上不如FSM。

posted @ 2022-10-13 16:08  游子墨  阅读(506)  评论(0)    收藏  举报