
该C ++ 17库提供了创建行为树的框架。它旨在灵活,易于使用,反应性和快速。
即使我们的主要用例是机器人技术,您也可以使用此库来为游戏构建AI ,也可以替换有限的状态机。
与其他实现相比,很少有使ArchApyTree.CPP独特的功能:
它做出了异步行动,即非阻塞,是一流的公民。
您可以构建反应性行为,以同时执行多个操作(正交性)。
树是使用特定域脚本语言(基于XML)定义的,并且可以在运行时加载;换句话说,即使用C ++编写,树木的形态也不是硬编码。
您可以静态地链接自定义treenodes或将其转换为插件并在运行时加载它们。
它提供了一种类型和灵活的机制,可以在树的节点之间进行数据流。
它包括一个记录/分析基础架构,该基础架构允许用户可视化,记录,重播和分析状态过渡。
您可以在此处了解主要概念,API和教程:https://www.behaviortree.dev/
如果文档没有回答您的问题和/或您想与其他BT.CPP用户联系,请访问我们的论坛
编辑行为树就像在您喜欢的文本编辑器中编辑XML文件一样简单。
如果您正在寻找一个更精美的图形用户界面(我知道您知道)检查Groot2 Out。

BT.CPP需要一个支持C ++ 17的编译。
支持三个构建系统:
与柯南一起编译:
假设您处于BehaviorTree.CPP的父级目录中:
mkdir build; cd build
conan install ../BehaviorTree.CPP --output-folder=. --build=missing
cmake ../BehaviorTree.CPP -DCMAKE_TOOLCHAIN_FILE="conan_toolchain.cmake"
cmake --build . --parallel
如果您已经安装了Zeromq和Sqlite之类的依赖项,并且您不想使用Conan,则只需键入:
mkdir build; cd build
cmake ../BehaviorTree.CPP
cmake --build . --parallel
如果您想在Pixi项目(Conda虚拟环境)中构建。
pixi run build
如果您想在应用程序中使用bt.cpp,请在此处参考以下示例:https://github.com/behaviortree/btcpp_sample。
您是否在商业产品中使用BT.CPP,并且需要技术支持 /咨询吗?您可以联系主要作者[email protected] ,以讨论您的用例和需求。
该软件的3.8版可以在分支v3.8中找到。
该分支可能会收到错误修复,但是新功能仅在主分支中实现。
麻省理工学院许可证(MIT)
版权(C)2019-2023 Davide Faconti
版权(C)2018-2019 Davide Faconti,Eurecat
版权(C)2014-2018 Michele Colledance
特此免费授予任何获得此软件副本和相关文档文件(“软件”)的人,以无限制处理该软件,包括无限制,使用,复制,修改,合并的权利,发布,分发,分布和/或出售该软件的副本,并允许提供该软件的人,但要遵守以下条件:
上述版权通知和此许可通知应包含在软件的所有副本或大量部分中。
该软件是“原样”提供的,没有任何形式的明示或暗示保证,包括但不限于适销性,特定目的的适用性和非侵权的保证。在任何情况下,作者或版权持有人均不应对任何索赔,损害赔偿或其他责任责任,无论是在合同,侵权或其他方面的诉讼中,与软件或与软件或使用或其他交易有关的诉讼或其他责任软件。