The Behaviour Control Framework is a generic platform-independent C++ framework that implements a control architecture consisting of a hierarchical network of behaviour layers. These layers each contain behaviours that can inhibit one another and interact to achieve control. A full discussion of the structure and ideas behind this framework can be found in the Doxygen documentation that comes with the release. This documentation is well worth a read before you decide if the library is for you!
The structure and implementation of this library focuses on the application of the inhibition-based behaviour control architecture to real-time control loops, but can reasonably be adapted for a wide variety of other artificial intelligence applications. Emphasis has been placed on having very low overhead so as not to hurt overall system performance, while still maintaining ease of use.
I welcome all feedback, suggestions and bug reports!
Email: pallgeuer[at]ais.uni-bonn.de
Features
- Small and highly efficient performance-oriented cross-platform C++ library
- Independent code with few external dependencies
- Can be used to implement behaviour control code in the form of a hierarchically layered behaviour-based control architecture
- Tried and tested by the author on various robotic platforms
- Documented using the Doxygen documentation generation tool, including code samples and a discussion of all usage caveats
- Well-commented library source code to allow easy modification/extension by users (who are encouraged to submit improvements/bug fixes to the author, so that the library can be improved!)
- Academic paper on the framework: Hierarchical and State-based Architectures for Robot Behavior Planning and Control, published in Proceedings of 8th Workshop on Humanoid Soccer Robots @ Humanoids 2013