splintered-reality/py_trees

Python implementation of behaviour trees.

它解决了什么问题

PyTrees 通过提供一种结构化的方式来将复杂的动作组织成可管理的树状结构,简化了中等规模决策引擎的创建,尤其适用于机器人领域。

它如何工作

它实现了行为树,允许开发者使用多种组件构建逻辑:

  • 核心组件:使用行为(Behaviours)、装饰器(Decorators)、序列(Sequences)、选择器(Selectors)和并行(Parallels)来定义逻辑流程。
  • 数据管理:使用黑板(Blackboards)在树的不同部分之间共享数据。
  • 声明式定义:支持 XML 解析器和端口 API,通过配置而非仅代码来定义行为。
  • 可视化:可在终端中以 ASCII/Unicode 渲染树结构,或序列化为 dot 图形以进行可视化分析。

适用人群

专为需要结构化、分层控制逻辑的机器人或其他系统构建决策层的开发者设计。

主要特性

  • 内置丰富的行为、装饰器和常用模式库。
  • 支持类型化的输入/输出端口。
  • 可通过 XML 定义行为树。
  • 通过配套库支持与 ROS 2 集成。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目