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!
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 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

Project Samples

Project Activity

See All Activity >

License

BSD License

Follow State Controller Library

State Controller Library Web Site

nel_h2
MongoDB Atlas runs apps anywhere Icon
MongoDB Atlas runs apps anywhere

Deploy in 115+ regions with the modern database for every enterprise.

MongoDB Atlas gives you the freedom to build and run modern applications anywhere—across AWS, Azure, and Google Cloud. With global availability in over 115 regions, Atlas lets you deploy close to your users, meet compliance needs, and scale with confidence across any geography.
Start Free
Rate This Project
Login To Rate This Project

User Reviews

Be the first to post a review of State Controller Library!

Additional Project Details

Intended Audience

Developers, Engineering, Information Technology, Other Audience, Science/Research

Programming Language

C++

Related Categories

C++ Frameworks, C++ Robotics Software, C++ Libraries

Registered

2013-07-11