BehaviorTree.CPP(C++ 行为树库)
BehaviorTree.CPPBT.CPP进阶机器人领域最常用的 C++ 行为树库,用 XML 描述任务逻辑
BehaviorTree.CPP 是一个开源的 C++ 行为树库,主要作者是 Davide Faconti。行为树是一种组织机器人任务逻辑的树状结构:叶子节点执行动作或检查条件,内部的顺序、选择、并行等控制节点决定先做什么、失败了换什么。相比有限状态机,行为树更容易拆分、复用和扩展。BT.CPP 让开发者用 C++ 写好各个动作节点,再用 XML 文件把它们拼成树,运行时加载执行,不改代码就能调整任务流程;配套的图形化编辑器 Groot / Groot2 可以拖拽编辑、实时监视树的运行状态。ROS 2 的导航框架 Nav2 就用它来编排导航行为。
例子Nav2 默认的导航行为树:先计算路径,再跟随路径;中途失败时依次尝试清除代价地图、原地旋转、后退等恢复动作。
- 也叫
- BT.CPP、Groot 行为树编辑器
- 相关
- 行为树、有限状态机、Nav2、Groot2(行为树可视化编辑器,非英伟达 GR00T)、任务规划、ROS 2
- 来源
- BehaviorTree.CPP 官方文档
BehaviorTree/BehaviorTree.CPP (GitHub)