Giter VIP home page Giter VIP logo

lightbt's Introduction

LightBT: A Lightweight Implementation of Behaviour Tree for Common Tasks

Behaviour Tree

Behaviour Tree is a directed rooted tree where the internal nodes are called control flow nodes and leaf nodes are called execution nodes.

For each connected node we use the common terminology of parent and child. The root is the node without parents; all other nodes have one parent. The control flow nodes have at least one child. Graphically, the children of a node are placed below it, as shown in Figure 1.

Fig1

A Behaviour Tree starts its execution from the root node that generates signals that allow the execution of a node called ticks with a given frequency, which are sent to its children.

A node is executed if and only if it receives ticks. The child immediately returns Running to the parent, if its execution is under way, Success if it has achieved its goal, or Failure otherwise.

In the classical formulation, there exist four categories of control flow nodes (Sequence, Fallback, Parallel, and Decorator) and two categories of execution nodes (Action and Condition).

Types of Nodes:

1. Sequence Node

Fig2

2. Fallback Node

Fig3

3. Parallel Node

Fig4

4. Decorator Node

Fig5

5. Action Node

Fig6

6. Condition Node

Fig7

Node Status of Behaviour Tree

In Figure 8, we can see the node status established by each of the nodes mentioned above while developing the Behaviour Tree. Fig8

Behaviour Tree Traversal

Depth First Traversal is an essential for Behaviour Tree. The Tick goes from the root node of the tree to its child nodes. As we know that BT has items of higher priority in left and lower priority in right, DFS becomes a suitable traversal algorithm. Here, we consider that ever node has a parent node and vector of child nodes. We go down the depth of each node while keeping the node above running. Depending on the status received from child node, the parent nodes' status would be established.

Citation

This repository is an implementaion of the journal:

@article{DBLP:journals/corr/abs-1709-00084,
  author    = {Michele Colledanchise and
               Petter {\"{O}}gren},
  title     = {Behavior Trees in Robotics and {AI:} An Introduction},
  journal   = {CoRR},
  volume    = {abs/1709.00084},
  year      = {2017},
  url       = {http://arxiv.org/abs/1709.00084},
  eprinttype = {arXiv},
  eprint    = {1709.00084},
  timestamp = {Mon, 13 Aug 2018 16:47:59 +0200},
  biburl    = {https://dblp.org/rec/journals/corr/abs-1709-00084.bib},
  bibsource = {dblp computer science bibliography, https://dblp.org}
}

lightbt's People

Contributors

blebot0 avatar

Watchers

 avatar

lightbt's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.