diff --git a/README.md b/README.md index 7f869c4..fc620ed 100644 --- a/README.md +++ b/README.md @@ -37,6 +37,24 @@ +
+🤨 How does it compare to Behavior Trees? + +Behavior Trees (BTs) are great for a variety of applications and thrive within a vibrant community! +Kudos to [Petter Ögren's](https://www.kth.se/profile/petter/) crew, [Michele Colledanchise](https://miccol.github.io/behaviortrees/) and [Davide Faconti](https://github.com/facontidavide) 🖖 + +But, Arbitration Graphs bring great value, especially for safety critical applications like self-driving cars and mobile robots in general – by strictly coupling preconditions to behaviors and tightly integrating behavior verification. +A bit more in detail: + +| | Behavior Trees | Arbitration Graphs | +| ----------------- | ------------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| **Interfaces** | Nodes return execution status (*success*, *failure*, or *running*).
⏵ more flexibility w.r.t. a node's actuator interfaces | Behavior components & arbitrators return commands (e.g., a trajectory).
⏵ control theory motivated interface ${f(\boldsymbol{x}) \to \boldsymbol{u}}$
⏵ command can be verified by each arbitrator | +| **Preconditions** | Implemented by condition nodes distributed throughout the tree.
⏵ easy to reuse preconditions for multiple behaviors | Require behavior components to define their own preconditions.
⏵ tight coupling of preconditions to behaviors
⏵ robustness and safety less dependent on node arrangement | +| **Safety** | Each node decides on its success or failure.
⏵ can lead to safety and reliability issues, if not carefully managed | Integrate safety into the selection mechanism, using node-independent verifiers.
⏵ reduces the burden on behavior engineers
⏵ allows an easy integration of unsafe behavior components (ML, probabilistic, …) | + +
+ + ## Demo We provide a demo of this library using Pac-Man as an example application.