behaviortree/behaviortree.cpp 是一个 C++ 库,用树形结构表达并执行机器人的复杂行为与任务执行流程。行为树(behavior tree)是把条件分支和行为节点组织成树形结构,以此决定在什么条件下、按什么顺序执行哪种行为的方式。它支持反应式和异步的行为树执行。该仓库采用 MIT 许可证,用 C++ 开发,目前有 4256 个 star。它创建于 2018 年 10 月并一直延续至今,最新版本是 4.9.0。
README 将 4.9 描述为以 C++17 为基础、旨在打造灵活、易写且反应性强的快速框架。主要应用领域是机器人学,但它也说明可以用于构建游戏 AI 或替代 Finite State Machines。其功能包括异步 Action、多个 Action 的并发执行、基于 XML 的树的运行时加载、TreeNodes 插件、节点之间的数据传递,以及状态转换的日志记录与性能分析。树结构可以写入 XML 文件并在运行时读入,节点也可以作为插件添加以扩展范围。仓库说明中写道,该库默认就包含所需的功能。
不过,4.9.0 具体有哪些变化,必须直接查看发布说明才能知道。文中没有给出用于性能对比的基准测试数值或导入案例,10 分制下的动量指标为 2.1。功能描述相当充分,但由于没有可确认的性能依据和实际应用案例,是否引入仍需另行验证。