automata v0.1.0 Automaton.Types.BT

Implements the Behavior Tree (BT) state space representation. Each tree is goal-oriented, i.e. associated with a distinct, high-level goal which it attempts to achieve.

Behavior trees are a unique combination of state space representation (graphical, or tree) and action-selection decision scheme with plugin variations, where the user can choose or customize the logic for traversal and lifecycle management.

Notes:

  • Initialization and shutdown require extra care:

    • on_init: receive extra parameters, fetch data from blackboard/utility, make requests, etc..
    • shutdown: free resources to not effect other actions

TODO: store any currently processing nodes along with any nodes with monitor decorators so when monitors are activated, reactivity is achieved. Use Zipper Tree to store both?