py-trees

Python implementation of behaviour trees.

Showing:

Popularity

Downloads/wk

0

GitHub Stars

217

Maintenance

Last Commit

4mos ago

Contributors

21

Package

Dependencies

16

License

BSD

Categories

Readme

Py Trees

[About][Docs & Demos][Releases][Installation][PyTrees-Ros Ecosystem]


About

PyTrees is a python implementation of behaviour trees designed to facilitate the rapid development of medium sized decision making engines for use in fields like robotics. Brief feature list:

  • Sequence, Selector, Parallel composites
  • Blackboards for data sharing
  • Python generators for smarter ticking over the tree graph
  • Python decorators for enabling meta behaviours
  • Render trees to dot graphs or visualise with ascii graphs on stdout

Docs and Demos

Core API documentation (also includes some explanation concerning the demo scripts):

devel 2.1.x 0.7.x 0.6.x

If you're really looking for something more edifying than hello world examples, walk through the ros tutorials which incrementally step through the process of building a scenario handling layer for a robot.

There are also runtime visualisation tools - refer to the py_trees_ros_viewer/README as an example implementation of the underlying py_trees_js library.

Releases

  • 0.y.x - first open source releases
  • 1.0.x - first stable release
  • 1.1.x - improvements
  • 1.2.x - improvements
  • 2.0.x - blackboards v2 with namespaces, access permissions and key tracking
  • 2.1.x - Chooser deprecated, api housekeeping
Devel2.1.x2.0.x1.2.x0.7.x0.6.x
Sourcesdevel2.1.x2.0.x1.2.x0.7.x0.6.x
CompatibilityPython 3.6Python 3.6Python 3.6Python 3.6Python 3.6Python 2.7
CIdevel-Status2.1.x-Status2.0.x-Status1.2.x-Status0.7.x-Status0.6.x-Status
Documentationdevel-Docs2.1.x-Docs2.0.x-Docs1.2.x-Docs0.7.x-Docs0.6.x-Docs

Installation

From ppa on Ubuntu/Bionic:

$ sudo apt install python3-py-trees

From pypi:

$ pip3 install py_trees

In a Python Virtual Environment:

$ git clone https://github.com/splintered-reality/py_trees
$ cd py_trees
$ source ./venv.bash

Build your own python3 deb:

$ git clone https://github.com/splintered-reality/py_trees
$ cd py_trees
$ source ./venv.bash
$ make deb

From the ROS2 ecosystem:

$ sudo apt install ros-<rosdistro>-py-trees

PyTrees-ROS Ecosystem

See the py_trees_ros README for the latest information on pytrees packages in the ROS ecosystem and their status.

Rate & Review

Great Documentation0
Easy to Use0
Performant0
Highly Customizable0
Bleeding Edge0
Responsive Maintainers0
Poor Documentation0
Hard to Use0
Slow0
Buggy0
Abandoned0
Unwelcoming Community0
100