Skip to content

Releases: rapyuta-robotics/alica

v0.9.3

22 Aug 10:59
a5a07bc
Compare
Choose a tag to compare
v0.9.3 Pre-release
Pre-release

Release Notes

Changes

Data flow
The engine now supports a data flow model between plans(behaviours) through blackboards (key-value store) & key mapping. Plans(behaviours) can define their own blackboard or inherit one from their parent, setup input, output or internal keys on the blackboard & specify key mappings from parent to child (input mapping) or child to parent (output mapping) via the designer

Dynamic creation of plans/behaviours
Plan(behaviour) runtime objects are now dynamically created & destroyed on the fly just before(after) the initialization(termination) of the plan(behaviour) instead of being kept in memory throughout the lifetime of the engine improving thread safety & code simplification

Integral agent id
The identifier class used to represent the agent id is replaced by a simple integral (int) agent id significantly reducing code bloat in both the engine & applications using the engine

Disable failure handling
The failure handing rules like plan (behaviour) redo, abort etc. can be disabled through a configuration parameter

Single repository
Unlike previous releases which involved 3 repositories, the current release is done from a single repository since the supplementary & essentials repository are merged into the engine repository

Release v0.9.2

26 May 05:30
4c90e97
Compare
Choose a tag to compare
Release v0.9.2 Pre-release
Pre-release

Release Notes

Version v0.9.2 of the ALICA Framework is an orchestrated release that includes three repositories:

  1. alica (this repo)
  2. alica-essentials v0.9.2
  3. alica-supplementary v0.9.2

Changes

Web Based Plan Designer
The engine now supports the web based plan designer (https://github.com/rapyuta-robotics/alica-supplementary/tree/v0.9.2/alica_designer_runtime) which completely replaces the desktop based plan designer & includes considerable improvements with inbuilt debugging support.

Plan Init/Run/Terminate
Plans can now have init/run/terminate functions just like behaviours.

Plan/Behaviour Thread Pool
The plans/behaviours are now executed by a thread pool of configurable size instead of having 1 thread per behaviour.

Ordered Execution of Plans/Behaviours
The engine now enforces a strict order for the execution of init/run/terminate functions of the behaviours & plans. When the engine transitions from one state to the other it is now guaranteed that the plans/behaviours in the outgoing state are terminated before the plans/behaviours in the incoming state are initialized. Further, the parent plan is initialized before its children & terminated after.

Tracing
The engine supports tracing the execution of the plans & behaviours via a pluggable interface & a default open tracing compliant jaeger tracing implementation is provided in alica-supplementary.

Bug-Fixes

  • There was a possibility that a behaviour could access a deleted plan context which is now fixed.

Release v0.9.1

03 Feb 15:56
abf3a1f
Compare
Choose a tag to compare
Release v0.9.1 Pre-release
Pre-release

Release Notes

Version v0.9.1 of the ALICA Framework is an orchestrated release that includes four repositories:

  1. alica (this repo)
  2. alica-essentials v0.9.1
  3. alica-supplementary v0.9.1
  4. alica-plan-designer-fx v0.1.1.1315

The most recent paper about the ALICA Framwork is the following. Please cite it when you are utilising the ALICA Framework in your work or compare your work with it.

Opfer, S., Jakob, S., Jahl, A., & Geihs, K. (2019, September). ALICA 2.0 - Domain-Independent Teamwork. In Joint German/Austrian Conference on Artificial Intelligence (Künstliche Intelligenz) (pp. 264-272). Springer, Cham.

Changes

ALICA Program Serialisation Format
This release includes a major revamp of the data format for serialised ALICA programs. While in Version v0.9.0, the ALICA Framework utilised an XML format generated by an antiquated desktop version of the Plan Designer. In Version v0.9.1, the ALICA Framework utilises JSON for serialised ALICA programs and includes a revamped version of the Plan Designer.

Behaviour Execution/Thread Synchronisation
Another major change is the introduction of general configurations. Before, configurations where only available for behaviours. Now, plans and plantypes can be configured as well.

Configuring the ALICA Engine
In Version v0.9.0 the ALICA Engine depended on an antiquated and custom configuration-management library called SystemConfig. This was removed from the engine and replaced by a simple, yet more effective and versatile YAML-based configuration handling that is now part of the engine itself. Therefore, we could drop the dependency towards SystemConfig completely, which is one less Singleton we have in our framework.

Bug-Fixes

  • In Version v0.9.0 there were no guarantees that the Init, Run, and Terminate functions of a behaviour are called in the mentioned order, in case the same behaviour is stopped and started repeatedly. This has been fixed by improving the thread synchronisation and execution.

  • The desktop version of the Plan Designer had a different quantifier type than the engine was expecting. This is adapted to be consistent as well.