The State Controller Library is a generic platform-independent C++ framework that allows finite state machines and multi-action planning generalisations thereof to be realised. The structure and implementation of this library focuses on the application of finite state machines to real-time control loops, but can be reasonably adapted for virtually any other application, even completely unrelated to control systems. An emphasis has been placed on having very low overhead so as not to hurt overall system performance no matter where this library is used, while still maintaining ease of use. Code size has also been kept to a minimum.
Aside from implementing standard finite state machines and multi-action planning state machines, this library can also be used to implement hierarchical state controllers, or any hybrid of the three. Please refer to the extensive documentation for more information.
I welcome all feedback, suggestions and bug reports!
- Small and highly efficient performance-oriented cross-platform C++ library
- Independent code with few external dependencies
- Can be used to implement finite state machines, generalised state machines, hierarchical state machines, and most notably, multi-action planning state controllers
- Can be used to implement a basic finite state machine with minimal coding effort and execution overhead, while simultaneously allowing for extensibility to more complex generalised finite state machines
- 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
Be the first to post a review of State Controller Library!