This repository was archived by the owner on Oct 16, 2018. It is now read-only.
forked from miccol/Behavior-Tree
-
Notifications
You must be signed in to change notification settings - Fork 0
Project Roadmap
Davide Faconti edited this page Jul 5, 2018
·
2 revisions
The purpose of this library is to:
- Provide a middleware independent way to create TreeNodes, in particular user defined Actions, Conditions and Decorators.
- Provide a ready to use BR Executor that includes some extra features such as logging, profiling and file import/export.
The code has been merged with the Michele Colledanchise's one with 10 pull requests peer reviewed by Michele (about 100+ commits).
The code library already has these features implemented:
- Main TreeNode abstract interface is currently stable and "unit tested".
- All the main ControlNodes have been tested on real-world use cases.
- NodeParameters added as main configuration mechanism.
- Trees can be loaded at run-time using an XMl format. An allocated Tree can be exported to XML too.
- A composable logger framework allows the monitoring/logging of the Tree execution.
TODO (version 2.0):
- ParallelNode needs much more testing with real-world applications.
- Blackboard needs to be integrated into the TreeNode and the NodeParameters.
- Add Lua as supported mechanism to write simple TreeNodes.
- Provide the ability to deploy user defined nodes as [Plugins + manifest].
Extensive refactoring of the code written before the beginning of the ITP. The current GUI allows:
- An Editor Mode where TreeNodes can be "drag and dropped", connected, morphed and visually arranged in a either vertical or horizontal layout.
- A real-time Monitor Mode that subscribes to one of the ZMQPublisher (one of the implemented loggers in the core library) to show the current status of the Tree.
- An off-line Replay Mode similar to the Monitor one, but showing the transitions saved on a log file, instead of those published in real-time.
TODO (version 1.0):
- The creation, from scratch, of a SubTree is not currently supported.
- It must be decided how to expose the role of the Blackboard in the GUI.
- Visualization of the XML representation in a separate window?
- Add a compact representation of PreConditions/Decorators similar to Unreal Engine.
TODO:
- Much work is needed in terms of documentation, tutorials, learning material.
- The BT approach must be battle-tested in many scenarios to find weak points in the usability/workflow.