<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to Home</title><link>https://sourceforge.net/p/statecontroller/wiki/Home/</link><description>Recent changes to Home</description><atom:link href="https://sourceforge.net/p/statecontroller/wiki/Home/feed" rel="self"/><language>en</language><lastBuildDate>Fri, 21 Nov 2014 16:10:28 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/statecontroller/wiki/Home/feed" rel="self" type="application/rss+xml"/><item><title>Home modified by Philipp Allgeuer</title><link>https://sourceforge.net/p/statecontroller/wiki/Home/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v8
+++ v9
@@ -1,7 +1,7 @@
 #State Controller Library#
 Author: Philipp Allgeuer
-Version: 1.2.1
-Date: 05/11/13
+Version: 1.2.2
+Date: 21/11/14

 ##General Overview##
 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.
@@ -28,7 +28,7 @@

 Due to the small and efficient nature of the library, one of the first two options is recommended. Very minimal benefit is expected over the other two options when choosing to build it as a dynamic library.

-Note that as at release `v1.2.1`, the required (non-test) source files are simply `state_controller.h` and `state_controller.cpp`.
+Note that as at release `v1.2.2`, the required (non-test) source files are simply `state_controller.h` and `state_controller.cpp`.

 A sample makefile for building the static and dynamic libraries using `gcc` is included in the release. The makefile also demonstrates how the `test_state_controller` unit test can be built. As mentioned in the makefile however, the State Controller Library could equivalently be built using any other compiler, such as for example MSVC.

&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Philipp Allgeuer</dc:creator><pubDate>Fri, 21 Nov 2014 16:10:28 -0000</pubDate><guid>https://sourceforge.net179a23ac40f7a5223d03841f238120546f51daeb</guid></item><item><title>Home modified by Philipp Allgeuer</title><link>https://sourceforge.net/p/statecontroller/wiki/Home/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v7
+++ v8
@@ -58,7 +58,7 @@
 If anything is not adequately explained in the Doxygen documentation, or more details as to the inner workings of the library are required, the next place to look would be in the library source code. The code is well-commented and should be fairly self-explanatory. A good starting point is `state_controller.h`. A look inside the source code for `test_state_controller` should also shed some light on how the library is intended to be used.

 ###Where To Get More Help?###
-If neither the Doxygen documentation nor a look into the source code can resolve your issues for whatever reason, you can contact the author at the email address given in the Bugs and Improvements section.
+If neither the Doxygen documentation nor a look into the source code can resolve your issues for whatever reason, you can contact the author at the email address given in the *Bugs and Improvements* section.

 ##Bugs and Improvements##
 I welcome all feedback, suggestions and bug reports. If you improve or fix anything about the library then I encourage you to let the author know so that the library can be improved for everyone!
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Philipp Allgeuer</dc:creator><pubDate>Fri, 16 May 2014 12:33:54 -0000</pubDate><guid>https://sourceforge.nete19540f9e3b6cae4f01c9e05084c77ae6b85596c</guid></item><item><title>Home modified by Philipp Allgeuer</title><link>https://sourceforge.net/p/statecontroller/wiki/Home/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v6
+++ v7
@@ -23,12 +23,12 @@

 There are three ways of using the library:
 1. Directly include the (non-test) source files in your project, and build them with the rest of your project.
-2. Build a static library (e.g. \*.a or \*.lib) of the source code and link your project to it.
-3. Build a dynamic library (e.g. \*.so or \*.dll) of the source code and link your project to it.
+2. Build a static library (e.g. `*.a` or `*.lib`) of the source code and link your project to it.
+3. Build a dynamic library (e.g. `*.so` or `*.dll`) of the source code and link your project to it.

 Due to the small and efficient nature of the library, one of the first two options is recommended. Very minimal benefit is expected over the other two options when choosing to build it as a dynamic library.

-Note that as at release v1.2.1, the required (non-test) source files are simply `state_controller.h` and `state_controller.cpp`.
+Note that as at release `v1.2.1`, the required (non-test) source files are simply `state_controller.h` and `state_controller.cpp`.

 A sample makefile for building the static and dynamic libraries using `gcc` is included in the release. The makefile also demonstrates how the `test_state_controller` unit test can be built. As mentioned in the makefile however, the State Controller Library could equivalently be built using any other compiler, such as for example MSVC.

@@ -62,7 +62,7 @@

 ##Bugs and Improvements##
 I welcome all feedback, suggestions and bug reports. If you improve or fix anything about the library then I encourage you to let the author know so that the library can be improved for everyone!
-Email: pallgeuer\[at\]ais.uni-bonn.de
+Email: `pallgeuer[at]ais.uni-bonn.de`

 ##Screenshots##
 The screenshots below show the output of the `test_state_controller` unit test that comes with the library. This should give you a brief idea of what the State Controller Library is about.
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Philipp Allgeuer</dc:creator><pubDate>Fri, 16 May 2014 12:29:30 -0000</pubDate><guid>https://sourceforge.netda30b231be3120a0c49cc715c40e371bf22c593f</guid></item><item><title>Home modified by Philipp Allgeuer</title><link>https://sourceforge.net/p/statecontroller/wiki/Home/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v5
+++ v6
@@ -1,7 +1,7 @@
 #State Controller Library#
 Author: Philipp Allgeuer
-Version: 1.2
-Date: 12/07/13
+Version: 1.2.1
+Date: 05/11/13

 ##General Overview##
 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.
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Philipp Allgeuer</dc:creator><pubDate>Tue, 05 Nov 2013 12:07:43 -0000</pubDate><guid>https://sourceforge.net6f0b89cc8568aa1893c5bb85e0921981cfd76077</guid></item><item><title>Home modified by Philipp Allgeuer</title><link>https://sourceforge.net/p/statecontroller/wiki/Home/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v4
+++ v5
@@ -28,7 +28,7 @@

 Due to the small and efficient nature of the library, one of the first two options is recommended. Very minimal benefit is expected over the other two options when choosing to build it as a dynamic library.

-Note that as at release v1.2, the required (non-test) source files are simply `state_controller.h` and `state_controller.cpp`.
+Note that as at release v1.2.1, the required (non-test) source files are simply `state_controller.h` and `state_controller.cpp`.

 A sample makefile for building the static and dynamic libraries using `gcc` is included in the release. The makefile also demonstrates how the `test_state_controller` unit test can be built. As mentioned in the makefile however, the State Controller Library could equivalently be built using any other compiler, such as for example MSVC.

@@ -46,11 +46,11 @@
 ###Doxygen Documentation###
 The first place to look for help and guidance when trying to use the State Controller Library is the Doxygen documentation. This can be found in the library ZIP archive under:

-`State Controller Library vX.X/doc/State Controller Library.html`
+`State Controller Library vX.X.X/doc/State Controller Library.html`

 Or equivalently:

-`State Controller Library vX.X/doc/out/html/index.html`
+`State Controller Library vX.X.X/doc/out/html/index.html`

 The Doxygen documentation provides a complete explanation of the entire framework, including all caveats and details, and includes code samples to make the task of learning the framework a lot easier. Complete documentation of all functions, classes and namespaces of the library is also included. As such, the Doxygen documentation is intended to be the primary help resource when working with the library.

&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Philipp Allgeuer</dc:creator><pubDate>Tue, 05 Nov 2013 11:49:24 -0000</pubDate><guid>https://sourceforge.net70493383576c8b210cd3d8cd98cfa2374646e4ec</guid></item><item><title>Home modified by Philipp Allgeuer</title><link>https://sourceforge.net/p/statecontroller/wiki/Home/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v3
+++ v4
@@ -9,12 +9,14 @@
 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.

 ##Feature List##
-- Small and highly efficient cross-platform C++ library
+- 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

 ##Installation##
 This library is implemented as a collection of platform-independent C++ source files. To get started (if you haven't done so already) download the latest ZIP of the library from the [SourceForge page](https://sourceforge.net/p/statecontroller), and extract it to the desired location on your computer.
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Philipp Allgeuer</dc:creator><pubDate>Fri, 27 Sep 2013 14:22:57 -0000</pubDate><guid>https://sourceforge.net76200b383b091ff02ad7a9ee54578611915d748b</guid></item><item><title>Home modified by Philipp Allgeuer</title><link>https://sourceforge.net/p/statecontroller/wiki/Home/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v2
+++ v3
@@ -4,29 +4,66 @@
 Date: 12/07/13

 ##General Overview##
-Blah
+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.

 ##Feature List##
-Blah
+- Small and highly efficient 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
+- 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!)

 ##Installation##
-Blah
+This library is implemented as a collection of platform-independent C++ source files. To get started (if you haven't done so already) download the latest ZIP of the library from the [SourceForge page](https://sourceforge.net/p/statecontroller), and extract it to the desired location on your computer.
+
+There are three ways of using the library:
+1. Directly include the (non-test) source files in your project, and build them with the rest of your project.
+2. Build a static library (e.g. \*.a or \*.lib) of the source code and link your project to it.
+3. Build a dynamic library (e.g. \*.so or \*.dll) of the source code and link your project to it.
+
+Due to the small and efficient nature of the library, one of the first two options is recommended. Very minimal benefit is expected over the other two options when choosing to build it as a dynamic library.
+
+Note that as at release v1.2, the required (non-test) source files are simply `state_controller.h` and `state_controller.cpp`.
+
+A sample makefile for building the static and dynamic libraries using `gcc` is included in the release. The makefile also demonstrates how the `test_state_controller` unit test can be built. As mentioned in the makefile however, the State Controller Library could equivalently be built using any other compiler, such as for example MSVC.
+
+##Dependencies##
+This library depends on the following external libraries (to avoid requiring C++11):
+- Boost [Smart Ptr](http://www.boost.org/doc/libs/release/libs/smart_ptr/)
+- Boost [Static Assert](http://www.boost.org/doc/libs/release/libs/static_assert/)
+- Boost [Type Traits](http://www.boost.org/doc/libs/release/libs/type_traits/)
+
+For more information, or to download the Boost Libraries, please refer to [http://www.boost.org/](http://www.boost.org/).
+
+A unit test for the library (`test_state_controller`) is included in the release. It is not required to build this executable in order to use the library - it is for demonstration and testing purposes only. The unit test has one additional dependency, namely the [Google Test Framework](https://code.google.com/p/googletest/).

 ##Documentation##
 ###Doxygen Documentation###
-Blah
+The first place to look for help and guidance when trying to use the State Controller Library is the Doxygen documentation. This can be found in the library ZIP archive under:
+
+`State Controller Library vX.X/doc/State Controller Library.html`
+
+Or equivalently:
+
+`State Controller Library vX.X/doc/out/html/index.html`
+
+The Doxygen documentation provides a complete explanation of the entire framework, including all caveats and details, and includes code samples to make the task of learning the framework a lot easier. Complete documentation of all functions, classes and namespaces of the library is also included. As such, the Doxygen documentation is intended to be the primary help resource when working with the library.

 ###Source Code###
-Blah
+If anything is not adequately explained in the Doxygen documentation, or more details as to the inner workings of the library are required, the next place to look would be in the library source code. The code is well-commented and should be fairly self-explanatory. A good starting point is `state_controller.h`. A look inside the source code for `test_state_controller` should also shed some light on how the library is intended to be used.

 ###Where To Get More Help?###
-Blah
+If neither the Doxygen documentation nor a look into the source code can resolve your issues for whatever reason, you can contact the author at the email address given in the Bugs and Improvements section.

 ##Bugs and Improvements##
-Blah
+I welcome all feedback, suggestions and bug reports. If you improve or fix anything about the library then I encourage you to let the author know so that the library can be improved for everyone!
+Email: pallgeuer\[at\]ais.uni-bonn.de

 ##Screenshots##
-The screenshots below show the output of the `test_state_controller` unit test that comes with the library, This should give you a brief idea of what the State Controller Library is about.
+The screenshots below show the output of the `test_state_controller` unit test that comes with the library. This should give you a brief idea of what the State Controller Library is about.
 [[project_screenshots]]
 [[project_admins]]
 [[download_button]]
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Philipp Allgeuer</dc:creator><pubDate>Fri, 12 Jul 2013 10:06:35 -0000</pubDate><guid>https://sourceforge.net32958d92eb71297e6a519b6ce807e13852070f8b</guid></item><item><title>Home modified by Philipp Allgeuer</title><link>https://sourceforge.net/p/statecontroller/wiki/Home/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v1
+++ v2
@@ -1,8 +1,32 @@
-Welcome to your wiki!
+#State Controller Library#
+Author: Philipp Allgeuer
+Version: 1.2
+Date: 12/07/13

-This is the default page, edit it as you see fit. To add a new page simply reference it within brackets, e.g.: [SamplePage].
+##General Overview##
+Blah

-The wiki uses [Markdown](/p/statecontroller/wiki/markdown_syntax/) syntax.
+##Feature List##
+Blah

-[[members limit=20]]
+##Installation##
+Blah
+
+##Documentation##
+###Doxygen Documentation###
+Blah
+
+###Source Code###
+Blah
+
+###Where To Get More Help?###
+Blah
+
+##Bugs and Improvements##
+Blah
+
+##Screenshots##
+The screenshots below show the output of the `test_state_controller` unit test that comes with the library, This should give you a brief idea of what the State Controller Library is about.
+[[project_screenshots]]
+[[project_admins]]
 [[download_button]]
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Philipp Allgeuer</dc:creator><pubDate>Fri, 12 Jul 2013 09:11:06 -0000</pubDate><guid>https://sourceforge.net18d8378387d79d5da08783000a791e1bee57ec7f</guid></item><item><title>Home modified by Philipp Allgeuer</title><link>https://sourceforge.net/p/statecontroller/wiki/Home/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Welcome to your wiki!&lt;/p&gt;
&lt;p&gt;This is the default page, edit it as you see fit. To add a new page simply reference it within brackets, e.g.: &lt;span&gt;[SamplePage]&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;The wiki uses &lt;a class="" href="/p/statecontroller/wiki/markdown_syntax/"&gt;Markdown&lt;/a&gt; syntax.&lt;/p&gt;
&lt;p&gt;&lt;h6&gt;Project Members:&lt;/h6&gt;
&lt;ul class="md-users-list"&gt;
&lt;li&gt;&lt;a href="/u/pallgeuer/"&gt;Philipp Allgeuer&lt;/a&gt; (admin)&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
&lt;/p&gt;&lt;p&gt;&lt;span class="download-button-51de8a3e485acd34730fcf27" style="margin-bottom: 1em; display: block;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Philipp Allgeuer</dc:creator><pubDate>Thu, 11 Jul 2013 10:34:43 -0000</pubDate><guid>https://sourceforge.netb91e30e2f1d3d1516f815b24367bb46e74665ed1</guid></item></channel></rss>